From fad735142bc9fdc6636ce4d4d05e7a39c9348cd0 Mon Sep 17 00:00:00 2001 From: Mark van Alphen Date: Thu, 6 Jun 2019 00:09:19 +0200 Subject: [PATCH] Water tile fixes and other minor fancy turf fixes --- _maps/map_files/MetaStation/z2.dmm | 6 +- .../LavaRuins/lavaland_biodome_beach.dmm | 6 +- _maps/map_files/RandomZLevels/beach.dmm | 6 +- _maps/map_files/RandomZLevels/spacehotel.dmm | 686 +++++++++--------- _maps/map_files/cyberiad/z2.dmm | 6 +- _maps/map_files/templates/spacehotel/s_01.dmm | 6 +- _maps/map_files/templates/spacehotel/s_02.dmm | 6 +- _maps/map_files/templates/spacehotel/s_04.dmm | 6 +- _maps/map_files/templates/spacehotel/s_05.dmm | 6 +- _maps/map_files/templates/spacehotel/s_06.dmm | 6 +- code/game/machinery/poolcontroller.dm | 47 +- code/game/turfs/simulated/floor/asteroid.dm | 3 - code/game/turfs/simulated/floor/mineral.dm | 3 - code/game/turfs/simulated/floor/misc_floor.dm | 4 - code/game/turfs/simulated/floor/plating.dm | 12 +- 15 files changed, 421 insertions(+), 388 deletions(-) diff --git a/_maps/map_files/MetaStation/z2.dmm b/_maps/map_files/MetaStation/z2.dmm index c46e89e9436..bed554f54f2 100644 --- a/_maps/map_files/MetaStation/z2.dmm +++ b/_maps/map_files/MetaStation/z2.dmm @@ -6351,6 +6351,10 @@ /obj/structure/bed/abductor, /turf/unsimulated/floor/abductor, /area/abductor_ship) +"Ur" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/centcom/holding) (1,1,1) = {" aa @@ -35864,7 +35868,7 @@ tv tu tu tQ -tU +Ur th ab ab diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm index 2dc3b44bacd..e6fda6f503a 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm @@ -438,6 +438,10 @@ /obj/item/storage/backpack/duffel, /turf/simulated/floor/beach/sand, /area/ruin/powered/beach) +"bL" = ( +/obj/machinery/poolcontroller/invisible, +/turf/simulated/floor/beach/water, +/area/ruin/powered/beach) "bM" = ( /turf/simulated/floor/plasteel/stairs/old, /area/ruin/powered/beach) @@ -1337,7 +1341,7 @@ bU bU bU bU -bU +bL bW aa "} diff --git a/_maps/map_files/RandomZLevels/beach.dmm b/_maps/map_files/RandomZLevels/beach.dmm index 76a7da40fb1..2f83199671c 100644 --- a/_maps/map_files/RandomZLevels/beach.dmm +++ b/_maps/map_files/RandomZLevels/beach.dmm @@ -1494,6 +1494,10 @@ /obj/structure/closet/crate, /turf/unsimulated/beach/sand, /area/awaymission/beach) +"LZ" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water/deep, +/area/awaymission/beach) (1,1,1) = {" aa @@ -15371,7 +15375,7 @@ du du du du -du +LZ "} (55,1,1) = {" aa diff --git a/_maps/map_files/RandomZLevels/spacehotel.dmm b/_maps/map_files/RandomZLevels/spacehotel.dmm index b9232daea52..e24fa45ca52 100644 --- a/_maps/map_files/RandomZLevels/spacehotel.dmm +++ b/_maps/map_files/RandomZLevels/spacehotel.dmm @@ -859,9 +859,6 @@ }, /turf/unsimulated/beach/sand, /area/awaymission/beach) -"bD" = ( -/turf/simulated/floor/plating/lava/smooth, -/area/awaymission) "bE" = ( /obj/effect/decal{ name = "rock"; @@ -2062,12 +2059,6 @@ }, /turf/unsimulated/beach/water/drop/dense, /area/awaymission/beach) -"dH" = ( -/turf/simulated/floor/plating/lava/smooth, -/area/awaymission{ - name = "Snowland"; - requires_power = 0 - }) "dI" = ( /obj/machinery/light, /turf/unsimulated/beach/water/deep/wood_floor{ @@ -4814,6 +4805,15 @@ icon_state = "cult" }, /area/awaymission/spacehotel) +"VG" = ( +/obj/effect/decal{ + name = "rock"; + icon = 'icons/turf/mining.dmi'; + icon_state = "rock_side_w" + }, +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water/deep/dense, +/area/awaymission/beach) (1,1,1) = {" aa @@ -4842,15 +4842,15 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -4972,15 +4972,15 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5102,15 +5102,15 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5232,15 +5232,15 @@ aa dx dk dk -dH -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5363,14 +5363,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5493,14 +5493,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5623,14 +5623,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5753,14 +5753,14 @@ dy dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -5883,14 +5883,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6013,14 +6013,14 @@ dk dk dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6143,14 +6143,14 @@ dk dF dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6273,14 +6273,14 @@ dk dF dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6403,14 +6403,14 @@ dk dk dF dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6533,14 +6533,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6663,14 +6663,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6793,14 +6793,14 @@ dw dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -6923,14 +6923,14 @@ dx dk dk dF -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7053,14 +7053,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7183,14 +7183,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7313,14 +7313,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7443,14 +7443,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7573,14 +7573,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -7703,14 +7703,14 @@ aa dw dk dk -dH -dH -dH -dH -dH -dH -dH -dH +dF +dF +dF +dF +dF +dF +dF +dF ah ah ah @@ -10564,7 +10564,7 @@ dC dG dB dB -dB +VG ah ah ah @@ -13274,24 +13274,24 @@ ad ad ad ad -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13404,24 +13404,24 @@ ad ad ad ad -bD -bD -bD +ad +ad +ad bL cq cq cE cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13534,8 +13534,8 @@ ad ad ad ad -bD -bD +ad +ad bL bV bV @@ -13544,14 +13544,14 @@ bV cq cE cO -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13664,7 +13664,7 @@ ad ad ad ad -bD +ad bL bV bV @@ -13674,14 +13674,14 @@ bV bV cV cO -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13794,7 +13794,7 @@ ad ad ad ad -bD +ad bM bV cf @@ -13805,15 +13805,15 @@ cf bV cE cO -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -13924,7 +13924,7 @@ ad ad ad ad -bD +ad bM bV bV @@ -13935,15 +13935,15 @@ bV bV cV cO -bD +ad bL dd dd cE cO -bD -bD -bD +ad +ad +ad dJ dL cO @@ -14054,7 +14054,7 @@ ad ad ad ad -bD +ad bN bV bV @@ -14068,7 +14068,7 @@ dd dd cP cO -bD +ad dE cO bL @@ -14184,8 +14184,8 @@ ad ad ad ad -bD -bD +ad +ad bM bV bV @@ -14195,15 +14195,15 @@ bV bV cV cO -bD -bD -bD -bD +ad +ad +ad +ad bN dd cP cO -bD +ad dJ dN cO @@ -14314,8 +14314,8 @@ ad ad ad ad -bD -bD +ad +ad bM cf bV @@ -14325,15 +14325,15 @@ cf bV cP cO -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14444,8 +14444,8 @@ ad ad ad ad -bD -bD +ad +ad bM bV bV @@ -14454,16 +14454,16 @@ bV bV cV cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14574,8 +14574,8 @@ ad ad ad ad -bD -bD +ad +ad bN cg cg @@ -14584,16 +14584,16 @@ bV bV cP cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14704,26 +14704,26 @@ ad ad ad ad -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad bN cg cP cO -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad @@ -14834,26 +14834,26 @@ ad ad ad ad -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD -bD +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad +ad ad ad ad diff --git a/_maps/map_files/cyberiad/z2.dmm b/_maps/map_files/cyberiad/z2.dmm index aa33ac4e65f..7a43bfc098b 100644 --- a/_maps/map_files/cyberiad/z2.dmm +++ b/_maps/map_files/cyberiad/z2.dmm @@ -12566,6 +12566,10 @@ /obj/effect/landmark/ai_multicam_room, /turf/unsimulated/ai_visible, /area/ai_multicam_room) +"Qt" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/ninja/holding) "QE" = ( /obj/structure/chair/sofa/right, /turf/simulated/shuttle/floor{ @@ -54450,7 +54454,7 @@ fI fH fH he -hv +Qt fg aN aN diff --git a/_maps/map_files/templates/spacehotel/s_01.dmm b/_maps/map_files/templates/spacehotel/s_01.dmm index f7c6ba629c6..f97f6613f07 100644 --- a/_maps/map_files/templates/spacehotel/s_01.dmm +++ b/_maps/map_files/templates/spacehotel/s_01.dmm @@ -141,6 +141,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"K" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -153,7 +157,7 @@ a "} (2,1,1) = {" a -b +K b l o diff --git a/_maps/map_files/templates/spacehotel/s_02.dmm b/_maps/map_files/templates/spacehotel/s_02.dmm index 5aa78f57470..c3ee3c4a727 100644 --- a/_maps/map_files/templates/spacehotel/s_02.dmm +++ b/_maps/map_files/templates/spacehotel/s_02.dmm @@ -142,6 +142,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"O" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -154,7 +158,7 @@ a "} (2,1,1) = {" a -b +O b l o diff --git a/_maps/map_files/templates/spacehotel/s_04.dmm b/_maps/map_files/templates/spacehotel/s_04.dmm index 564246a2854..81c1306da96 100644 --- a/_maps/map_files/templates/spacehotel/s_04.dmm +++ b/_maps/map_files/templates/spacehotel/s_04.dmm @@ -190,6 +190,10 @@ icon_state = "floor4" }, /area/template_noop) +"X" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -202,7 +206,7 @@ a "} (2,1,1) = {" a -b +X b l o diff --git a/_maps/map_files/templates/spacehotel/s_05.dmm b/_maps/map_files/templates/spacehotel/s_05.dmm index 62c82037700..1ff9546e265 100644 --- a/_maps/map_files/templates/spacehotel/s_05.dmm +++ b/_maps/map_files/templates/spacehotel/s_05.dmm @@ -129,6 +129,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"Z" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -141,7 +145,7 @@ a "} (2,1,1) = {" a -b +Z b k n diff --git a/_maps/map_files/templates/spacehotel/s_06.dmm b/_maps/map_files/templates/spacehotel/s_06.dmm index fa839217019..03a1e7e9e99 100644 --- a/_maps/map_files/templates/spacehotel/s_06.dmm +++ b/_maps/map_files/templates/spacehotel/s_06.dmm @@ -131,6 +131,10 @@ icon_state = "freezerfloor" }, /area/template_noop) +"X" = ( +/obj/machinery/poolcontroller/invisible, +/turf/unsimulated/beach/water, +/area/template_noop) (1,1,1) = {" a @@ -143,7 +147,7 @@ a "} (2,1,1) = {" a -b +X b m p diff --git a/code/game/machinery/poolcontroller.dm b/code/game/machinery/poolcontroller.dm index 17fae9df6f6..0d6f76aad38 100644 --- a/code/game/machinery/poolcontroller.dm +++ b/code/game/machinery/poolcontroller.dm @@ -20,13 +20,36 @@ var/list/linkedmist = list() //Used to keep track of created mist var/deep_water = FALSE //set to 1 to drown even standing people +/obj/machinery/poolcontroller/invisible + invisibility = INVISIBILITY_MAXIMUM + name = "Water Controller" + desc = "An invisible water controller. Players shouldn't see this." -/obj/machinery/poolcontroller/New() //This proc automatically happens on world start +/obj/machinery/poolcontroller/invisible/sea + name = "Sea Controller" + desc = "A controller for the underwater portion of the sea. Players shouldn't see this." + deep_water = TRUE + +/obj/machinery/poolcontroller/Initialize(mapload) + var/contents_loop = linked_area if(!linked_area) - for(var/turf/simulated/floor/beach/water/W in range(srange,src)) //Search for /turf/simulated/floor/beach/water in the range of var/srange - linkedturfs += W //Add found pool turfs to the central list. - W.linkedcontroller = src // And add the linked controller to itself. - ..() //Changed to call parent as per MarkvA's recommendation + contents_loop = range(srange, src) + + for(var/turf/T in contents_loop) + if(istype(T, /turf/simulated/floor/beach/water)) + var/turf/simulated/floor/beach/water/W = T + W.linkedcontroller = src + linkedturfs += T + else if(istype(T, /turf/unsimulated/beach/water)) + var/turf/unsimulated/beach/water/W = T + W.linkedcontroller = src + linkedturfs += T + + . = ..() + +/obj/machinery/poolcontroller/invisible/Initialize(mapload) + linked_area = get_area(src) + . = ..() /obj/machinery/poolcontroller/emag_act(user as mob) //Emag_act, this is called when it is hit with a cryptographic sequencer. if(!emagged) //If it is not already emagged, emag it. @@ -190,20 +213,6 @@ return 1 -/obj/machinery/poolcontroller/seacontroller - invisibility = 101 - unacidable = 1 - name = "Sea Controller" - desc = "A controller for the underwater portion of the sea. Players shouldn't see this." - deep_water = TRUE //deep sea is deep water - -/obj/machinery/poolcontroller/seacontroller/Initialize() - linked_area = get_area(src) - for(var/turf/unsimulated/beach/water/W in linked_area) - linkedturfs += W //Add found pool turfs to the central list. - W.linkedcontroller = src // And add the linked controller to itself. - ..() - #undef FRIGID #undef COOL #undef NORMAL diff --git a/code/game/turfs/simulated/floor/asteroid.dm b/code/game/turfs/simulated/floor/asteroid.dm index bae38df854a..43d77bd39be 100644 --- a/code/game/turfs/simulated/floor/asteroid.dm +++ b/code/game/turfs/simulated/floor/asteroid.dm @@ -18,9 +18,6 @@ if(prob(floor_variance)) icon_state = "[environment_type][rand(0,12)]" -/turf/simulated/floor/plating/asteroid/try_replace_tile(obj/item/stack/tile/T, mob/user, params) - return - /turf/simulated/floor/plating/asteroid/burn_tile() return diff --git a/code/game/turfs/simulated/floor/mineral.dm b/code/game/turfs/simulated/floor/mineral.dm index 92d4c8811ed..a801fd450c5 100644 --- a/code/game/turfs/simulated/floor/mineral.dm +++ b/code/game/turfs/simulated/floor/mineral.dm @@ -254,6 +254,3 @@ /turf/simulated/floor/plating/abductor2/burn_tile() return //unburnable - -/turf/simulated/floor/plating/abductor2/try_replace_tile(obj/item/stack/tile/T, mob/user, params) - return \ No newline at end of file diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index de1e61039e7..d1d09f27b67 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -67,10 +67,6 @@ mouse_opacity = MOUSE_OPACITY_TRANSPARENT var/obj/machinery/poolcontroller/linkedcontroller = null -/turf/simulated/floor/beach/water/pry_tile(obj/item/C, mob/user, silent = FALSE) - return //cannot pry off tiles of water - - /turf/simulated/floor/beach/water/New() ..() var/image/overlay_image = image('icons/misc/beach.dmi', icon_state = "water5", layer = ABOVE_MOB_LAYER) diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 438240ad503..ee53cd0ca35 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -2,7 +2,7 @@ name = "plating" icon_state = "plating" icon = 'icons/turf/floors/plating.dmi' - intact = 0 + intact = FALSE floor_tile = null broken_states = list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5") burnt_states = list("floorscorched1", "floorscorched2") @@ -103,7 +103,7 @@ /turf/simulated/floor/engine/attack_hand(mob/user as mob) user.Move_Pulled(src) -/turf/simulated/floor/engine/try_replace_tile(obj/item/stack/tile/T, mob/user, params) +/turf/simulated/floor/engine/pry_tile(obj/item/C, mob/user, silent = FALSE) return /turf/simulated/floor/engine/attackby(obj/item/C as obj, mob/user as mob, params) @@ -224,7 +224,7 @@ /turf/simulated/floor/snow/ex_act(severity) return -/turf/simulated/floor/snow/try_replace_tile(obj/item/stack/tile/T, mob/user, params) +/turf/simulated/floor/snow/pry_tile(obj/item/C, mob/user, silent = FALSE) return /turf/simulated/floor/plating/metalfoam @@ -243,12 +243,10 @@ if(MFOAM_IRON) icon_state = "ironfoam" -/turf/simulated/floor/plating/metalfoam/try_replace_tile(obj/item/stack/tile/T, mob/user, params) - return - /turf/simulated/floor/plating/metalfoam/attackby(var/obj/item/C, mob/user, params) if(..()) - return 1 + return TRUE + if(istype(C) && C.force) user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src)