From 043fd0affb92f759c97edb4b731b18d055d3b804 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 24 Sep 2020 20:27:56 +0200 Subject: [PATCH] [MIRROR] Chess, Sofas & Shutters - Furniture Update (#956) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Chess, Sofas & Shutters - Furniture Update (#53861) About The Pull Request A series of changes bulked together to give players and mappers a little more freedom in their builds to make things look nicer. Chess: • Introduces a bunch of jumbo chess pieces that are craftable in-game. Sprites are my own. Shutters • Defines 100 integrity for the shutters and gives them an armor block so they don't inherit their stats from blast doors. This means shutters will no longer be just a reskinned blast door. • Redid the sprites for the shutters. They now animate much smoother and look like normal slanted shutters. Their blinking light once animating is also easier to see. • Added the window shutter; this is a normal shutter with a window so you can always see past it. I've used it in prisons and on armouries in the codebase I'm from to allow officers to see into the areas shutters are protecting, giving the area additional protection of having someone being able to look into it. • Added radiation shutters. Maintainers feel free to question this. Through extensive experimentation, any rad insulation value between 0 and 1 does pretty much nothing to radiation. Numbers higher than 1 start multiplying it, negative numbers start reducing it. This will stop the radiation from a supermatter irradiating you only if you stand behind it. If you're not covered by the shutters or the shutters are open, they won't protect you at all. They also have their own sprite with a radioactive hazard symbol. • Added the rad shutters to in-rotation maps on their supermatter engines and the windowed shutters to Metastation armoury. Sofas • Introduces the corporate sofa. A sleek grey sofa. The original sprite I ported from Hyperstation's files. I'm not sure where they got the sofa but I was told it was Eris. I didn't see it there but I didn't look super hard. I've updated the sprites on it to work with armrest sprite overlays. • Ports the sofa sprites from Cit and the armrest sprite overlays. They look nicer than awkwardly floating over the sofa. The sofas are the same, they're just moved a little for the armrest to work. • Makes the new corporate sofa craftable. * Chess, Sofas & Shutters - Furniture Update Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com> --- .../map_files/Deltastation/DeltaStation2.dmm | 40 ++-- .../map_files/IceBoxStation/IceBoxStation.dmm | 52 ++--- _maps/map_files/MetaStation/MetaStation.dmm | 20 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 29 ++- _maps/map_files/generic/CentCom.dmm | 216 ++++-------------- code/game/machinery/doors/shutters.dm | 37 ++- .../items/stacks/sheets/sheet_types.dm | 22 +- .../objects/structures/beds_chairs/sofa.dm | 37 +++ code/game/objects/structures/chess.dm | 78 +++++++ icons/obj/chess.dmi | Bin 0 -> 1252 bytes icons/obj/doors/shutters.dmi | Bin 2616 -> 1728 bytes icons/obj/doors/shutters_radiation.dmi | Bin 0 -> 1477 bytes icons/obj/doors/shutters_window.dmi | Bin 0 -> 4837 bytes icons/obj/sofa.dmi | Bin 9782 -> 15829 bytes tgstation.dme | 1 + 15 files changed, 286 insertions(+), 246 deletions(-) create mode 100644 code/game/objects/structures/chess.dm create mode 100644 icons/obj/chess.dmi create mode 100644 icons/obj/doors/shutters_radiation.dmi create mode 100644 icons/obj/doors/shutters_window.dmi diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 8a019035b3a..5ddef4b8fb1 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -10325,14 +10325,14 @@ /turf/open/floor/plasteel, /area/engine/atmospherics_engine) "axv" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "axw" = ( @@ -10384,13 +10384,13 @@ /turf/open/floor/engine, /area/engine/supermatter) "axD" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "axF" = ( @@ -11056,15 +11056,15 @@ /turf/open/floor/engine, /area/engine/supermatter) "ayM" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/decal/cleanable/oil, /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "ayO" = ( @@ -11586,13 +11586,13 @@ /turf/open/floor/plasteel, /area/engine/atmospherics_engine) "azS" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "azT" = ( @@ -111427,15 +111427,15 @@ }, /area/security/prison) "nZm" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "oaQ" = ( diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index bef506edb28..9cbdff83c9c 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -5132,13 +5132,13 @@ /turf/open/floor/plasteel, /area/security/prison) "akQ" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "akR" = ( @@ -32142,7 +32142,6 @@ "bxi" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/item/radio/intercom{ - pixel_x = 0; pixel_y = 29 }, /obj/effect/turf_decal/bot, @@ -48390,14 +48389,14 @@ /turf/open/floor/engine, /area/engine/engineering) "cEt" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "cEu" = ( @@ -48447,14 +48446,14 @@ /turf/open/floor/engine, /area/engine/supermatter) "cEA" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "cEB" = ( @@ -48487,29 +48486,29 @@ /turf/open/floor/engine, /area/engine/engineering) "cEM" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/item/tank/internals/plasma, /obj/structure/cable, -/turf/open/floor/plating, -/area/engine/supermatter) -"cET" = ( -/obj/machinery/door/poddoor/shutters/preopen{ +/obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "engsm"; name = "Radiation Chamber Shutters" }, +/turf/open/floor/plating, +/area/engine/supermatter) +"cET" = ( /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /obj/structure/cable, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "cEW" = ( @@ -48570,13 +48569,13 @@ }, /area/science/research) "cFj" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, /turf/open/floor/plating, /area/engine/supermatter) "cFk" = ( @@ -51717,8 +51716,6 @@ /area/science/genetics) "jzb" = ( /obj/structure/extinguisher_cabinet{ - dir = 2; - pixel_x = 0; pixel_y = -28 }, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, @@ -53060,7 +53057,6 @@ areastring = "/area/crew_quarters/heads/hor"; dir = 1; name = "RD Office APC"; - pixel_x = 0; pixel_y = 25 }, /obj/structure/cable, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 3f1e005e516..0c75608aef5 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -3769,7 +3769,6 @@ /obj/structure/chair/stool, /obj/machinery/camera{ c_tag = "Prison Visitation"; - dir = 2; network = list("ss13","prison") }, /obj/effect/turf_decal/trimline/red/warning{ @@ -7923,10 +7922,6 @@ /turf/open/floor/plasteel, /area/security/brig) "arb" = ( -/obj/machinery/door/poddoor/shutters{ - id = "armory"; - name = "armory shutters" - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -7937,6 +7932,10 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/door/poddoor/shutters/window{ + id = "armory"; + name = "armory shutters" + }, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) "arf" = ( @@ -63400,7 +63399,7 @@ /turf/open/space, /area/science/xenobiology) "djt" = ( -/obj/machinery/door/poddoor/shutters/preopen{ +/obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "engsm"; name = "Radiation Chamber Shutters" }, @@ -63408,11 +63407,11 @@ /area/engine/supermatter) "djx" = ( /obj/item/crowbar, -/obj/machinery/door/poddoor/shutters/preopen{ +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "engsm"; name = "Radiation Chamber Shutters" }, -/obj/structure/cable, /turf/open/floor/plating, /area/engine/supermatter) "djz" = ( @@ -68036,11 +68035,11 @@ /turf/open/floor/plasteel, /area/hydroponics) "hWp" = ( -/obj/machinery/door/poddoor/shutters/preopen{ +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ id = "engsm"; name = "Radiation Chamber Shutters" }, -/obj/structure/cable, /turf/open/floor/plating, /area/engine/supermatter) "hWR" = ( @@ -69881,7 +69880,6 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ name = "Supermatter Engine Room"; - req_access_txt = "0"; req_one_access_txt = "10;24" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 3bd4edd9eb8..5abae440de7 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -14672,7 +14672,6 @@ "aMd" = ( /obj/structure/table, /obj/machinery/microwave{ - pixel_x = 0; pixel_y = 6 }, /obj/machinery/light{ @@ -51932,12 +51931,12 @@ /turf/open/floor/plasteel/white, /area/science/explab) "lBJ" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Supermatter"; - name = "supermatter shielding" - }, /obj/item/wrench, /obj/structure/cable, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "supermatter"; + name = "supermatter shielding" + }, /turf/open/floor/plating, /area/engine/supermatter) "lBP" = ( @@ -52837,11 +52836,11 @@ /turf/open/floor/plating, /area/maintenance/disposal) "nmp" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Supermatter"; +/obj/structure/cable, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "supermatter"; name = "supermatter shielding" }, -/obj/structure/cable, /turf/open/floor/plating, /area/engine/supermatter) "nnf" = ( @@ -53812,11 +53811,11 @@ }, /area/maintenance/department/science) "oEN" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Supermatter"; +/obj/effect/landmark/event_spawn, +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "supermatter"; name = "supermatter shielding" }, -/obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/engine/supermatter) "oEW" = ( @@ -54931,9 +54930,7 @@ /turf/open/floor/plating, /area/maintenance/department/science) "qJB" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 2 - }, +/obj/machinery/atmospherics/components/unary/thermomachine/heater, /turf/open/floor/plating{ icon_state = "panelscorched" }, @@ -56249,8 +56246,8 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "tbC" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "Supermatter"; +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "supermatter"; name = "supermatter shielding" }, /turf/open/floor/plating, diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 7ee63458cb8..8576c7a3fe4 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -1162,9 +1162,6 @@ "dm" = ( /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/refuel) -"dn" = ( -/turf/open/floor/holofloor/plating, -/area/holodeck/rec_center/spacechess) "do" = ( /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ @@ -1313,19 +1310,11 @@ /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/refuel) "dH" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_viva"; - name = "Black Rook" - }, +/obj/structure/chess/whiterook, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "dK" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_ian"; - name = "Black Knight" - }, +/obj/structure/chess/whiteknight, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -1439,21 +1428,13 @@ }, /area/holodeck/rec_center/firingrange) "ed" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_greytide"; - name = "Black Pawn" - }, +/obj/structure/chess/whitepawn, /turf/open/floor/holofloor{ icon_state = "white" }, /area/holodeck/rec_center/spacechess) "ee" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_greytide"; - name = "Black Pawn" - }, +/obj/structure/chess/whitepawn, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "ef" = ( @@ -1697,17 +1678,11 @@ /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/kobayashi) "eW" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_greytide"; - name = "White Pawn" - }, +/obj/structure/chess/blackpawn, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "eX" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_greytide"; - name = "White Pawn" - }, +/obj/structure/chess/blackpawn, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -1824,19 +1799,13 @@ /turf/open/floor/holofloor, /area/holodeck/rec_center/firingrange) "fj" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_viva"; - name = "White Rook" - }, +/obj/structure/chess/blackrook, /turf/open/floor/holofloor{ icon_state = "white" }, /area/holodeck/rec_center/spacechess) "fm" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_ian"; - name = "White Knight" - }, +/obj/structure/chess/blackknight, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "fn" = ( @@ -9526,10 +9495,7 @@ /turf/open/floor/holofloor, /area/holodeck/rec_center/basketball) "vp" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_ntsec"; - name = "White Bishop" - }, +/obj/structure/chess/blackbishop, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -13145,11 +13111,7 @@ }, /area/holodeck/rec_center/medical) "Dk" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_ntsec"; - name = "Black Bishop" - }, +/obj/structure/chess/whitebishop, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -14935,11 +14897,7 @@ /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) "Hk" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_viva"; - name = "Black Rook" - }, +/obj/structure/chess/whiterook, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -17616,11 +17574,7 @@ /turf/open/floor/plasteel, /area/centcom/control) "Oo" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_ntsec"; - name = "Black Bishop" - }, +/obj/structure/chess/whitebishop, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "Op" = ( @@ -17647,11 +17601,7 @@ /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) "Ou" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_ian"; - name = "Black Knight" - }, +/obj/structure/chess/whiteknight, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "OA" = ( @@ -18344,10 +18294,7 @@ /turf/open/floor/plating/abductor, /area/abductor_ship) "RR" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_ntsec"; - name = "White Bishop" - }, +/obj/structure/chess/blackbishop, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "RS" = ( @@ -18375,8 +18322,7 @@ /area/holodeck/rec_center/spacecheckers) "Sb" = ( /obj/vehicle/ridden/scooter/skateboard/pro/holodeck{ - dir = 8; - icon_state = "skateboard2" + dir = 8 }, /turf/open/floor/holofloor/plating, /area/holodeck/rec_center/skatepark) @@ -18648,11 +18594,7 @@ /turf/open/floor/holofloor/carpet, /area/holodeck/rec_center/lounge) "TM" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_clown"; - name = "Black King" - }, +/obj/structure/chess/whitequeen, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -18675,10 +18617,7 @@ }, /area/holodeck/rec_center/medical) "TP" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_mime"; - name = "White Queen" - }, +/obj/structure/chess/blackking, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -18825,10 +18764,7 @@ }, /area/holodeck/rec_center/medical) "Ul" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_viva"; - name = "White Rook" - }, +/obj/structure/chess/blackrook, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "Um" = ( @@ -19031,11 +18967,7 @@ /turf/open/floor/holofloor/carpet, /area/holodeck/rec_center/lounge) "VK" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_mime"; - name = "Black Queen" - }, +/obj/structure/chess/whiteking, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "VP" = ( @@ -19132,10 +19064,7 @@ /turf/open/floor/plasteel, /area/centcom/supplypod/loading/four) "Wu" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_clown"; - name = "White King" - }, +/obj/structure/chess/blackqueen, /turf/open/floor/holofloor/dark, /area/holodeck/rec_center/spacechess) "Wy" = ( @@ -19407,10 +19336,7 @@ /turf/open/floor/wood, /area/centcom/holding) "Yi" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_ian"; - name = "White Knight" - }, +/obj/structure/chess/blackknight, /turf/open/floor/holofloor{ icon_state = "white" }, @@ -19683,34 +19609,6 @@ }, /turf/open/floor/wood, /area/centcom/holding) -"Zt" = ( -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_mime"; - name = "Black Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_mime"; - name = "Black Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_mime"; - name = "Black Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_mime"; - name = "Black Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - color = "#9999BB"; - icon_state = "cutout_mime"; - name = "Black Queen" - }, -/turf/open/floor/holofloor/plating, -/area/holodeck/rec_center/spacechess) "Zu" = ( /obj/structure/fluff/drake_statue, /turf/open/floor/plasteel/dark, @@ -19775,27 +19673,7 @@ /turf/open/floor/plasteel, /area/centcom/evac) "ZK" = ( -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_mime"; - name = "White Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_mime"; - name = "White Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_mime"; - name = "White Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_mime"; - name = "White Queen" - }, -/obj/item/cardboard_cutout/adaptive{ - icon_state = "cutout_mime"; - name = "White Queen" - }, -/turf/open/floor/holofloor/plating, +/turf/open/floor/holofloor/carpet, /area/holodeck/rec_center/spacechess) "ZN" = ( /obj/structure/table/wood, @@ -82828,16 +82706,16 @@ aa "} (246,1,1) = {" fx -dn -dn -dn -dn -dn -dn -dn -dn -dn -dn +ZK +ZK +ZK +ZK +ZK +ZK +ZK +ZK +ZK +ZK bj dm dm @@ -83085,7 +82963,7 @@ aa "} (247,1,1) = {" fx -dn +ZK Hk ee ew @@ -83094,7 +82972,7 @@ ew ev eX Ul -dn +ZK bj dm dm @@ -83342,7 +83220,7 @@ aa "} (248,1,1) = {" fx -dn +ZK Ou ed ev @@ -83351,7 +83229,7 @@ ev ew eW Yi -dn +ZK bj dm dm @@ -83599,7 +83477,7 @@ aa "} (249,1,1) = {" fx -dn +ZK Dk ee ew @@ -83608,7 +83486,7 @@ ew ev eX RR -dn +ZK bj dm dG @@ -83856,7 +83734,7 @@ aa "} (250,1,1) = {" fx -dn +ZK VK ed ev @@ -83865,7 +83743,7 @@ ev ew eW TP -dn +ZK bj dm dG @@ -84113,7 +83991,7 @@ aa "} (251,1,1) = {" fx -dn +ZK TM ee ew @@ -84122,7 +84000,7 @@ ew ev eX Wu -dn +ZK bj dm dG @@ -84370,7 +84248,7 @@ aa "} (252,1,1) = {" fx -dn +ZK Oo ed ev @@ -84379,7 +84257,7 @@ ev ew eW vp -dn +ZK bj dm dm @@ -84627,7 +84505,7 @@ aa "} (253,1,1) = {" fx -dn +ZK dK ee ew @@ -84636,7 +84514,7 @@ ew ev eX fm -dn +ZK bj dm dm @@ -84884,7 +84762,7 @@ aa "} (254,1,1) = {" fx -Zt +ZK dH ed ev diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 3948de91a1a..72d38710e1b 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -1,11 +1,13 @@ /obj/machinery/door/poddoor/shutters gender = PLURAL name = "shutters" - desc = "Heavy duty metal shutters that open mechanically." + desc = "Heavy duty mechanical shutters with an atmospheric seal that keeps them airtight once closed." icon = 'icons/obj/doors/shutters.dmi' layer = SHUTTER_LAYER closingLayer = SHUTTER_LAYER damage_deflection = 20 + armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 75, "bomb" = 25, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 70) + max_integrity = 100 /obj/machinery/door/poddoor/shutters/preopen icon_state = "open" @@ -15,3 +17,36 @@ /obj/machinery/door/poddoor/shutters/indestructible name = "hardened shutters" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + +/obj/machinery/door/poddoor/shutters/radiation + name = "radiation shutters" + desc = "Lead-lined shutters with a radiation hazard symbol. Whilst this won't stop you getting irradiated, especially by a supermatter crystal, it will stop radiation travelling as far." + icon = 'icons/obj/doors/shutters_radiation.dmi' + icon_state = "closed" + rad_insulation = RAD_EXTREME_INSULATION + +/obj/machinery/door/poddoor/shutters/radiation/preopen + icon_state = "open" + density = FALSE + opacity = FALSE + rad_insulation = RAD_NO_INSULATION + +/obj/machinery/door/poddoor/shutters/radiation/open() + . = ..() + rad_insulation = RAD_NO_INSULATION + +/obj/machinery/door/poddoor/shutters/radiation/close() + . = ..() + rad_insulation = RAD_EXTREME_INSULATION + +/obj/machinery/door/poddoor/shutters/window + name = "windowed shutters" + desc = "A shutter with a thick see-through polycarbonate window." + icon = 'icons/obj/doors/shutters_window.dmi' + icon_state = "closed" + opacity = FALSE + glass = TRUE + +/obj/machinery/door/poddoor/shutters/window/preopen + icon_state = "open" + density = FALSE diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index f3519270e58..6faa5b97aca 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -35,7 +35,27 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new /datum/stack_recipe("sofa (left)", /obj/structure/chair/sofa/left, 1, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("sofa (right)", /obj/structure/chair/sofa/right, 1, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corner, 1, one_per_turf = TRUE, on_floor = TRUE) - )), + )), \ + new/datum/stack_recipe_list("corporate sofas", list( \ + new /datum/stack_recipe("sofa (middle)", /obj/structure/chair/sofa/corp, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (left)", /obj/structure/chair/sofa/corp/left, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (right)", /obj/structure/chair/sofa/corp/right, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corp/corner, one_per_turf = TRUE, on_floor = TRUE), \ + )), \ + new /datum/stack_recipe_list("chess pieces", list( \ + new /datum/stack_recipe("White Pawn", /obj/structure/chess/whitepawn, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("White Rook", /obj/structure/chess/whiterook, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("White Knight", /obj/structure/chess/whiteknight, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("White Bishop", /obj/structure/chess/whitebishop, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("White Queen", /obj/structure/chess/whitequeen, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("White King", /obj/structure/chess/whiteking, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("Black Pawn", /obj/structure/chess/blackpawn, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("Black Rook", /obj/structure/chess/blackrook, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("Black Knight", /obj/structure/chess/blackknight, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("Black Bishop", /obj/structure/chess/blackbishop, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("Black Queen", /obj/structure/chess/blackqueen, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + new /datum/stack_recipe("Black King", /obj/structure/chess/blackking, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), \ + )), null, \ new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \ new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ diff --git a/code/game/objects/structures/beds_chairs/sofa.dm b/code/game/objects/structures/beds_chairs/sofa.dm index c811ceafcd2..4a0b1e2b32e 100644 --- a/code/game/objects/structures/beds_chairs/sofa.dm +++ b/code/game/objects/structures/beds_chairs/sofa.dm @@ -4,6 +4,28 @@ icon = 'icons/obj/sofa.dmi' buildstackamount = 1 item_chair = null + var/mutable_appearance/armrest + +/obj/structure/chair/sofa/Initialize() + armrest = mutable_appearance(icon, "[icon_state]_armrest", ABOVE_MOB_LAYER) + return ..() + +/obj/structure/chair/sofa/post_buckle_mob(mob/living/M) + . = ..() + update_armrest() + +/obj/structure/chair/sofa/proc/update_armrest() + if(has_buckled_mobs()) + add_overlay(armrest) + else + cut_overlay(armrest) + +/obj/structure/chair/sofa/post_unbuckle_mob() + . = ..() + update_armrest() + +/obj/structure/chair/sofa/corner/handle_layer() //only the armrest/back of this chair should cover the mob. + return /obj/structure/chair/sofa/left icon_state = "sofaend_left" @@ -13,3 +35,18 @@ /obj/structure/chair/sofa/corner icon_state = "sofacorner" + +// Original icon ported from Eris(?) and updated to work here. +/obj/structure/chair/sofa/corp + name = "sofa" + desc = "Soft and cushy." + icon_state = "corp_sofamiddle" + +/obj/structure/chair/sofa/corp/left + icon_state = "corp_sofaend_left" + +/obj/structure/chair/sofa/corp/right + icon_state = "corp_sofaend_right" + +/obj/structure/chair/sofa/corp/corner + icon_state = "corp_sofacorner" diff --git a/code/game/objects/structures/chess.dm b/code/game/objects/structures/chess.dm new file mode 100644 index 00000000000..9044dafd73e --- /dev/null +++ b/code/game/objects/structures/chess.dm @@ -0,0 +1,78 @@ +/obj/structure/chess + anchored = FALSE + density = FALSE + icon = 'icons/obj/chess.dmi' + icon_state = "white_pawn" + name = "\improper Probably a White Pawn" + desc = "This is weird. Please inform adminstration on how you managed to get the parent chess piece. Thanks!" + max_integrity = 100 + +/obj/structure/chess/wrench_act(mob/user, obj/item/tool) + to_chat(user, "You start to take apart the chess piece.") + if(!do_after(user, 0.5 SECONDS, target = src)) + return TRUE + var/obj/item/stack/sheet/metal/metal_sheets = new (drop_location(), 2) + metal_sheets.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. It can hop over other pieces, moving in L shapes. A white kni- oh. Hah!" + 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" diff --git a/icons/obj/chess.dmi b/icons/obj/chess.dmi new file mode 100644 index 0000000000000000000000000000000000000000..407df324b4d9b8bb7edd6de64b97ad670274f2be GIT binary patch literal 1252 zcmVzHWGof{dU%Mp{NtWXRIyP+D$yf|g`% zf?8yF3cY5d00001bW%=J06^y0W&i*Hu6k5hbVOxyV{&P5bZKvH004NLjgmbM!Y~X* z=j0SoyCeQq7SsxLpjSXCHH}r8lq8Vr6EG74c=KmH+47T1wXY9NtEyuoAK(Kzt9EL; zSW1zwk0yuBS_%U=m`EW+9U+%RG8o}B>tqWldh{VTS5jQOo`C8v)H^pa(b2vZGT{z` zaWi)^+JTAQ?g0O9>#q7d@-z_2(m*Iv1HnuUpUE5zg#Oe}s=BS-@ACw=j;w(dsO{hY z00W#!L_t(&f$f^zmZ~reg^7T)B3kSFzw1d_e{N>)utX1BkTrLd?9VhUN!B#YZoBQa z+t*Fj);}-;aqvXQ3VT-mh!c^vZHbGH;x*Fu{SmE@c4&2h9FN$Egf_MZNFcGN1g3vD zAc7eH5<=7nKmr3`A&!0Db&$XSf<{OU`45K}Tm1t7CLkn7B*s&x#sES=01Ji~qpk=M zgunpk9!LyW{|R9BxBJsDsD5kP07SeT&;=)`UkKDtmRJ3gQR*hZ9}&5J=#B@RVkHSs zh(z_HF=_}-FiARcgdPAe#T)=j0gn)#zg0pR|NMC3U@0h+2$ z@{Id$yexGi;OWmf1q%S4`s}9kuHqQ&{ZEt71#tY^^YXqU09?HF5rO01G9=hl3Ey7` z;Q4RtOI`(j1;G8!SP%xb#Yzxa4!Hj9qH+Y5<^c7-{Vi|+-UQ%tHe(B3w$Ah2cH30hsiU>3lUw1!Ut{B|10+YJ&JK-LJU;j*1Jr#?Ws-_#gDE(jEWHIL4aNm9o8PXIIg z8%mN91p}Z2cc@DL(z}iWs6^s9@NGd3F!!So{Jjf{0o><$$5nxi0yL5@83)J~^s%?^F>GGF=P5IR z)g!QdfPFr&+itsk!@hFJmw1qb>#f;7a81>C^8rb$;`85cYGsW(mqtj*HwQo*KK*1* zX}UrJUUW9z7Km7HMti%QlSTj%7y$qO2?hALb29yFO4{3?O|SugupF`B1B*~0Ag^DN z*0pL0guno3;m?~>4?ymhi|S9d4XCQ(IpBtvCUMojTl1is0EY~T=3q%O^4tJmhO2(E z8G?r3j`TAuc^{8$MnrnEY%4H9vU6hkBiaF{|F;Ap3ic!EEhDvV!~t;nf2kuFb`Uea zryg}H8M3hczjmMWuHyi%zIzIm0X+3t@3b<&jQ+nkU?U1l@YaX@HShm@03IP1V1EDa zbf?Y$g8G|yd O0000tA~1VvERAj*;j7?!36 zwS7ViTPej>MP(^aS%MFNY9K@u6qHRw5CT|Upb*3V0(PeDyqPoiEOYMtzVF<*bMrWC zhN;O%CIA4KdNDl@0|3Mj0%J&+VI3}Ih8dg-$LGjFg+d{d$+EMvqobp{0RRNS$jHc= znwo}&28l!>5D0Q|a;&YbA3braZ*pX@Sax=HfD&+#c9t1VfFvDea{=1a(?~;7aQ;X@ zl4nF>ctTWMQdI0207#K@{o@k&EC1!jz12=Scsn`tDplOuend5CY+|R%=ks5I1j*Np zWYS?$Kj{mceBx5ar6V}*=dSi`WD+4b?<>-0wb!=n2A z19J;U6+=GrL09(@m_63A>dyJ&2OcB6SnZWQ$J(E$5Fe|70>{J$M%Lt306@sSJn2VL zbQvb$vqw8=uxmDs7p7B>buE1$>DA$3u~n;sZM%-OJwmp*_>R7)V`XHYSF|; z-GZ&{!bzm-OB&V8a`sg1x`zMe>T>7{_p^7?Gcwj&UVQPAn}37$pRx2~xCPz$DQ%QT zf6!13O;b6uwti5QCP+y?R+`~4=%#xOKSd}$a2t>QK=BLh3H0M&Ts&kMU*IA@Mv3ZH z{VM!%8a>9yl9>u3#kfChLh!P6&$3pl4P;blRMCS)<~%B(Tk0G2-J6ddOw85UmjwSH zn78@41#FJ>4S%!n(Za)#qLm&V0fWfbuQabdcI z)hnd{8h0CCaGe!kU}JAXe|DF~-d9oKRM6i$eG)ZUN1_ZtT{V&mKhxf9wK*+XeD+rL*=xL)9RXh96)q{-=K_Bc$$y_?iikzH_;6j^*vhJ%95A-G-CVmW#VVM8Nds7ZN zQ9QK4ztHOOhOQ2IS@I!9AZ`j?zaj9)6G?T5d)GTV5kH0cyEp#*YBqJjdF%q*K)GT1 zQl(M%6ztUO=mdW}jdofe*i4;-?XJp`?o!H%y~^Iv_RLhCzXN`y+v`l}(t2d@W=uOx zLjsdSEE@$FBmPrCI@sC&;@&UrbzPw$e(8Q?r^K_m9GIoT_7*FECi=$MBQ=O3-sT&} zS0`R|!^_kbRB`TDa%yv5**|d+;y&9es%fT`PpUoK_gUL+RBD=E`6*GB6lca%`bo!M z8Fa$S-SDOAi*{uGNF%7;lA4Lg{t0186%zz%nf8jx*um<#?YB;Qu3?xm-W^@kWjB1u z1_&7knTvlbxv-mlQtHj%Od3}QhW6QFRMSW--4i|Za$>8^Cj5o6ZYwzSmH;|F6UT=i zTtjX%kTSIGu*zC)OgqGojnzh-DTys}!`sj=8o1-?y6zi>3@>+eC{cfD7of2nG^sl) zuBXA1eL2IWgSJKH0V}FlMd+34>#t#FHvGb;SWa@XN6R}F;jy>AONWx^AKetlu*?!{ zUwN8hevmak(F!)GZBtx&%=g5wXOz zg@@elh>o?KOK(RLb7v8PjJeW%*6A_kzZt!{+;kiyp{T*@tI%Kb3$zi58z_%3WdvF% zkKdltDm*7fP8n}2v_~QgtWZ2TPP|#MgwxUQZR;OUZTql`Z-wj6 zs1P?`Bi>5NSWCxWf)LVin?;#n)8Idj88t_CQ^uSR3_xyetubqyzP|A;K%nW|t}3(V SB^<*a0(c!{dsch!#Qy`YBP{j+ literal 2616 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 I6U3yy0gJp5rvLx| diff --git a/icons/obj/doors/shutters_radiation.dmi b/icons/obj/doors/shutters_radiation.dmi new file mode 100644 index 0000000000000000000000000000000000000000..657b613b0ccdef3dfe1bf0c010cf1c6650fdf4fa GIT binary patch literal 1477 zcmZuxeLT|%82@c7X34x{%4ORLE1J1gCq=do7h=&QCvQvMnb%N;nJvWKhMkec|PCo^Zn@Gv(w z-`LnNN+|iHnu3y#lgNPM)Y~vsbM3shZ?aQpQb=NCd~#$Q6#&vo$v*LkXB8jG@gHRG zcOTueyNBOP=A6L2#*4?Tdfj*Z4kTW_!nMU8$M@mgP^IIA9fjT~@~#6G&9?iTFJ8i% z)l?c`f;)e^=~GmEON-KeeG*YIrF$2Hx8BiUXPU&0k0PBmD~M%>$CTsQOlXwm=4~e} zExF2iy6JYH_*qid{S!qp08p=Xbs~7DmCgsWCJf`??_XuT-0IX@^s}Bn5L*p+rGRuT zIk`QrkY--6*_IO!6aeM2G;)^Ggzi)epUqN!z{*wlf+oFt_0LyPvi{)E1ce80q_K*s z&DWXBs!Nr0$=CTQ1C2=iUoD3f_~C%0wZUU=wbP|a+M!P-rj0wsxUo9-Y}QfH&Bpv@ zigHhQa|Wk-enLDyEE*abs0-pO^HqNLQ=re$@ww~>NWX1W287Kk3msi)lvma`YT?~Mi;ikbP zV)(l)s}JV=3pPP`^y`AbxWN6^;fM-CHa6I7E+sugDR?IDZ$N2lC4(#}3OiQK`UqtS z>yiTwXmOjdmfY~*&Y>|+uwv7>l$^!Exyg(~f`P&Jh$UT;y@ZOBKZ|~fWfKSxoW5PU zl)B#nQNRWeOL{4vIQ13&y)eQLvw61Ak=$Ve&x5I31z%=%>8T#M4^@hdTE5WxI(4(l zA6E?h;SgsLgvJzQeoHG;%0^S2B0YnTbhv3w=xFAb!i=B?54T9wE{hqMFUORQ7Ob|y z|22h^Fm__T!HRcQxx~f$V7c@x| zTmdD}_o6im%+*0crolKStGc)9nCaSuiTH z@r@jjMnqHK;Ny`hwl8wIGG<`mWWfWSGk>jA1UfD#!l%?Kq>vdJgHOvza{%9)zDaYa zuXbImy;{xIjmuQLpISD8b={qAV{nLHTUGkD`uf3>-Gz*N`$-|=mj)`8&=2N9x(#tB z;SF>@!X+36s)u0zBdui1K#z1<&VzZQ^f?5u3Kgtxn#oj8ZU#Ro1CbW*OSE733i6J& z&k7TGKi$SY?v1^A!+jB9$n0BXLB>92QV6!sgM8tn|De!I-i3@>Qsr5q5j*0xr=RCj zfJ&%=@V9ng**=1Cup6TTf-%UKs2pSck-kAZ2M#s(Fp(F8J~s*+x<+@XLe({)GDovd z#R+n!(PBA0xtYj2yXGQ)l4W*FqNrxC6XClbZBGf)&*F_;xd@8(dTm!;%Z>v5!3cvDTjm7-t=+N#sC58x8FmF( V(zH_Je?awD0as^|(_>;V<8Qvpu>$}A literal 0 HcmV?d00001 diff --git a/icons/obj/doors/shutters_window.dmi b/icons/obj/doors/shutters_window.dmi new file mode 100644 index 0000000000000000000000000000000000000000..550e01f987821f94ac1356f3072488023928fecd GIT binary patch literal 4837 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 DF}cjw literal 0 HcmV?d00001 diff --git a/icons/obj/sofa.dmi b/icons/obj/sofa.dmi index 1ec3101c027c410ab14c501d08618fd2c99de85a..a5591021d6897b1b6b8c0ee025f59acba47211dd 100644 GIT binary patch literal 15829 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 diff --git a/tgstation.dme b/tgstation.dme index 46d0fae8f72..abdc05236a2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1182,6 +1182,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"