diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm
index 0d13efc45a1..d7b57ad8021 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ash_walker1.dmm
@@ -1,6 +1,6 @@
"a" = (/turf/closed/mineral/volcanic/lava_land_surface,/area/lavaland/surface/outdoors)
"b" = (/turf/open/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors)
-"c" = (/turf/closed/wall/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
+"c" = (/turf/closed/wall/mineral/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"d" = (/obj/effect/light_emitter,/mob/living/simple_animal/hostile/spawner/ash_walker,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"e" = (/obj/effect/decal/cleanable/blood,/obj/effect/mob_spawn/human/ash_walker,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"f" = (/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
@@ -33,7 +33,7 @@
"G" = (/obj/item/weapon/twohanded/spear,/obj/structure/rack,/obj/item/weapon/twohanded/spear,/obj/item/weapon/twohanded/spear,/obj/item/weapon/twohanded/spear,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"H" = (/obj/item/weapon/twohanded/spear,/obj/structure/rack,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"I" = (/obj/structure/mineral_door/iron,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth;blocks_air = 1},/area/ruin/unpowered)
-"J" = (/turf/closed/wall/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/lavaland/surface/outdoors)
+"J" = (/turf/closed/wall/mineral/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/lavaland/surface/outdoors)
"K" = (/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth;initial_gas_mix = "o2=13;n2=24;TEMP=300"},/area/lavaland/surface/outdoors)
"L" = (/obj/item/weapon/twohanded/spear,/obj/structure/table,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"M" = (/obj/item/weapon/pickaxe,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth;initial_gas_mix = "o2=13;n2=24;TEMP=300"},/area/lavaland/surface/outdoors)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm
index 6288a076004..8bb45a4dde7 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_fountain_hall.dmm
@@ -1,5 +1,5 @@
"a" = (/turf/template_noop,/area/template_noop)
-"b" = (/turf/closed/wall/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
+"b" = (/turf/closed/wall/mineral/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"c" = (/obj/structure/divine/healingfountain/anyone,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"d" = (/obj/structure/divine/conduit,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
"e" = (/obj/structure/divine/sacrificealtar,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/unpowered)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm
index 542e27d84dc..6f66a0086de 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_greed.dmm
@@ -1,7 +1,7 @@
"a" = (/turf/open/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors)
"b" = (/turf/closed/mineral/volcanic/lava_land_surface,/area/lavaland/surface/outdoors)
"c" = (/turf/open/floor/plating/lava/smooth/lava_land_surface,/area/lavaland/surface/outdoors)
-"d" = (/turf/closed/wall/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/powered)
+"d" = (/turf/closed/wall/mineral/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/ruin/powered)
"e" = (/obj/structure/table/wood/poker,/obj/item/weapon/gun/projectile/revolver/russian/soul,/turf/open/floor/carpet{baseturf = /turf/open/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered)
"f" = (/obj/structure/cursed_slot_machine,/turf/open/floor/carpet{baseturf = /turf/open/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered)
"g" = (/obj/structure/table/wood/poker,/obj/item/weapon/coin/mythril,/turf/open/floor/carpet{baseturf = /turf/open/floor/plating/lava/smooth; icon_state = "carpetsymbol"},/area/ruin/powered)
diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm
index 0eac402bedb..b3e84ff5c62 100644
--- a/_maps/RandomZLevels/caves.dmm
+++ b/_maps/RandomZLevels/caves.dmm
@@ -21,7 +21,7 @@
"au" = (/obj/structure/cult/talisman,/obj/effect/decal/remains/human,/obj/item/stack/sheet/runed_metal{amount = 25},/obj/item/weapon/veilrender/honkrender,/obj/item/clothing/mask/gas/clown_hat,/obj/item/organ/internal/heart/demon,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"av" = (/obj/structure/divine/trap/stun{desc = "A rune inscribed in the floor, the air feeling electrified around it."; name = "shock rune"},/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"aw" = (/obj/effect/decal/remains/human,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
-"ax" = (/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/turf/closed/wall/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
+"ax" = (/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/turf/closed/wall/mineral/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"ay" = (/obj/structure/cult/tome,/obj/item/weapon/tome,/obj/item/stack/sheet/runed_metal{amount = 25},/obj/item/weapon/coin/antagtoken,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"az" = (/obj/structure/constructshell,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"aA" = (/obj/structure/cultgirder,/obj/item/stack/sheet/runed_metal,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
@@ -53,7 +53,7 @@
"ba" = (/obj/structure/cult/talisman,/obj/item/weapon/plasma_fist_scroll,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"bb" = (/mob/living/simple_animal/hostile/poison/giant_spider/hunter,/turf/open/floor/plating/asteroid/basalt{initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 3"})
"bc" = (/obj/effect/spider/stickyweb,/turf/open/floor/plating/asteroid/basalt{initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 3"})
-"bd" = (/turf/open/floor/plating/asteroid/basalt/lava{initial_gas_mix = "n2=23;o2=14"},/turf/closed/wall/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
+"bd" = (/turf/open/floor/plating/asteroid/basalt/lava{initial_gas_mix = "n2=23;o2=14"},/turf/closed/wall/mineral/cult{baseturf = /turf/open/floor/plating/lava/smooth},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"be" = (/mob/living/simple_animal/hostile/spawner/mining/goliath,/turf/open/floor/plating/asteroid/basalt{initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 3"})
"bf" = (/obj/effect/decal/cleanable/blood,/turf/open/floor/engine/cult{baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 4"})
"bg" = (/mob/living/simple_animal/hostile/poison/giant_spider/nurse,/turf/open/floor/plating/asteroid/basalt{initial_gas_mix = "n2=23;o2=14"},/area/awaymission/BMPship{name = "\improper BMP Asteroid Level 3"})
diff --git a/_maps/shuttles/emergency_narnar.dmm b/_maps/shuttles/emergency_narnar.dmm
index d4cf6ff501d..17b1b2dc1cd 100644
--- a/_maps/shuttles/emergency_narnar.dmm
+++ b/_maps/shuttles/emergency_narnar.dmm
@@ -1,5 +1,5 @@
"a" = (/turf/open/space,/area/space)
-"b" = (/turf/closed/wall/cult,/area/shuttle/escape)
+"b" = (/turf/closed/wall/mineral/cult,/area/shuttle/escape)
"c" = (/obj/effect/forcefield/cult,/turf/open/floor/plating,/area/shuttle/escape)
"d" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/turf/open/floor/plasteel/cult,/area/shuttle/escape)
"e" = (/obj/structure/chair{dir = 1},/turf/open/floor/plasteel/cult,/area/shuttle/escape)
@@ -16,7 +16,7 @@
"p" = (/obj/machinery/computer/communications,/turf/open/floor/plasteel/cult,/area/shuttle/escape)
"q" = (/obj/item/stack/sheet/metal,/obj/effect/decal/remains/human,/turf/open/floor/plasteel/cult,/area/shuttle/escape)
"r" = (/obj/machinery/door/airlock/cult/unruned/glass/friendly,/turf/open/floor/plasteel/cult,/area/shuttle/escape)
-"s" = (/obj/machinery/status_display,/turf/closed/wall/cult,/area/shuttle/escape)
+"s" = (/obj/machinery/status_display,/turf/closed/wall/mineral/cult,/area/shuttle/escape)
"t" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/cult,/area/shuttle/escape)
"u" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 3},/obj/item/weapon/crowbar,/turf/open/floor/plasteel/cult,/area/shuttle/escape)
"v" = (/obj/effect/decal/cleanable/blood,/turf/open/floor/plasteel/cult,/area/shuttle/escape)
diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm
index 1d95041df3c..f700b301351 100644
--- a/code/game/asteroid.dm
+++ b/code/game/asteroid.dm
@@ -71,7 +71,7 @@ var/global/max_secret_rooms = 6
if("cult")
theme = "cult"
- walltypes = list(/turf/closed/wall/cult=3,/turf/closed/mineral/random/high_chance=1)
+ walltypes = list(/turf/closed/wall/mineral/cult=3,/turf/closed/mineral/random/high_chance=1)
floortypes = list(/turf/open/floor/plasteel/cult)
treasureitems = list(/obj/item/device/soulstone/anybody=1, /obj/item/clothing/suit/space/hardsuit/cult=1, /obj/item/weapon/bedsheet/cult=2,
/obj/item/clothing/suit/cultrobes=2, /mob/living/simple_animal/hostile/creature=3)
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 76cf1ff5a33..e7edcee2c10 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -238,6 +238,12 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
return
return ..()
+/obj/item/stack/sheet/runed_metal/attack(atom/target, mob/living/user)
+ if(!iscultist(user))
+ user << "Only one with forbidden knowledge could hope to work this metal..."
+ return
+ ..()
+
/obj/item/stack/sheet/runed_metal/fifty
amount = 50
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index a781894bfc5..6d2412589de 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -376,7 +376,7 @@
user.visible_message("[user] plates [src] with runed metal.", "You construct a runed wall.")
R.use(1)
var/turf/T = get_turf(src)
- T.ChangeTurf(/turf/closed/wall/cult)
+ T.ChangeTurf(/turf/closed/wall/mineral/cult)
qdel(src)
else
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 9551bed794f..98c55e9c555 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -254,7 +254,7 @@
/turf/closed/wall/narsie_act()
if(prob(20))
- ChangeTurf(/turf/closed/wall/cult)
+ ChangeTurf(/turf/closed/wall/mineral/cult)
/turf/closed/wall/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
return 0
diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm
index 83e29d65bce..b2f520ac524 100644
--- a/code/game/turfs/simulated/walls_misc.dm
+++ b/code/game/turfs/simulated/walls_misc.dm
@@ -1,4 +1,4 @@
-/turf/closed/wall/cult
+/turf/closed/wall/mineral/cult
name = "runed metal wall"
desc = "A cold metal wall engraved with indecipherable symbols. Studying them causes your head to pound."
icon = 'icons/turf/walls/cult_wall.dmi'
@@ -7,29 +7,29 @@
builtin_sheet = null
canSmoothWith = null
-/turf/closed/wall/cult/New()
+/turf/closed/wall/mineral/cult/New()
PoolOrNew(/obj/effect/overlay/temp/cult/turf, src)
..()
-/turf/closed/wall/cult/break_wall()
+/turf/closed/wall/mineral/cult/break_wall()
new/obj/item/stack/sheet/runed_metal(get_turf(src), 1)
return (new /obj/structure/girder/cult(src))
-/turf/closed/wall/cult/devastate_wall()
+/turf/closed/wall/mineral/cult/devastate_wall()
new/obj/item/stack/sheet/runed_metal(get_turf(src), 1)
-/turf/closed/wall/cult/narsie_act()
+/turf/closed/wall/mineral/cult/narsie_act()
return
-/turf/closed/wall/cult/artificer
+/turf/closed/wall/mineral/cult/artificer
name = "runed stone wall"
desc = "A cold stone wall engraved with indecipherable symbols. Studying them causes your head to pound."
-/turf/closed/wall/cult/artificer/break_wall()
+/turf/closed/wall/mineral/cult/artificer/break_wall()
PoolOrNew(/obj/effect/overlay/temp/cult/turf, get_turf(src))
return null //excuse me we want no runed metal here
-/turf/closed/wall/cult/artificer/devastate_wall()
+/turf/closed/wall/mineral/cult/artificer/devastate_wall()
PoolOrNew(/obj/effect/overlay/temp/cult/turf, get_turf(src))
/turf/closed/wall/vault
diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm
index d5666f99223..29d1c7cbd2f 100644
--- a/code/modules/spells/spell_types/construct_spells.dm
+++ b/code/modules/spells/spell_types/construct_spells.dm
@@ -36,7 +36,7 @@
action_icon_state = "lesserconstruct"
action_background_icon_state = "bg_cult"
- summon_type = list(/turf/closed/wall/cult/artificer) //we don't want artificer-based runed metal farms
+ summon_type = list(/turf/closed/wall/mineral/cult/artificer) //we don't want artificer-based runed metal farms
/obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced
name = "Greater Construction"