diff --git a/_maps/map_files/RandomZLevels/beach.dmm b/_maps/map_files/RandomZLevels/beach.dmm index 2931d7175b7..fe4060ad52d 100644 --- a/_maps/map_files/RandomZLevels/beach.dmm +++ b/_maps/map_files/RandomZLevels/beach.dmm @@ -13,7 +13,7 @@ /turf/unsimulated/beach/water/deep/rock_wall, /area/awaymission/undersea) "ae" = ( -/obj/structure/ladder/dive_point/anchor{ +/obj/structure/ladder/unbreakable/dive_point/anchor{ id = "pirate" }, /turf/unsimulated/beach/water/deep/sand_floor, @@ -217,7 +217,7 @@ /turf/unsimulated/beach/water/deep/wood_floor, /area/awaymission/undersea) "aU" = ( -/obj/structure/ladder/dive_point/anchor, +/obj/structure/ladder/unbreakable/dive_point/anchor, /turf/unsimulated/beach/water/deep/sand_floor, /area/awaymission/undersea) "aV" = ( @@ -1113,7 +1113,7 @@ /turf/unsimulated/beach/water/deep, /area/awaymission/beach) "dv" = ( -/obj/structure/ladder/dive_point/buoy, +/obj/structure/ladder/unbreakable/dive_point/buoy, /turf/unsimulated/beach/water/deep, /area/awaymission/beach) "dw" = ( @@ -1306,7 +1306,7 @@ }, /area/awaymission/beach) "dW" = ( -/obj/structure/ladder/dive_point/buoy{ +/obj/structure/ladder/unbreakable/dive_point/buoy{ id = "pirate" }, /turf/unsimulated/beach/water, diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 2d4baf14121..14ee2765d02 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -7,6 +7,7 @@ anchored = TRUE var/obj/structure/ladder/down //the ladder below this one var/obj/structure/ladder/up //the ladder above this one + var/use_verb = "climb" /obj/structure/ladder/Initialize(mapload, obj/structure/ladder/up, obj/structure/ladder/down) . = ..() @@ -91,7 +92,7 @@ return if(up && down) - var/result = alert("Go up or down [src]?", "Ladder", "Up", "Down", "Cancel") + var/result = alert("Go up or down [src]?", "[name]", "Up", "Down", "Cancel") if (!is_ghost && !in_range(src, user)) return // nice try switch(result) @@ -127,9 +128,9 @@ /obj/structure/ladder/proc/show_fluff_message(going_up, mob/user) if(going_up) - user.visible_message("[user] climbs up [src].","You climb up [src].") + user.visible_message("[user] climbs up [src].","You [use_verb] up [src].") else - user.visible_message("[user] climbs down [src].","You climb down [src].") + user.visible_message("[user] climbs down [src].","You [use_verb] down [src].") // Indestructible away mission ladders which link based on a mapped ID and height value rather than X/Y/Z. @@ -172,4 +173,30 @@ if (down) break // break if both our connections are filled - update_icon() \ No newline at end of file + update_icon() + +/obj/structure/ladder/unbreakable/dive_point/buoy + name = "diving point buoy" + desc = "A buoy marking the location of an underwater dive area." + icon = 'icons/misc/beach.dmi' + icon_state = "buoy" + id = "dive" + height = 2 + use_verb = "swim" + layer = MOB_LAYER + 0.2 //0.1 higher than the water overlay, this also means people can "swim" behind/under it + +/obj/structure/ladder/unbreakable/dive_point/anchor + name = "diving point anchor" + desc = "An anchor tethered to the buoy at the surface, to keep the dive area marked." + icon = 'icons/misc/beach.dmi' + icon_state = "anchor" + id = "dive" + height = 1 + light_range = 5 + +/obj/structure/ladder/dive_point/Initialize(mapload) + . = ..() + set_light(light_range, light_power) //magical glowing anchor + +/obj/structure/ladder/dive_point/update_icon() + return \ No newline at end of file