diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 4a70729d7e9..9f3829a8277 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -97,12 +97,9 @@ else icon_state = "fwall_open" -/obj/structure/falsewall/proc/ChangeToWall(delete = 1) +/obj/structure/falsewall/proc/ChangeToWall(delete = TRUE) var/turf/T = get_turf(src) - if(!walltype || walltype == "metal") - T.ChangeTurf(/turf/simulated/wall) - else - T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[walltype]")) + T.ChangeTurf(walltype) if(delete) qdel(src) return T diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 2ef4602d268..95cb958ae34 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -7,6 +7,8 @@ broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5") burnt_states = list("floorscorched1", "floorscorched2") + var/plating_unscrewed = FALSE + footstep_sounds = list( "human" = list('sound/effects/footstep/plating_human.ogg'), "xeno" = list('sound/effects/footstep/plating_xeno.ogg') @@ -31,6 +33,12 @@ if(!broken && !burnt) icon_state = icon_plating //Because asteroids are 'platings' too. +/turf/simulated/floor/plating/examine(mob/user) + . = ..() + + if(plating_unscrewed) + to_chat(user, "It has been unfastened.") + /turf/simulated/floor/plating/attackby(obj/item/C, mob/user, params) if(..()) return TRUE @@ -64,7 +72,16 @@ to_chat(user, "This section is too damaged to support a tile! Use a welder to fix the damage.") return TRUE - else if(iswelder(C)) + else if(isscrewdriver(C)) + var/obj/item/screwdriver/screwdriver = C + to_chat(user, "You start [plating_unscrewed ? "fastening" : "unfastening"] [src].") + playsound(src, screwdriver.usesound, 50, 1) + if(do_after(user, 20 * screwdriver.toolspeed, target = src) && screwdriver) + to_chat(user, "You [plating_unscrewed ? "fasten" : "unfasten"] [src].") + plating_unscrewed = !plating_unscrewed + return TRUE + + else if(iswelder(C) && plating_unscrewed) var/obj/item/weldingtool/welder = C if(welder.isOn()) if(!welder.remove_fuel(0, user))