From 557d4e4af5d69a9c628a3060b0e4ad371f6cc036 Mon Sep 17 00:00:00 2001 From: S34NW <12197162+S34NW@users.noreply.github.com> Date: Sat, 1 May 2021 20:33:40 +0100 Subject: [PATCH] moar glass! --- code/game/turfs/simulated/floor/plating.dm | 42 ++++++--------- .../game/turfs/simulated/floor/transparent.dm | 51 ++++++++++++++---- icons/turf/floors/glass.dmi | Bin 3655 -> 2316 bytes icons/turf/floors/plasmaglass.dmi | Bin 0 -> 1514 bytes icons/turf/floors/plastitaniumglass.dmi | Bin 0 -> 1336 bytes icons/turf/floors/reinf_glass.dmi | Bin 6081 -> 3885 bytes icons/turf/floors/reinf_plasmaglass.dmi | Bin 0 -> 2677 bytes icons/turf/floors/titaniumglass.dmi | Bin 0 -> 1279 bytes 8 files changed, 59 insertions(+), 34 deletions(-) create mode 100644 icons/turf/floors/plasmaglass.dmi create mode 100644 icons/turf/floors/plastitaniumglass.dmi create mode 100644 icons/turf/floors/reinf_plasmaglass.dmi create mode 100644 icons/turf/floors/titaniumglass.dmi 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 1a2a4c555b475cb43dbaf78c23b319b50fb3c131..1d0f13d0c06891b3eb875b250ddb8c4626fa4f2e 100644 GIT binary patch literal 2316 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 O0q3JG4kh;fH~$UJ)5}f( literal 6081 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 diff --git a/icons/turf/floors/reinf_plasmaglass.dmi b/icons/turf/floors/reinf_plasmaglass.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c46025e5291b62e0b5476001dc30396185344ac6 GIT binary patch literal 2677 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 literal 0 HcmV?d00001 diff --git a/icons/turf/floors/titaniumglass.dmi b/icons/turf/floors/titaniumglass.dmi new file mode 100644 index 0000000000000000000000000000000000000000..597487ff175d35649eff4747bc64848c3484fe2e GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I4M=vMPuB%fo2o)0N?cNllZ!G7N;32F7#J$% z^q$+u)odWr`p~kntNWa0@5xz9HI6#ocQi1Q^f@s5+V%GeB{}EH^lN1PO_MuZJZI&6 zx1S%`kIy+Vaqr!w7LTKtERE)h96TPbas6TI>Lo_Va0|!(PKxt0?)`hp4Xp8uznyli+x_I`#NRA-tM%_4mr!hAWs-RueOfK0 zN8o@HqZ?ymekW7VXRqGI4faexN#>YM4NDo0F)B1LFmYfb9vouOZQxHh$ADE9sKbmi zz?-QdlHpq?+cHzL)UTRrHMt#fS29dv2uQYTI2yy)tHxOHasEP{bfyax+u2@!chGQ% ze9gY$(toGy|AGok38}L?ZkaniW{5bMJLOhB^Is7L?)?*Ee)oPzXKyf5G*i@lKJ|0> z@52K9OxWB96-#BlGW|7k#8=^qIQ)S_@47UTHhzYNo6m1=<=D{jv*|3eO&?pudf5ka z9p5laGq|7kL!IXuSHTZC@0t2HYz{nJvny;}gX&rFEu57GyYqY*!mU-~qnG?*WD#&+ zxXKT*WJMhVi1(El6kx059T-ltW-!(;6wk8Pui$QvAVCZpHub$*q}$x@5+SEd-nthn|o zTK-&$aFXyO@ddXv@|aEkx|lRDL^*&hrZYrFa_d~7`Xs5nJ+jft>_|Hwx&wSYW zdp*Oc{_q2GKG#d9FOmCbmE6K`iuZuwzMW=LAZBcX;WGOVXSbec{BSQQn_=m!kmW;<<^X=zv zc*MogI3K9{f?fmzC@5G#ArQd8azXj0+{x*wvnMTTd|^Io(yt6Jq1>4aSw8FmJ`~KN+lhRnHi8Z;J$$XbhgNelF{r5}E)Gy54O7 literal 0 HcmV?d00001