diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 6a73abd733..0ea3bdffe4 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -33,6 +33,12 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corner, one_per_turf = TRUE, on_floor = TRUE), \ )), \ //END OF CIT CHANGES + new/datum/stack_recipe_list("fancy sofas", list( \ + new /datum/stack_recipe("sofa (middle)", /obj/structure/chair/corp_sofa, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (left)", /obj/structure/chair/corp_sofa/left, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (right)", /obj/structure/chair/corp_sofa/right, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/corp_sofa/corner, one_per_turf = TRUE, on_floor = TRUE), \ + )), \ null, \ new/datum/stack_recipe_list("office chairs", list( \ new/datum/stack_recipe("dark office chair", /obj/structure/chair/office/dark, 5, one_per_turf = TRUE, on_floor = TRUE), \ @@ -98,6 +104,21 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("extinguisher cabinet frame", /obj/item/wallframe/extinguisher_cabinet, 2), \ new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1), \ null, \ + new /datum/stack_recipe_list("chess pieces", list( \ + new /datum/stack_recipe("White Pawn", /obj/structure/chess/WhitePawn, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("White Rook", /obj/structure/chess/WhiteRook, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("White Knight", /obj/structure/chess/WhiteKnight, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("White Bishop", /obj/structure/chess/WhiteBishop, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("White Queen", /obj/structure/chess/WhiteQueen, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("White King", /obj/structure/chess/WhiteKing, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("Black Pawn", /obj/structure/chess/BlackPawn, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("Black Rook", /obj/structure/chess/BlackRook, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("Black Knight", /obj/structure/chess/BlackKnight, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("Black Bishop", /obj/structure/chess/BlackBishop, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("Black Queen", /obj/structure/chess/BlackQueen, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + new /datum/stack_recipe("Black King", /obj/structure/chess/BlackKing, 2, time = 10, one_per_turf = 1, on_floor = 1), \ + )), \ + null, \ new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_floor = TRUE), \ )) @@ -349,6 +370,8 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \ null, \ new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 2), \ + null, \ + new /datum/stack_recipe("shower curtain", /obj/structure/curtain, 10, time = 10, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/cloth diff --git a/code/game/objects/structures/chess.dm b/code/game/objects/structures/chess.dm new file mode 100644 index 0000000000..7bebe6b55c --- /dev/null +++ b/code/game/objects/structures/chess.dm @@ -0,0 +1,76 @@ +/obj/structure/chess + anchored = FALSE + density = FALSE + icon = 'icons/obj/chess.dmi' + icon_state = "singularity_s1" + name = "Singularity" + desc = "You've just been pranked by the Syndicate Chess Grandmaster! Report this to CentCom." + max_integrity = 100 + +/obj/structure/chess/wrench_act(mob/user, obj/item/tool) + to_chat(user, "You take apart the chess piece.") + var/obj/item/stack/sheet/metal/M = new (drop_location(), 2) + M.add_fingerprint(user) + tool.play_tool_sound(src) + qdel(src) + return TRUE + +/obj/structure/chess/WhitePawn + name = "\improper White Pawn" + desc = "A white pawn chess piece. Get accused of cheating when executing a sick En Passant." + icon_state = "white_pawn" + +/obj/structure/chess/WhiteRook + name = "\improper White Rook" + desc = "A white rook chess piece. Also known as a castle. Can move any number of tiles in a straight line. It has a special move called castling." + icon_state = "white_rook" + +/obj/structure/chess/WhiteKnight + name = "\improper White Knight" + desc = "A white knight chess piece. Hah. It can hop over other pieces, moving in L shapes." + icon_state = "white_knight" + +/obj/structure/chess/WhiteBishop + name = "\improper White Bishop" + desc = "A white bishop chess piece. It can move any number of tiles in a diagonal line." + icon_state = "white_bishop" + +/obj/structure/chess/WhiteQueen + name = "\improper White Queen" + desc = "A white queen chess piece. It can move any number of tiles in diagonal and straight lines." + icon_state = "white_queen" + +/obj/structure/chess/WhiteKing + name = "\improper White King" + desc = "A white king chess piece. It can move any tile in one direction." + icon_state = "white_king" + +/obj/structure/chess/BlackPawn + name = "\improper Black Pawn" + desc = "A black pawn chess piece. Get accused of cheating when executing a sick En Passant." + icon_state = "black_pawn" + +/obj/structure/chess/BlackRook + name = "\improper Black Rook" + desc = "A black rook chess piece. Also known as a castle. Can move any number of tiles in a straight line. It has a special move called castling." + icon_state = "black_rook" + +/obj/structure/chess/BlackKnight + name = "\improper Black Knight" + desc = "A black knight chess piece. It can hop over other pieces, moving in L shapes." + icon_state = "black_knight" + +/obj/structure/chess/BlackBishop + name = "\improper Black Bishop" + desc = "A black bishop chess piece. It can move any number of tiles in a diagonal line." + icon_state = "black_bishop" + +/obj/structure/chess/BlackQueen + name = "\improper Black Queen" + desc = "A black queen chess piece. It can move any number of tiles in diagonal and straight lines." + icon_state = "black_queen" + +/obj/structure/chess/BlackKing + name = "\improper Black King" + desc = "A black king chess piece. It can move one tile in any direction." + icon_state = "black_king" \ No newline at end of file diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 359436dc2e..ab2e7c17be 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -616,9 +616,10 @@ icon = 'icons/obj/watercloset.dmi' icon_state = "open" color = "#ACD1E9" //Default color, didn't bother hardcoding other colors, mappers can and should easily change it. - alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through + alpha = 200 //Mappers can also just set this to 255 if they want curtains that can't be seen through <- No longer necessary unless you don't want to see through it no matter what. layer = SIGN_LAYER anchored = TRUE + max_integrity = 25 //This makes cloth shower curtains as durable as a directional glass window. 300 integrity buildable shower curtains as a cover mechanic is a meta I don't want to see. opacity = 0 density = FALSE var/open = TRUE @@ -633,12 +634,14 @@ layer = WALL_OBJ_LAYER density = TRUE open = FALSE + opacity = 1 else icon_state = "open" layer = SIGN_LAYER density = FALSE open = TRUE + opacity = 0 /obj/structure/curtain/attackby(obj/item/W, mob/user) if (istype(W, /obj/item/toy/crayon)) diff --git a/icons/obj/chess.dmi b/icons/obj/chess.dmi new file mode 100644 index 0000000000..191eed8843 Binary files /dev/null and b/icons/obj/chess.dmi differ diff --git a/tgstation.dme b/tgstation.dme index f3f5d28101..13b3380025 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1063,6 +1063,7 @@ #include "code\game\objects\structures\artstuff.dm" #include "code\game\objects\structures\barsigns.dm" #include "code\game\objects\structures\bedsheet_bin.dm" +#include "code\game\objects\structures\chess.dm" #include "code\game\objects\structures\destructible_structures.dm" #include "code\game\objects\structures\displaycase.dm" #include "code\game\objects\structures\divine.dm"