From 7a5ef569b669ad6edeb09038675500f0b5c8604f Mon Sep 17 00:00:00 2001 From: Archie Date: Wed, 30 Sep 2020 03:51:53 -0300 Subject: [PATCH] Radiation Shutters + Micro Opts + Engine Weight --- .../Box/Engine/engine_singulo.dmm | 30 +++--- .../StationRuins/Box/Engine/engine_sm.dmm | 30 +++--- .../StationRuins/Box/Engine/engine_sm_3x.dmm | 30 +++--- .../StationRuins/Box/Engine/engine_sm_5x5.dmm | 100 +++--------------- code/datums/components/radioactive.dm | 3 +- code/game/machinery/doors/shutters.dm | 59 ++++++++++- config/game_options.txt | 4 +- icons/obj/doors/shutters.dmi | Bin 2616 -> 1660 bytes icons/obj/doors/shutters_old.dmi | Bin 0 -> 1224 bytes icons/obj/doors/shutters_radiation.dmi | Bin 0 -> 1477 bytes icons/obj/doors/shutters_window.dmi | Bin 0 -> 4957 bytes 11 files changed, 109 insertions(+), 147 deletions(-) create mode 100644 icons/obj/doors/shutters_old.dmi create mode 100644 icons/obj/doors/shutters_radiation.dmi create mode 100644 icons/obj/doors/shutters_window.dmi diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm index d49c94ba..73930034 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm @@ -39,9 +39,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /turf/open/floor/plasteel, /area/engine/engineering) @@ -300,9 +299,8 @@ /turf/open/floor/plasteel, /area/engine/engineering) "wt" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /turf/open/floor/plating, /area/engine/engineering) @@ -310,9 +308,8 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /turf/open/floor/plasteel, /area/engine/engineering) @@ -546,9 +543,8 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /turf/open/floor/plasteel, /area/engine/engineering) @@ -589,9 +585,8 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /turf/open/floor/plasteel, /area/engine/engineering) @@ -828,9 +823,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /turf/open/floor/plasteel, /area/engine/engineering) diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm index 6462cef2..672b05f2 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm @@ -179,9 +179,8 @@ /turf/open/floor/engine, /area/engine/engineering) "df" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, @@ -601,9 +600,8 @@ /turf/open/floor/engine, /area/engine/engineering) "nW" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -637,9 +635,8 @@ /turf/open/floor/engine, /area/engine/engineering) "px" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -738,9 +735,8 @@ /turf/open/floor/engine, /area/engine/supermatter) "re" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1092,9 +1088,8 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "Cn" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -1572,9 +1567,8 @@ /turf/open/floor/engine, /area/engine/engineering) "Nw" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_3x.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_3x.dmm index 3356ebaa..be1bd960 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_3x.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_3x.dmm @@ -179,9 +179,8 @@ /turf/open/floor/engine, /area/engine/engineering) "df" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, @@ -592,9 +591,8 @@ /turf/open/floor/engine, /area/engine/engineering) "nW" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -628,9 +626,8 @@ /turf/open/floor/engine, /area/engine/engineering) "px" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -729,9 +726,8 @@ /turf/open/floor/engine, /area/engine/supermatter) "re" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1066,9 +1062,8 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "Cn" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -1547,9 +1542,8 @@ /turf/open/floor/engine, /area/engine/engineering) "Nw" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_5x5.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_5x5.dmm index 2b24fa2a..ccf5a39b 100644 --- a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_5x5.dmm +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm_5x5.dmm @@ -191,9 +191,8 @@ /turf/open/floor/engine, /area/engine/engineering) "df" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, @@ -295,9 +294,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"fK" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter) "fW" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -341,16 +337,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/engineering) -"hy" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/engineering) "hJ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -427,9 +413,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"iU" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter) "jg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -458,10 +441,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/dark, /area/engine/engineering) -"jB" = ( -/obj/structure/sign/warning/fire, -/turf/closed/wall/r_wall, -/area/engine/supermatter) "jZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -552,12 +531,6 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"mW" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/supermatter) "mX" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/cable{ @@ -588,10 +561,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"ni" = ( -/obj/machinery/status_display/ai, -/turf/closed/wall/r_wall, -/area/engine/supermatter) "nz" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -633,9 +602,8 @@ /turf/open/floor/engine, /area/engine/engineering) "nW" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -669,9 +637,8 @@ /turf/open/floor/engine, /area/engine/engineering) "px" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -771,9 +738,8 @@ /turf/closed/wall/r_wall, /area/engine/supermatter) "re" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -783,14 +749,6 @@ }, /turf/open/floor/plating, /area/engine/supermatter) -"rt" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "ry" = ( /obj/structure/cable{ icon_state = "1-2" @@ -870,12 +828,6 @@ /obj/machinery/atmospherics/pipe/simple/green/visible, /turf/open/floor/engine, /area/engine/engineering) -"ti" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/supermatter) "tn" = ( /turf/open/floor/engine, /area/engine/supermatter) @@ -935,9 +887,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"vO" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter) "vX" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -1090,12 +1039,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"Bk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/supermatter) "Bl" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1134,9 +1077,8 @@ /turf/open/floor/plasteel/dark, /area/engine/engineering) "Cn" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -1451,9 +1393,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"JK" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter) "JL" = ( /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, @@ -1627,9 +1566,8 @@ /turf/open/floor/engine, /area/engine/engineering) "Nw" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + id = "engsm" }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -1711,14 +1649,6 @@ /obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/engineering) -"Pa" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "Ph" = ( /obj/structure/cable{ icon_state = "1-8" @@ -1780,12 +1710,6 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) -"RA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/supermatter) "RV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 8afa4353..b823c705 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -34,13 +34,12 @@ var/atom/movable/master = parent master.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2)) addtimer(CALLBACK(src, .proc/glow_loop, master), rand(1,19))//Things should look uneven - START_PROCESSING(SSradiation, src) /datum/component/radioactive/Destroy() - STOP_PROCESSING(SSradiation, src) var/atom/movable/master = parent master.remove_filter("rad_glow") + STOP_PROCESSING(SSradiation, src) return ..() /datum/component/radioactive/process() diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index bd58649b..362dde11 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -1,13 +1,70 @@ /obj/machinery/door/poddoor/shutters gender = PLURAL name = "shutters" - desc = "Heavy duty metal shutters that open mechanically." + desc = "Mechanical metal shutters operated by a button with a magnetic seal, keeping them airtight." icon = 'icons/obj/doors/shutters.dmi' layer = SHUTTER_LAYER closingLayer = SHUTTER_LAYER + armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 75, "bomb" = 25, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 70) damage_deflection = 20 + max_integrity = 100 /obj/machinery/door/poddoor/shutters/preopen icon_state = "open" density = FALSE opacity = 0 + +// The below shutters are the original ones from the TG codebase. They are remaining as "secure" shutters. If anyone wants to improve their animation, feel free. +// The original shutters are now shutters_old.dmi; copy the naming format of the files into new a new .dmi to add new shutters that work with the poddoor code for animating the doors. +// Originally, the shutters were reskins of blast doors. Eighty hits with the Cap's sabre to destroy one shutter is far too powerful considering shutters cannot be deconstructed (yet). +// If you're a mapper and want super strong shutter, use the 'old' ones. + +/obj/machinery/door/poddoor/shutters/old + name = "strong shutters" + desc = "These shutters have an armoured frame; it looks like plasteel. These shutters look robust enough to survive explosions." + icon = 'icons/obj/doors/shutters_old.dmi' + icon_state = "closed" + armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 75, "bomb" = 30, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 70) + max_integrity = 300 + +/obj/machinery/door/poddoor/shutters/old/preopen + icon_state = "open" + density = FALSE + opacity = 0 + +// End of old shutter stuff. Credit for the old shutter sprites to TG. + +/obj/machinery/door/poddoor/shutters/radiation + name = "radiation shutters" + desc = "Lead-lined shutters painted yellow with a radioactive hazard symbol on it. Blocks out most radiation" + icon = 'icons/obj/doors/shutters_radiation.dmi' + icon_state = "closed" + rad_insulation = 0.2 + +/obj/machinery/door/poddoor/shutters/radiation/preopen + icon_state = "open" + density = FALSE + opacity = 0 + rad_insulation = 1 + +/obj/machinery/door/poddoor/shutters/radiation/do_animate(animation) + ..() + switch(animation) + if("opening") + rad_insulation = 1 + if("closing") + rad_insulation = -0.5 + +// A 3x3 N2 SM setup won't irradiate you if you're behind the shutter at -0.9 insulation. If it starts to delam, it'll start irradiating you slowly. Keep the value between -0.1 to -0.9 + +/obj/machinery/door/poddoor/shutters/window + name = "windowed shutters" + desc = "Mechanical shutters that have some form of plastic window in them, allowing you to see through the shutters at all times." + icon = 'icons/obj/doors/shutters_window.dmi' + icon_state = "closed" + opacity = 0 + glass = 1 + +/obj/machinery/door/poddoor/shutters/window/preopen + icon_state = "open" + density = FALSE diff --git a/config/game_options.txt b/config/game_options.txt index d973a196..5e635669 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -561,8 +561,8 @@ BOX_RANDOM_ENGINE Box Tesla,3 BOX_RANDOM_ENGINE Box Singulo,3 BOX_RANDOM_ENGINE Box SM 1x3,1 BOX_RANDOM_ENGINE Box SM 5x5,1 -BOX_RANDOM_ENGINE Box SM 3x,0 -BOX_RANDOM_ENGINE Box TEG,3 +BOX_RANDOM_ENGINE Box SM 3x,1 +BOX_RANDOM_ENGINE Box TEG,2 BOX_RANDOM_ENGINE Box Empty,0 BOX_RANDOM_ENGINE Box Antimatter,1 BOX_RANDOM_ENGINE Box P.A.C.M.A.N,0 \ No newline at end of file diff --git a/icons/obj/doors/shutters.dmi b/icons/obj/doors/shutters.dmi index a79e9889c9a540fab92220ea8809eb460ee18958..816d1f94f9516f62a77b82522c8d52f22b30cbc7 100644 GIT binary patch literal 1660 zcmZ`(dr;C@6#jvb4^l7-Yb!x3u?Oac66q>G5?^a7rDZP?%SUD@J~J{A(h&V~3&_R%YT-UZ`^>ZMepHoXB zY$LoR{E999c=pNJAZ+03O*je3$s_wTVO4d-Vmn4tW8sd1i$x}(4d?nTg#+OO^p&$CZvVm)qaYtUFjz zI!_Tt2&k?1XO3z%d}<8I?6X{qfiE_5FmK70m^@qW5cBlr4G&q;5wYgD)o|sLDWYRQ z%~*~3NG!VN=M>GQiiAG;&U(aDkkHR53_X{KXL&z_;!0v`+2<<<6F4O`NJSS{ROQYR)6B@03Kya zD`q$z7av1US=YyD-^1VTVsj!Pd5qTto{=c{b~IBvQ!UNaJ2XsOG<7$UgRvO?I9pln z`J&GJlsRcyUs&BY(bfjdf*r!~9yQFjp_O1!q~GN6i-w@%_wpLdp*ZqM9)qm37!HnI zHoQlE5qt+*e<3d~kA1=SFg34%4UU#LI*wQx*?`bU^2s_WYz>YF2lR4A`gje;OE(G% zK!pyBO;1l(l${Z^`99;20h#Qa+JJe2o=L{C{)mi(mq22Q%7|&?=3Zj&lM7KpO6E+` z%Pv>9#PwCJBW84Mx?WJa*$XlUfS z5_H+vRN7-jik!?N=ZdG@_auK+nRT<3s!GH`T+@AE2>NWPTP0#n<$rYb(t214hsHZs zXdy{zgLpM2wd*UgNx>d zEjbl#B79^I$URDyhCW)PS+~UXU=c=bAT?YYcU@HLcB3cI@!RY0sSh!)>`@w4dWNU(efZ;?^96_k z#jOfDHnmK+SD3z9jf5X@wbaN2$0q;Yrd;Zi|z`#kU2?&gqT_(kCFbT z5T&88d$L#4@pPnG`|jw*T$M%TG1>diJ(@{{BE0DMP(bYn>!_VhyCTejm-!|Mff?As8q4!k8vPv$V$kbY?W4D=10 ztA*b|P)h}Oyu5Z}Rj_hb=T7JcQ;U9R|A^god)htVE+S}edNpEYD~9Vv0aP%^pvB7B zC$uq{Gb=ryHrQwN4l}x63z3gc6Ng>5%&dVX#8pLamdH)SjEs1w{ytL0IgL5qU#gWmsbrUPfE=s1Js zxlw-P)-r$Be@OGTerPy?CI%bfBr({ju^zO52?9{SH N_;~nJMVlGizX9k71u_5t literal 2616 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 I6U3yy0gJp5rvLx| diff --git a/icons/obj/doors/shutters_old.dmi b/icons/obj/doors/shutters_old.dmi new file mode 100644 index 0000000000000000000000000000000000000000..57ac75d2513787c280c993b140bf3ed13c61db59 GIT binary patch literal 1224 zcmeAS@N?(olHy`uVBq!ia0vp^3xK$RgBeKf-aAPXNSOurgt#6!aA4M~S*@+D+1c5f zHf=h=z>t=f*3;8dUtcdREq&>#?be;z+qZA`_4RFUZ&y=O1FB~@!|+aHW;xIV#*!ev zU)e_1!5cyi zE*d|0q;uX!^CUx2Pwx&3;~?Y9#$F0@9!)wjDMTSy(^7rEg|U8YXScEH<`oheNhglZ z44X1zHdj(KgKKcHkhbF?s}mPk5*_Lsv*eDlC0x(#cy;EANX)4zqA`DC4%}mB$P{+l z6{O!9!@$72%G1R$q+-t7Io#!|3z&-+s^IJ(8W2@I{lS>jW_j=FPwF@mu03*JC-4FP=+k zdBQ5phGQbiEsUcG!?=;tpERh{qsTD{|EV}*egS)SzJFC z^V#NU`wV`u6!X;ZGo7nvHih2J<<^kwSbs_^CeU8<&D8Gs-QsKhJmz{hOSRC{IbF)M zKX!fE2cOSu{cB71E`MsMvf}MVNv>BFJzjT{JpyhgvvR$v0teQOb#Ru z!XdBZZfC7tTUVX=y#CeC1rY~p?7p-9lzsTyl;hc_o%$!K=Y8tB znO^-r=aqHtzZ*68L3h*k>vyg0pPeFh&v9jJ1^d#nhq6;{wU!5Di6aZB{__{U%IP%S zVYYl3=a!#;4-|ha58m*rewKi6i(aFd{Trc-&xf%x_OJC;Q2+6KH_O$}wuyh)BLy|| UR|{>=0hT2Up00i_>zopr04QrzCjbBd literal 0 HcmV?d00001 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..c99790c6cfebd67a3877f90fc377f2ac1cdd2529 GIT binary patch literal 4957 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 O0N%h%zf{*b>VE)UOz6)5 literal 0 HcmV?d00001