diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 188911cc2a0..23c6db2d478 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -261,3 +261,12 @@ mineral = "wood" walltype = "wood" canSmoothWith = list(/obj/structure/falsewall/wood, /turf/simulated/wall/mineral/wood) + +/obj/structure/falsewall/iron + name = "rough metal wall" + desc = "A wall with rough metal plating." + icon = 'icons/turf/walls/iron_wall.dmi' + icon_state = "" + mineral = "metal" + walltype = "iron" + canSmoothWith = list(/obj/structure/falsewall/iron, /turf/simulated/wall/mineral/iron) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 28a1970eb95..5b1b6e07594 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -84,7 +84,7 @@ transfer_fingerprints_to(G) qdel(src) - else if(istype(W, /obj/item/stack/sheet)) + else if(istype(W, /obj/item/stack)) if (istype(src.loc, /turf/simulated/wall)) user << "There is already a wall present!" return @@ -95,6 +95,40 @@ user << "There is already a false wall present!" return + if(istype(W,/obj/item/stack/rods)) + var/obj/item/stack/rods/S = W + if(state == GIRDER_DISPLACED) + if(S.amount < 2) + user << "You need at least two rods to create a false wall!" + return + user << "You start building a reinforced false wall..." + if(do_after(user, 20, target = src)) + if(!src.loc || !S || S.amount < 2) + return + S.use(2) + user << "You create a false wall. Push on it to open or close the passage." + var/obj/structure/falsewall/iron/FW = new (loc) + transfer_fingerprints_to(FW) + qdel(src) + else + if(S.amount < 5) + user << "You need at least five rods to add plating!" + return + user << "You start adding plating..." + if (do_after(user, 40, target = src)) + if(!src.loc || !S || S.amount < 5) + return + S.use(5) + user << "You add the plating." + var/turf/T = get_turf(src) + T.ChangeTurf(/turf/simulated/wall/mineral/iron) + transfer_fingerprints_to(T) + qdel(src) + return + + if(!istype(W,/obj/item/stack/sheet)) + return + var/obj/item/stack/sheet/S = W switch(S.type) diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index 9c6b823bd77..b3686d1d000 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -7,10 +7,6 @@ canSmoothWith = null smooth = SMOOTH_TRUE -/turf/simulated/wall/mineral/New() - sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineral]") - ..() - /turf/simulated/wall/mineral/gold name = "gold wall" desc = "A wall with gold plating. Swag!" @@ -18,6 +14,7 @@ icon_state = "gold" walltype = "gold" mineral = "gold" + sheet_type = /obj/item/stack/sheet/mineral/gold //var/electro = 1 //var/shocked = null explosion_block = 0 //gold is a soft metal you dingus. @@ -30,6 +27,7 @@ icon_state = "silver" walltype = "silver" mineral = "silver" + sheet_type = /obj/item/stack/sheet/mineral/silver //var/electro = 0.75 //var/shocked = null canSmoothWith = list(/turf/simulated/wall/mineral/silver, /obj/structure/falsewall/silver) @@ -41,6 +39,7 @@ icon_state = "diamond" walltype = "diamond" mineral = "diamond" + sheet_type = /obj/item/stack/sheet/mineral/diamond slicing_duration = 200 //diamond wall takes twice as much time to slice explosion_block = 3 canSmoothWith = list(/turf/simulated/wall/mineral/diamond, /obj/structure/falsewall/diamond) @@ -55,6 +54,7 @@ icon_state = "bananium" walltype = "bananium" mineral = "bananium" + sheet_type = /obj/item/stack/sheet/mineral/bananium canSmoothWith = list(/turf/simulated/wall/mineral/clown, /obj/structure/falsewall/clown) /turf/simulated/wall/mineral/sandstone @@ -64,6 +64,7 @@ icon_state = "sandstone" walltype = "sandstone" mineral = "sandstone" + sheet_type = /obj/item/stack/sheet/mineral/sandstone explosion_block = 0 canSmoothWith = list(/turf/simulated/wall/mineral/sandstone, /obj/structure/falsewall/sandstone) @@ -74,6 +75,7 @@ icon_state = "uranium" walltype = "uranium" mineral = "uranium" + sheet_type = /obj/item/stack/sheet/mineral/uranium canSmoothWith = list(/turf/simulated/wall/mineral/uranium, /obj/structure/falsewall/uranium) /turf/simulated/wall/mineral/uranium/proc/radiate() @@ -107,6 +109,7 @@ icon_state = "plasma" walltype = "plasma" mineral = "plasma" + sheet_type = /obj/item/stack/sheet/mineral/plasma thermal_conductivity = 0.04 canSmoothWith = list(/turf/simulated/wall/mineral/plasma, /obj/structure/falsewall/plasma) @@ -146,6 +149,17 @@ icon_state = "wood" walltype = "wood" mineral = "wood" + sheet_type = /obj/item/stack/sheet/mineral/wood hardness = 70 explosion_block = 0 - canSmoothWith = list(/turf/simulated/wall/mineral/wood, /obj/structure/falsewall/wood) \ No newline at end of file + canSmoothWith = list(/turf/simulated/wall/mineral/wood, /obj/structure/falsewall/wood) + +/turf/simulated/wall/mineral/iron + name = "rough metal wall" + desc = "A wall with rough metal plating." + icon = 'icons/turf/walls/iron_wall.dmi' + icon_state = "iron" + walltype = "iron" + mineral = "rods" + sheet_type = /obj/item/stack/rods + canSmoothWith = list(/turf/simulated/wall/mineral/iron, /obj/structure/falsewall/iron) \ No newline at end of file diff --git a/icons/turf/walls/iron_wall.dmi b/icons/turf/walls/iron_wall.dmi index 6fa4202373d..86bed015f15 100644 Binary files a/icons/turf/walls/iron_wall.dmi and b/icons/turf/walls/iron_wall.dmi differ