diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index 2d3658e6626..8a98d2f4616 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -70,41 +70,33 @@
to_chat(user, "This section is too damaged to support a tile! Use a welder to fix the damage.")
return TRUE
- else if(istype(C, /obj/item/stack/sheet/glass))
+ else if(is_glass_sheet(C))
if(broken || burnt)
to_chat(user, "Repair the plating first!")
return TRUE
- var/obj/item/stack/sheet/glass/R = C
+ var/obj/item/stack/sheet/R = C
if(R.get_amount() < 2)
- to_chat(user, "You need two sheets of glass to build a glass floor!")
+ to_chat(user, "You need two sheets of [C] to build a [C] floor!")
return TRUE
else
- to_chat(user, "You begin swapping the plating for glass...")
+ to_chat(user, "You begin swapping the plating for [C]...")
if(do_after(user, 3 SECONDS * C.toolspeed, target = src))
if(R.get_amount() >= 2 && !istype(src, /turf/simulated/floor/transparent/glass))
- ChangeTurf(/turf/simulated/floor/transparent/glass)
+ if(istype(C, /obj/item/stack/sheet/plasmaglass)) //So, what type of glass floor do we want today?
+ ChangeTurf(/turf/simulated/floor/transparent/glass/plasma)
+ else if(istype(C, /obj/item/stack/sheet/plasmarglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/reinforced/plasma)
+ else if(istype(C, /obj/item/stack/sheet/glass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass)
+ else if(istype(C, /obj/item/stack/sheet/rglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/reinforced)
+ else if(istype(C, /obj/item/stack/sheet/titaniumglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/titanium)
+ else if(istype(C, /obj/item/stack/sheet/plastitaniumglass))
+ ChangeTurf(/turf/simulated/floor/transparent/glass/titanium/plastic)
playsound(src, C.usesound, 80, TRUE)
R.use(2)
- to_chat(user, "You swap the plating for glass.")
- new /obj/item/stack/sheet/metal(src, 2)
- return TRUE
-
- else if(istype(C, /obj/item/stack/sheet/rglass))
- if(broken || burnt)
- to_chat(user, "Repair the plating first!")
- return TRUE
- var/obj/item/stack/sheet/rglass/R = C
- if(R.get_amount() < 2)
- to_chat(user, "You need two sheets of reinforced glass to build a reinforced glass floor!")
- return TRUE
- else
- to_chat(user, "You begin swapping the plating for reinforced glass...")
- if(do_after(user, 3 SECONDS * C.toolspeed, target = src))
- if(R.get_amount() >= 2 && !istype(src, /turf/simulated/floor/transparent/glass/reinforced))
- ChangeTurf(/turf/simulated/floor/transparent/glass/reinforced)
- playsound(src, C.usesound, 80, TRUE)
- R.use(2)
- to_chat(user, "You swap the plating for reinforced glass.")
+ to_chat(user, "You swap the plating for [C].")
new /obj/item/stack/sheet/metal(src, 2)
return TRUE
diff --git a/code/game/turfs/simulated/floor/transparent.dm b/code/game/turfs/simulated/floor/transparent.dm
index d5d4b4a6397..7b8904bef33 100644
--- a/code/game/turfs/simulated/floor/transparent.dm
+++ b/code/game/turfs/simulated/floor/transparent.dm
@@ -1,12 +1,11 @@
/turf/simulated/floor/transparent/glass
name = "glass floor"
- desc = "Don't jump on it, or do, I'm not your mom."
+ desc = "Don't jump on it... Or do, I'm not your mom."
icon = 'icons/turf/floors/glass.dmi'
icon_state = "unsmooth"
baseturf = /turf/space
- broken_states = list("damaged1", "damaged2", "damaged3")
- smooth = SMOOTH_MORE
- canSmoothWith = list(/turf/simulated/floor/transparent/glass)
+ smooth = SMOOTH_TRUE
+ canSmoothWith = list(/turf/simulated/floor/transparent/glass, /turf/simulated/floor/transparent/glass/reinforced, /turf/simulated/floor/transparent/glass/plasma, /turf/simulated/floor/transparent/glass/reinforced/plasma)
footstep = FOOTSTEP_PLATING
light_power = 0.25
light_range = 2
@@ -30,24 +29,32 @@
var/obj/item/stack/R = user.get_inactive_hand()
if(istype(R, /obj/item/stack/sheet/metal))
if(R.get_amount() < 2) //not enough metal in the stack
- to_chat(user, "You also need to hold two sheets of metal to dismantle [src]!")
+ to_chat(user, "You also need to hold two sheets of metal to dismantle \the [src]!")
return
else
- to_chat(user, "You begin replacing the glass...")
+ to_chat(user, "You begin replacing \the [src]...")
playsound(src, C.usesound, 80, TRUE)
if(do_after(user, 3 SECONDS * C.toolspeed, target = src))
if(R.get_amount() >= 2 && !istype(src, /turf/simulated/floor/plating))
if(!transparent_floor)
return
- if(istype(src, /turf/simulated/floor/transparent/glass/reinforced))
+ if(istype(src, /turf/simulated/floor/transparent/glass/reinforced)) //What material is returned? Depends on the turf
new /obj/item/stack/sheet/rglass(src, 2)
- else
+ else if(istype(src, /turf/simulated/floor/transparent/glass))
new /obj/item/stack/sheet/glass(src, 2)
+ else if(istype(src, /turf/simulated/floor/transparent/glass/plasma))
+ new /obj/item/stack/sheet/plasmaglass(src, 2)
+ else if(istype(src, /turf/simulated/floor/transparent/glass/reinforced/plasma))
+ new /obj/item/stack/sheet/plasmarglass(src, 2)
+ else if(istype(src, /turf/simulated/floor/transparent/glass/titanium))
+ new /obj/item/stack/sheet/titaniumglass(src, 2)
+ else if(istype(src, /turf/simulated/floor/transparent/glass/titanium/plastic))
+ new /obj/item/stack/sheet/plastitaniumglass(src, 2)
R.use(2)
ChangeTurf(/turf/simulated/floor/plating)
else //not holding metal at all
- to_chat(user, "You also need to hold two sheets of metal to dismantle [src]!")
+ to_chat(user, "You also need to hold two sheets of metal to dismantle \the [src]!")
return
@@ -61,3 +68,29 @@
/turf/simulated/floor/transparent/glass/reinforced/acid_act(acidpwr, acid_volume)
acidpwr = min(acidpwr, 50)
. = ..()
+
+/turf/simulated/floor/transparent/glass/plasma
+ name = "plasma glass floor"
+ desc = "Wait, was space always that color?"
+ icon = 'icons/turf/floors/plasmaglass.dmi'
+ thermal_conductivity = 0.030
+ heat_capacity = 75000
+
+/turf/simulated/floor/transparent/glass/reinforced/plasma
+ name = "reinforced plasma glass floor"
+ desc = "For when you REALLY don't want your floor choice to suffocate everyone."
+ icon = 'icons/turf/floors/reinf_plasmaglass.dmi'
+ thermal_conductivity = 0.025
+ heat_capacity = 325000
+
+/turf/simulated/floor/transparent/glass/titanium
+ name = "titanium glass floor"
+ canSmoothWith = list(/turf/simulated/floor/transparent/glass/titanium, /turf/simulated/floor/transparent/glass/titanium/plastic)
+ desc = "Stylish AND strong!"
+ icon = 'icons/turf/floors/titaniumglass.dmi'
+ thermal_conductivity = 0.025
+ heat_capacity = 325000
+
+/turf/simulated/floor/transparent/glass/titanium/plastic
+ name = "plastitanium glass floor"
+ icon = 'icons/turf/floors/plastitaniumglass.dmi'
diff --git a/icons/turf/floors/glass.dmi b/icons/turf/floors/glass.dmi
index 1a2a4c555b4..1d0f13d0c06 100644
Binary files a/icons/turf/floors/glass.dmi and b/icons/turf/floors/glass.dmi differ
diff --git a/icons/turf/floors/plasmaglass.dmi b/icons/turf/floors/plasmaglass.dmi
new file mode 100644
index 00000000000..629d8be41ec
Binary files /dev/null and b/icons/turf/floors/plasmaglass.dmi differ
diff --git a/icons/turf/floors/plastitaniumglass.dmi b/icons/turf/floors/plastitaniumglass.dmi
new file mode 100644
index 00000000000..39a56f32b00
Binary files /dev/null and b/icons/turf/floors/plastitaniumglass.dmi differ
diff --git a/icons/turf/floors/reinf_glass.dmi b/icons/turf/floors/reinf_glass.dmi
index bb8d82712c8..c5072fd11e0 100644
Binary files a/icons/turf/floors/reinf_glass.dmi and b/icons/turf/floors/reinf_glass.dmi differ
diff --git a/icons/turf/floors/reinf_plasmaglass.dmi b/icons/turf/floors/reinf_plasmaglass.dmi
new file mode 100644
index 00000000000..c46025e5291
Binary files /dev/null and b/icons/turf/floors/reinf_plasmaglass.dmi differ
diff --git a/icons/turf/floors/titaniumglass.dmi b/icons/turf/floors/titaniumglass.dmi
new file mode 100644
index 00000000000..597487ff175
Binary files /dev/null and b/icons/turf/floors/titaniumglass.dmi differ