Takes Stellar Delight apart

This commit is contained in:
Chompstation Bot
2021-11-01 21:58:31 +00:00
parent 972b11c29a
commit 0851b4f14c
20 changed files with 660 additions and 644 deletions

View File

@@ -66,10 +66,18 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called
#define NETWORK_PRISON "Prison"
#define NETWORK_SECURITY "Security"
#define NETWORK_INTERROGATION "Interrogation"
<<<<<<< HEAD
#define NETWORK_TELECOM "Tcomms"
#define NETWORK_TCOMMS "Telecommunications" //YW ADD: needs to be defined here or it freaks out
#define NETWORK_OUTSIDE "Outside" //YW ADD: ditto
#define NETWORK_SUBSTATIONS "Substations" //YW ADD: and again
||||||| parent of 2bb3d46cf5... Merge pull request #11734 from Heroman3003/sd-with-modules
#define NETWORK_TELECOM "Tcomms"
=======
#define NETWORK_TELECOM "Telecomms"
#define NETWORK_EXPLORATION "Exploration"
#define NETWORK_XENOBIO "Xenobiology"
>>>>>>> 2bb3d46cf5... Merge pull request #11734 from Heroman3003/sd-with-modules
#define NETWORK_THUNDER "Entertainment" //VOREStation Edit: broader definition
#define NETWORK_COMMUNICATORS "Communicators"
#define NETWORK_ALARM_ATMOS "Atmosphere Alarms"

View File

@@ -109,6 +109,12 @@ var/global/list/engineering_networks = list(
/obj/machinery/camera/network/telecom
network = list(NETWORK_TCOMMS) //yw edit
/obj/machinery/camera/network/exploration
network = list(NETWORK_EXPLORATION)
/obj/machinery/camera/network/research/xenobio
network = list(NETWORK_RESEARCH, NETWORK_XENOBIO)
/obj/machinery/camera/network/thunder
network = list(NETWORK_THUNDER)
invuln = 1

View File

@@ -24,3 +24,12 @@
"Entertainment",
"Communicators"
)
/obj/machinery/computer/security/xenobio
name = "xenobiology camera monitor"
desc = "Used to access the xenobiology cell cameras."
icon_keyboard = "mining_key"
icon_screen = "mining"
network = list(NETWORK_XENOBIO)
circuit = /obj/item/weapon/circuitboard/security/xenobio
light_color = "#F9BBFC"

View File

@@ -8,6 +8,10 @@
/obj/machinery/cryopod/robot
spawnpoint_type = /datum/spawnpoint/cyborg
// Used at centcomm for the elevator
/obj/machinery/cryopod/robot/door/dorms
spawnpoint_type = /datum/spawnpoint/tram
/obj/machinery/cryopod/robot/door/gateway
name = "public teleporter"
desc = "The short-range teleporter you might've came in from. You could leave easily using this."

View File

@@ -60,3 +60,10 @@
build_path = /obj/machinery/computer/id_restorer
board_type = new /datum/frame/frame_types/id_restorer
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)
/obj/item/weapon/circuitboard/security/xenobio
name = T_BOARD("xenobiology camera monitor")
build_path = /obj/machinery/computer/security/xenobio
network = list(NETWORK_XENOBIO)
req_access = list()
matter = list(MAT_STEEL = 50, MAT_GLASS = 50)

View File

@@ -78,3 +78,29 @@ var/list/spawntypes = list()
/datum/spawnpoint/cyborg/New()
..()
turfs = latejoin_cyborg
/obj/effect/landmark/arrivals
name = "JoinLateShuttle"
delete_me = 1
/obj/effect/landmark/arrivals/New()
latejoin += loc
..()
var/global/list/latejoin_tram = list()
/obj/effect/landmark/tram
name = "JoinLateTram"
delete_me = 1
/obj/effect/landmark/tram/New()
latejoin_tram += loc // There's no tram but you know whatever man!
..()
/datum/spawnpoint/tram
display_name = "Tram Station"
msg = "will arrive to the station shortly by shuttle"
/datum/spawnpoint/tram/New()
..()
turfs = latejoin_tram

View File

@@ -453,6 +453,9 @@
has_logs = 1
can_rotate = 0
/obj/machinery/vending/wallmed1/public
products = list(/obj/item/stack/medical/bruise_pack = 8,/obj/item/stack/medical/ointment = 8,/obj/item/weapon/reagent_containers/hypospray/autoinjector = 16,/obj/item/device/healthanalyzer = 4)
/obj/machinery/vending/security
name = "SecTech"
desc = "A security equipment vendor."

View File

@@ -30,3 +30,26 @@
//20% chance a non-expert makes it
else if(prob(20))
stock(A)
//Chemistry 'chemavator'
/obj/machinery/smartfridge/chemistry/chemvator
name = "\improper Smart Chemavator - Upper"
desc = "A refrigerated storage unit for medicine and chemical storage. Now sporting a fancy system of pulleys to lift bottles up and down."
var/obj/machinery/smartfridge/chemistry/chemvator/attached
/obj/machinery/smartfridge/chemistry/chemvator/down/Destroy()
attached = null
return ..()
/obj/machinery/smartfridge/chemistry/chemvator/down
name = "\improper Smart Chemavator - Lower"
/obj/machinery/smartfridge/chemistry/chemvator/down/Initialize()
. = ..()
var/obj/machinery/smartfridge/chemistry/chemvator/above = locate(/obj/machinery/smartfridge/chemistry/chemvator,get_zstep(src,UP))
if(istype(above))
above.attached = src
attached = above
item_records = attached.item_records
else
to_chat(world,"<span class='danger'>[src] at [x],[y],[z] cannot find the unit above it!</span>")

View File

@@ -0,0 +1,20 @@
// Invisible object that blocks z transfer to/from its turf and the turf above.
/obj/effect/ceiling
invisibility = 101 // nope cant see this
anchored = 1
can_atmos_pass = ATMOS_PASS_PROC
/obj/effect/ceiling/CanZASPass(turf/T, is_zone)
if(T == GetAbove(src))
return FALSE // Keep your air up there, buddy
return TRUE
/obj/effect/ceiling/CanPass(atom/movable/mover, turf/target)
if(target == GetAbove(src))
return FALSE
return TRUE
/obj/effect/ceiling/Uncross(atom/movable/mover, turf/target)
if(target == GetAbove(src))
return FALSE
return TRUE

View File

@@ -2,8 +2,11 @@
#include "stellar_delight_areas.dm"
#include "stellar_delight_defines.dm"
#include "stellar_delight_misc.dm"
#include "stellar_delight_jobs.dm"
#include "stellar_delight_shuttle_defs.dm"
#include "stellar_delight_telecomms.dm"
#include "stellar_delight_things.dm"
#include "stellar_delight_turfs.dm"
#include "..\offmap_vr\common_offmaps.dm"
#include "..\tether\tether_jobs.dm"

View File

@@ -6,7 +6,7 @@
dynamic_lighting = TRUE
/area/maintenance/stellardelight
name = "maintenance"
name = "Maintenance"
icon = 'icons/turf/areas_vr.dmi'
icon_state = "purblasqu"
flags = RAD_SHIELDED
@@ -35,67 +35,67 @@
icon_state = "deckmaint1"
/area/maintenance/stellardelight/deck1/portfore
name = "deck one port forward maintenance"
name = "Deck One Port Forward Maintenance"
/area/maintenance/stellardelight/deck1/starboardfore
name = "deck one starboard forward maintenance"
name = "Deck One Starboard Forward Maintenance"
/area/maintenance/stellardelight/deck1/portcent
name = "deck one port center maintenance"
name = "Deck One Port Center Maintenance"
/area/maintenance/stellardelight/deck1/starboardcent
name = "deck one starboard center maintenance"
name = "Deck One Starboard Center Maintenance"
/area/maintenance/stellardelight/deck1/portaft
name = "deck one port aft maintenance"
name = "Deck One Port Aft Maintenance"
/area/maintenance/stellardelight/deck1/exploration
name = "exploration maintenance"
name = "Exploration Maintenance"
/area/maintenance/stellardelight/deck1/starboardaft
name = "deck one starboard aft maintenance"
name = "Deck One starboard aft Maintenance"
/area/maintenance/stellardelight/deck2
icon_state = "deckmaint2"
/area/maintenance/stellardelight/deck2/portfore
name = "deck two port forward maintenance"
name = "Deck Two Port Forward Maintenance"
/area/maintenance/stellardelight/deck2/starboardfore
name = "deck two starboard forward maintenance"
name = "Deck Two Starboard Forward Maintenance"
/area/maintenance/stellardelight/deck2/portaft
name = "deck two port aft maintenance"
name = "Deck Two Port Aft Maintenance"
/area/maintenance/stellardelight/deck2/starboardaft
name = "deck two starboard aft maintenance"
name = "Deck Two Starboard Aft Maintenance"
/area/maintenance/stellardelight/deck2/portsolars
name = "deck two port solar array"
name = "Deck Two Port Solar Array"
/area/maintenance/stellardelight/deck2/starboardsolars
name = "deck two starboard solar array"
name = "Deck Two Starboard Solar Array"
/area/maintenance/stellardelight/deck2/atmos
name = "atmospherics maintenance"
name = "Atmospherics Maintenance"
/area/maintenance/stellardelight/deck3
icon_state = "deckmaint3"
/area/maintenance/stellardelight/deck3/portfore
name = "deck three port forward maintenance"
name = "Deck Three Port Forward Maintenance"
/area/maintenance/stellardelight/deck3/starboardfore
name = "deck three starboard forward maintenance"
name = "Deck Three Starboard Forward Maintenance"
/area/maintenance/stellardelight/deck3/portcent
name = "deck three port central maintenance"
name = "Deck Three Port Central Maintenance"
/area/maintenance/stellardelight/deck3/starboardcent
name = "deck three starboard central maintenance"
name = "Deck Three Starboard Central Maintenance"
/area/maintenance/stellardelight/deck3/portaft
name = "deck three port aft maintenance"
name = "Deck Three Port Aft Maintenance"
/area/maintenance/stellardelight/deck3/starboardaft
name = "deck three starboard aft maintenance"
name = "Deck Three Starboard Aft Maintenance"
/area/maintenance/stellardelight/deck3/foreportrooma
name = "deck three forward port construction a"
name = "Deck Three Forward Port Construction A"
/area/maintenance/stellardelight/deck3/foreportroomb
name = "deck three forward port construction b"
name = "Deck Three Forward Port Construction B"
/area/maintenance/stellardelight/deck3/forestarrooma
name = "deck three forward starboard construction a"
name = "Deck Three Forward Starboard Construction A"
/area/maintenance/stellardelight/deck3/forestarroomb
name = "deck three forward starboard construction b"
name = "Deck Three Forward Starboard Construction B"
/area/maintenance/stellardelight/deck3/forestarroomc
name = "deck three forward starboard construction c"
name = "Deck Three Forward Starboard Construction C"
/area/maintenance/stellardelight/deck3/aftstarroom
name = "deck three aft starboard construction "
name = "Deck Three Aft Starboard Construction"
/area/maintenance/stellardelight/deck3/portfore

View File

@@ -16,10 +16,6 @@
//Camera networks
#define NETWORK_HALLS "Halls"
#define NETWORK_TCOMMS "Telecommunications" //Using different from Polaris one for better name
#define NETWORK_OUTSIDE "Outside"
#define NETWORK_EXPLORATION "Exploration"
#define NETWORK_XENOBIO "Xenobiology"
/datum/map/stellar_delight/New()
..()
@@ -86,7 +82,6 @@
NETWORK_EXPLORATION,
NETWORK_MEDICAL,
NETWORK_MINE,
NETWORK_OUTSIDE,
NETWORK_RESEARCH,
NETWORK_RESEARCH_OUTPOST,
NETWORK_ROBOTS,
@@ -330,370 +325,3 @@
desc = "The Virgo 2 Aerostat away mission."
mappath = 'maps/expedition_vr/aerostat/aerostat_science_outpost.dmm'
associated_map_datum = /datum/map_z_level/common_lateload/away_aerostat
////////////////SHUTTLE TIME///////////////////
//////////////////////////////////////////////////////////////
// Escape shuttle and pods
/datum/shuttle/autodock/ferry/emergency/escape
name = "Escape"
location = FERRY_LOCATION_OFFSITE
shuttle_area = /area/shuttle/escape
warmup_time = 10
landmark_offsite = "escape_cc"
landmark_station = "escape_station"
landmark_transition = "escape_transit"
move_time = SHUTTLE_TRANSIT_DURATION_RETURN
move_direction = SOUTH
docking_controller_tag = "escape_shuttle"
/datum/shuttle/autodock/ferry/escape_pod/portescape
name = "Port Escape Pod"
location = FERRY_LOCATION_STATION
shuttle_area = /area/stellardelight/deck2/portescape
warmup_time = 0
landmark_station = "port_ship_berth"
landmark_offsite = "port_escape_cc"
landmark_transition = "port_escape_transit"
docking_controller_tag = "port_escape_pod"
move_time = SHUTTLE_TRANSIT_DURATION_RETURN
move_direction = EAST
/datum/shuttle/autodock/ferry/escape_pod/starboardescape
name = "Starboard Escape Pod"
location = FERRY_LOCATION_STATION
shuttle_area = /area/stellardelight/deck2/starboardescape
warmup_time = 0
landmark_station = "starboard_ship_berth"
landmark_offsite = "starboard_escape_cc"
landmark_transition = "starboard_escape_transit"
docking_controller_tag = "starboard_escape_pod"
move_time = SHUTTLE_TRANSIT_DURATION_RETURN
move_direction = WEST
//////////////////////////////////////////////////////////////
// Supply shuttle
/datum/shuttle/autodock/ferry/supply/cargo
name = "Supply"
location = FERRY_LOCATION_OFFSITE
shuttle_area = /area/shuttle/supply
warmup_time = 10
landmark_offsite = "supply_cc"
landmark_station = "supply_station"
docking_controller_tag = "supply_shuttle"
flags = SHUTTLE_FLAGS_PROCESS|SHUTTLE_FLAGS_SUPPLY
move_direction = WEST
/////EXPLORATION SHUTTLE
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/stellardelight/exploration
name = "boat control console"
shuttle_tag = "Exploration Shuttle"
req_one_access = null
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/exploration
name = "Exploration Shuttle Landing Pad"
base_area = /area/stellardelight/deck1/shuttlebay
base_turf = /turf/simulated/floor/reinforced
landmark_tag = "sd_explo"
docking_controller = "explodocker_bay"
shuttle_type = /datum/shuttle/autodock/overmap/exboat
// The 'shuttle'
/datum/shuttle/autodock/overmap/exboat
name = "Exploration Shuttle"
current_location = "sd_explo"
docking_controller_tag = "explodocker"
shuttle_area = /area/stellardelight/deck1/exploshuttle
fuel_consumption = 0
defer_initialisation = TRUE
range = 1
/////MINING SHUTTLE
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/stellardelight/mining
name = "boat control console"
shuttle_tag = "Mining Shuttle"
req_one_access = null
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/mining
name = "Mining Shuttle Landing Pad"
base_area = /area/stellardelight/deck1/shuttlebay
base_turf = /turf/simulated/floor/reinforced
landmark_tag = "sd_mining"
docking_controller = "miningdocker_bay"
shuttle_type = /datum/shuttle/autodock/overmap/mineboat
// The 'shuttle'
/datum/shuttle/autodock/overmap/mineboat
name = "Mining Shuttle"
current_location = "sd_mining"
docking_controller_tag = "miningdocker"
shuttle_area = /area/stellardelight/deck1/miningshuttle
fuel_consumption = 0
defer_initialisation = TRUE
range = 1
/////STARSTUFF/////
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/sdboat
name = "Starstuff control console"
shuttle_tag = "Starstuff"
req_one_access = list(access_pilot)
/obj/effect/overmap/visitable/ship/landable/sd_boat
name = "NTV Starstuff"
desc = "A small shuttle from the NRV Stellar Delight."
vessel_mass = 1000
vessel_size = SHIP_SIZE_TINY
shuttle = "Starstuff"
known = TRUE
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/sdboat
name = "Port Shuttlepad"
base_area = /area/stellardelight/deck3/exterior
base_turf = /turf/simulated/floor/reinforced/airless
landmark_tag = "port_shuttlepad"
docking_controller = "sd_port_landing"
shuttle_type = /datum/shuttle/autodock/overmap/sdboat
/datum/shuttle/autodock/overmap/sdboat
name = "Starstuff"
current_location = "port_shuttlepad"
docking_controller_tag = "sd_bittyshuttle"
shuttle_area = list(/area/shuttle/sdboat/fore,/area/shuttle/sdboat/aft)
fuel_consumption = 2
defer_initialisation = TRUE
/area/shuttle/sdboat/fore
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Starstuff Cockpit"
requires_power = 1
/area/shuttle/sdboat/aft
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Starstuff Crew Compartment"
requires_power = 1
/////Virgo Flyer/////
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/ccboat
name = "Virgo Flyer control console"
shuttle_tag = "Virgo Flyer"
req_one_access = list(access_pilot)
/obj/effect/overmap/visitable/ship/landable/ccboat
name = "NTV Virgo Flyer"
desc = "A small shuttle from Central Command."
vessel_mass = 1000
vessel_size = SHIP_SIZE_TINY
shuttle = "Virgo Flyer"
known = TRUE
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/ccboat
name = "Central Command Shuttlepad"
base_area = /area/shuttle/centcom/ccbay
base_turf = /turf/simulated/floor/reinforced
landmark_tag = "cc_shuttlepad"
docking_controller = "cc_landing_pad"
shuttle_type = /datum/shuttle/autodock/overmap/ccboat
/datum/shuttle/autodock/overmap/ccboat
name = "Virgo Flyer"
current_location = "cc_shuttlepad"
docking_controller_tag = "ccboat"
shuttle_area = /area/shuttle/ccboat
fuel_consumption = 0
defer_initialisation = TRUE
/area/shuttle/ccboat
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Virgo Flyer"
requires_power = 0
/area/shuttle/centcom/ccbay
icon = 'icons/turf/areas_vr.dmi'
icon_state = "bluwhisqu"
name = "Central Command Shuttle Bay"
requires_power = 0
dynamic_lighting = 0
/////LANDING LANDMARKS/////
/obj/effect/shuttle_landmark/premade/sd/deck1/portairlock
name = "Near Deck 1 Port Airlock"
landmark_tag = "sd-1-23-54"
/obj/effect/shuttle_landmark/premade/sd/deck1/aft
name = "Near Deck 1 Aft"
landmark_tag = "sd-1-67-15"
/obj/effect/shuttle_landmark/premade/sd/deck1/fore
name = "Near Deck 1 Fore"
landmark_tag = "sd-1-70-130"
/obj/effect/shuttle_landmark/premade/sd/deck1/starboard
name = "Near Deck 1 Starboard"
landmark_tag = "sd-1-115-85"
/obj/effect/shuttle_landmark/premade/sd/deck2/port
name = "Near Deck 2 Port"
landmark_tag = "sd-2-25-98"
/obj/effect/shuttle_landmark/premade/sd/deck2/starboard
name = "Near Deck 2 Starboard"
landmark_tag = "sd-2-117-98"
/obj/effect/shuttle_landmark/premade/sd/deck3/portairlock
name = "Near Deck 3 Port Airlock"
landmark_tag = "sd-3-22-78"
/obj/effect/shuttle_landmark/premade/sd/deck3/portlanding
name = "Near Deck 3 Port Landing Pad"
landmark_tag = "sd-3-36-33"
/obj/effect/shuttle_landmark/premade/sd/deck3/starboardlanding
name = "Near Deck 3 Starboard Landing Pad"
landmark_tag = "sd-3-104-33"
/obj/effect/shuttle_landmark/premade/sd/deck3/starboardairlock
name = "Near Deck 3 Starboard Airlock"
landmark_tag = "sd-3-120-78"
/obj/item/weapon/paper/dockingcodes/sd
name = "Stellar Delight Docking Codes"
codes_from_z = Z_LEVEL_SHIP_LOW
/////FOR CENTCOMM (at least)/////
/obj/effect/overmap/visitable/sector/virgo3b
name = "Virgo 3B"
desc = "Full of phoron, and home to the NSB Adephagia."
scanner_desc = @{"[i]Registration[/i]: NSB Adephagia
[i]Class[/i]: Installation
[i]Transponder[/i]: Transmitting (CIV), NanoTrasen IFF
[b]Notice[/b]: NanoTrasen Base, authorized personnel only"}
known = TRUE
in_space = FALSE
icon = 'icons/obj/overmap_vr.dmi'
icon_state = "virgo3b"
skybox_icon = 'icons/skybox/virgo3b.dmi'
skybox_icon_state = "small"
skybox_pixel_x = 0
skybox_pixel_y = 0
initial_restricted_waypoints = list("Central Command Shuttlepad" = list("cc_shuttlepad"))
/////SD Starts at V3b to pick up crew refuel and repair (And to make sure it doesn't spawn on hazards)
/obj/effect/overmap/visitable/sector/virgo3b/Initialize()
. = ..()
for(var/obj/effect/overmap/visitable/ship/stellar_delight/sd in world)
sd.forceMove(loc, SOUTH)
return
/obj/effect/overmap/visitable/sector/virgo3b/Crossed(var/atom/movable/AM)
. = ..()
announce_atc(AM,going = FALSE)
/obj/effect/overmap/visitable/sector/virgo3b/Uncrossed(var/atom/movable/AM)
. = ..()
announce_atc(AM,going = TRUE)
/obj/effect/overmap/visitable/sector/virgo3b/proc/announce_atc(var/atom/movable/AM, var/going = FALSE)
var/message = "Sensor contact for vessel '[AM.name]' has [going ? "left" : "entered"] ATC control area."
//For landables, we need to see if their shuttle is cloaked
if(istype(AM, /obj/effect/overmap/visitable/ship/landable))
var/obj/effect/overmap/visitable/ship/landable/SL = AM //Phew
var/datum/shuttle/autodock/multi/shuttle = SSshuttles.shuttles[SL.shuttle]
if(!istype(shuttle) || !shuttle.cloaked) //Not a multishuttle (the only kind that can cloak) or not cloaked
atc.msg(message)
//For ships, it's safe to assume they're big enough to not be sneaky
else if(istype(AM, /obj/effect/overmap/visitable/ship))
atc.msg(message)
/obj/item/weapon/paper/sdshield
name = "ABOUT THE SHIELD GENERATOR"
info = "<H1>ABOUT THE SHIELD GENERATOR</H1><BR><BR>If you&#39;re up here you are more than likely worried about hitting rocks or some other such thing. It is good to worry about such things as that is an inevitability.<BR><BR>The Stellar Delight is a rather compact vessel, so a setting of 55 to the range will just barely cover her aft. <BR><BR>It is recommended that you turn off all of the different protection types except multi dimensional warp and whatever it is you&#39;re worried about running into. (probably meteors (hyperkinetic)). <BR><BR>With only those two and all the other default settings, the shield uses more than 6 MW to run, which is more than the ship can ordinarily produce. AS SUCH, it is also recommended that you reduce the input cap to whatever you find reasonable (being as it defaults to 1 MW, which is the entirety of the stock power supply) and activate and configure the shield BEFORE you need it. <BR><BR>The shield takes some time to expand its range to the desired specifications, and on top of that, under the default low power setting, takes around 40 seconds to spool up. Once it is active, the fully charged internal capacitors will last for around 1 to 2 minutes before depleting fully. You can increase the passive energy use to decrease the spool up time, but it also uses the stored energy much faster, so, that is not recommended except in dire emergencies.<BR><BR>So, this shield is not intended to be run indefinitely, unless you seriously beef up the ship&#39;s engine and power supply.<BR><BR>Fortunately, if you&#39;ve got a good pilot, you shouldn&#39;t really need the shield generator except in rare cases and only for short distances. Still, it is a good idea to configure the shield to be ready before you need it.<BR><BR>Good luck out there - <I>Budly Gregington</I>"
/obj/item/weapon/book/manual/sd_guide
name = "Stellar Delight User's Guide"
icon = 'icons/obj/library.dmi'
icon_state ="newscodex"
item_state = "newscodex"
author = "Central Command" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned
title = "Stellar Delight User's Guide"
/obj/item/weapon/book/manual/sd_guide/New()
..()
dat = {"<html>
<head>
<style>
h1 {font-size: 18px; margin: 15px 0px 5px;}
h2 {font-size: 15px; margin: 15px 0px 5px;}
h3 {font-size: 13px; margin: 15px 0px 5px;}
li {margin: 2px 0px 2px 15px;}
ul {margin: 5px; padding: 0px;}
ol {margin: 5px; padding: 0px 15px;}
body {font-size: 13px; font-family: Verdana;}
</style>
</head>
<body>
<h1>Stellar Delight Operations</h1>
<br><br>
Welcome to the Stellar Delight! Before you get started there are a few things you ought to know.
<br><br>
The Stellar Delight is a Nanotrasen response vessel operating in the Virgo-Erigone system. It's primary duty is in answering calls for help, investigating anomalies in space around the system, and generally responding to requests from Central Command or whoever else needs the services the vessel can provide. It has fully functioning security, medical, and research facilities, as well as a host of civillian facilities, in addition to the standard things one might expect to find on such a ship. That is to say, the ship doesn't have a highly defined specialization, it is just as capable as a small space station might be.
<br><br>
Notably though, there are some research facilities that are not safe to carry around. There is a refurbished Aerostat that has been set up over Virgo 2 that posesses a number of different, more dangerous research facilities. The command staff of this vessel has access to its docking codes in their offices.
<br><br>
Mining and Exploration will probably also want to disembark to do their respective duties.
<br><br>
The ship is ordinarily protected from many space hazards by an array of point defense turrets, however, it should be noted that this defense network is not infallible. If the ship encounters a dangerous environment, occasionally hazardous material may slip past the network and damage the ship.
<br><br><br>
<h1>Before Moving the Ship</h1>
<br><br>
The ship requires power to fuel and run its engines and sensors. While there may be some charge in the ship at the start of the shift, it is <b>HIGHLY RECOMMENDED</b> that the engine be started before attempting to move the ship. If any of the components responsible for moving the ship lose power (including but not limited to the helm control console and the thrusters), then you will be incapable of adjusting the ship's speed or heading until the problem is resolved.
<br><br>
Additionally, the shield generator should be configured before the ship moves, as it takes time to calibrate before it can be activated. The shield should not be run indefinitely however, as it uses more power than the ship ordinarily generates. You can however activate it for a short time if you know that you need to proceed through a dangerous reigon of space. For more information, see the configuration guide sheet in the shield control room on deck 3, aft of the Command Office section.
<br><br><br>
<h1>Starting and Moving the Ship</h1>
<br><br>
The ship can of course move around on its own, but a few steps need to/should be taken before you can do so.
<br><br>
-FIRST. <b>You should appoint a pilot.</b> If there isn't a pilot, or the pilot isn't responding, you should fax for a pilot. If no pilots respond to the fax within a reasonable timeframe, then, if you are qualified to fly Nanotrasen spacecraft you may fly the ship. Appointing a pilot to the bridge however should always be done even if you know how to fly and have access to the helm control console. <i><b>Refusing to attempt to appoint a pilot and just flying the ship yourself can be grounds for demotion to pilot.</i></b>
<br><br>
-SECOND. In order for the ship to move one must start the engines. The ship's fuel pump in Atmospherics must be turned on and configured. Atmospheric technicians may elect to modify the fuel mix to help the ship go faster or make the fuel last longer. Either way, once the fuel pump is on, you may use the engine control console on the bridge to activate the engines.
<br><br>
Once these steps have been taken, the helm control console should respond to input commands from the pilot.
<br><br><br>
<h1>Disembarking</h1>
<br><br>
Being a response vessel, the Stellar Delight has 3 shuttles in total.
<br><br>
The mining and exploration shuttles are located in the aft of deck 1 between their respective departments. Both of these shuttles are short jump shuttles, meaning, they are not suitable for more than ferrying people back and forth between the ship and the present destination. They do have a small range that they can traverse in their bluespace hops, but they must be within one 'grid square' of a suitable landing site to jump. As such, it is recommended that you avoid flying away from wherever either of these shuttles are without establishing a flight plan with the away teams to indicate a time of returning. In cases where the mining team and the exploration team want to go to different places, it may be necessary to fly from one location to the other now and then to facilitate both operations. However, it is recommended that exploration and mining be encouraged to enter the same operations areas, as the mining team is poorly armed, and the exploration team is ideally equipped for offsite defense and support of ship personnel.
<br><br>
There is also the Starstuff, a long range capable shuttle which is ordinarily docked on the port landing pad of deck 3. This shuttle is meant for general crew transport, but does require a pilot to be flown.
<br><br>
In cases where the shuttles will be docking with another facility, such as the Science outpost on the Virgo 2 Aerostat, docking codes may be required in order to be accessed. Anywhere requiring such codes will need to have them entered into the given shuttle's short jump console. It is recommended that anyone operating such a shuttle take note of the Stellar Delight's docking codes, as they will need them to dock with the ship. Any Nanotrasen owned facility that requires them that your ship has authorization to access will have the codes stored in the Command Offices.
<br><br>
A final note on disembarking. While it may not necessarily be their job to do so, it is highly encouraged for the Command staff to attempt to involve volunteers in off ship operations as necessary. Just make sure to let let it be known what kind of operation is happening when you ask. This being a response ship, it is very good to get as much help to handle whatever the issue is as thoroughly as possible.
<br><br>
All that said, have a safe trip. - Central Command Officer <i>Alyssa Trems</i> </body>
</html>
"}
//The pathfinder doesn't have a OM shuttle that they are in charge of, and so, doesn't need pilot access.
//Mostly to prevent explo from just commandeering the Starstuff as the explo shuttle without involving a pilot every round.
/datum/job/pathfinder
access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_explorer, access_gateway, access_pathfinder)
minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_explorer, access_gateway, access_pathfinder)
//Same as above, to discorage explo from taking off with the small ship without asking, SAR should not need pilot access.
/datum/job/sar
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_eva, access_maint_tunnels, access_external_airlocks)
minimal_access = list(access_medical, access_medical_equip, access_morgue)

View File

@@ -0,0 +1,10 @@
//The pathfinder doesn't have a OM shuttle that they are in charge of, and so, doesn't need pilot access.
//Mostly to prevent explo from just commandeering the Starstuff as the explo shuttle without involving a pilot every round.
/datum/job/pathfinder
access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_explorer, access_gateway, access_pathfinder)
minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_explorer, access_gateway, access_pathfinder)
//Same as above, to discorage explo from taking off with the small ship without asking, SAR should not need pilot access.
/datum/job/sar
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_eva, access_maint_tunnels, access_external_airlocks)
minimal_access = list(access_medical, access_medical_equip, access_morgue)

View File

@@ -1,133 +0,0 @@
///////////////////////////////////////////////////////////
/////Misc stuff from the tether that's likely to get used in one way or another!/////`
/obj/effect/landmark/arrivals
name = "JoinLateShuttle"
delete_me = 1
/obj/effect/landmark/arrivals/New()
latejoin += loc
..()
var/global/list/latejoin_tram = list()
/obj/effect/landmark/tram
name = "JoinLateTram"
delete_me = 1
/obj/effect/landmark/tram/New()
latejoin_tram += loc // There's no tram but you know whatever man!
..()
/datum/spawnpoint/tram
display_name = "Tram Station"
msg = "will arrive to the station shortly by shuttle"
/datum/spawnpoint/tram/New()
..()
turfs = latejoin_tram
/obj/machinery/camera/network/halls
network = list(NETWORK_HALLS)
/obj/machinery/camera/network/exploration
network = list(NETWORK_EXPLORATION)
/obj/machinery/camera/network/research/xenobio
network = list(NETWORK_RESEARCH, NETWORK_XENOBIO)
/obj/machinery/computer/security/xenobio
name = "xenobiology camera monitor"
desc = "Used to access the xenobiology cell cameras."
icon_keyboard = "mining_key"
icon_screen = "mining"
network = list(NETWORK_XENOBIO)
circuit = /obj/item/weapon/circuitboard/security/xenobio
light_color = "#F9BBFC"
/obj/item/weapon/circuitboard/security/xenobio
name = T_BOARD("xenobiology camera monitor")
build_path = /obj/machinery/computer/security/xenobio
network = list(NETWORK_XENOBIO)
req_access = list()
/obj/machinery/vending/wallmed1/public
products = list(/obj/item/stack/medical/bruise_pack = 8,/obj/item/stack/medical/ointment = 8,/obj/item/weapon/reagent_containers/hypospray/autoinjector = 16,/obj/item/device/healthanalyzer = 4)
/turf/unsimulated/mineral/virgo3b
blocks_air = TRUE
/area/tether/surfacebase/tram
name = "\improper Tram Station"
icon_state = "dk_yellow"
/turf/simulated/floor/maglev
name = "maglev track"
desc = "Magnetic levitation tram tracks. Caution! Electrified!"
icon = 'icons/turf/flooring/maglevs.dmi'
icon_state = "maglevup"
var/area/shock_area = /area/tether/surfacebase/tram
/turf/simulated/floor/maglev/Initialize()
. = ..()
shock_area = locate(shock_area)
// Walking on maglev tracks will shock you! Horray!
/turf/simulated/floor/maglev/Entered(var/atom/movable/AM, var/atom/old_loc)
if(isliving(AM) && !(AM.is_incorporeal()) && prob(50))
track_zap(AM)
/turf/simulated/floor/maglev/attack_hand(var/mob/user)
if(prob(75))
track_zap(user)
/turf/simulated/floor/maglev/proc/track_zap(var/mob/living/user)
if (!istype(user)) return
if (electrocute_mob(user, shock_area, src))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
/turf/unsimulated/floor/steel
icon = 'icons/turf/flooring/tiles_vr.dmi'
icon_state = "steel"
// Some turfs to make floors look better in centcom tram station.
/turf/unsimulated/floor/techfloor_grid
name = "floor"
icon = 'icons/turf/flooring/techfloor.dmi'
icon_state = "techfloor_grid"
/turf/unsimulated/floor/maglev
name = "maglev track"
desc = "Magnetic levitation tram tracks. Caution! Electrified!"
icon = 'icons/turf/flooring/maglevs.dmi'
icon_state = "maglevup"
/turf/unsimulated/wall/transit
icon = 'icons/turf/transit_vr.dmi'
/turf/unsimulated/floor/transit
icon = 'icons/turf/transit_vr.dmi'
/obj/effect/floor_decal/transit/orange
icon = 'icons/turf/transit_vr.dmi'
icon_state = "transit_techfloororange_edges"
/obj/effect/transit/light
icon = 'icons/turf/transit_128.dmi'
icon_state = "tube1-2"
VIRGO3B_TURF_CREATE(/turf/simulated/floor/outdoors/grass/sif)
/turf/simulated/floor/outdoors/grass/sif
turf_layers = list(
/turf/simulated/floor/outdoors/rocks/virgo3b,
/turf/simulated/floor/outdoors/dirt/virgo3b
)
VIRGO3B_TURF_CREATE(/turf/simulated/floor/outdoors/dirt)
/turf/simulated/floor/outdoors/dirt/virgo3b
icon = 'icons/turf/flooring/asteroid.dmi'
icon_state = "asteroid"
VIRGO3B_TURF_CREATE(/turf/simulated/floor/outdoors/rocks)

View File

@@ -0,0 +1,281 @@
////////////////SHUTTLE TIME///////////////////
//////////////////////////////////////////////////////////////
// Escape shuttle and pods
/datum/shuttle/autodock/ferry/emergency/escape
name = "Escape"
location = FERRY_LOCATION_OFFSITE
shuttle_area = /area/shuttle/escape
warmup_time = 10
landmark_offsite = "escape_cc"
landmark_station = "escape_station"
landmark_transition = "escape_transit"
move_time = SHUTTLE_TRANSIT_DURATION_RETURN
move_direction = SOUTH
docking_controller_tag = "escape_shuttle"
/datum/shuttle/autodock/ferry/escape_pod/portescape
name = "Port Escape Pod"
location = FERRY_LOCATION_STATION
shuttle_area = /area/stellardelight/deck2/portescape
warmup_time = 0
landmark_station = "port_ship_berth"
landmark_offsite = "port_escape_cc"
landmark_transition = "port_escape_transit"
docking_controller_tag = "port_escape_pod"
move_time = SHUTTLE_TRANSIT_DURATION_RETURN
move_direction = EAST
/datum/shuttle/autodock/ferry/escape_pod/starboardescape
name = "Starboard Escape Pod"
location = FERRY_LOCATION_STATION
shuttle_area = /area/stellardelight/deck2/starboardescape
warmup_time = 0
landmark_station = "starboard_ship_berth"
landmark_offsite = "starboard_escape_cc"
landmark_transition = "starboard_escape_transit"
docking_controller_tag = "starboard_escape_pod"
move_time = SHUTTLE_TRANSIT_DURATION_RETURN
move_direction = WEST
//////////////////////////////////////////////////////////////
// Supply shuttle
/datum/shuttle/autodock/ferry/supply/cargo
name = "Supply"
location = FERRY_LOCATION_OFFSITE
shuttle_area = /area/shuttle/supply
warmup_time = 10
landmark_offsite = "supply_cc"
landmark_station = "supply_station"
docking_controller_tag = "supply_shuttle"
flags = SHUTTLE_FLAGS_PROCESS|SHUTTLE_FLAGS_SUPPLY
move_direction = WEST
/////EXPLORATION SHUTTLE
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/stellardelight/exploration
name = "boat control console"
shuttle_tag = "Exploration Shuttle"
req_one_access = null
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/exploration
name = "Exploration Shuttle Landing Pad"
base_area = /area/stellardelight/deck1/shuttlebay
base_turf = /turf/simulated/floor/reinforced
landmark_tag = "sd_explo"
docking_controller = "explodocker_bay"
shuttle_type = /datum/shuttle/autodock/overmap/exboat
// The 'shuttle'
/datum/shuttle/autodock/overmap/exboat
name = "Exploration Shuttle"
current_location = "sd_explo"
docking_controller_tag = "explodocker"
shuttle_area = /area/stellardelight/deck1/exploshuttle
fuel_consumption = 0
defer_initialisation = TRUE
range = 1
/////MINING SHUTTLE
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/stellardelight/mining
name = "boat control console"
shuttle_tag = "Mining Shuttle"
req_one_access = null
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/mining
name = "Mining Shuttle Landing Pad"
base_area = /area/stellardelight/deck1/shuttlebay
base_turf = /turf/simulated/floor/reinforced
landmark_tag = "sd_mining"
docking_controller = "miningdocker_bay"
shuttle_type = /datum/shuttle/autodock/overmap/mineboat
// The 'shuttle'
/datum/shuttle/autodock/overmap/mineboat
name = "Mining Shuttle"
current_location = "sd_mining"
docking_controller_tag = "miningdocker"
shuttle_area = /area/stellardelight/deck1/miningshuttle
fuel_consumption = 0
defer_initialisation = TRUE
range = 1
/////STARSTUFF/////
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/sdboat
name = "Starstuff control console"
shuttle_tag = "Starstuff"
req_one_access = list(access_pilot)
/obj/effect/overmap/visitable/ship/landable/sd_boat
name = "NTV Starstuff"
desc = "A small shuttle from the NRV Stellar Delight."
vessel_mass = 1000
vessel_size = SHIP_SIZE_TINY
shuttle = "Starstuff"
known = TRUE
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/sdboat
name = "Port Shuttlepad"
base_area = /area/stellardelight/deck3/exterior
base_turf = /turf/simulated/floor/reinforced/airless
landmark_tag = "port_shuttlepad"
docking_controller = "sd_port_landing"
shuttle_type = /datum/shuttle/autodock/overmap/sdboat
/datum/shuttle/autodock/overmap/sdboat
name = "Starstuff"
current_location = "port_shuttlepad"
docking_controller_tag = "sd_bittyshuttle"
shuttle_area = list(/area/shuttle/sdboat/fore,/area/shuttle/sdboat/aft)
fuel_consumption = 2
defer_initialisation = TRUE
/area/shuttle/sdboat/fore
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Starstuff Cockpit"
requires_power = 1
/area/shuttle/sdboat/aft
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Starstuff Crew Compartment"
requires_power = 1
/////Virgo Flyer/////
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/ccboat
name = "Virgo Flyer control console"
shuttle_tag = "Virgo Flyer"
req_one_access = list(access_pilot)
/obj/effect/overmap/visitable/ship/landable/ccboat
name = "NTV Virgo Flyer"
desc = "A small shuttle from Central Command."
vessel_mass = 1000
vessel_size = SHIP_SIZE_TINY
shuttle = "Virgo Flyer"
known = TRUE
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/ccboat
name = "Central Command Shuttlepad"
base_area = /area/shuttle/centcom/ccbay
base_turf = /turf/simulated/floor/reinforced
landmark_tag = "cc_shuttlepad"
docking_controller = "cc_landing_pad"
shuttle_type = /datum/shuttle/autodock/overmap/ccboat
/datum/shuttle/autodock/overmap/ccboat
name = "Virgo Flyer"
current_location = "cc_shuttlepad"
docking_controller_tag = "ccboat"
shuttle_area = /area/shuttle/ccboat
fuel_consumption = 0
defer_initialisation = TRUE
/area/shuttle/ccboat
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Virgo Flyer"
requires_power = 0
/area/shuttle/centcom/ccbay
icon = 'icons/turf/areas_vr.dmi'
icon_state = "bluwhisqu"
name = "Central Command Shuttle Bay"
requires_power = 0
dynamic_lighting = 0
/////LANDING LANDMARKS/////
/obj/effect/shuttle_landmark/premade/sd/deck1/portairlock
name = "Near Deck 1 Port Airlock"
landmark_tag = "sd-1-23-54"
/obj/effect/shuttle_landmark/premade/sd/deck1/aft
name = "Near Deck 1 Aft"
landmark_tag = "sd-1-67-15"
/obj/effect/shuttle_landmark/premade/sd/deck1/fore
name = "Near Deck 1 Fore"
landmark_tag = "sd-1-70-130"
/obj/effect/shuttle_landmark/premade/sd/deck1/starboard
name = "Near Deck 1 Starboard"
landmark_tag = "sd-1-115-85"
/obj/effect/shuttle_landmark/premade/sd/deck2/port
name = "Near Deck 2 Port"
landmark_tag = "sd-2-25-98"
/obj/effect/shuttle_landmark/premade/sd/deck2/starboard
name = "Near Deck 2 Starboard"
landmark_tag = "sd-2-117-98"
/obj/effect/shuttle_landmark/premade/sd/deck3/portairlock
name = "Near Deck 3 Port Airlock"
landmark_tag = "sd-3-22-78"
/obj/effect/shuttle_landmark/premade/sd/deck3/portlanding
name = "Near Deck 3 Port Landing Pad"
landmark_tag = "sd-3-36-33"
/obj/effect/shuttle_landmark/premade/sd/deck3/starboardlanding
name = "Near Deck 3 Starboard Landing Pad"
landmark_tag = "sd-3-104-33"
/obj/effect/shuttle_landmark/premade/sd/deck3/starboardairlock
name = "Near Deck 3 Starboard Airlock"
landmark_tag = "sd-3-120-78"
/obj/item/weapon/paper/dockingcodes/sd
name = "Stellar Delight Docking Codes"
codes_from_z = Z_LEVEL_SHIP_LOW
/////FOR CENTCOMM (at least)/////
/obj/effect/overmap/visitable/sector/virgo3b
name = "Virgo 3B"
desc = "Full of phoron, and home to the NSB Adephagia."
scanner_desc = @{"[i]Registration[/i]: NSB Adephagia
[i]Class[/i]: Installation
[i]Transponder[/i]: Transmitting (CIV), NanoTrasen IFF
[b]Notice[/b]: NanoTrasen Base, authorized personnel only"}
known = TRUE
in_space = FALSE
icon = 'icons/obj/overmap_vr.dmi'
icon_state = "virgo3b"
skybox_icon = 'icons/skybox/virgo3b.dmi'
skybox_icon_state = "small"
skybox_pixel_x = 0
skybox_pixel_y = 0
initial_restricted_waypoints = list("Central Command Shuttlepad" = list("cc_shuttlepad"))
/////SD Starts at V3b to pick up crew refuel and repair (And to make sure it doesn't spawn on hazards)
/obj/effect/overmap/visitable/sector/virgo3b/Initialize()
. = ..()
for(var/obj/effect/overmap/visitable/ship/stellar_delight/sd in world)
sd.forceMove(loc, SOUTH)
return
/obj/effect/overmap/visitable/sector/virgo3b/Crossed(var/atom/movable/AM)
. = ..()
announce_atc(AM,going = FALSE)
/obj/effect/overmap/visitable/sector/virgo3b/Uncrossed(var/atom/movable/AM)
. = ..()
announce_atc(AM,going = TRUE)
/obj/effect/overmap/visitable/sector/virgo3b/proc/announce_atc(var/atom/movable/AM, var/going = FALSE)
var/message = "Sensor contact for vessel '[AM.name]' has [going ? "left" : "entered"] ATC control area."
//For landables, we need to see if their shuttle is cloaked
if(istype(AM, /obj/effect/overmap/visitable/ship/landable))
var/obj/effect/overmap/visitable/ship/landable/SL = AM //Phew
var/datum/shuttle/autodock/multi/shuttle = SSshuttles.shuttles[SL.shuttle]
if(!istype(shuttle) || !shuttle.cloaked) //Not a multishuttle (the only kind that can cloak) or not cloaked
atc.msg(message)
//For ships, it's safe to assume they're big enough to not be sneaky
else if(istype(AM, /obj/effect/overmap/visitable/ship))
atc.msg(message)

View File

@@ -0,0 +1,161 @@
/obj/machinery/camera/network/halls
network = list(NETWORK_HALLS)
/area/tether/surfacebase/tram
name = "\improper Tram Station"
icon_state = "dk_yellow"
/turf/simulated/floor/maglev
name = "maglev track"
desc = "Magnetic levitation tram tracks. Caution! Electrified!"
icon = 'icons/turf/flooring/maglevs.dmi'
icon_state = "maglevup"
var/area/shock_area = /area/tether/surfacebase/tram
/turf/simulated/floor/maglev/Initialize()
. = ..()
shock_area = locate(shock_area)
// Walking on maglev tracks will shock you! Horray!
/turf/simulated/floor/maglev/Entered(var/atom/movable/AM, var/atom/old_loc)
if(isliving(AM) && !(AM.is_incorporeal()) && prob(50))
track_zap(AM)
/turf/simulated/floor/maglev/attack_hand(var/mob/user)
if(prob(75))
track_zap(user)
/turf/simulated/floor/maglev/proc/track_zap(var/mob/living/user)
if (!istype(user)) return
if (electrocute_mob(user, shock_area, src))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(5, 1, src)
s.start()
/obj/item/weapon/paper/sdshield
name = "ABOUT THE SHIELD GENERATOR"
info = "<H1>ABOUT THE SHIELD GENERATOR</H1><BR><BR>If you&#39;re up here you are more than likely worried about hitting rocks or some other such thing. It is good to worry about such things as that is an inevitability.<BR><BR>The Stellar Delight is a rather compact vessel, so a setting of 55 to the range will just barely cover her aft. <BR><BR>It is recommended that you turn off all of the different protection types except multi dimensional warp and whatever it is you&#39;re worried about running into. (probably meteors (hyperkinetic)). <BR><BR>With only those two and all the other default settings, the shield uses more than 6 MW to run, which is more than the ship can ordinarily produce. AS SUCH, it is also recommended that you reduce the input cap to whatever you find reasonable (being as it defaults to 1 MW, which is the entirety of the stock power supply) and activate and configure the shield BEFORE you need it. <BR><BR>The shield takes some time to expand its range to the desired specifications, and on top of that, under the default low power setting, takes around 40 seconds to spool up. Once it is active, the fully charged internal capacitors will last for around 1 to 2 minutes before depleting fully. You can increase the passive energy use to decrease the spool up time, but it also uses the stored energy much faster, so, that is not recommended except in dire emergencies.<BR><BR>So, this shield is not intended to be run indefinitely, unless you seriously beef up the ship&#39;s engine and power supply.<BR><BR>Fortunately, if you&#39;ve got a good pilot, you shouldn&#39;t really need the shield generator except in rare cases and only for short distances. Still, it is a good idea to configure the shield to be ready before you need it.<BR><BR>Good luck out there - <I>Budly Gregington</I>"
/obj/item/weapon/book/manual/sd_guide
name = "Stellar Delight User's Guide"
icon = 'icons/obj/library.dmi'
icon_state ="newscodex"
item_state = "newscodex"
author = "Central Command" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned
title = "Stellar Delight User's Guide"
/obj/item/weapon/book/manual/sd_guide/New()
..()
dat = {"<html>
<head>
<style>
h1 {font-size: 18px; margin: 15px 0px 5px;}
h2 {font-size: 15px; margin: 15px 0px 5px;}
h3 {font-size: 13px; margin: 15px 0px 5px;}
li {margin: 2px 0px 2px 15px;}
ul {margin: 5px; padding: 0px;}
ol {margin: 5px; padding: 0px 15px;}
body {font-size: 13px; font-family: Verdana;}
</style>
</head>
<body>
<h1>Stellar Delight Operations</h1>
<br><br>
Welcome to the Stellar Delight! Before you get started there are a few things you ought to know.
<br><br>
The Stellar Delight is a Nanotrasen response vessel operating in the Virgo-Erigone system. It's primary duty is in answering calls for help, investigating anomalies in space around the system, and generally responding to requests from Central Command or whoever else needs the services the vessel can provide. It has fully functioning security, medical, and research facilities, as well as a host of civillian facilities, in addition to the standard things one might expect to find on such a ship. That is to say, the ship doesn't have a highly defined specialization, it is just as capable as a small space station might be.
<br><br>
Notably though, there are some research facilities that are not safe to carry around. There is a refurbished Aerostat that has been set up over Virgo 2 that posesses a number of different, more dangerous research facilities. The command staff of this vessel has access to its docking codes in their offices.
<br><br>
Mining and Exploration will probably also want to disembark to do their respective duties.
<br><br>
The ship is ordinarily protected from many space hazards by an array of point defense turrets, however, it should be noted that this defense network is not infallible. If the ship encounters a dangerous environment, occasionally hazardous material may slip past the network and damage the ship.
<br><br><br>
<h1>Before Moving the Ship</h1>
<br><br>
The ship requires power to fuel and run its engines and sensors. While there may be some charge in the ship at the start of the shift, it is <b>HIGHLY RECOMMENDED</b> that the engine be started before attempting to move the ship. If any of the components responsible for moving the ship lose power (including but not limited to the helm control console and the thrusters), then you will be incapable of adjusting the ship's speed or heading until the problem is resolved.
<br><br>
Additionally, the shield generator should be configured before the ship moves, as it takes time to calibrate before it can be activated. The shield should not be run indefinitely however, as it uses more power than the ship ordinarily generates. You can however activate it for a short time if you know that you need to proceed through a dangerous reigon of space. For more information, see the configuration guide sheet in the shield control room on deck 3, aft of the Command Office section.
<br><br><br>
<h1>Starting and Moving the Ship</h1>
<br><br>
The ship can of course move around on its own, but a few steps need to/should be taken before you can do so.
<br><br>
-FIRST. <b>You should appoint a pilot.</b> If there isn't a pilot, or the pilot isn't responding, you should fax for a pilot. If no pilots respond to the fax within a reasonable timeframe, then, if you are qualified to fly Nanotrasen spacecraft you may fly the ship. Appointing a pilot to the bridge however should always be done even if you know how to fly and have access to the helm control console. <i><b>Refusing to attempt to appoint a pilot and just flying the ship yourself can be grounds for demotion to pilot.</i></b>
<br><br>
-SECOND. In order for the ship to move one must start the engines. The ship's fuel pump in Atmospherics must be turned on and configured. Atmospheric technicians may elect to modify the fuel mix to help the ship go faster or make the fuel last longer. Either way, once the fuel pump is on, you may use the engine control console on the bridge to activate the engines.
<br><br>
Once these steps have been taken, the helm control console should respond to input commands from the pilot.
<br><br><br>
<h1>Disembarking</h1>
<br><br>
Being a response vessel, the Stellar Delight has 3 shuttles in total.
<br><br>
The mining and exploration shuttles are located in the aft of deck 1 between their respective departments. Both of these shuttles are short jump shuttles, meaning, they are not suitable for more than ferrying people back and forth between the ship and the present destination. They do have a small range that they can traverse in their bluespace hops, but they must be within one 'grid square' of a suitable landing site to jump. As such, it is recommended that you avoid flying away from wherever either of these shuttles are without establishing a flight plan with the away teams to indicate a time of returning. In cases where the mining team and the exploration team want to go to different places, it may be necessary to fly from one location to the other now and then to facilitate both operations. However, it is recommended that exploration and mining be encouraged to enter the same operations areas, as the mining team is poorly armed, and the exploration team is ideally equipped for offsite defense and support of ship personnel.
<br><br>
There is also the Starstuff, a long range capable shuttle which is ordinarily docked on the port landing pad of deck 3. This shuttle is meant for general crew transport, but does require a pilot to be flown.
<br><br>
In cases where the shuttles will be docking with another facility, such as the Science outpost on the Virgo 2 Aerostat, docking codes may be required in order to be accessed. Anywhere requiring such codes will need to have them entered into the given shuttle's short jump console. It is recommended that anyone operating such a shuttle take note of the Stellar Delight's docking codes, as they will need them to dock with the ship. Any Nanotrasen owned facility that requires them that your ship has authorization to access will have the codes stored in the Command Offices.
<br><br>
A final note on disembarking. While it may not necessarily be their job to do so, it is highly encouraged for the Command staff to attempt to involve volunteers in off ship operations as necessary. Just make sure to let let it be known what kind of operation is happening when you ask. This being a response ship, it is very good to get as much help to handle whatever the issue is as thoroughly as possible.
<br><br>
All that said, have a safe trip. - Central Command Officer <i>Alyssa Trems</i> </body>
</html>
"}
// ### Wall Machines On Full Windows ###
// To make sure wall-mounted machines placed on full-tile windows are clickable they must be above the window
//
/obj/item/device/radio/intercom
layer = ABOVE_WINDOW_LAYER
/obj/item/weapon/storage/secure/safe
layer = ABOVE_WINDOW_LAYER
/obj/machinery/airlock_sensor
layer = ABOVE_WINDOW_LAYER
/obj/machinery/alarm
layer = ABOVE_WINDOW_LAYER
/obj/machinery/button
layer = ABOVE_WINDOW_LAYER
/obj/machinery/access_button
layer = ABOVE_WINDOW_LAYER
/obj/machinery/computer/guestpass
layer = ABOVE_WINDOW_LAYER
/obj/machinery/computer/security/telescreen
layer = ABOVE_WINDOW_LAYER
/obj/machinery/door_timer
layer = ABOVE_WINDOW_LAYER
/obj/machinery/embedded_controller
layer = ABOVE_WINDOW_LAYER
/obj/machinery/firealarm
layer = ABOVE_WINDOW_LAYER
/obj/machinery/flasher
layer = ABOVE_WINDOW_LAYER
/obj/machinery/keycard_auth
layer = ABOVE_WINDOW_LAYER
/obj/machinery/light_switch
layer = ABOVE_WINDOW_LAYER
/obj/machinery/mineral/processing_unit_console
layer = ABOVE_WINDOW_LAYER
/obj/machinery/mineral/stacking_unit_console
layer = ABOVE_WINDOW_LAYER
/obj/machinery/newscaster
layer = ABOVE_WINDOW_LAYER
/obj/machinery/power/apc
layer = ABOVE_WINDOW_LAYER
/obj/machinery/requests_console
layer = ABOVE_WINDOW_LAYER
/obj/machinery/status_display
layer = ABOVE_WINDOW_LAYER
/obj/machinery/vending/wallmed1
layer = ABOVE_WINDOW_LAYER
/obj/machinery/vending/wallmed2
layer = ABOVE_WINDOW_LAYER
/obj/structure/closet/fireaxecabinet
layer = ABOVE_WINDOW_LAYER
/obj/structure/extinguisher_cabinet
layer = ABOVE_WINDOW_LAYER
/obj/structure/mirror
layer = ABOVE_WINDOW_LAYER
/obj/structure/noticeboard
layer = ABOVE_WINDOW_LAYER

View File

@@ -0,0 +1,47 @@
/turf/unsimulated/mineral/virgo3b
blocks_air = TRUE
/turf/unsimulated/floor/steel
icon = 'icons/turf/flooring/tiles_vr.dmi'
icon_state = "steel"
// Some turfs to make floors look better in centcom tram station.
/turf/unsimulated/floor/techfloor_grid
name = "floor"
icon = 'icons/turf/flooring/techfloor.dmi'
icon_state = "techfloor_grid"
/turf/unsimulated/floor/maglev
name = "maglev track"
desc = "Magnetic levitation tram tracks. Caution! Electrified!"
icon = 'icons/turf/flooring/maglevs.dmi'
icon_state = "maglevup"
/turf/unsimulated/wall/transit
icon = 'icons/turf/transit_vr.dmi'
/turf/unsimulated/floor/transit
icon = 'icons/turf/transit_vr.dmi'
/obj/effect/floor_decal/transit/orange
icon = 'icons/turf/transit_vr.dmi'
icon_state = "transit_techfloororange_edges"
/obj/effect/transit/light
icon = 'icons/turf/transit_128.dmi'
icon_state = "tube1-2"
VIRGO3B_TURF_CREATE(/turf/simulated/floor/outdoors/grass/sif)
/turf/simulated/floor/outdoors/grass/sif
turf_layers = list(
/turf/simulated/floor/outdoors/rocks/virgo3b,
/turf/simulated/floor/outdoors/dirt/virgo3b
)
VIRGO3B_TURF_CREATE(/turf/simulated/floor/outdoors/dirt)
/turf/simulated/floor/outdoors/dirt/virgo3b
icon = 'icons/turf/flooring/asteroid.dmi'
icon_state = "asteroid"
VIRGO3B_TURF_CREATE(/turf/simulated/floor/outdoors/rocks)

View File

@@ -24,10 +24,7 @@
//Camera networks
#define NETWORK_TETHER "Tether"
#define NETWORK_TCOMMS "Telecommunications" //Using different from Polaris one for better name
#define NETWORK_OUTSIDE "Outside"
#define NETWORK_EXPLORATION "Exploration"
#define NETWORK_XENOBIO "Xenobiology"
/datum/map/tether/New()
..()

View File

@@ -135,28 +135,6 @@
/obj/effect/step_trigger/lost_in_space/tram
deathmessage = "You fly down the tunnel of the tram at high speed for a few moments before impact kills you with sheer concussive force."
// Invisible object that blocks z transfer to/from its turf and the turf above.
/obj/effect/ceiling
invisibility = 101 // nope cant see this
anchored = 1
can_atmos_pass = ATMOS_PASS_PROC
/obj/effect/ceiling/CanZASPass(turf/T, is_zone)
if(T == GetAbove(src))
return FALSE // Keep your air up there, buddy
return TRUE
/obj/effect/ceiling/CanPass(atom/movable/mover, turf/target)
if(target == GetAbove(src))
return FALSE
return TRUE
/obj/effect/ceiling/Uncross(atom/movable/mover, turf/target)
if(target == GetAbove(src))
return FALSE
return TRUE
//
// TRAM STATION
//
@@ -197,29 +175,6 @@
/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/tram/powered()
return TRUE // Always be powered
//Chemistry 'chemavator'
/obj/machinery/smartfridge/chemistry/chemvator
name = "\improper Smart Chemavator - Upper"
desc = "A refrigerated storage unit for medicine and chemical storage. Now sporting a fancy system of pulleys to lift bottles up and down."
var/obj/machinery/smartfridge/chemistry/chemvator/attached
/obj/machinery/smartfridge/chemistry/chemvator/down/Destroy()
attached = null
return ..()
/obj/machinery/smartfridge/chemistry/chemvator/down
name = "\improper Smart Chemavator - Lower"
/obj/machinery/smartfridge/chemistry/chemvator/down/Initialize()
. = ..()
var/obj/machinery/smartfridge/chemistry/chemvator/above = locate(/obj/machinery/smartfridge/chemistry/chemvator,get_zstep(src,UP))
if(istype(above))
above.attached = src
attached = above
item_records = attached.item_records
else
to_chat(world,"<span class='danger'>[src] at [x],[y],[z] cannot find the unit above it!</span>")
// Tram departure cryo doors that turn into ordinary airlock doors at round end
/obj/machinery/cryopod/robot/door/tram
name = "\improper Tram Station"
@@ -236,6 +191,7 @@
on_store_visible_message_2 = "to the colony"
time_till_despawn = 10 SECONDS
spawnpoint_type = /datum/spawnpoint/tram
/obj/machinery/cryopod/robot/door/tram/process()
if(emergency_shuttle.online() || emergency_shuttle.returned())
// Transform into a door! But first despawn anyone inside
@@ -260,27 +216,6 @@
var/mob/observer/dead/newghost = user.ghostize()
newghost.timeofdeath = world.time
despawn_occupant(user)
// Tram arrival point landmarks and datum
var/global/list/latejoin_tram = list()
/obj/effect/landmark/tram
name = "JoinLateTram"
delete_me = 1
/obj/effect/landmark/tram/New()
latejoin_tram += loc // Register this turf as tram latejoin.
latejoin += loc // Also register this turf as fallback latejoin, since we won't have any arrivals shuttle landmarks.
..()
/datum/spawnpoint/tram
display_name = "Tram Station"
msg = "has arrived on the tram"
/datum/spawnpoint/tram/New()
..()
turfs = latejoin_tram
//
// Holodorms
//
@@ -340,9 +275,6 @@ var/global/list/latejoin_tram = list()
req_log_access = access_cmo
has_logs = 1
/obj/machinery/vending/wallmed1/public
products = list(/obj/item/stack/medical/bruise_pack = 8,/obj/item/stack/medical/ointment = 8,/obj/item/weapon/reagent_containers/hypospray/autoinjector = 16,/obj/item/device/healthanalyzer = 4)
/obj/item/weapon/reagent_containers/pill/airlock
name = "\'Airlock\' Pill"
desc = "Neutralizes toxins and provides a mild analgesic effect."
@@ -364,6 +296,7 @@ var/global/list/latejoin_tram = list()
return ..(user)
<<<<<<< HEAD
<<<<<<< HEAD
/obj/structure/closet/secure_closet/guncabinet/excursion
name = "expedition weaponry cabinet"
@@ -394,37 +327,19 @@ var/global/list/latejoin_tram = list()
/obj/machinery/cryopod/robot/door/dorms
spawnpoint_type = /datum/spawnpoint/tram
||||||| parent of 2bb3d46cf5... Merge pull request #11734 from Heroman3003/sd-with-modules
// Used at centcomm for the elevator
/obj/machinery/cryopod/robot/door/dorms
spawnpoint_type = /datum/spawnpoint/tram
=======
>>>>>>> 2bb3d46cf5... Merge pull request #11734 from Heroman3003/sd-with-modules
//Tether-unique network cameras
/obj/machinery/camera/network/tether
network = list(NETWORK_TETHER)
/obj/machinery/camera/network/tcomms
network = list(NETWORK_TCOMMS)
/obj/machinery/camera/network/outside
network = list(NETWORK_OUTSIDE)
/obj/machinery/camera/network/exploration
network = list(NETWORK_EXPLORATION)
/obj/machinery/camera/network/research/xenobio
network = list(NETWORK_RESEARCH, NETWORK_XENOBIO)
//Camera monitors
/obj/machinery/computer/security/xenobio
name = "xenobiology camera monitor"
desc = "Used to access the xenobiology cell cameras."
icon_keyboard = "mining_key"
icon_screen = "mining"
network = list(NETWORK_XENOBIO)
circuit = /obj/item/weapon/circuitboard/security/xenobio
light_color = "#F9BBFC"
/obj/item/weapon/circuitboard/security/xenobio
name = T_BOARD("xenobiology camera monitor")
build_path = /obj/machinery/computer/security/xenobio
network = list(NETWORK_XENOBIO)
req_access = list()
//
// ### Wall Machines On Full Windows ###
// To make sure wall-mounted machines placed on full-tile windows are clickable they must be above the window

View File

@@ -3460,6 +3460,7 @@
#include "code\modules\multiz\ladder_assembly_vr.dm"
#include "code\modules\multiz\ladders.dm"
#include "code\modules\multiz\ladders_vr.dm"
#include "code\modules\multiz\misc.dm"
#include "code\modules\multiz\movement.dm"
#include "code\modules\multiz\movement_vr.dm"
#include "code\modules\multiz\pipes.dm"