[DNM] Reactor QoL | Multi-Tile Poddoors
- - - Additions: - Additional define for stuff super insulated against rads. This is just to remove number clogging and permit stuff to be changed on a higher level. Still needs to be added to most things, but it's a start. - Brings over multi-tile poddoors from TG. They're about as you'd expect. - Lead walls for the RBMK area. Yup. - - - Map: - RBMK reactor given lockdown shutters, a proper blastdoor and some primping up in general to the surrounding area. Additionally, they've walls now that are appropriate. - - - Bugfix: - Corrects rad shutters being wacky and out of this world. - - -
@@ -36,6 +36,7 @@ Ask ninjanomnom if they're around
|
||||
#define RAD_MEDIUM_INSULATION 0.7 // What common walls have
|
||||
#define RAD_HEAVY_INSULATION 0.6 // What reinforced walls have
|
||||
#define RAD_EXTREME_INSULATION 0.5 // What rad collectors have
|
||||
#define RAD_NEAR_FULL_INSULATION 0.2 // What radiation shutters and specialised walls for the RBMK use.
|
||||
#define RAD_FULL_INSULATION 0 // Unused
|
||||
|
||||
// WARNING: The deines below could have disastrous consequences if tweaked incorrectly. See: The great SM purge of Oct.6.2017
|
||||
|
||||
@@ -91,3 +91,55 @@
|
||||
/obj/machinery/door/poddoor/try_to_crowbar(obj/item/I, mob/user)
|
||||
if(stat & NOPOWER)
|
||||
open(1)
|
||||
|
||||
//Multi-tile poddoors don't turn invisible automatically, so we change the opacity of the turfs below instead one by one.
|
||||
/obj/machinery/door/poddoor/multi_tile/proc/apply_opacity_to_my_turfs(var/new_opacity)
|
||||
for(var/turf/T in locs)
|
||||
T.opacity = new_opacity
|
||||
T.has_opaque_atom = new_opacity
|
||||
T.reconsider_lights()
|
||||
T.air_update_turf(1)
|
||||
update_freelook_sight()
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile
|
||||
rad_insulation = RAD_NEAR_FULL_INSULATION
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/open()
|
||||
. = ..()
|
||||
rad_insulation = RAD_NO_INSULATION
|
||||
apply_opacity_to_my_turfs(0)
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/close()
|
||||
. = ..()
|
||||
rad_insulation = RAD_NEAR_FULL_INSULATION
|
||||
apply_opacity_to_my_turfs(1)
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/four_tile_ver/
|
||||
icon = 'icons/obj/doors/1x4blast_vert.dmi'
|
||||
bound_height = 128
|
||||
dir = NORTH
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/three_tile_ver/
|
||||
icon = 'icons/obj/doors/1x3blast_vert.dmi'
|
||||
bound_height = 96
|
||||
dir = NORTH
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/two_tile_ver/
|
||||
icon = 'icons/obj/doors/1x2blast_vert.dmi'
|
||||
bound_height = 64
|
||||
dir = NORTH
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/four_tile_hor/
|
||||
icon = 'icons/obj/doors/1x4blast_hor.dmi'
|
||||
bound_width = 128
|
||||
dir = EAST
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/three_tile_hor/
|
||||
icon = 'icons/obj/doors/1x3blast_hor.dmi'
|
||||
bound_width = 96
|
||||
dir = EAST
|
||||
|
||||
/obj/machinery/door/poddoor/multi_tile/two_tile_hor/
|
||||
icon = 'icons/obj/doors/1x2blast_hor.dmi'
|
||||
bound_width = 64
|
||||
dir = EAST
|
||||
@@ -41,23 +41,21 @@
|
||||
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
|
||||
rad_insulation = RAD_NEAR_FULL_INSULATION
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/radiation/preopen
|
||||
icon_state = "open"
|
||||
density = FALSE
|
||||
opacity = 0
|
||||
rad_insulation = 1
|
||||
opacity = FALSE
|
||||
rad_insulation = RAD_NO_INSULATION
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/radiation/do_animate(animation)
|
||||
..()
|
||||
switch(animation)
|
||||
if("opening")
|
||||
rad_insulation = 1
|
||||
if("closing")
|
||||
rad_insulation = -0.5
|
||||
/obj/machinery/door/poddoor/shutters/radiation/open()
|
||||
. = ..()
|
||||
rad_insulation = RAD_NO_INSULATION
|
||||
|
||||
// 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/radiation/close()
|
||||
. = ..()
|
||||
rad_insulation = RAD_NEAR_FULL_INSULATION
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/window
|
||||
name = "windowed shutters"
|
||||
|
||||
@@ -209,3 +209,15 @@
|
||||
sheet_type = /obj/item/stack/tile/bronze
|
||||
sheet_amount = 2
|
||||
girder_type = /obj/structure/girder/bronze
|
||||
|
||||
/turf/closed/wall/mineral/lead
|
||||
name = "lead lined metal wall"
|
||||
desc = "A hefty wall with lead inserts."
|
||||
icon = 'icons/turf/walls/riveted.dmi'
|
||||
icon_state = "riveted"
|
||||
sheet_type = /obj/item/stack/rods
|
||||
hardness = 10
|
||||
girder_type = /obj/structure/girder/reinforced
|
||||
explosion_block = 2
|
||||
rad_insulation = RAD_NEAR_FULL_INSULATION
|
||||
canSmoothWith = list(/turf/closed/wall/mineral/lead)
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.8 KiB |