From 6d24e69daca7941681adc144de585f222ffedafe Mon Sep 17 00:00:00 2001 From: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com> Date: Sun, 6 Oct 2024 11:08:56 -0600 Subject: [PATCH] Adds 3 'Comms Buoy' Space Ruins (#86872) ## About The Pull Request https://github.com/tgstation/common_core/blob/master/Technology%20and%20Science/Communications.md I was playing Starsector shortly before I read through this lore blurb and realized that simple Comms Buoys would be easy little ruins to make. Then I decided to make NT's extra-special because NT is always leading in tech innovation. Adds 2 "low-tech" Comms Buoy ruins (**no local comms**, these are just little fluff things):
Kosmokomm Communications Buoy ![image](https://github.com/user-attachments/assets/af449ddc-26c1-4423-9c4b-310c662a1dbf)
Pirated Communications Buoy ![image](https://github.com/user-attachments/assets/7a4bdb9c-d27b-46fd-a547-8f2bd2b53f85)
The majority of the PR is the "high-tech" Nanotrasen Extraorbital Bluespace Communications Buoy
The NT-EBCB Model 7 (ignore the parallax i couldnt get it all in one screenshot) ![image](https://github.com/user-attachments/assets/0c0d8e68-ae9b-4fbb-a1f4-a5e1ddc94cde)
This is a medium ruin that's more lore heavy than loot heavy - though that doesn't mean there's no danger. NT wouldn't want you walking in and reading all their communication logs after all.
SPOILERS INSIDE **Hazards:** 2 Laser Turrets (in a titanium room, so they reflect off walls) **Loot:** 2 Experimental Tool spawners, 2 NT Private Security bodies, 3 space suits, 1 of each tcomm component, 2 RTGs (can these even be taken) The majority of the sat is for lore. It has 3 paper notes and 5 consoles (1 broken, 1 dupe, so 3 unique consoles) All lore will be here to show how formatting appears in-game.
Airlock Note: "Page 33: NT-EBCB Model 7" This one gives a quick summary of what to expect inside - consoles and defense turrets. Of course, players won't have the special ID (and couldn't use it anyways, the guys inside covered it in blood) ![image](https://github.com/user-attachments/assets/adc88a02-f46a-4083-8711-7d23e6bcde7b)
Pinned Note: "Table of Contents: NT-EBCB Model 7" A page out of the manual. Rest of manual not included. (Names the different parts of the buoy) ![image](https://github.com/user-attachments/assets/f47a17ee-6d6d-464a-9189-a5d5f0cc4d9d)
Main-Dish Note: "Spinward-NT-EBCB Inspection Report" An inspector left behind a few notes during pre-deployment. Sure hope no important security risks were missed! ![image](https://github.com/user-attachments/assets/73b007c0-780d-4b16-8900-97ddd9aaf156)
Console 1: "Satellite Dish Operations Terminal" This one's mostly just a tie-in with the "story", don't know how necessary it is but it filled the empty spaces. This console has a spare in the Main Dish (as its prone to breaking from the turrets) ![image](https://github.com/user-attachments/assets/d78441f9-8f0c-41f1-a69a-a2251be3fdab)
Console 2: "Blackbox Transcription Terminal" The "local" side of the story. This console monitors the Local-Space Comms, and managed to log the repair team's activity. ![image](https://github.com/user-attachments/assets/91774a42-0eeb-4196-a748-be282d0b42f6)
Console 3: "Long-Range Interstellar Relay Operations Terminal" Here's the big lore thing for freaks like me who love lore being shown in-game. It's got a lot of random-made-up-science-bullwhizz relating to the ongoing NT research mentioned in the plasma_exposure lore blurb. Granted, the guy's a bit biased in his ex-partner's work. ![image](https://github.com/user-attachments/assets/be05b99e-268b-4263-a372-e5f1daf4070e) ![image](https://github.com/user-attachments/assets/1797dc85-4f76-46ff-9a4e-b6cde3c43e7e)
## Why It's Good For The Game A) Everybody loves new space ruins, even small fluff ones. I hope. B) Lore integration is cool. Aside from the obvious 'Comms Buoys being a thing you can find', it also makes mention of the Gateway system/Port Ellis and a certain lore blurb involving plasma (albeit under more severe, and biased, testing) ## Changelog :cl: add: 3 new Space Ruins: two small Comms Buoys (fluff) and an NT Bluespace Comms Buoy. Employees are asked not to touch vital components when nearby this critical infrastructure. /:cl: --- .../SpaceRuins/commsbuoy_lowtech.dmm | 283 ++++ _maps/RandomRuins/SpaceRuins/commsbuoy_nt.dmm | 1209 +++++++++++++++++ .../SpaceRuins/commsbuoy_pirate.dmm | 299 ++++ code/datums/ruins/space.dm | 22 + .../ruins/spaceruin_code/commsbuoy.dm | 267 ++++ config/spaceruinblacklist.txt | 3 + icons/obj/fluff/general.dmi | Bin 40515 -> 41675 bytes tgstation.dme | 1 + 8 files changed, 2084 insertions(+) create mode 100644 _maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm create mode 100644 _maps/RandomRuins/SpaceRuins/commsbuoy_nt.dmm create mode 100644 _maps/RandomRuins/SpaceRuins/commsbuoy_pirate.dmm create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm diff --git a/_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm b/_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm new file mode 100644 index 00000000000..994589f0e51 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm @@ -0,0 +1,283 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"c" = ( +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy, +/turf/template_noop, +/area/space/nearstation) +"d" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"j" = ( +/obj/structure/lattice/catwalk, +/turf/template_noop, +/area/space/nearstation) +"m" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/turf/template_noop, +/area/space/nearstation) +"n" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 4 + }, +/turf/template_noop, +/area/space/nearstation) +"o" = ( +/obj/structure/fluff/sat_dish{ + pixel_y = -15; + pixel_x = -11 + }, +/obj/structure/fluff/sat_dish{ + pixel_y = -9; + pixel_x = 12 + }, +/turf/template_noop, +/area/space/nearstation) +"p" = ( +/obj/structure/fluff/tram_rail/end, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"s" = ( +/obj/structure/fluff/sat_dish{ + pixel_x = 15; + dir = 8; + pixel_y = -7 + }, +/turf/template_noop, +/area/space/nearstation) +"t" = ( +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"x" = ( +/obj/structure/fluff/tram_rail/anchor, +/turf/template_noop, +/area/space/nearstation) +"z" = ( +/obj/structure/fluff/commsbuoy_broadcaster, +/turf/open/floor/iron/recharge_floor/Airless, +/area/space/nearstation) +"C" = ( +/obj/structure/fluff/sat_dish{ + pixel_y = 11; + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"D" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"E" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"F" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"G" = ( +/turf/template_noop, +/area/space/nearstation) +"I" = ( +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"K" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"L" = ( +/turf/closed/wall/mineral/titanium, +/area/space/nearstation) +"M" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/space/unpowered) +"N" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/unpowered) +"O" = ( +/obj/structure/fluff/commsbuoy_receiver, +/turf/open/floor/iron/recharge_floor/Airless, +/area/space/nearstation) +"P" = ( +/obj/structure/fluff/tram_rail/end, +/turf/template_noop, +/area/space/nearstation) +"S" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/turf/template_noop, +/area/space/nearstation) +"U" = ( +/obj/structure/fluff/commsbuoy_processor, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"X" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"Y" = ( +/obj/structure/lattice/catwalk, +/obj/structure/fluff/sat_dish{ + pixel_y = 9; + dir = 1; + pixel_x = 8 + }, +/obj/structure/fluff/sat_dish{ + pixel_y = 15; + dir = 1; + pixel_x = -11 + }, +/turf/template_noop, +/area/space/nearstation) +"Z" = ( +/turf/open/floor/iron/solarpanel/airless, +/area/space/nearstation) + +(1,1,1) = {" +a +a +a +a +a +n +a +a +a +"} +(2,1,1) = {" +a +n +o +N +C +K +a +a +a +"} +(3,1,1) = {" +m +K +s +N +X +O +Z +Z +a +"} +(4,1,1) = {" +I +S +M +N +c +L +j +Z +Z +"} +(5,1,1) = {" +I +F +N +N +G +p +a +a +a +"} +(6,1,1) = {" +x +U +j +N +M +D +a +a +a +"} +(7,1,1) = {" +x +t +X +N +N +Y +Z +Z +a +"} +(8,1,1) = {" +I +d +a +N +j +X +Z +Z +Z +"} +(9,1,1) = {" +P +P +a +z +a +a +a +a +a +"} +(10,1,1) = {" +a +a +a +E +a +a +a +a +a +"} +(11,1,1) = {" +a +a +a +P +a +a +a +a +a +"} diff --git a/_maps/RandomRuins/SpaceRuins/commsbuoy_nt.dmm b/_maps/RandomRuins/SpaceRuins/commsbuoy_nt.dmm new file mode 100644 index 00000000000..4fa47033077 --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/commsbuoy_nt.dmm @@ -0,0 +1,1209 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aJ" = ( +/obj/machinery/door/airlock/titanium{ + name = "Comms Buoy Airlock" + }, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"aL" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"bj" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/space/nt_commsbuoy) +"dO" = ( +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/nt_commsbuoy) +"dX" = ( +/obj/machinery/computer/terminal/nt_commsbuoy, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"et" = ( +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"ew" = ( +/obj/structure/fluff{ + name = "telecommunication hub"; + desc = "A mighty piece of hardware used to send/receive massive amounts of data."; + icon = 'icons/obj/machines/telecomms.dmi'; + icon_state = "hub" + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"eX" = ( +/obj/structure/lattice/catwalk, +/turf/template_noop, +/area/space/nearstation) +"fx" = ( +/obj/structure/fluff{ + icon = 'icons/obj/machines/wallmounts.dmi'; + icon_state = "pod_off"; + name = "radio dish controller"; + desc = "A console for adjusting the satellite's radio dishes manually. The screen won't even power on without proper authorization, which you know you're never getting."; + pixel_y = 30 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"fJ" = ( +/turf/template_noop, +/area/template_noop) +"gw" = ( +/obj/structure/sign/nanotrasen{ + pixel_x = -32 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"hb" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/obj/structure/fluff/tram_rail/end, +/turf/template_noop, +/area/space/nearstation) +"hk" = ( +/obj/structure/table, +/obj/item/paper/fluff/ruins/nt_commsbuoy/inspection{ + pixel_y = 3; + pixel_x = 6 + }, +/obj/item/reagent_containers/cup/glass/mug/nanotrasen{ + pixel_y = 5; + pixel_x = 4 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"hn" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"hH" = ( +/obj/structure/rack, +/obj/item/clothing/suit/space{ + pixel_y = 5; + pixel_x = -10 + }, +/obj/item/clothing/suit/space{ + pixel_y = 1; + pixel_x = 5 + }, +/obj/item/clothing/head/helmet/space{ + pixel_x = -7; + pixel_y = -5 + }, +/obj/item/clothing/head/helmet/space{ + pixel_y = -10; + pixel_x = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"in" = ( +/obj/structure/fluff{ + icon = 'icons/obj/machines/wallmounts.dmi'; + icon_state = "pod_off"; + name = "radio dish controller"; + desc = "A console for adjusting the satellite's radio dishes manually. The screen won't even power on without proper authorization, which you know you're never getting."; + pixel_y = 30 + }, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/mob_spawn/corpse/human/engineer, +/obj/item/keycard/nt_commsbuoy{ + pixel_y = 9; + pixel_x = 3 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"io" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"it" = ( +/obj/machinery/computer/terminal/nt_commsbuoy/blackbox, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"iv" = ( +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/transmitter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/crystal, +/obj/item/stock_parts/subspace/ansible, +/obj/item/stock_parts/subspace/analyzer, +/obj/item/stock_parts/subspace/amplifier, +/obj/structure/closet/crate/centcom, +/obj/item/storage/box/lights/bulbs, +/obj/effect/spawner/random/exotic/technology, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"jy" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"jz" = ( +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"kZ" = ( +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"lu" = ( +/obj/machinery/porta_turret/syndicate/energy, +/turf/open/floor/mineral/titanium/yellow, +/area/ruin/space/nt_commsbuoy) +"lB" = ( +/obj/effect/decal/cleanable/blood/trails{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"lT" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"lY" = ( +/obj/structure/table, +/obj/structure/noticeboard/directional/north, +/obj/item/paper/fluff/ruins/nt_commsbuoy/table_of_contents, +/obj/machinery/light/small/directional/east, +/obj/item/gps/spaceruin{ + pixel_y = 4; + pixel_x = 5 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"mu" = ( +/obj/structure/fluff/fake_camera{ + dir = 9 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"nn" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"oA" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/turf/template_noop, +/area/space/nearstation) +"pC" = ( +/obj/machinery/door/puzzle/keycard/nt_commsbuoy, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"pR" = ( +/turf/open/floor/mineral/titanium/white/airless, +/area/space/nearstation) +"qi" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"ri" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"rl" = ( +/obj/structure/fluff{ + icon = 'icons/mob/simple/hivebot.dmi'; + icon_state = "def_radar-off"; + name = "radio dish component"; + desc = "Remarkable Nanotrasen technology. This does... something to make the radio dish work."; + pixel_y = 16 + }, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"tq" = ( +/obj/item/storage/toolbox/electrical{ + pixel_y = 9 + }, +/obj/structure/rack, +/obj/effect/spawner/random/engineering/tool_advanced, +/obj/machinery/light/small/directional/west, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"tx" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/space/nearstation) +"tO" = ( +/obj/structure/fluff{ + icon = 'icons/obj/machines/wallmounts.dmi'; + icon_state = "airlock_control_standby"; + name = "radio dish component"; + desc = "Remarkable Nanotrasen technology. This does... something to make the radio dish work."; + pixel_y = 32; + pixel_x = 6 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"uG" = ( +/obj/structure/fluff/commsbuoy_receiver, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"uH" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/fluff/tram_rail/end{ + dir = 4 + }, +/turf/template_noop, +/area/space/nearstation) +"vr" = ( +/obj/machinery/door/airlock/external/ruin{ + name = "Comms Buoy External Airlock" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"wS" = ( +/obj/structure/lattice, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"xI" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"yk" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 4 + }, +/turf/template_noop, +/area/space/nearstation) +"zt" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/machinery/door/airlock/titanium{ + name = "Comms Buoy Airlock" + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"zA" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/fluff/tram_rail/anchor{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"zO" = ( +/obj/structure/lattice, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"Ad" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"AA" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"AD" = ( +/obj/machinery/computer/terminal/nt_commsbuoy/relay{ + dir = 1 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"AE" = ( +/obj/structure/sign/warning/vacuum/external/directional/east, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"Br" = ( +/obj/structure/cable, +/turf/open/floor/mineral/titanium/yellow, +/area/ruin/space/nt_commsbuoy) +"CN" = ( +/obj/effect/mob_spawn/corpse/human/nanotrasensoldier, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"DW" = ( +/obj/structure/fluff/sat_dish{ + dir = 8; + pixel_y = -5; + pixel_x = 17 + }, +/obj/structure/fluff/sat_dish{ + pixel_y = -10; + pixel_x = -5 + }, +/turf/template_noop, +/area/space/nearstation) +"EA" = ( +/obj/structure/closet/firecloset/full, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"EQ" = ( +/obj/structure/fluff/sat_dish{ + pixel_y = -18; + pixel_x = 6 + }, +/turf/template_noop, +/area/space/nearstation) +"ES" = ( +/turf/open/floor/mineral/titanium/white, +/area/ruin/space/nt_commsbuoy) +"FC" = ( +/turf/closed/wall/mineral/iron, +/area/ruin/space/nt_commsbuoy) +"FH" = ( +/obj/structure/sign/nanotrasen{ + pixel_x = -32 + }, +/obj/structure/rack, +/obj/item/clothing/suit/space/syndicate/orange{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/clothing/head/helmet/space/syndicate/orange{ + pixel_x = 9; + pixel_y = -5 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"FK" = ( +/obj/structure/fluff/tram_rail/end, +/turf/template_noop, +/area/space/nearstation) +"Gd" = ( +/obj/structure/fluff/commsbuoy_processor, +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"Gq" = ( +/obj/structure/sign/warning/radiation/directional/south, +/turf/open/floor/mineral/titanium/yellow, +/area/ruin/space/nt_commsbuoy) +"Gw" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/mapping_helpers/apc/cell_5k, +/obj/effect/mapping_helpers/apc/full_charge, +/obj/effect/mapping_helpers/apc/unlocked, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"HC" = ( +/obj/structure/fluff/commsbuoy_broadcaster, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"II" = ( +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"Jp" = ( +/obj/structure/cable, +/obj/machinery/power/rtg/advanced, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"Jv" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/fluff/tram_rail, +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"Kr" = ( +/obj/machinery/power/rtg/advanced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"Lc" = ( +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"LI" = ( +/obj/machinery/telecomms/relay/preset/telecomms, +/obj/structure/fluff/fake_camera{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"Mc" = ( +/obj/effect/decal/cleanable/greenglow/radioactive, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"Mp" = ( +/obj/structure/fluff/fake_camera{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"Qb" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/machinery/door/airlock/titanium{ + name = "Comms Buoy Airlock" + }, +/turf/open/floor/mineral/titanium/yellow, +/area/ruin/space/nt_commsbuoy) +"Qd" = ( +/obj/effect/decal/cleanable/blood/trails{ + dir = 6 + }, +/obj/item/paper/fluff/ruins/nt_commsbuoy/torn_page, +/obj/structure/fluff/fake_camera{ + dir = 5 + }, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"Re" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"RY" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"TS" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/fluff/tram_rail/end, +/turf/template_noop, +/area/space/nearstation) +"UR" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/turf/template_noop, +/area/space/nearstation) +"Vg" = ( +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"VI" = ( +/obj/structure/fluff/fake_camera{ + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"Ws" = ( +/obj/structure/marker_beacon/cerulean, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"WI" = ( +/obj/structure/fluff{ + name = "comms buoy blackbox recorder"; + desc = "A recording device that logs recent events and communications in the event of a catastrophic failiure or accident. This one is haphazardly adjusted to print the readout onto the accompanying console."; + icon = 'icons/obj/machines/telecomms.dmi'; + icon_state = "blackbox" + }, +/turf/open/floor/mineral/titanium/blue, +/area/ruin/space/nt_commsbuoy) +"Xi" = ( +/obj/structure/cable, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"Yp" = ( +/obj/structure/fluff/fake_camera{ + dir = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"Yr" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/space/nt_commsbuoy) +"YN" = ( +/obj/structure/cable, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) +"YY" = ( +/turf/open/floor/plating, +/area/ruin/space/nt_commsbuoy) + +(1,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +"} +(2,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +uG +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +"} +(3,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +hn +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +"} +(4,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +Yr +fJ +hn +fJ +Yr +fJ +fJ +fJ +fJ +fJ +fJ +"} +(5,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +Yr +Yr +pR +Yr +Yr +fJ +fJ +fJ +fJ +fJ +fJ +"} +(6,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +Yr +bj +Yr +fJ +fJ +fJ +fJ +fJ +fJ +fJ +"} +(7,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +FC +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +"} +(8,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +Yr +bj +bj +bj +Yr +fJ +fJ +fJ +fJ +fJ +fJ +"} +(9,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +bj +fx +Mp +hk +bj +fJ +fJ +fJ +fJ +fJ +fJ +"} +(10,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +bj +dX +et +AD +bj +fJ +fJ +fJ +fJ +fJ +fJ +"} +(11,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +Yr +bj +bj +aJ +bj +bj +fJ +fJ +fJ +fJ +fJ +fJ +"} +(12,1,1) = {" +fJ +yk +fJ +fJ +fJ +fJ +bj +tq +gw +et +EA +bj +Yr +fJ +fJ +fJ +fJ +fJ +"} +(13,1,1) = {" +fJ +UR +fJ +fJ +fJ +DW +bj +it +et +et +bj +bj +bj +Yr +fJ +fJ +fJ +fJ +"} +(14,1,1) = {" +fJ +aL +fJ +yk +EQ +Yr +bj +WI +et +Gq +bj +YY +iv +bj +fJ +fJ +yk +fJ +"} +(15,1,1) = {" +fJ +wS +hn +zO +hn +bj +bj +ew +et +Br +Qb +Xi +xI +bj +fJ +fJ +lT +fJ +"} +(16,1,1) = {" +fJ +ri +yk +UR +fJ +eX +bj +LI +et +Br +bj +Mc +YN +bj +fJ +oA +lT +fJ +"} +(17,1,1) = {" +fJ +FK +zO +wS +fJ +hn +bj +Gd +io +Gw +bj +Kr +Jp +bj +fJ +Vg +Ad +fJ +"} +(18,1,1) = {" +fJ +fJ +lT +hb +fJ +fJ +Yr +bj +bj +pC +bj +bj +bj +Yr +fJ +Vg +Jv +fJ +"} +(19,1,1) = {" +fJ +fJ +Re +fJ +fJ +fJ +fJ +bj +et +et +et +EA +bj +fJ +fJ +Vg +aL +fJ +"} +(20,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +bj +jz +ES +ES +jy +bj +fJ +fJ +uH +TS +fJ +"} +(21,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +bj +mu +ES +ES +et +bj +fJ +fJ +qi +lT +fJ +"} +(22,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +Yr +bj +et +ES +ES +et +bj +Yr +fJ +qi +UR +fJ +"} +(23,1,1) = {" +fJ +fJ +Yr +Yr +fJ +fJ +bj +lu +et +ES +ES +et +lu +bj +fJ +HC +aL +fJ +"} +(24,1,1) = {" +fJ +fJ +fJ +Yr +Yr +fJ +bj +tO +et +ES +ES +et +Lc +bj +eX +tx +zA +fJ +"} +(25,1,1) = {" +fJ +rl +hn +pR +bj +FC +bj +in +et +ES +ES +et +nn +bj +Ws +tx +RY +fJ +"} +(26,1,1) = {" +fJ +fJ +fJ +Yr +Yr +fJ +bj +dX +CN +ES +dO +Yp +bj +bj +fJ +tx +zA +fJ +"} +(27,1,1) = {" +fJ +fJ +Yr +Yr +fJ +fJ +bj +lY +kZ +AE +lB +et +bj +fJ +fJ +qi +aL +fJ +"} +(28,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +Yr +bj +bj +bj +zt +bj +Yr +fJ +fJ +AA +TS +fJ +"} +(29,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +bj +FH +CN +Qd +bj +fJ +fJ +fJ +Vg +Re +fJ +"} +(30,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +bj +II +YY +hH +bj +fJ +fJ +fJ +FK +fJ +fJ +"} +(31,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +Yr +bj +vr +bj +Yr +fJ +fJ +fJ +fJ +fJ +fJ +"} +(32,1,1) = {" +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +VI +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +fJ +"} diff --git a/_maps/RandomRuins/SpaceRuins/commsbuoy_pirate.dmm b/_maps/RandomRuins/SpaceRuins/commsbuoy_pirate.dmm new file mode 100644 index 00000000000..18f2117135c --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/commsbuoy_pirate.dmm @@ -0,0 +1,299 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"c" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 4 + }, +/turf/template_noop, +/area/space/nearstation) +"d" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"f" = ( +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"g" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ruin/space/unpowered) +"h" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/turf/template_noop, +/area/space/nearstation) +"i" = ( +/obj/structure/lattice, +/obj/structure/sign/poster/contraband/self_ai_liberation/directional/north, +/turf/template_noop, +/area/space/nearstation) +"j" = ( +/obj/structure/sign/poster/contraband/syndicate_recruitment/directional/west, +/obj/structure/fluff/commsbuoy_broadcaster, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"m" = ( +/obj/structure/billboard/nanotrasen/defaced, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"o" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"r" = ( +/obj/structure/marker_beacon/burgundy, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"s" = ( +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy, +/turf/template_noop, +/area/space/nearstation) +"u" = ( +/obj/structure/lattice/catwalk, +/obj/structure/sign/poster/contraband/free_key/directional/south, +/turf/template_noop, +/area/space/nearstation) +"v" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"w" = ( +/obj/structure/fluff/tram_rail/anchor{ + dir = 1 + }, +/obj/structure/fluff/tram_rail/end{ + dir = 8 + }, +/turf/template_noop, +/area/space/nearstation) +"x" = ( +/obj/structure/fluff/tram_rail/end, +/turf/template_noop, +/area/space/nearstation) +"B" = ( +/obj/structure/fluff/commsbuoy_processor, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"C" = ( +/obj/structure/fluff/sat_dish{ + pixel_y = -15; + pixel_x = -11 + }, +/obj/structure/fluff/sat_dish{ + pixel_y = -9; + pixel_x = 12 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/space/nearstation) +"D" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"E" = ( +/turf/open/floor/iron/solarpanel/airless, +/area/space/nearstation) +"F" = ( +/obj/structure/lattice, +/obj/structure/fluff/tram_rail{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"G" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"J" = ( +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"K" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/space/unpowered) +"O" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/space/nearstation) +"P" = ( +/obj/structure/fluff/commsbuoy_receiver, +/turf/open/floor/plating/reinforced/airless, +/area/space/nearstation) +"Q" = ( +/obj/structure/fluff/tram_rail, +/turf/template_noop, +/area/space/nearstation) +"S" = ( +/obj/structure/fluff/sat_dish{ + pixel_y = 11; + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) +"T" = ( +/obj/structure/fluff/sat_dish{ + pixel_x = 17; + dir = 8; + pixel_y = -8 + }, +/turf/template_noop, +/area/space/nearstation) +"W" = ( +/obj/structure/lattice/catwalk, +/turf/template_noop, +/area/space/nearstation) +"X" = ( +/obj/structure/fluff/tram_rail/end{ + dir = 1 + }, +/obj/structure/fluff/tram_rail/anchor, +/turf/template_noop, +/area/space/nearstation) +"Y" = ( +/obj/structure/fluff/tram_rail/anchor, +/turf/template_noop, +/area/space/nearstation) +"Z" = ( +/obj/structure/fluff/tram_rail/anchor{ + dir = 1 + }, +/turf/template_noop, +/area/space/nearstation) + +(1,1,1) = {" +a +c +a +a +a +c +a +a +"} +(2,1,1) = {" +a +F +C +K +S +o +a +a +"} +(3,1,1) = {" +h +f +T +K +i +P +E +a +"} +(4,1,1) = {" +Y +w +g +K +s +O +E +E +"} +(5,1,1) = {" +x +d +K +K +g +G +W +E +"} +(6,1,1) = {" +h +B +u +K +K +m +E +E +"} +(7,1,1) = {" +Y +r +v +K +K +v +W +E +"} +(8,1,1) = {" +Q +D +a +K +g +J +E +E +"} +(9,1,1) = {" +Q +x +a +j +c +E +E +a +"} +(10,1,1) = {" +x +a +a +X +Z +a +a +a +"} +(11,1,1) = {" +a +a +a +x +f +a +a +a +"} +(12,1,1) = {" +a +a +a +a +G +a +a +a +"} diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index e67eb0fbcd3..50a286f16fd 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -524,3 +524,25 @@ BUBBERSTATION REMOVAL END */ suffix = "hauntedtradingpost.dmm" name = "Space-Ruin Donk Co. Interstellar Trading Post 6016" description = "A small station for trading ships to dock at. It's been abandoned for some time, but its security systems have kept looters away. Rumored to be haunted." + +/datum/map_template/ruin/space/commsbuoy + id = "commsbuoy" + suffix = "commsbuoy_lowtech.dmm" + name = "Kosmokomm Communications Buoy" + description = "One of the SSC's many Comms Buoys, acting as a broadcaster, receiver and relay for interstellar communications. Due to the \ + shoddy tech available, it does not enable local communications." + +/datum/map_template/ruin/space/commsbuoy_pirate + id = "commsbuoy_pirate" + suffix = "commsbuoy_pirate.dmm" + name = "Pirated Communications Buoy" + description = "A Comms Buoy satellite that has been hijacked by local criminal elements, acting as a broadcaster, receiver and relay for \ + evil interstellar communications. Due to the shoddy tech available, it does not enable local communications." + +/datum/map_template/ruin/space/commsbuoy_nt + id = "commsbuoy_nt" + suffix = "commsbuoy_nt.dmm" + name = "Nanotrasen Model-7 Communications Buoy" + description = "One of Nanotrasen's highly advanced Communication Buoys. Besides acting as a broadcaster, receiver and relay for interstellar \ + communications, the satellite also includes a Local-Network array and two multi-function satellite dishes, providing the local sector with \ + connectivity - as long as you have your Employee ID handy. Though, this one has been reported to have some recent malfunctions." diff --git a/code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm b/code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm new file mode 100644 index 00000000000..895200d487a --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm @@ -0,0 +1,267 @@ +/obj/structure/fluff/commsbuoy_receiver + name = "interstellar receiver" + desc = "A dish-shaped component of the Comms Buoy used to detect and record interstellar signals." + icon = 'icons/obj/machines/telecomms.dmi' + icon_state = "broadcast receiver" + +/obj/structure/fluff/commsbuoy_processor + name = "comms buoy processor unit" + desc = "This machine is used to process and unscramble interstellar transmissions, to then be relayed and broadcast." + icon = 'icons/obj/machines/telecomms.dmi' + icon_state = "processor" + +/obj/structure/fluff/commsbuoy_broadcaster + name = "interstellar broadcaster" + desc = "A dish-shaped component of the Comms Buoy used to broadcast processed interstellar signals." + icon = 'icons/obj/machines/telecomms.dmi' + icon_state = "broadcaster" + +/obj/structure/fluff/sat_dish + name = "satellite dish" + desc = "I wonder if they get any sports channels out here." + density = FALSE + deconstructible = TRUE + icon = 'icons/obj/fluff/general.dmi' + icon_state = "sat_dish" + +/obj/item/keycard/nt_commsbuoy + name = "Nanotrasen comms buoy keycard" + desc = "A keycard with the NT logo prominently displayed. The last user broke off the end; the card can still swipe, but this won't insert \ + into any chip readers now. On the back, mostly obscured by dried blood, the text \"SPINWARD\" is printed, followed by an illegible ID string." + color = "#4c80b1" + puzzle_id = "nt_commsbuoy" + +/obj/machinery/door/puzzle/keycard/nt_commsbuoy + name = "secure airlock" + puzzle_id = "nt_commsbuoy" + +/area/ruin/space/nt_commsbuoy + name = "\improper Nanotrasen Comms Buoy" + sound_environment = SOUND_AREA_SMALL_ENCLOSED + has_gravity = FALSE + ambientsounds = list( + 'sound/ambience/engineering/ambisin2.ogg', + 'sound/ambience/misc/signal.ogg', + 'sound/ambience/misc/signal.ogg', + 'sound/ambience/general/ambigen9.ogg', + 'sound/ambience/engineering/ambitech.ogg', + 'sound/ambience/engineering/ambitech2.ogg', + 'sound/ambience/engineering/ambitech3.ogg', + 'sound/ambience/misc/ambimystery.ogg', + ) //same ambience as tcommsat + +/obj/item/paper/fluff/ruins/nt_commsbuoy + color = COLOR_BLUE_GRAY + +/obj/item/paper/fluff/ruins/nt_commsbuoy/table_of_contents + name = "Table of Contents: NT-EBCB Model 7" + desc = "The Table of Contents page, text mostly faded. Rest of handbook not included." + default_raw_text = {" +

Nanotrasen Extraorbital Bluespace Communications Buoy Operations Manual

+
PROPERTY OF NANOTRASEN. DO NOT DISTRIBUTE.
+
+

Table of Contents

+ Legal Disclaimers: p1-p6
+ How to Sign: Nondisclosure Agreement: p7
+ Main and Secondary Dish: p8-p10
+ Standard Operation Codes: p11
+ Local-Network Array: p12-p13
+ Interstellar Relay: p14-p27
+ Maintinence: p28-p46
+ Common Error Codes: p47
+ Contacting NT Tech Support: p48-54
+
+ (The page is torn straight along the end of the Table of Contents... wish they'd left the actual Contents.) + "} + +/obj/item/paper/fluff/ruins/nt_commsbuoy/torn_page + name = "Page 33: NT-EBCB Model 7" + desc = "Page 33, torn out and annotated with lots of underlining." + default_raw_text = {" +
PROPERTY OF NANOTRASEN. DO NOT DISTRIBUTE.
+
+ ... is listing any of the mentioned Operation or Error codes. If the shown error is \ + not listed in the manual, please refer to pages 48/54 to contact a Nanotrasen Techician for direct assistance.
+

Realigning the Satellite Dish

+ Now that you have identified the Error code as an alignment issue, repairs will follow a simple step-by-step list. Be sure to follow the \ + list precisely, as additional damage may occur while the dish is misaligned.
+ 1. Assess the outside of the Comms Buoy for any damage or indication of impact to the dish. If any is found, refer to the Replacement Parts subsection\ + on page 43.
+ 2. Before entering the Comms Buoy, collect the Nanotrasen Comms Buoy keycard provided in the front of this manual. This keycard is vital to \ + the repair process, operational efficiency of the Buoy, and in disabling the automated defensive system.
+ 3. Display this card prominently on your persons. This can be done with an official Nanotrasen neck lanyard or Nanotrasen clip-on retractible laynard, \ + worn on your collar, attached to a breast pocket, or on your waist.
+ 4. Enter the Comms Buoy from the designated airlock. There is no system aboard to recycle air, so keep internals and a suit handy in case \ + the Comms Buoy has depressurized.
+ 5. Immediately upon entering the room, be sure to disable the Automated Defense System (refer to page 29). \ + Failiure to follow this step may risk injury or even death.
+ 6. Proceed to the terminal corresponding to the misaligned disk - the Primary Dish controller (pages 8/9) can be located in the room past the Local-Network Array (pages 12/13), \ + while the one closest to the airlock will control the Secondary Dish (page 10).
+ 7. Insert the Nanotrasen Comms Buoy keycard into the slot along the bottom right of the terminal (refer to diagram RD-2). +
+ (The back of the page is covered in blood. A shame, now you can't see the diagram...) + "} + +/obj/item/paper/fluff/ruins/nt_commsbuoy/inspection + name = "Spinward-NT-EBCB Inspection Report" + desc = "A few notes from the pre-activation inspection. Probably shouldn't still be here post-activation." + default_raw_text = {" +

"SS13-Relay" Spinward NT-EBCB Pre-Activation Inspection

+
+ Alright, just a few notes for consideration before we launch this new model. Would really appreciate review and action on the listed items.
+ - Open space on the exterior chassis. Nanotrasen insignia and paint? Could sell advertising space?
+ - The Primary Dish has proven to be sufficient for even severe network loads. Offloading half of its processing to the Secondary just creates \ + a fault risk; isn't this meant to be a backup? Why are we using it at all times?
+ - Interstellar Relay has some outdated encryption. This sat shouldn't have even left CC until this was updated.
+ - Please reconsider deployment location. SS13's local space is not secure enough for untested comms equipment. Combine with above \ + note about encryption, this is a serious security risk.
+ - Turrets are functioning as expected, read the ID correctly as long as the full barcode is unobscured. However, please review: location of \ + turrets. Critical consoles are in the firing line and NOT laser-resistant. No, a backup recorder in the Main Dish is not sufficient.
+ - A note of praise: including a manual with each satellite is very good. Better recommendation might be a console, or something similar \ + which people can't just tear off the corkboard.
+ - I fixed the breaker while I was aboard; it was routing 2kW into lighting and blew them all out. Simple wiring fault. Fix before launching \ + other Model-7s to prevent power issues.
+ - While it's not a habitable satellite, a fax machine might have been handy. Now I have to make sure not to lose these notes during the return \ + trip. +
+
PROPERTY OF NANOTRASEN. DO NOT DISTRIBUTE.
+ "} + +/obj/machinery/computer/terminal/nt_commsbuoy + name = "satellite dish operations terminal" + icon_screen = "comm" + tguitheme = "ntos" + upperinfo = "SATELLITE DISH OPERATIONS READOUT" + content = list( + "10/07/2563 - Inbound Packet Stability - FAIL
\ + Please realign dish!
", + "17/07/2563 - Inbound Packet Stability - FAIL
\ + Please realign dish!
", + "19/07/2563 - Outbound Packet Stability - SUCCESS
", + "24/07/2563 - Inbound Packet Stability - FAIL
\ + Please realign dish!
", + "02/08/2563 - Inbound Packet Stability - FAIL
\ + Please realign dish!
", + "09/08/2563 - Inbound Packet Stability - FAIL
\ + Please realign dish!
", + "13/08/2563 - Secondary Dish reports manual alignment changes.
\ + If this was not intentional, please check the exterior for signs of impact damage!
", + "13/08/2563 - Outbound Packet Stability - SUCCESS
", + "14/08/2563 - Inbound Packet Stability - SUCCESS
\ + Forwarding to Processor for signal restoration.
\ + ... Signal restored, Inbound relayed to Outbound
\ + ... Outbound Packet Stability - SUCCESS
", + "15/08/2563 - Outbound Packet Stability - SUCCESS
", + ) + +/obj/machinery/computer/terminal/nt_commsbuoy/blackbox + name = "blackbox transcription terminal" + upperinfo = "BLACKBOX TRANSCRIPT - 13/08/2563" + content = list( + "Notice: this transcript was generated by Nanotrasen speech-to-text. By reading this transcript you are hereby agreeing to the speech-to-text terms \ + of service, and agree that any fault or inaccuracies in transcriptions legally falls entirely on the speaker.
", + "11:07 - NTSS WAKAHIRU
\ + Yeah, we're close enough. Passing within about a thousand meters of that Buoy that's been having trouble. We can re-route to check on it, I've got \ + an extraorbital engineer aboard. Hell, guy's already looking for the right handbook.
", + "11:08 - NANOTRASEN TRAFFIC CONTROL
\ + Approved, Wakahiru. Redirect per the updated charts coming in on your CDTI, keep your speed below sub-light until further notice. ETA will be 27 minutes. \ + Be sure to follow all Company regulations during repairs, these systems are extremely sensitive and you will be held liable for any new damages.", + "11:10 - NTSS WAKAHIRU
\ + Adjusting course now, and already printing out the waivers. Clearing Broadband.", + "11:11 - NTSS WAKAHIRU - Local
\ + Operations to the Bridge, repeat, Operations to the Bridge.
", + "11:34 - (TRANSPONDER INACTIVE)
\ + Control, I've got a, uh- fish or something chewing through my NAV array, can you guys dispatch a team or something? Bring a, like, big net?", + "11:37 - NANOTRASEN TRAFFIC CONTROL
\ + Negative. Your Transponder is inactive - stop all operations, a Security patrol is being dispatched to your location.", + "11:37 - (TRANSPONDER INACTIVE)
\ + Y'know what, that's close enough. Make sure that they bring some repair tools with them. And a harpoon.
", + "11:40 - NTSS WAKAHIRU - Local
\ + Allllllright, guys, we're at the reported Buoy. NT's Traffic-Con said they've been getting messy data through the relay, too messy to forward. \ + Probably just a misaligned dish. Operations will be dispatching the Away team soon, but otherwise just keep doing whatever it is you're doing.", + "11:47 - Unidentified - Local
\ + This is Away to Wakahiru, how read.", + "11:47 - NTSS WAKAHIRU - Local
\ + Loud and clear Away. What's the hold-up?", + "11:48 - Unidentified - Local
\ + Yeah, uh, this access card doesn't seem to be working on the dish controller. Kept the turrets tame and opened the front door, but \ + the console's not responding to it. Lost that manual page I brought with me too... Huh? One second- Oh, insert it entirely? I don't think- Dude- dude, I know how to put a card into a reader, just let me-", + "11:50 - NT-EBCB-7 ARRAY
\ + ALERT. LIFE FORMS DETECTED WITHOUT VALID IDENTIFICATION. INITIATING DEFENSIVE PROTOCOL.", + "11:50 - Unidentified - Local
\ + SHIIIIIT!! GET THE CARD BACK OUT OF THE CONSOLE! GET IT OUT! G-", + "11:51 - NT-EBCB-7 ARRAY
\ + ALL LIFE FORMS ELIMINATED. HAVE A SECURE DAY!
", + "12:07 - NTSS WAKAHIRU
\ + NT-TC, this is the NTSS Wakahiru. You're, uh... going to need to dispatch a cleanup crew to that satellite. Sending you our Operations report now.", + ) + +/obj/machinery/computer/terminal/nt_commsbuoy/relay + name = "long-range interstellar relay operations terminal" + upperinfo = "LONG-RANGE INTERSTELLAR RELAY OPERATIONS READOUT" + content = list( + "19/07/2563 - Outbound Direct -
\ + From: totally_not_a_burner@kosmokomm.net
\ + To: john_doe_a_deer_a_female_deer@kosmokomm.net
\ +
\ + im telling you! they dont monitor this relay. ive had a bug on the interstellar relay since it was launched. outdated encryption, \ + its an easy tap. just be patient.
\ +
PACKET FLAGGED AS SUSPICIOUS. LOGGING FOR REVIEW.

", + + "13/08/2563 - Outbound Direct -
\ + From: NT_S13TC_OFFICIAL@NTFIDspinward.nt
\ + To: wilson_peters@NTFIDspinward.nt
\ +
\ + Hello,
\ + Your ticket has been marked as Resolved with the following comment:
\ + \"This is Spinward Sector 13 NT Traffic Control, reaching out to inform you that your ticket has been resolved. The relay should now \ + be operating as expected. Please re-attempt sending that message again. If any other issue arises, open a new ticket.\"
\ + Thank you for your patience and continued support.
\ +
The Spinward Project - brought to you by Nanotrasen Futures and Innovation Division, in partnership with Nanotrasen \ + Heavy Industry.

", + + "14/08/2563 - Inbound to Foward -
\ + From: wilson_peters@NTFIDspinward.nt
\ + Relay Target: PORT_ELLIS
\ +
\ + Hey. I miss you. Hope we can holo-call again soon.
\ + Work's been busy. Wish you could be here for it, but I know you were adamant on getting your citizenship. I hope Gateway's been nice to you.
\ + I was working on that project folder you left me, the plasma stuff. Really see why you asked to change divisions...
\ +
\ + Regardless of the heavy topic of the research, I've made some astounding breakthroughs. A majority of this is still your notes just progressing, \ + long-term ingestion of plasma - specifically Pudicitite - in humanoid species. I really had hoped these projections weren't so accurate. \ + Guess it just shows your dazzling intellect... as dark as this is.
\ +
\ + That doomed assistant you had on observation finally expired. The constant medium-level exposure, even treated with a myriad of medications, \ + left the Amygdala extremely malformed like we were seeing prior. Additionally, it entirely and irrepairably destroyed every neural pathway in \ + the Hypothalamus, leaving the subject on a direct path to literally burning out.
\ + The damage to their bodily temperature regulation wasn't the focus, nor did I get much opportunity to make it one. Security had to kill them \ + pre-emptively; their Amygdala is engorged and stained with purple and white streaks (almost as vibrant as your scales). Whatever this damage \ + truly is seems to have contributed to overstimulation and amplified emotional responses to the testing.
\ +
\ + It's... a perfect storm. The loss of control of emotional responses in tandem with the exaggurated environmental stimuli. I've already pushed \ + a few of the results up as high as I can and advised we push towards improving our plasma filtration, especially in masks. Specifically \ + the Mining gas masks, as your papers mentioned - the elevated gas exposure makes them a high risk group.
\ + My peers over here are already adjusting their testing to boost this to Central's attention so that other stations might \ + contribute to improving our protections from this.
\ +
\ + I know you told me to stop messaging you, especially about this - but I thought you deserved to know, of all people. You were right. You were \ + always right. Please... respond. Even just to tell me if *I* did something right.
\ +
The Spinward Project - brought to you by Nanotrasen Futures and Innovation Division, in partnership with Nanotrasen Heavy Industry.

", + + "15/08/2563 - Outbound Direct -
\ + From: totally_not_a_burner@kosmokomm.net
\ + To: john_doe_a_deer_a_female_deer@kosmokomm.net
\ +
\ + IM THE BEST HACKER IN THE GALAXY. youre paying me TRIPLE for that, holy CRAP the syndicate are going to pay us so much. actually you owe me \ + at least half the profits. no no over half i did all the work.
\ + (Attached data file: WEGOTIT.syndzip)
\ +
PACKET FLAGGED AS SUSPICIOUS. BEGINNING TRACE.
\ +
ORIGIN TRACED. NT-DAP DISPATCHED.
\ + DESTINATION TRACED. NT-DAP DISPATCHED.
\ + DATA FILE SCANNED AND FORWARDED TO NT-DAP.
\ +
\ + FILE ORIGIN TRACED TO NT STATION. LOCKDOWN INITIATED.
\ + SECURITY ADVISORY RAISED TO: RED STAR.
\ + NT-DAP DISPATCHED. TARGET: wilson_peters.

", + ) diff --git a/config/spaceruinblacklist.txt b/config/spaceruinblacklist.txt index fb34b2208a5..9f4571db015 100644 --- a/config/spaceruinblacklist.txt +++ b/config/spaceruinblacklist.txt @@ -20,6 +20,9 @@ #_maps/RandomRuins/SpaceRuins/caravanambush.dmm #_maps/RandomRuins/SpaceRuins/clericden.dmm #_maps/RandomRuins/SpaceRuins/clownplanet.dmm +#_maps/RandomRuins/SpaceRuins/commsbuoy_lowtech.dmm +#_maps/RandomRuins/SpaceRuins/commsbuoy_nt.dmm +#_maps/RandomRuins/SpaceRuins/commsbuoy_pirate.dmm #_maps/RandomRuins/SpaceRuins/crashedclownship.dmm #_maps/RandomRuins/SpaceRuins/crashedship.dmm #_maps/RandomRuins/SpaceRuins/cyborg_mothership.dmm diff --git a/icons/obj/fluff/general.dmi b/icons/obj/fluff/general.dmi index f99cbaabc9a1d0b5135e5d2255d2660a5dcca2ea..b05ce2f83e8bb5eb760bf9972e5ebe2d05a3abc9 100644 GIT binary patch delta 20128 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 diff --git a/tgstation.dme b/tgstation.dme index 1b8d3607be3..1e9c5d4a350 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4748,6 +4748,7 @@ #include "code\modules\mapfluff\ruins\spaceruin_code\bigderelict1.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\caravanambush.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\clericsden.dm" +#include "code\modules\mapfluff\ruins\spaceruin_code\commsbuoy.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\crashedclownship.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\crashedship.dm" #include "code\modules\mapfluff\ruins\spaceruin_code\cyborgmothership.dm"