diff --git a/code/floors.dm b/code/floors.dm
index dc39d689..7744c876 100644
--- a/code/floors.dm
+++ b/code/floors.dm
@@ -1056,26 +1056,61 @@
icon_state = "floor"
levelupdate()
+/turf/simulated/floor/proc/pry_tile(mob/user as mob)
+ if(broken || burnt)
+ boutput(user, "You remove the broken plating.")
+ else
+ var/atom/A = new /obj/item/tile(src)
+ if(src.material)
+ A.setMaterial(src.material)
+ else
+ var/datum/material/M = getCachedMaterial("steel")
+ A.setMaterial(M)
+ to_plating()
+ playsound(src.loc, "sound/items/Crowbar.ogg", 80, 1)
+
+
+
+///Basically just does the exact same thing as prying and then replacing a tile VERY fast
+/turf/simulated/floor/proc/replace_tile(obj/item/C as obj, mob/user as mob)
+ if (user.find_in_hands(/obj/item/crowbar))
+ pry_tile(user)
+ restore_tile_check(C, user)
+ else
+ boutput(user, "You need to hold a crowbar in another hand before you can replace [src]!")
+
+ return
+
+
+
+
+/turf/simulated/floor/proc/restore_tile_check(obj/item/C as obj, mob/user as mob)
+ if(!intact)
+ restore_tile()
+ var/obj/item/tile/T = C
+ if(C.material)
+ src.setMaterial(C.material)
+ playsound(src.loc, "sound/weapons/Genhit.ogg", 50, 1)
+
+ if(!istype(src.material, /datum/material/metal/steel))
+ logTheThing("station", user, null, "constructs a floor (Material:: [src.material && src.material.name ? "[src.material.name]" : "*UNKNOWN*"]) at [log_loc(src)].")
+
+ if(--T.amount < 1)
+ qdel(T)
+ return
+
+
+
/turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob)
if(!C || !user)
return 0
-
+
if(istype(C, /obj/item/crowbar) && intact)
- if(broken || burnt)
- boutput(user, "You remove the broken plating.")
- else
- var/atom/A = new /obj/item/tile(src)
- if(src.material)
- A.setMaterial(src.material)
- else
- var/datum/material/M = getCachedMaterial("steel")
- A.setMaterial(M)
+ pry_tile(user)
- to_plating()
- playsound(src.loc, "sound/items/Crowbar.ogg", 80, 1)
-
- return
+ if (istype(C, /obj/item/tile) && intact)
+ replace_tile(C, user)
if (istype(C, /obj/item/pen))
var/obj/item/pen/P = C
@@ -1119,19 +1154,8 @@
boutput(user, "You must remove the plating first.")
return
- if(istype(C, /obj/item/tile) && !intact)
- restore_tile()
- var/obj/item/tile/T = C
- if(C.material)
- src.setMaterial(C.material)
- playsound(src.loc, "sound/weapons/Genhit.ogg", 50, 1)
-
- if(!istype(src.material, /datum/material/metal/steel))
- logTheThing("station", user, null, "constructs a floor (Material:: [src.material && src.material.name ? "[src.material.name]" : "*UNKNOWN*"]) at [log_loc(src)].")
-
- if(--T.amount < 1)
- qdel(T)
- return
+ if(istype(C, /obj/item/tile))
+ restore_tile_check(C, user)
if(istype(C, /obj/item/cable_coil))
if(!intact)