Nuclear Missile Silo (#20222)

The Nuclear Missile Silo Bunker Thingamjig is a 2-z odyssey map. Should
be nice and generic so storytellers can tell a variety of stories,
including just blocking off the entire bunker and having a nice snowy
town if they want to.

![StrongDMM-2024-12-13 09 59
43](https://github.com/user-attachments/assets/30d36670-72a9-41d1-b48b-84d20d166600)

![image](https://github.com/user-attachments/assets/ced645a8-4896-4739-b17c-255da643c534)

And the sub-maps:

![image](https://github.com/user-attachments/assets/3add3533-7f41-4e3e-960e-cf61b36a7172)


Future plans for a later PR include a day/night cycle and maybe weather

---------

Co-authored-by: Stev-the-third <rose@flurf.net>
This commit is contained in:
Stev-the-third
2024-12-15 13:52:34 +00:00
committed by GitHub
co-authored by Stev-the-third
parent 255b802e1a
commit 46b044d302
22 changed files with 160552 additions and 0 deletions
+7
View File
@@ -3907,6 +3907,13 @@
#include "maps\away\scenarios\cryo_outpost\cryo_outpost_outfits.dm"
#include "maps\away\scenarios\cryo_outpost\cryo_outpost_scenario.dm"
#include "maps\away\scenarios\cryo_outpost\cryo_outpost_theme.dm"
#include "maps\away\scenarios\nuclear_silo\missile_silo.dm"
#include "maps\away\scenarios\nuclear_silo\nuclear_silo_.dm"
#include "maps\away\scenarios\nuclear_silo\nuclear_silo_areas.dm"
#include "maps\away\scenarios\nuclear_silo\nuclear_silo_landmarks.dm"
#include "maps\away\scenarios\nuclear_silo\nuclear_silo_outfits.dm"
#include "maps\away\scenarios\nuclear_silo\nuclear_silo_scenario.dm"
#include "maps\away\scenarios\nuclear_silo\nuclear_silo_theme.dm"
#include "maps\away\scenarios\ruined_propellant_depot\ruined_propellant_depot_.dm"
#include "maps\away\scenarios\ruined_propellant_depot\ruined_propellant_depot_areas.dm"
#include "maps\away\scenarios\ruined_propellant_depot\ruined_propellant_depot_landmarks.dm"
+10
View File
@@ -838,3 +838,13 @@
/datum/access/splf_access
id = ACCESS_SPLF
desc = "SPLF Access"
#define ACCESS_NUCLEAR_MISSILE_SILO 247
/datum/access/nuclear_missile_silo_access
id = ACCESS_NUCLEAR_MISSILE_SILO
desc = "Nuclear Missile Silo Access"
#define ACCESS_NUCLEAR_MISSILE_SILO_HIGH 248
/datum/access/nuclear_missile_silo_access_high
id = ACCESS_NUCLEAR_MISSILE_SILO_HIGH
desc = "Nuclear Missile Silo Access High Security"
+6
View File
@@ -230,3 +230,9 @@
has_off_keyboards = TRUE
can_pass_under = FALSE
light_power_on = 1
/obj/machinery/computer/terminal/inactive
name = "inactive terminal"
light_power = 0
light_power_on = 0
light_range_on = 0
@@ -13,6 +13,13 @@
/obj/structure/light_pole/r
icon_state = "rustlamp_r"
/obj/structure/light_pole/decayed
desc = "A tall light source. The bulb appears to be decayed."
light_color = LIGHT_COLOR_DECAYED
/obj/structure/light_pole/decayed/r
icon_state = "rustlamp_r"
/obj/structure/light_pole/konyang
name = "dangling lamp"
desc = "A flame-lit lamp dangling precariously from a tall pole."
+5
View File
@@ -381,6 +381,11 @@ ABSTRACT_TYPE(/obj/structure/stairs/urban/road_ramp)
icon_state = "television"
anchored = TRUE
/obj/structure/television/adhomai
name = "adhomaian television"
desc = "A classic box television, manufactured on Adhomai."
icon = 'icons/obj/computer.dmi'
/obj/structure/dressing_divider
name = "wardrobe dressing divider"
desc = "A divider for an environment where you're probably swapping clothes, made with your privacy in mind."
+4
View File
@@ -51,6 +51,10 @@
name = "\improper DENIED rubber stamp"
icon_state = "stamp-deny"
/obj/item/stamp/accepted
name = "\improper ACCEPTED rubber stamp"
icon_state = "stamp-accept"
/obj/item/stamp/clown
name = "clown's rubber stamp"
icon_state = "stamp-clown"
+5
View File
@@ -129,6 +129,11 @@
randomize_color = FALSE
icon_state = "tube_red_preview"
/obj/machinery/light/colored/violet
brightness_color = LIGHT_COLOR_VIOLET
randomize_color = FALSE
icon_state = "tube_violet_preview"
/obj/machinery/light/colored/decayed
brightness_color = LIGHT_COLOR_DECAYED
randomize_color = FALSE
@@ -0,0 +1,65 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: Stev-the-third
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Adds a 2-Z Level odyssey map called the Arctic Valley and the Nuclear Silo."
- rscadd: "Adds all of the additional supporting files to make an odyssey map work. and stuff."
- imageadd: "Adds an accepted stamp."
- imageadd: "Adds directionals for buffet trays."
- imageadd: "Adds a decorative nuclear missile."
- rscadd: "Adds violet lights and decayed streetlights."
- rscadd: "Makes the missile silo cap a physical object."
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

@@ -0,0 +1,22 @@
/obj/structure/missile_silo
name = "missile silo blast door"
desc = "An enormous reinforced plasteel silo door. It is mechanically operated and can not be forced non-destructively."
icon = 'icons/effects/missile_silo.dmi'
icon_state = "silo"
density = 1
anchored = 1
/obj/structure/icbm
name = "RS-20 nuclear ballistic missile"
desc = "A Zavodskoi-designed hypersonic missile carrying a nuclear payload. With a maximum speed of over 20% the speed of light in vacuum or Mach 25 in atmosphere, interplanetary travel capability, and an accuracy to the meter, this missile forms a cornerstone of arsenals galaxy-wide, able to function as both an anti-orbital weapon and an intercontinental nuclear bomb, delivered anywhere on a planet or in a solar system. The nuclear warhead on this has enough power to level a city."
icon = 'icons/effects/icbm.dmi'
icon_state = "icbm"
density = 1
anchored = 1
layer = ABOVE_HUMAN_LAYER
pixel_x = 8
pixel_y = 10
/obj/structure/ship_weapon_dummy/icbm_dummy
name = "icbm dummy"
layer = ABOVE_HUMAN_LAYER+0.1
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,32 @@
[
{
"type": "SubmapExtractInsert",
"submap_size_x": 3,
"submap_size_y": 4,
"submap_size_z": 1,
"submaps_dmm": "nuclear_silo_submaps.dmm",
"marker_extract": "/obj/effect/map_effect/marker/mapmanip/submap/extract/nuclear_silo/crew_quarters_room",
"marker_insert": "/obj/effect/map_effect/marker/mapmanip/submap/insert/nuclear_silo/crew_quarters_room",
"submaps_can_repeat": false
},
{
"type": "SubmapExtractInsert",
"submap_size_x": 4,
"submap_size_y": 6,
"submap_size_z": 1,
"submaps_dmm": "nuclear_silo_submaps.dmm",
"marker_extract": "/obj/effect/map_effect/marker/mapmanip/submap/extract/nuclear_silo/armoury",
"marker_insert": "/obj/effect/map_effect/marker/mapmanip/submap/insert/nuclear_silo/armoury",
"submaps_can_repeat": false
},
{
"type": "SubmapExtractInsert",
"submap_size_x": 3,
"submap_size_y": 4,
"submap_size_z": 1,
"submaps_dmm": "nuclear_silo_submaps.dmm",
"marker_extract": "/obj/effect/map_effect/marker/mapmanip/submap/extract/nuclear_silo/crew_quarters_room_north",
"marker_insert": "/obj/effect/map_effect/marker/mapmanip/submap/insert/nuclear_silo/crew_quarters_room_north",
"submaps_can_repeat": false
}
]
@@ -0,0 +1,85 @@
// --------------------------------------------------- template
/datum/map_template/ruin/away_site/nuclear_silo
name = "Arctic Valley"
description = "A small wooden village within a valley in an arctic environment."
prefix = "scenarios/nuclear_silo/"
suffix = "nuclear_silo.dmm"
traits = list(
// Bunker Level
list(ZTRAIT_AWAY = TRUE, ZTRAIT_UP = TRUE, ZTRAIT_DOWN = FALSE),
// Surface Level
list(ZTRAIT_AWAY = TRUE, ZTRAIT_UP = FALSE, ZTRAIT_DOWN = TRUE),
)
sectors = list(ALL_POSSIBLE_SECTORS)
spawn_weight = 0
spawn_cost = 1
id = "nuclear_silo"
shuttles_to_initialise = list(/datum/shuttle/autodock/multi/lift/nuclear_silo)
exoplanet_theme_base = /datum/exoplanet_theme/snow/nuclear_silo
exoplanet_themes = list(
/turf/unsimulated/marker = /datum/exoplanet_theme/snow/nuclear_silo,
/turf/unsimulated/marker/gray = /datum/exoplanet_theme/snow/nuclear_silo/mountain,
/turf/unsimulated/marker/green = /datum/exoplanet_theme/snow/foothills/nuclear_silo
)
unit_test_groups = list(1)
/singleton/submap_archetype/nuclear_silo
map = "Arctic Valley"
descriptor = "A small wooden village within a valley in an arctic environment."
// --------------------------------------------------- sector
/obj/effect/overmap/visitable/sector/nuclear_silo
name = "Unlabelled Arctic Exoplanet"
desc = "\
An arctic exoplanet not currently listed on available starcharts. \
Scans of the landing area indicate a small valley within the wider craggy mountains, with a frozen river running through it. \
Higher resolution scans show a small town within the valley, with biological signatures indicating a standard breathable atmosphere. \
"
icon_state = "globe2"
color = "#f7e3e3"
comms_support = TRUE
initial_generic_waypoints = list(
"nav_nuclear_silo_surface_south_1a",
"nav_nuclear_silo_surface_south_1b",
"nav_nuclear_silo_surface_south_1c",
"nav_nuclear_silo_surface_south_1d",
"nav_nuclear_silo_surface_south_2a",
"nav_nuclear_silo_surface_south_2b",
"nav_nuclear_silo_surface_south_2c",
"nav_nuclear_silo_surface_south_2d",
"nav_nuclear_silo_surface_north_1a",
"nav_nuclear_silo_surface_north_1b",
"nav_nuclear_silo_surface_north_1c",
"nav_nuclear_silo_surface_north_1d",
"nav_nuclear_silo_surface_north_2a",
"nav_nuclear_silo_surface_north_2b",
"nav_nuclear_silo_surface_north_2c",
"nav_nuclear_silo_surface_north_2d",
"nav_nuclear_silo_surface_north_3a",
"nav_nuclear_silo_surface_north_3c",
"nav_nuclear_silo_surface_north_3b",
"nav_nuclear_silo_surface_north_3d",
)
// --------------------------------------------------- mapmanip
/obj/effect/map_effect/marker/mapmanip/submap/insert/nuclear_silo/crew_quarters_room
name = "Crew Quarters Room South"
/obj/effect/map_effect/marker/mapmanip/submap/extract/nuclear_silo/crew_quarters_room
name = "Crew Quarters Room South"
/obj/effect/map_effect/marker/mapmanip/submap/insert/nuclear_silo/crew_quarters_room_north
name = "Crew Quarters Room North"
/obj/effect/map_effect/marker/mapmanip/submap/extract/nuclear_silo/crew_quarters_room_north
name = "Crew Quarters Room North"
/obj/effect/map_effect/marker/mapmanip/submap/insert/nuclear_silo/armoury
name = "Armoury"
/obj/effect/map_effect/marker/mapmanip/submap/extract/nuclear_silo/armoury
name = "Armoury"
@@ -0,0 +1,185 @@
/area/nuclear_silo
name = "Nuclear Silo"
icon_state = "exterior"
requires_power = TRUE
dynamic_lighting = TRUE
no_light_control = FALSE
base_turf = /turf/simulated/floor/snow
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_INDESTRUCTIBLE_TURFS | AREA_FLAG_IS_BACKGROUND
holomap_color = "#f0e0e0"
// --- Surface
/area/nuclear_silo/outside
is_outside = OUTSIDE_YES
/area/nuclear_silo/outside/landing
name = "Landing Pad"
icon_state = "dk_yellow"
holomap_color = "#7D5443"
/area/nuclear_silo/outside/surface
name = "Surface"
area_blurb = "An arctic valley, the air around you frigid and stinging. In the distance can be seen the illumination from lanterns and streetlights."
/area/nuclear_silo/outside/mountain
name = "Mountain"
icon_state = "unexplored"
is_outside = OUTSIDE_NO
holomap_color = "#382405"
base_turf = /turf/simulated/floor/exoplanet/barren
/area/nuclear_silo/outside/cave/bunker
name = "Bunker"
icon_state = "dark128"
holomap_color = "#615e5b"
/area/nuclear_silo/outside/buildings
name = "Building"
icon_state = "away"
is_outside = OUTSIDE_NO
holomap_color = "#7c4d14"
area_blurb = "As you enter the building, the quiet hum of electric lights is magnified as the dim bulbs around you flicker gently, the floorboards under your feet creaking and straining with every step."
requires_power = 0
/area/nuclear_silo/outside/buildings/snowmobiles
name = "Snowmobiles"
icon_state = "away2"
area_blurb = "As you enter the building, it appears to be completely abandoned. Snow and dust coat the floor around you, and a lone button sits on a desk, coated in a thick film of dust."
/area/nuclear_silo/outside/buildings/town
name = "Building"
icon_state = "away1"
area_blurb = "As you step foot into the town, the quiet hum of electric streetlights can be heard. Overhead are powerlines, strung across from building to building, some reaching up into the streetlights."
holomap_color = null
// --- Lower Level
/area/nuclear_silo/lower_level
base_turf = /turf/simulated/floor/plating
holomap_color = "#636161"
/area/nuclear_silo/lower_level/hallway
name = "Hallway"
icon_state = "hallC"
/area/nuclear_silo/lower_level/engineering
name = "Engineering"
icon_state = "engineering"
holomap_color = "#d88314"
/area/nuclear_silo/lower_level/checkpoint
name = "Security Checkpoint"
icon_state = "checkpoint1"
holomap_color = "#200266"
/area/nuclear_silo/lower_level/medbay
name = "Medical Bay"
icon_state = "medbay2"
holomap_color = "#1a910b"
/area/nuclear_silo/lower_level/security
name = "Security"
icon_state = "security"
holomap_color = "#3906b1"
/area/nuclear_silo/lower_level/brig
name = "Brig"
icon_state = "brig"
holomap_color = "#5018d3"
/area/nuclear_silo/lower_level/nuke_monitoring
name = "Nuclear Missile Silo Monitoring"
icon_state = "conference"
holomap_color = "#641c1c"
/area/nuclear_silo/lower_level/nuke_silo
name = "Nuclear Missile Silo"
icon_state = "observatory"
holomap_color = "#d81414"
// --- Civilian
/area/nuclear_silo/lower_level/civilian
holomap_color = "#11570e"
/area/nuclear_silo/lower_level/civilian/crew_quarters
name = "Crew Quarters and Offices"
icon_state = "crew_quarters"
/area/nuclear_silo/lower_level/civilian/bathrooms
name = "Bathrooms"
icon_state = "restrooms"
/area/nuclear_silo/lower_level/civilian/messhall
name = "Messhall"
icon_state = "kitchen"
/area/nuclear_silo/lower_level/civilian/freezer
name = "Freezer"
icon_state = "kitchen"
/area/nuclear_silo/lower_level/civilian/gym
name = "Gym"
icon_state = "fitness_gym"
/area/nuclear_silo/lower_level/civilian/hydroponics
name = "Hydroponics"
icon_state = "garden"
/area/nuclear_silo/lower_level/civilian/janitor
name = "Janitors Closet"
icon_state = "janitor"
/area/nuclear_silo/lower_level/civilian/cryogenics
name = "Cryogenic Storage"
icon_state = "cryo"
// --- Maintenance
/area/nuclear_silo/lower_level/maintenance
name = "Maintenance"
icon_state = "maintenance"
/area/nuclear_silo/lower_level/maintenance/lift
name = "Maintenance, Lift"
/area/nuclear_silo/lower_level/maintenance/engimed
name = "Maintenance, Engineering and Medical Interstitial"
/area/nuclear_silo/lower_level/maintenance/east
name = "Maintenance, Eastern Tunnels"
/area/nuclear_silo/lower_level/maintenance/east/robotics_bay
name = "Maintenance, Abandoned Storage Room"
icon_state = "mechbay"
/area/nuclear_silo/lower_level/maintenance/east/cellar
name = "Tavern Cellar"
icon_state = "bar"
/area/nuclear_silo/lower_level/maintenance/south
name = "Maintenance, Southern Tunnels"
/area/nuclear_silo/lower_level/maintenance/central
name = "Maintenance, Central"
/area/nuclear_silo/lower_level/maintenance/north
name = "Maintenance, North"
// --- Lifts
/area/nuclear_silo/lower_level_lift
name = "Nuclear Missile Silo Bunker - Lower Level Lift Passage"
icon_state = "exit"
area_blurb = "The elevator descends with a low hum, air hissing from hydraulic tubes as it slowly descends into the passage below. The walls are lined with intricate marks and pipes, dotted with cables sheathed in metal covers. Eventually, the elevator settles down after what must have been thirty metres, a loud metallic banging as it impacts the plating at the base of the passage."
/area/nuclear_silo/upper_level_lift
name = "Nuclear Missile Silo Bunker - Upper Level Lift Passage"
icon_state = "exit"
// --- Lift area
/area/turbolift/nuclear_silo/bunker_lift
name = "Nuclear Silo Lift"
station_area = FALSE
@@ -0,0 +1,138 @@
/obj/effect/shuttle_landmark/nuclear_silo
base_area = /area/nuclear_silo/outside/landing
base_turf = /turf/simulated/floor/exoplanet/dirt_konyang
// --- Lift
/datum/shuttle/autodock/multi/lift/nuclear_silo
name = "Bunker Lift"
current_location = "nav_nuclear_silo_lift_upper_level"
shuttle_area = /area/turbolift/nuclear_silo/bunker_lift
destination_tags = list(
"nav_nuclear_silo_lift_lower_level",
"nav_nuclear_silo_lift_upper_level",
)
/obj/effect/shuttle_landmark/lift/nuclear_silo_lower_level
name = "Nuclear Missile Silo Bunker - Lower Level"
landmark_tag = "nav_nuclear_silo_lift_lower_level"
base_area = /area/nuclear_silo/lower_level_lift
base_turf = /turf/simulated/floor/plating
/obj/effect/shuttle_landmark/lift/nuclear_silo_upper_level
name = "Nuclear Missile Silo Bunker - Upper Level"
landmark_tag = "nav_nuclear_silo_lift_upper_level"
base_area = /area/nuclear_silo/upper_level_lift
base_turf = /turf/simulated/open
/obj/machinery/computer/shuttle_control/multi/lift/nuclear_silo
shuttle_tag = "Bunker Lift"
// --------------------- surface, South
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_1a
name = "Surface, Landing Pad, South, 1a"
landmark_tag = "nav_nuclear_silo_surface_south_1a"
dir = NORTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_1b
name = "Surface, Landing Pad, South, 1b"
landmark_tag = "nav_nuclear_silo_surface_south_1b"
dir = SOUTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_1c
name = "Surface, Landing Pad, South, 1c"
landmark_tag = "nav_nuclear_silo_surface_south_1c"
dir = EAST
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_1d
name = "Surface, Landing Pad, South, 1d"
landmark_tag = "nav_nuclear_silo_surface_south_1d"
dir = WEST
// ----
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_2a
name = "Surface, Landing Pad, South, 2a"
landmark_tag = "nav_nuclear_silo_surface_south_2a"
dir = NORTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_2b
name = "Surface, Landing Pad, South, 2b"
landmark_tag = "nav_nuclear_silo_surface_south_2b"
dir = SOUTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_2c
name = "Surface, Landing Pad, South, 2c"
landmark_tag = "nav_nuclear_silo_surface_south_2c"
dir = EAST
/obj/effect/shuttle_landmark/nuclear_silo/surface/south_2d
name = "Surface, Landing Pad, South, 2d"
landmark_tag = "nav_nuclear_silo_surface_south_2d"
dir = WEST
// --------------------- surface, North
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_1a
name = "Surface, Landing Pad, North, 1a"
landmark_tag = "nav_nuclear_silo_surface_north_1a"
dir = NORTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_1b
name = "Surface, Landing Pad, North, 1b"
landmark_tag = "nav_nuclear_silo_surface_north_1b"
dir = SOUTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_1c
name = "Surface, Landing Pad, North, 1c"
landmark_tag = "nav_nuclear_silo_surface_north_1c"
dir = EAST
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_1d
name = "Surface, Landing Pad, North, 1d"
landmark_tag = "nav_nuclear_silo_surface_north_1d"
dir = WEST
// ----
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_2a
name = "Surface, Landing Pad, North, 2a"
landmark_tag = "nav_nuclear_silo_surface_north_2a"
dir = NORTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_2b
name = "Surface, Landing Pad, North, 2b"
landmark_tag = "nav_nuclear_silo_surface_north_2b"
dir = SOUTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_2c
name = "Surface, Landing Pad, North, 2c"
landmark_tag = "nav_nuclear_silo_surface_north_2c"
dir = EAST
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_2d
name = "Surface, Landing Pad, North, 2d"
landmark_tag = "nav_nuclear_silo_surface_north_2d"
dir = WEST
// ----
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_3a
name = "Surface, Landing Pad, North, 3a"
landmark_tag = "nav_nuclear_silo_surface_north_3a"
dir = NORTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_3b
name = "Surface, Landing Pad, North, 3b"
landmark_tag = "nav_nuclear_silo_surface_north_3b"
dir = SOUTH
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_3c
name = "Surface, Landing Pad, North, 3c"
landmark_tag = "nav_nuclear_silo_surface_north_3c"
dir = EAST
/obj/effect/shuttle_landmark/nuclear_silo/surface/north_3d
name = "Surface, Landing Pad, North, 3d"
landmark_tag = "nav_nuclear_silo_surface_north_3d"
dir = WEST
@@ -0,0 +1,471 @@
// --- Basic gear
/obj/outfit/admin/generic/nuclear_silo_crew
name = "Arctic Valley Citizen Uniform"
l_ear = /obj/item/device/radio/headset/ship
id = /obj/item/card/id/syndicate
l_pocket = /obj/item/device/radio/hailing
/obj/outfit/admin/generic/nuclear_silo_crew/get_id_access()
return list(
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_NUCLEAR_MISSILE_SILO,
)
/obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/get_id_access()
return list(
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_NUCLEAR_MISSILE_SILO, ACCESS_NUCLEAR_MISSILE_SILO_HIGH,
)
// --- Village
/obj/outfit/admin/generic/nuclear_silo_crew/upper/villager
name = "Arctic Valley Villager"
uniform = list(
/obj/item/clothing/under/color/black,
/obj/item/clothing/under/color/blue,
/obj/item/clothing/under/color/yellow,
/obj/item/clothing/under/suit_jacket,
/obj/item/clothing/under/waiter,
)
suit = list(
/obj/item/clothing/suit/storage/hooded/wintercoat,
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/random,
/obj/item/clothing/suit/storage/toggle/brown_jacket,
/obj/item/clothing/suit/storage/toggle/bomber,
/obj/item/clothing/suit/storage/toggle/cardigan,
/obj/item/clothing/suit/storage/toggle/flannel,
/obj/item/clothing/suit/storage/toggle/flannel/red,
/obj/item/clothing/suit/storage/toggle/greatcoat,
/obj/item/clothing/suit/storage/toggle/greatcoat/brown,
/obj/item/clothing/suit/storage/toggle/trench/green,
/obj/item/clothing/suit/storage/toggle/leather_jacket/designer,
/obj/item/clothing/suit/storage/toggle/leather_jacket/designer/black,
)
head = list(
/obj/item/clothing/head/beanie/random,
/obj/item/clothing/head/beanie/submariner,
/obj/item/clothing/head/beanie/winter,
/obj/item/clothing/head/flatcap,
/obj/item/clothing/head/newsboy,
/obj/item/clothing/head/softcap,
/obj/item/clothing/head/wool,
)
glasses = null
gloves = list(
/obj/item/clothing/gloves/black_leather,
/obj/item/clothing/gloves/mittens,
/obj/item/clothing/gloves/fingerless,
)
shoes = list(
/obj/item/clothing/shoes/sneakers,
/obj/item/clothing/shoes/sneakers/black,
/obj/item/clothing/shoes/sneakers/hitops/black,
/obj/item/clothing/shoes/sneakers/hitops/red,
/obj/item/clothing/shoes/winter,
/obj/item/clothing/shoes/workboots,
)
species_gloves = list(
SPECIES_UNATHI = /obj/item/clothing/gloves/black_leather/unathi,
SPECIES_TAJARA = /obj/item/clothing/gloves/black_leather/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/gloves/black_leather/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/gloves/black_leather/tajara,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/workboots/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/workboots/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/tajara,
)
/obj/outfit/admin/generic/nuclear_silo_crew/upper/villager_business_owner
name = "Arctic Valley Business Owner"
uniform = list(
/obj/item/clothing/under/zhongshan,
/obj/item/clothing/under/suit_jacket/white,
/obj/item/clothing/under/suit_jacket/tan,
/obj/item/clothing/under/suit_jacket/red,
/obj/item/clothing/under/suit_jacket/really_black,
/obj/item/clothing/under/suit_jacket/navy,
/obj/item/clothing/under/suit_jacket/checkered,
/obj/item/clothing/under/suit_jacket/charcoal,
/obj/item/clothing/under/suit_jacket/burgundy,
/obj/item/clothing/under/suit_jacket,
)
suit = null
glasses = null
shoes = /obj/item/clothing/shoes/laceup
back = /obj/item/storage/backpack/satchel/leather
accessory = /obj/item/clothing/accessory/holster/hip/brown
accessory_contents = list(/obj/item/gun/projectile/leyon)
l_ear = /obj/item/device/radio/headset/distress
backpack_contents = list(
/obj/item/storage/wallet/random = 1,
/obj/item/ammo_magazine/mc10mm/leyon = 2,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/winter/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/laceup/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/laceup/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/laceup/tajara,
)
//--- Bunker
/obj/outfit/admin/generic/nuclear_silo_crew/lower/silo_resident
name = "Nuclear Missile Silo Resident"
uniform = list(
/obj/item/clothing/under/color/black,
/obj/item/clothing/under/color/blue,
/obj/item/clothing/under/color/yellow,
/obj/item/clothing/under/color/white,
/obj/item/clothing/under/color/red,
/obj/item/clothing/under/color/lightred,
)
suit = list(
/obj/item/clothing/suit/storage/hooded/wintercoat,
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/random,
/obj/item/clothing/suit/storage/toggle/brown_jacket,
/obj/item/clothing/suit/storage/toggle/bomber,
/obj/item/clothing/suit/storage/toggle/flannel,
/obj/item/clothing/suit/storage/toggle/flannel/red,
/obj/item/clothing/suit/storage/toggle/leather_jacket/designer,
/obj/item/clothing/suit/storage/toggle/leather_jacket/designer/black,
)
head = list(
/obj/item/clothing/head/beanie/random,
/obj/item/clothing/head/flatcap,
/obj/item/clothing/head/softcap,
)
glasses = null
gloves = list(
/obj/item/clothing/gloves/black_leather,
/obj/item/clothing/gloves/fingerless,
)
shoes = list(
/obj/item/clothing/shoes/sneakers,
/obj/item/clothing/shoes/sneakers/black,
/obj/item/clothing/shoes/sneakers/hitops/black,
/obj/item/clothing/shoes/sneakers/hitops/red,
/obj/item/clothing/shoes/workboots,
)
species_gloves = list(
SPECIES_UNATHI = /obj/item/clothing/gloves/black_leather/unathi,
SPECIES_TAJARA = /obj/item/clothing/gloves/black_leather/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/gloves/black_leather/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/gloves/black_leather/tajara,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/workboots/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/workboots/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/tajara,
)
/obj/outfit/admin/generic/nuclear_silo_crew/lower/silo_engineer
name = "Nuclear Missile Silo Engineer"
uniform = list(
/obj/item/clothing/under/service_overalls,
/obj/item/clothing/under/overalls,
/obj/item/clothing/under/color/brown,
)
suit = list(
/obj/item/clothing/suit/storage/toggle/highvis,
/obj/item/clothing/suit/storage/toggle/highvis_alt,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering,
/obj/item/clothing/suit/storage/hazardvest,
/obj/item/clothing/suit/storage/hazardvest/blue,
/obj/item/clothing/suit/storage/hazardvest/green,
/obj/item/clothing/suit/storage/hazardvest/red,
)
back = list(
/obj/item/storage/backpack/duffel,
/obj/item/storage/backpack/duffel/eng,
/obj/item/storage/backpack/industrial,
/obj/item/storage/backpack/messenger,
/obj/item/storage/backpack/messenger/engi,
/obj/item/storage/backpack/rucksack/tan,
/obj/item/storage/backpack/satchel/eng,
)
belt = list(
/obj/item/storage/belt/utility,
/obj/item/storage/belt/utility/alt,
/obj/item/storage/belt/utility/full,
/obj/item/storage/belt/utility/atmostech,
/obj/item/storage/belt/utility/very_full,
)
shoes = list(
/obj/item/clothing/shoes/cowboy,
/obj/item/clothing/shoes/workboots,
/obj/item/clothing/shoes/workboots/dark,
)
head = list(
/obj/item/clothing/head/hardhat,
/obj/item/clothing/head/hardhat/dblue,
/obj/item/clothing/head/hardhat/green,
/obj/item/clothing/head/hardhat/red,
/obj/item/clothing/head/hardhat/orange,
/obj/item/clothing/head/softcap/engineering,
)
glasses = null
backpack_contents = list(
/obj/item/tape_roll = 1,
/obj/item/taperoll/engineering = 1,
/obj/item/device/magnetic_lock/engineering = 1,
/obj/item/device/gps/engineering = 1,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/workboots/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/workboots/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/tajara,
)
/obj/outfit/admin/generic/nuclear_silo_crew/lower/silo_doctor
name = "Nuclear Missile Silo Doctor"
uniform = list(
/obj/item/clothing/under/rank/medical,
/obj/item/clothing/under/rank/medical/surgeon,
/obj/item/clothing/under/rank/medical/generic,
/obj/item/clothing/under/color/white,
/obj/item/clothing/under/color/lightgreen,
)
suit = list(
/obj/item/clothing/suit/storage/toggle/med_dep_jacket,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/para_jacket,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical,
)
back = list(
/obj/item/storage/backpack/satchel,
/obj/item/storage/backpack/satchel/leather,
/obj/item/storage/backpack/satchel/pocketbook,
/obj/item/storage/backpack/messenger/med,
/obj/item/storage/backpack/medic,
/obj/item/storage/backpack/duffel/med,
)
belt = list(
/obj/item/storage/belt/medical/paramedic/full,
/obj/item/storage/belt/medical/paramedic/combat/full,
/obj/item/storage/belt/medical/full,
)
gloves = list(
/obj/item/clothing/gloves/latex,
/obj/item/clothing/gloves/latex/nitrile,
)
shoes = list(
/obj/item/clothing/shoes/sneakers/medsci,
/obj/item/clothing/shoes/sneakers/hitops,
/obj/item/clothing/shoes/sneakers/hitops/green,
/obj/item/clothing/shoes/sneakers,
/obj/item/clothing/shoes/sneakers/green,
)
head = list(
/obj/item/clothing/head/softcap/medical,
/obj/item/clothing/head/beret/medical,
/obj/item/clothing/head/bandana/medical,
)
mask = null
glasses = null
r_pocket = /obj/item/reagent_containers/hypospray
l_pocket = /obj/item/device/healthanalyzer
species_gloves = list(
SPECIES_UNATHI = /obj/item/clothing/gloves/latex/nitrile/unathi,
SPECIES_TAJARA = /obj/item/clothing/gloves/latex/nitrile/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/gloves/latex/nitrile/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/gloves/latex/nitrile/tajara,
)
/obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_researcher
name = "Nuclear Missile Silo Researcher"
uniform = list(
/obj/item/clothing/under/rank/medical/surgeon,
/obj/item/clothing/under/rank/scientist,
/obj/item/clothing/under/color/white,
/obj/item/clothing/under/color/purple,
/obj/item/clothing/under/color/lightpurple,
)
suit = list(
/obj/item/clothing/suit/storage/toggle/longcoat,
/obj/item/clothing/suit/storage/hooded/wintercoat/science,
/obj/item/clothing/suit/storage/toggle/sci_dep_jacket,
)
back = list(
/obj/item/storage/backpack/satchel/leather,
/obj/item/storage/backpack/satchel/pocketbook,
)
gloves = null
shoes = list(
/obj/item/clothing/shoes/laceup,
/obj/item/clothing/shoes/laceup/brown,
/obj/item/clothing/shoes/sneakers/hitops/black,
)
head = null
glasses = null
backpack_contents = list(
/obj/item/folder = 1,
/obj/item/folder/purple = 1,
/obj/item/clipboard = 1,
/obj/item/pen/fountain/black = 1,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/sneakers/hitops/black,
SPECIES_TAJARA = /obj/item/clothing/shoes/laceup/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/laceup/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/laceup/tajara,
)
/obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_guard
name = "Nuclear Missile Silo Guard"
uniform = list(
/obj/item/clothing/under/tactical,
/obj/item/clothing/under/color/blue,
/obj/item/clothing/under/color/darkblue,
/obj/item/clothing/under/rank/security,
)
suit = list(
/obj/item/clothing/suit/storage/hooded/wintercoat/security,
/obj/item/clothing/suit/storage/toggle/warden,
/obj/item/clothing/suit/storage/toggle/leather_jacket/military/tan,
/obj/item/clothing/suit/storage/toggle/sec_dep_jacket,
)
back = list(
/obj/item/storage/backpack/rucksack/blue,
/obj/item/storage/backpack/rucksack/navy,
/obj/item/storage/backpack/messenger/sec,
)
belt = list(
/obj/item/storage/belt/security/full,
/obj/item/storage/belt/security/full/alt,
/obj/item/storage/belt/military,
/obj/item/storage/belt/security/tactical,
)
gloves = list(
/obj/item/clothing/gloves/fingerless,
/obj/item/clothing/gloves/force/basic,
/obj/item/clothing/gloves/black_leather,
)
shoes = list(
/obj/item/clothing/shoes/combat,
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/shoes/jackboots/cavalry,
)
head = list(
/obj/item/clothing/head/beret/security,
/obj/item/clothing/head/beret/security/officer,
/obj/item/clothing/head/softcap/security,
/obj/item/clothing/head/warden,
)
glasses = list(
/obj/item/clothing/glasses/sunglasses/aviator,
/obj/item/clothing/glasses/sunglasses/sechud/aviator,
)
l_pocket = /obj/item/handcuffs/ziptie
r_pocket = /obj/item/device/gps
accessory = list (
/obj/item/clothing/accessory/holster/armpit,
/obj/item/clothing/accessory/holster/armpit/brown,
/obj/item/clothing/accessory/holster/hip,
/obj/item/clothing/accessory/holster/hip/brown,
/obj/item/clothing/accessory/holster/thigh,
/obj/item/clothing/accessory/holster/thigh/brown,
/obj/item/clothing/accessory/holster/waist,
/obj/item/clothing/accessory/holster/waist/brown,
)
species_gloves = list(
SPECIES_UNATHI = /obj/item/clothing/gloves/black_leather/unathi,
SPECIES_TAJARA = /obj/item/clothing/gloves/black_leather/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/gloves/black_leather/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/gloves/black_leather/tajara,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/jackboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/jackboots/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/jackboots/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/jackboots/tajara,
)
/obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_base_commander
name = "Nuclear Missile Silo Base Commander"
uniform = list(
/obj/item/clothing/under/zhongshan,
/obj/item/clothing/under/suit_jacket/really_black,
/obj/item/clothing/under/suit_jacket/navy,
/obj/item/clothing/under/suit_jacket/checkered,
/obj/item/clothing/under/suit_jacket/charcoal,
/obj/item/clothing/under/suit_jacket/burgundy,
/obj/item/clothing/under/suit_jacket,
)
suit = null
glasses = /obj/item/clothing/glasses/sunglasses/aviator
shoes = /obj/item/clothing/shoes/laceup
back = list(
/obj/item/storage/backpack/satchel/leather,
/obj/item/storage/backpack/messenger,
/obj/item/storage/backpack/satchel/pocketbook,
)
accessory = /obj/item/clothing/accessory/holster/hip/brown
accessory_contents = list(/obj/item/gun/projectile/revolver)
id = /obj/item/card/id/syndicate
l_ear = /obj/item/device/radio/headset/distress
backpack_contents = list(
/obj/item/storage/wallet/random = 1,
/obj/item/ammo_magazine/a454 = 3,
/obj/random/smokable = 1,
/obj/item/flame/lighter/zippo = 1,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/jackboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/laceup/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/laceup/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/laceup/tajara,
)
/obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_military_attache
name = "Nuclear Missile Silo Military Attache"
uniform = list(
/obj/item/clothing/under/syndicate/tacticool,
/obj/item/clothing/under/tactical,
)
suit = list(
/obj/item/clothing/suit/storage/toggle/leather_jacket/military,
/obj/item/clothing/suit/storage/toggle/leather_jacket/military/old,
/obj/item/clothing/suit/storage/toggle/leather_jacket/military/old/alt,
/obj/item/clothing/suit/storage/toggle/leather_jacket/military/tan,
/obj/item/clothing/suit/storage/toggle/leather_jacket/flight/green,
/obj/item/clothing/suit/storage/toggle/leather_jacket/flight/white,
)
head = /obj/item/clothing/head/beret/red
glasses = /obj/item/clothing/glasses/sunglasses/aviator
shoes = /obj/item/clothing/shoes/combat
belt = /obj/item/storage/belt/military
back = list(
/obj/item/storage/backpack/satchel/leather,
/obj/item/storage/backpack/messenger,
/obj/item/storage/backpack/satchel/pocketbook,
)
id = /obj/item/card/id/syndicate
l_ear = /obj/item/device/radio/headset/distress
backpack_contents = list(
/obj/item/storage/box/fancy/cigarettes/dromedaryco = 1,
/obj/item/flame/lighter/zippo = 1,
//fluff documents, folder, fountain pen
)
belt_contents = list(
/obj/item/handcuffs/ziptie = 1,
/obj/item/melee/energy/sword/knife = 1,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/jackboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/jackboots/tajara,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/jackboots/tajara,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/jackboots/tajara,
)
@@ -0,0 +1,95 @@
/singleton/scenario/nuclear_silo
name = "Arctic Valley"
desc = "A small wooden village within a valley in an arctic environment, entirely unlabelled on starcharts. Scans indicate \
there may be more under the surface. As the SCCV Horizon is the closest vessel within range, it has been dispatched to make contact."
scenario_site_id = "nuclear_silo"
min_player_amount = 0
min_actor_amount = 0
scenario_announcements = /singleton/scenario_announcements/nuclear_silo
roles = list(
/singleton/role/nuclear_silo_crew/upper/villager,
/singleton/role/nuclear_silo_crew/upper/villager_business_owner,
/singleton/role/nuclear_silo_crew/lower/silo_resident,
/singleton/role/nuclear_silo_crew/lower/silo_engineer,
/singleton/role/nuclear_silo_crew/lower/silo_doctor,
/singleton/role/nuclear_silo_crew/lower/silo_researcher,
/singleton/role/nuclear_silo_crew/lower/silo_guard,
/singleton/role/nuclear_silo_crew/lower/silo_base_commander,
/singleton/role/nuclear_silo_crew/lower/silo_military_attache,
)
default_outfit = /obj/outfit/admin/generic/nuclear_silo_crew
base_area = /area/nuclear_silo
radio_frequency_name = "Arctic Valley"
/singleton/scenario_announcements/nuclear_silo
horizon_announcement_title = "SCC Vessel Sensor Relay Network"
horizon_unrestrict_landing_message = "SCCV Horizon, an SCC scouting vessel detected a hitherto uncontacted community within a small arctic valley on an \
exoplanet within your current sector. All current starcharts indicate that this planet does not exist. Several hundred lifesigns have been detected on \
the surface, collected in scattered communities. The community within an arctic valley seems to have the most hospitable environment for landing, and \
as such you have been authorized to land and make contact with this group. You are what makes this chainlink unbreakable."
offship_announcement_message = "A small unlabelled arctic exoplanet has been located within the sector. Sapient lifesigns are detected. The coordinates \
have been registered on the flight deck."
/singleton/role/nuclear_silo_crew/upper/villager
name = "Arctic Valley Villager"
desc = "You are a villager who lives in a small town in an arctic valley. You may or may not be aware of the nuclear silo below you, \
and could be anything from a hunter, to a farmer in better months, to a craftsman. You are equipped with cold weather clothing."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/upper/villager
/singleton/role/nuclear_silo_crew/upper/villager_business_owner
name = "Arctic Valley Business Owner"
desc = "You are a villager in the small town, and also run some kind of business. Perhaps you're the towns doctor, barkeep or shopkeeper. \
You have a suit, some money and a titchy pistol at your disposal."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/upper/villager_business_owner
/singleton/role/nuclear_silo_crew/lower/silo_resident
name = "Nuclear Silo Resident"
desc = "You work and live in the nuclear silo bunker. Perhaps you're an engineer or doctor off duty, or perhaps you're the chef or the janitor. \
You are equipped with some basic clothing."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/lower/silo_resident
/singleton/role/nuclear_silo_crew/lower/silo_engineer
name = "Nuclear Silo Engineer"
desc = "You work and live in the nuclear silo bunker. You are on-duty as an engineer, and are tasked with managing the power and oxygen recycling \
systems, to keep the lights on and everyone breathing. You are equipped with some tools, and more can be found in your storage room."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/lower/silo_engineer
/singleton/role/nuclear_silo_crew/lower/silo_doctor
name = "Nuclear Silo Doctor"
desc = "You work and live in the nuclear silo bunker. You are on-duty as a doctor, and are tasked with making sure people do not succumb to the \
dangers of the job. Patch holes, mix chemicals and perform surgeries. You are equipped with medicines and supplies, and more can be found in \
your storage room."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/lower/silo_doctor
/singleton/role/nuclear_silo_crew/lower/silo_researcher
name = "Nuclear Silo Researcher"
desc = "You work and live in the nuclear silo bunker. You are on-duty as a researcher, and are tasked with monitoring the nuclear missile. \
You are equipped with a labcoat and clerical supplies."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_researcher
/singleton/role/nuclear_silo_crew/lower/silo_guard
name = "Nuclear Silo Guard"
desc = "You work and live in the nuclear silo bunker. You are on-duty as a security guard, and are tasked with shooting anyone who tries to get in. \
Your job may entail shooting intruders, throwing rowdy silo residents in the communal cell to cool off, or distributing guns to your fellow \
residents. You are equipped with an empty holster and some basic security gear, and more can be found in the armoury."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_guard
/singleton/role/nuclear_silo_crew/lower/silo_base_commander
name = "Nuclear Silo Base Commander"
desc = "You command the nuclear silo bunker. You may be an agent for your government, a rebel or an independent, as decided by the storyteller. \
You are tasked with talking to people and smoothing out disagreements. Matters of security or military interest are handled by the attache. \
You are equipped with a fine suit and a loaded revolver. Pray your negotation skills are enough to not use it."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_base_commander
/singleton/role/nuclear_silo_crew/lower/silo_military_attache
name = "Nuclear Silo Military Attache"
desc = "You are the military attache attached to the nuclear silo bunker. You may be an agent for your government, a rebel or an independent, as \
decided by the storyteller. You are tasked with handling matters of security or military interest. Matters of diplomacy are handled by the \
base commander. You are equipped with military fatigues and a jacket, and your bedroom contains a gun and armour."
outfit = /obj/outfit/admin/generic/nuclear_silo_crew/lower/high_sec/silo_military_attache
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,92 @@
/singleton/biome/snow/nuclear_silo
turf_type = /turf/simulated/floor/exoplanet/snow
generators = list(
PLANET_TURF = list(BATCHED_NOISE, -0.2, 360, 16),
GRASSES = list(BATCHED_NOISE, -0.4, 360, 4),
LARGE_FLORA = list(POISSON_SAMPLE, 9),
SMALL_FLORA = list(POISSON_SAMPLE, 6),
)
spawn_types = list(
PLANET_TURF = list(/turf/simulated/floor/exoplanet/permafrost = 1),
GRASSES = list(
/obj/structure/flora/grass/both = 2,
/obj/structure/flora/grass/green = 1,
/obj/structure/flora/grass/brown = 1
),
LARGE_FLORA = list(
/obj/effect/floor_decal/snowdrift/large/random = 4,
/obj/structure/flora/rock/snow = 4,
/obj/structure/flora/tree/dead = 2,
/obj/structure/flora/tree/pine = 1,
/obj/effect/landmark/exoplanet_spawn/large_plant = 1
),
SMALL_FLORA = list(
/obj/structure/flora/bush = 2,
/obj/effect/floor_decal/snowrocks = 1,
/obj/effect/floor_decal/snowdrift/random = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 2
)
)
exclusive_generators = list(LARGE_FLORA)
/singleton/biome/snow/forest/nuclear_silo
generators = list(
GRASSES = list(BATCHED_NOISE, -0.4, 360, 4),
LARGE_FLORA = list(POISSON_SAMPLE, 4),
SMALL_FLORA = list(POISSON_SAMPLE, 2),
)
spawn_types = list(
GRASSES = list(
/obj/structure/flora/grass/both = 1,
/obj/structure/flora/grass/green = 2,
/obj/structure/flora/grass/brown = 1
),
LARGE_FLORA = list(
/obj/structure/flora/rock/snow = 1,
/obj/structure/flora/tree/dead = 2,
/obj/structure/flora/tree/pine = 4,
/obj/effect/landmark/exoplanet_spawn/large_plant = 3
),
SMALL_FLORA = list(
/obj/structure/flora/bush = 3,
/obj/effect/floor_decal/snowrocks = 1,
/obj/effect/floor_decal/snowdrift/random = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 3
)
)
/datum/exoplanet_theme/snow/nuclear_silo
name = "Boreal Forest"
surface_turfs = list(
/turf/simulated/mineral/planet
)
possible_biomes = list(
BIOME_POLAR = list(
BIOME_ARID = /singleton/biome/snow/nuclear_silo,
BIOME_SEMIARID = /singleton/biome/snow/nuclear_silo
),
BIOME_COOL = list(
BIOME_ARID = /singleton/biome/snow/nuclear_silo,
BIOME_SEMIARID = /singleton/biome/snow/forest/nuclear_silo
)
)
heat_levels = list(
BIOME_POLAR = 0.3,
BIOME_COOL = 1.0,
)
humidity_levels = list(
BIOME_ARID = 0.7,
BIOME_SEMIARID = 1.0
)
/datum/exoplanet_theme/snow/nuclear_silo/mountain
mountain_threshold = 0.0
/datum/exoplanet_theme/snow/foothills/nuclear_silo
name = "Foothills"
heat_levels = list(
BIOME_POLAR = 0.7,
BIOME_COOL = 1.0
)
mountain_threshold = 0.6