diff --git a/code/datums/repositories/radiation.dm b/code/datums/repositories/radiation.dm index 5d06eccc77..46f4a9a5b7 100644 --- a/code/datums/repositories/radiation.dm +++ b/code/datums/repositories/radiation.dm @@ -116,7 +116,7 @@ var/global/repository/radiation/radiation_repository = new() else if(O.density) //So open doors don't get counted var/material/M = O.get_material() if(!M) continue - cached_rad_resistance += M.radiation_resistance + cached_rad_resistance += M.weight + M.radiation_resistance // Looks like storing the contents length is meant to be a basic check if the cache is stale due to items enter/exiting. Better than nothing so I'm leaving it as is. ~Leshana radiation_repository.resistance_cache[src] = (length(contents) + 1) diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index 930cfb792b..699125e0b3 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -23,6 +23,10 @@ ..(newloc,"gold") /turf/simulated/wall/silver/New(var/newloc) ..(newloc,"silver") +/turf/simulated/wall/lead/New(var/newloc) + ..(newloc,"lead") +/turf/simulated/wall/r_lead/New(var/newloc) + ..(newloc,"lead", "lead") /turf/simulated/wall/phoron/New(var/newloc) ..(newloc,"phoron") /turf/simulated/wall/sandstone/New(var/newloc) diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 2fa2b1dbbe..2aad17f180 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -99,7 +99,7 @@ var/list/name_to_material var/conductivity = null // How conductive the material is. Iron acts as the baseline, at 10. var/list/composite_material // If set, object matter var will be a list containing these values. var/luminescence - var/radiation_resistance = 20 // Radiation resistance, used in calculating how much radiation a material absorbs. Equivlent to weight, but does not affect weaponry. + var/radiation_resistance = 0 // Radiation resistance, which is added on top of a material's weight for blocking radiation. Needed to make lead special without superrobust weapons. // Placeholder vars for the time being, todo properly integrate windows/light tiles/rods. var/created_window @@ -237,7 +237,6 @@ var/list/name_to_material weight = 22 stack_origin_tech = list(TECH_MATERIAL = 5) door_icon_base = "stone" - radiation_resistance = 80 //dense, so it's okay-ish as rad shielding. /material/diamond name = "diamond" @@ -263,7 +262,6 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 4) sheet_singular_name = "ingot" sheet_plural_name = "ingots" - radiation_resistance = 120 //gold is dense. /material/gold/bronze //placeholder for ashtrays name = "bronze" @@ -279,7 +277,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 3) sheet_singular_name = "ingot" sheet_plural_name = "ingots" - radiation_resistance = 22 + //R-UST port /material/supermatter name = "supermatter" @@ -340,7 +338,6 @@ var/list/name_to_material door_icon_base = "stone" sheet_singular_name = "brick" sheet_plural_name = "bricks" - radiation_resistance = 22 /material/stone/marble name = "marble" @@ -349,7 +346,7 @@ var/list/name_to_material hardness = 100 integrity = 201 //hack to stop kitchen benches being flippable, todo: refactor into weight system stack_type = /obj/item/stack/material/marble - radiation_resistance = 26 + /material/steel name = DEFAULT_WALL_MATERIAL @@ -396,7 +393,7 @@ var/list/name_to_material conductivity = 13 // For the purposes of balance. stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT, "platinum" = SHEET_MATERIAL_AMOUNT) //todo - radiation_resistance = 60 //Plasteel is presumably dense and is the dominant material used in the engine. Still not great. + // Very rare alloy that is reflective, should be used sparingly. /material/durasteel @@ -414,7 +411,6 @@ var/list/name_to_material reflectivity = 0.7 // Not a perfect mirror, but close. stack_origin_tech = list(TECH_MATERIAL = 8) composite_material = list("plasteel" = SHEET_MATERIAL_AMOUNT, "diamond" = SHEET_MATERIAL_AMOUNT) //shrug - radiation_resistance = 120 //it reflects XRAY LASERS. /material/plasteel/titanium name = "titanium" @@ -443,7 +439,6 @@ var/list/name_to_material window_options = list("One Direction" = 1, "Full Window" = 4, "Windoor" = 2) created_window = /obj/structure/window/basic rod_product = /obj/item/stack/material/glass/reinforced - radiation_resistance = 15 /material/glass/build_windows(var/mob/living/user, var/obj/item/stack/used_stack) @@ -535,7 +530,6 @@ var/list/name_to_material created_window = /obj/structure/window/reinforced wire_product = null rod_product = null - radiation_resistance = 30 /material/glass/phoron name = "borosilicate glass" @@ -563,7 +557,6 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list() //todo rod_product = null - radiation_resistance = 30 /material/plastic name = "plastic" @@ -578,7 +571,6 @@ var/list/name_to_material conductivity = 2 // For the sake of material armor diversity, we're gonna pretend this plastic is a good insulator. melting_point = T0C+371 //assuming heat resistant plastic stack_origin_tech = list(TECH_MATERIAL = 3) - radiation_resistance = 12 /material/plastic/holographic name = "holoplastic" @@ -629,7 +621,6 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 2) sheet_singular_name = "ingot" sheet_plural_name = "ingots" - radiation_resistance = 27 /material/iron name = "iron" @@ -639,17 +630,16 @@ var/list/name_to_material conductivity = 10 sheet_singular_name = "ingot" sheet_plural_name = "ingots" - radiation_resistance = 22 /material/lead name = "lead" stack_type = /obj/item/stack/material/lead icon_colour = "#273956" - weight = 35 + weight = 23 // Lead is a bit more dense than silver IRL, and silver has 22 ingame. conductivity = 10 sheet_singular_name = "ingot" sheet_plural_name = "ingots" - radiation_resistance = 350 //actual radiation shielding, yay... + radiation_resistance = 25 // Lead is Special and so gets to block more radiation than it normally would with just weight, totalling in 48 protection. // Adminspawn only, do not let anyone get this. /material/alienalloy @@ -663,7 +653,6 @@ var/list/name_to_material hardness = 500 weight = 500 protectiveness = 80 // 80% - radiation_resistance = 500 // Likewise. /material/alienalloy/elevatorium @@ -721,7 +710,6 @@ var/list/name_to_material destruction_desc = "splinters" sheet_singular_name = "plank" sheet_plural_name = "planks" - radiation_resistance = 18 /material/wood/log name = MAT_LOG @@ -764,7 +752,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 1) door_icon_base = "wood" destruction_desc = "crumples" - radiation_resistance = 1 + /material/snow name = MAT_SNOW stack_type = /obj/item/stack/material/snow @@ -781,7 +769,7 @@ var/list/name_to_material destruction_desc = "crumples" sheet_singular_name = "pile" sheet_plural_name = "pile" //Just a bigger pile - radiation_resistance = 1 + /material/cloth //todo name = "cloth" stack_origin_tech = list(TECH_MATERIAL = 2)