diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 062e678549e..ca18b7716d5 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -1452,6 +1452,63 @@ proc/process_ghost_teleport_locs() name = "\improper Nanotrasen Cruiser" icon_state = "away" requires_power = 0 + +/area/awaymission/beach + name = "Beach" + icon_state = "null" + luminosity = 1 + lighting_use_dynamic = 0 + requires_power = 0 + var/sound/mysound = null + + New() + ..() + var/sound/S = new/sound() + mysound = S + S.file = 'sound/ambience/shore.ogg' + S.repeat = 1 + S.wait = 0 + S.channel = 123 + S.volume = 100 + S.priority = 255 + S.status = SOUND_UPDATE + process() + + Entered(atom/movable/Obj,atom/OldLoc) + if(ismob(Obj)) + if(Obj:client) + mysound.status = SOUND_UPDATE + Obj << mysound + return + + Exited(atom/movable/Obj) + if(ismob(Obj)) + if(Obj:client) + mysound.status = SOUND_PAUSED | SOUND_UPDATE + Obj << mysound + + proc/process() + set background = 1 + + var/sound/S = null + var/sound_delay = 0 + if(prob(25)) + S = sound(file=pick('sound/ambience/seag1.ogg','sound/ambience/seag2.ogg','sound/ambience/seag3.ogg'), volume=100) + sound_delay = rand(0, 50) + + for(var/mob/living/carbon/human/H in src) + if(H.s_tone > -55) + H.s_tone-- + H.update_body() + if(H.client) + mysound.status = SOUND_UPDATE + H << mysound + if(S) + spawn(sound_delay) + H << S + + spawn(60) .() + ///////////////////////////////////////////////////////////////////// /* Lists of areas to be used with is_type_in_list. @@ -1572,4 +1629,5 @@ var/list/the_station_areas = list ( spawn(sound_delay) H << S - spawn(60) .() \ No newline at end of file + spawn(60) .() + diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 140e5314eb3..a1af754229a 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -17,12 +17,16 @@ icon = 'icons/misc/beach2.dmi' icon_state = "palm1" density = 1 + layer = 5 + anchored = 1 /obj/effect/overlay/palmtree_l name = "Palm tree" icon = 'icons/misc/beach2.dmi' icon_state = "palm2" density = 1 + layer = 5 + anchored = 1 /obj/effect/overlay/coconut name = "Coconuts" diff --git a/maps/RandomZLevels/beach.dmm b/maps/RandomZLevels/beach.dmm new file mode 100644 index 00000000000..2cf2a05a292 --- /dev/null +++ b/maps/RandomZLevels/beach.dmm @@ -0,0 +1,72 @@ +"a" = (/turf/unsimulated/beach/sand{density = 1; opacity = 1},/area/awaymission/beach) +"b" = (/turf/unsimulated/beach/sand,/area/awaymission/beach) +"c" = (/obj/machinery/gateway{dir = 9},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"d" = (/obj/machinery/gateway{dir = 1},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"e" = (/obj/machinery/gateway{dir = 5},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"f" = (/obj/effect/overlay/palmtree_r,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"g" = (/obj/machinery/gateway{dir = 8},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"h" = (/obj/machinery/gateway/centeraway,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"i" = (/obj/machinery/gateway{dir = 4},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"j" = (/obj/effect/overlay/palmtree_l,/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"k" = (/obj/machinery/gateway{dir = 10},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"l" = (/obj/machinery/gateway,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"m" = (/obj/machinery/gateway{dir = 6},/turf/unsimulated/beach/sand,/area/awaymission/beach) +"n" = (/turf/unsimulated/wall{tag = "icon-sandstone6"; icon_state = "sandstone6"},/area/awaymission/beach) +"o" = (/turf/unsimulated/wall{tag = "icon-sandstone12"; icon_state = "sandstone12"},/area/awaymission/beach) +"p" = (/turf/unsimulated/wall{tag = "icon-sandstone10"; icon_state = "sandstone10"},/area/awaymission/beach) +"q" = (/obj/structure/closet/athletic_mixed,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"r" = (/turf/unsimulated/wall{tag = "icon-sandstone3"; icon_state = "sandstone3"},/area/awaymission/beach) +"s" = (/obj/structure/closet/gmcloset{icon_closed = "black"; icon_state = "black"; name = "formal wardrobe"},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"t" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"u" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/barman_recipes,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"v" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"w" = (/obj/structure/table/woodentable,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"x" = (/obj/structure/table/woodentable,/obj/item/clothing/glasses/sunglasses,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"y" = (/obj/machinery/vending/boozeomat,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"z" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"A" = (/obj/machinery/vending/cola,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"B" = (/obj/machinery/vending/snack,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"C" = (/turf/unsimulated/wall{tag = "icon-sandstone1"; icon_state = "sandstone1"},/area/awaymission/beach) +"D" = (/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"E" = (/obj/structure/mineral_door/wood{tag = "icon-wood"; icon_state = "wood"},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"F" = (/obj/effect/overlay/palmtree_l,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"G" = (/turf/unsimulated/wall{tag = "icon-sandstone0"; icon_state = "sandstone0"},/area/awaymission/beach) +"H" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/beer,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/awaymission/beach) +"I" = (/obj/item/weapon/beach_ball,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"J" = (/obj/structure/stool,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"K" = (/mob/living/simple_animal/crab,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"L" = (/obj/effect/overlay/coconut,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"M" = (/mob/living/simple_animal/crab/Coffee,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"N" = (/obj/structure/stool/bed/chair,/turf/unsimulated/beach/sand,/area/awaymission/beach) +"O" = (/turf/unsimulated/beach/coastline,/area/awaymission/beach) +"P" = (/turf/unsimulated/beach/coastline{density = 1; opacity = 1},/area/awaymission/beach) +"Q" = (/turf/unsimulated/beach/water,/area/awaymission/beach) +"R" = (/turf/unsimulated/beach/water{density = 1; opacity = 1},/area/awaymission/beach) + +(1,1,1) = {" +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +bcdebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfba +bghibbbbjbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +bklmbbbbbbbbnoooooooooopbbqbqbqbqbqbqbqa +bbbbbbbbbbbbrstuvwxyzABrbbbbbbbbbbbbbbba +bbbbbbbbbbbbCDDDDDDDDDDrbbbbbbbbbbbbbbba +bbbbbbbbbbbbEDDDDDDDDDDrbbbbbbbbbFbbbbba +bbfbbbbbbbbbGwHwwwwwwwwCbbbFbbIbbbbbbbba +bbbbbbbbbbbbbJJJJJJJJJJbbbbbbbbbbbbbbbba +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +bbbKbbbbbbbbbbbbbbbbbbbbbbbbbbbfbbbbbbba +bbbbbbFLbbbbbbbbbbbbbbFbbbbbMbbbLbbbbbfa +bbbIbbbbbbKbbNbNbNbNbNbNbbbbbbbbbbNbNbba +bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba +OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOP +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQR +"} diff --git a/maps/RandomZLevels/fileList.txt b/maps/RandomZLevels/fileList.txt index b6c0c03d4c7..db928aa0a18 100644 --- a/maps/RandomZLevels/fileList.txt +++ b/maps/RandomZLevels/fileList.txt @@ -4,7 +4,8 @@ #SPECIFYING AN INVALID MAP WILL RESULT IN RUNTIMES ON GAME START #maps/RandomZLevels/example.dmm -#maps/RandomZLevels/desert.dmm #maps/RandomZLevels/blackmarketpackers.dmm #maps/RandomZLevels/stationCollision.dmm -#maps/RandomZLevels/spacebattle.dmm \ No newline at end of file +#maps/RandomZLevels/spacebattle.dmm +#maps/RandomZLevels/beach.dmm +#maps/RandomZLevels/Academy.dmm \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 4d000613514..ea9cb8a355b 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1250,5 +1250,6 @@ #include "interface\interface.dm" #include "interface\skin.dmf" #include "maps\tgstation.2.0.9.dmm" +#include "maps\RandomZLevels\Academy.dm" #include "maps\RandomZLevels\stationCollision.dm" // END_INCLUDE