Simultaneous map definitions (#16924)

* initial

* Update file pathing

* Fix dup vars

* Move shuttle datums around

* Why am I fixing pdas

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Drathek
2025-03-03 17:25:45 -05:00
committed by GitHub
co-authored by Cameron Lennox
parent 592bbd1a1e
commit 3e46e16e8c
49 changed files with 2078 additions and 2674 deletions
+1 -5
View File
@@ -1,15 +1,11 @@
#if !defined(USING_MAP_DATUM)
#include "groundbase_areas.dm"
#include "groundbase_defines.dm"
#include "groundbase_shuttles.dm"
#include "groundbase_telecomms.dm"
#include "groundbase_things.dm"
#include "..\tether\tether_jobs.dm"
#include "groundbase_events.dm"
#include "groundbase_poi_stuff.dm"
#include "groundbase_wilds.dm"
#include "..\offmap_vr\common_offmaps.dm"
#include "groundbase_poi_maps.dm"
#include "..\~map_system\maps_vr.dm"
#ifndef AWAY_MISSION_TEST //Don't include these for just testing away missions
+10
View File
@@ -574,3 +574,13 @@
excluded |= /area/groundbase/level3/sw/open
excluded |= /area/groundbase/level3/escapepad
..()
/area/gb_mine/
ambience = list('sound/ambience/ambimine.ogg', 'sound/ambience/song_game.ogg')
base_turf = /turf/simulated/mineral/floor
/area/gb_mine/unexplored
name = "Virgo 3c Underground"
icon_state = "unexplored"
/area/gb_mine/explored
name = "Virgo 3c Underground"
icon_state = "explored"
-61
View File
@@ -1,28 +1,3 @@
//Normal map defs
#define Z_LEVEL_GB_BOTTOM 1
#define Z_LEVEL_GB_MIDDLE 2
#define Z_LEVEL_GB_TOP 3
#define Z_LEVEL_GB_WILD_N 4
#define Z_LEVEL_GB_WILD_S 5
#define Z_LEVEL_GB_WILD_E 6
#define Z_LEVEL_GB_WILD_W 7
#define Z_LEVEL_CENTCOM 8
#define Z_LEVEL_MISC 9
#define Z_LEVEL_MINING 10
#define Z_LEVEL_BEACH 11
#define Z_LEVEL_BEACH_CAVE 12
#define Z_LEVEL_AEROSTAT 13
#define Z_LEVEL_AEROSTAT_SURFACE 14
#define Z_LEVEL_DEBRISFIELD 15
#define Z_LEVEL_FUELDEPOT 16
#define Z_LEVEL_OFFMAP1 17
#define Z_LEVEL_GATEWAY 18
#define Z_LEVEL_OM_ADVENTURE 19
#define Z_LEVEL_REDGATE 20
//Camera networks
#define NETWORK_HALLS "Halls"
/datum/map/groundbase/New()
..()
var/choice = pickweight(list(
@@ -297,16 +272,7 @@
Z_LEVEL_BEACH
)
/obj/effect/landmark/map_data/groundbase
height = 3
/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 = TRUE
@@ -323,34 +289,7 @@
extra_z_levels = list()
/obj/effect/overmap/visitable/sector/virgo3c
name = "Virgo 3C"
desc = "A small, volcanically active moon."
scanner_desc = @{"[i]Registration[/i]: NSB Rascal's Pass
[i]Class[/i]: Installation
[i]Transponder[/i]: Transmitting (CIV), NanoTrasen IFF
[b]Notice[/b]: NanoTrasen Base, authorized personnel only"}
known = TRUE
in_space = TRUE
icon = 'icons/obj/overmap.dmi'
icon_state = "lush"
skybox_icon = null
skybox_icon_state = null
skybox_pixel_x = 0
skybox_pixel_y = 0
initial_generic_waypoints = list("groundbase", "gb_excursion_pad","omship_axolotl")
initial_restricted_waypoints = list()
extra_z_levels = list(
Z_LEVEL_MINING,
Z_LEVEL_GB_WILD_N,
Z_LEVEL_GB_WILD_S,
Z_LEVEL_GB_WILD_E,
Z_LEVEL_GB_WILD_W
)
// For making the 6-in-1 holomap, we calculate some offsets
#define SHIP_MAP_SIZE 140 // Width and height of compiled in tether z levels.
-10
View File
@@ -39,13 +39,3 @@
/datum/random_map/noise/ore/mining/check_map_sanity()
return 1 //Totally random, but probably beneficial.
/area/gb_mine/
ambience = list('sound/ambience/ambimine.ogg', 'sound/ambience/song_game.ogg')
base_turf = /turf/simulated/mineral/floor
/area/gb_mine/unexplored
name = "Virgo 3c Underground"
icon_state = "unexplored"
/area/gb_mine/explored
name = "Virgo 3c Underground"
icon_state = "explored"
+188
View File
@@ -0,0 +1,188 @@
#ifdef MAP_TEST
#include "pois/outdoors1.dmm"
#include "pois/outdoors2.dmm"
#include "pois/outdoors3.dmm"
#include "pois/outdoors4.dmm"
#include "pois/outdoors5.dmm"
#include "pois/outdoors6.dmm"
#include "pois/outdoors7.dmm"
#include "pois/outdoors8.dmm"
#include "pois/outdoors9.dmm"
#include "pois/outdoors10.dmm"
#include "pois/outdoors11.dmm"
#include "pois/outdoors12.dmm"
#include "pois/outdoors13.dmm"
#include "pois/outdoors14.dmm"
#include "pois/outdoors16.dmm"
#include "pois/cave1.dmm"
#include "pois/cave2.dmm"
#include "pois/cave3.dmm"
#include "pois/cave4.dmm"
#include "pois/cave5.dmm"
#include "pois/cave6.dmm"
#include "pois/cave7.dmm"
#include "pois/cave8.dmm"
#include "pois/cave9.dmm"
#include "pois/cave10.dmm"
#include "pois/cave11.dmm"
#include "pois/cave12.dmm"
#include "pois/cave13.dmm"
#include "pois/cave14.dmm"
#include "pois/cave15.dmm"
#include "pois/cave16.dmm"
#include "pois/cave17.dmm"
#include "pois/cave18.dmm"
#include "pois/cave19.dmm"
#include "pois/cave20.dmm"
#include "pois/cave21.dmm"
#include "pois/cave22.dmm"
#include "pois/cave23.dmm"
#include "pois/cave24.dmm"
#include "pois/cave25.dmm"
#include "pois/cave26.dmm"
#include "pois/cave27.dmm"
#include "pois/cave28.dmm"
#include "pois/cave29.dmm"
#include "pois/cave30.dmm"
#include "pois/cave31.dmm"
#include "pois/cave32.dmm"
#include "pois/cave33.dmm"
#include "pois/cave34.dmm"
#include "pois/cave35.dmm"
#include "pois/cave36.dmm"
#include "pois/cave37.dmm"
#include "pois/cave38.dmm"
#include "pois/cave39.dmm"
#include "pois/cave40.dmm"
#include "pois/cave41.dmm"
#include "pois/cave42.dmm"
#include "pois/cave43.dmm"
#include "pois/cave44.dmm"
#include "pois/cave45.dmm"
#include "pois/cave46.dmm"
#include "pois/cave47.dmm"
#include "pois/cave48.dmm"
#include "pois/cave49.dmm"
#include "pois/cave50.dmm"
#include "pois/cave51.dmm"
#include "pois/cave52.dmm"
#include "pois/cave53.dmm"
#include "pois/cave54.dmm"
#include "pois/cave1b.dmm"
#include "pois/cave2b.dmm"
#include "pois/cave3b.dmm"
#include "pois/cave4b.dmm"
#include "pois/cave5b.dmm"
#include "pois/cave6b.dmm"
#include "pois/cave7b.dmm"
#include "pois/cave8b.dmm"
#include "pois/cave9b.dmm"
#include "pois/cave10b.dmm"
#include "pois/cave11b.dmm"
#include "pois/cave12b.dmm"
#include "pois/cave13b.dmm"
#include "pois/cave14b.dmm"
#include "pois/cave15b.dmm"
#include "pois/cave16b.dmm"
#include "pois/cave17b.dmm"
#include "pois/cave18b.dmm"
#include "pois/cave19b.dmm"
#include "pois/cave20b.dmm"
#include "pois/cave21b.dmm"
#include "pois/cave22b.dmm"
#include "pois/cave23b.dmm"
#include "pois/cave24b.dmm"
#include "pois/cave25b.dmm"
#include "pois/cave26b.dmm"
#include "pois/cave27b.dmm"
#include "pois/cave28b.dmm"
#include "pois/cave29b.dmm"
#include "pois/cave30b.dmm"
#include "pois/cave31b.dmm"
#include "pois/cave32b.dmm"
#include "pois/cave33b.dmm"
#include "pois/cave34b.dmm"
#include "pois/cave35b.dmm"
#include "pois/cave36b.dmm"
#include "pois/cave37b.dmm"
#include "pois/cave38b.dmm"
#include "pois/cave39b.dmm"
#include "pois/cave40b.dmm"
#include "pois/cave41b.dmm"
#include "pois/cave42b.dmm"
#include "pois/cave43b.dmm"
#include "pois/cave44b.dmm"
#include "pois/cave45b.dmm"
#include "pois/cave46b.dmm"
#include "pois/cave47b.dmm"
#include "pois/cave48b.dmm"
#include "pois/cave49b.dmm"
#include "pois/cave1c.dmm"
#include "pois/cave2c.dmm"
#include "pois/cave3c.dmm"
#include "pois/cave4c.dmm"
#include "pois/cave5c.dmm"
#include "pois/cave6c.dmm"
#include "pois/cave7c.dmm"
#include "pois/cave8c.dmm"
#include "pois/cave9c.dmm"
#include "pois/cave10c.dmm"
#include "pois/cave11c.dmm"
#include "pois/cave12c.dmm"
#include "pois/cave13c.dmm"
#include "pois/cave14c.dmm"
#include "pois/cave15c.dmm"
#include "pois/cave16c.dmm"
#include "pois/cave17c.dmm"
#include "pois/cave18c.dmm"
#include "pois/cave19c.dmm"
#include "pois/cave20c.dmm"
#include "pois/cave21c.dmm"
#include "pois/cave22c.dmm"
#include "pois/cave23c.dmm"
#include "pois/cave24c.dmm"
#include "pois/cave25c.dmm"
#include "pois/cave26c.dmm"
#include "pois/cave27c.dmm"
#include "pois/cave28c.dmm"
#include "pois/cave29c.dmm"
#include "pois/cave30c.dmm"
#include "pois/cave31c.dmm"
#include "pois/cave32c.dmm"
#include "pois/cave33c.dmm"
#include "pois/cave34c.dmm"
#include "pois/cave35c.dmm"
#include "pois/cave36c.dmm"
#include "pois/cave37c.dmm"
#include "pois/cave38c.dmm"
#include "pois/cave39c.dmm"
#include "pois/cave40c.dmm"
#include "pois/cave41c.dmm"
#include "pois/cave42c.dmm"
#include "pois/cave43c.dmm"
#include "pois/cave44c.dmm"
#include "pois/cave45c.dmm"
#include "pois/cave46c.dmm"
#include "pois/cave47c.dmm"
#include "pois/cave48c.dmm"
#include "pois/cave49c.dmm"
#include "pois/cavething1.dmm"
#include "pois/cavething2.dmm"
#include "pois/cavething3.dmm"
#include "pois/cavething4.dmm"
#include "pois/cavething5.dmm"
#include "pois/cavething6.dmm"
#include "pois/cavething7.dmm"
#include "pois/cavething8.dmm"
#include "pois/cavething9.dmm"
#include "pois/cavething10.dmm"
#include "pois/cavething11.dmm"
#include "pois/cavething12.dmm"
#include "pois/cavething13.dmm"
#include "pois/cavething14.dmm"
#endif
-190
View File
@@ -1,193 +1,3 @@
#ifdef MAP_TEST
#include "pois/outdoors1.dmm"
#include "pois/outdoors2.dmm"
#include "pois/outdoors3.dmm"
#include "pois/outdoors4.dmm"
#include "pois/outdoors5.dmm"
#include "pois/outdoors6.dmm"
#include "pois/outdoors7.dmm"
#include "pois/outdoors8.dmm"
#include "pois/outdoors9.dmm"
#include "pois/outdoors10.dmm"
#include "pois/outdoors11.dmm"
#include "pois/outdoors12.dmm"
#include "pois/outdoors13.dmm"
#include "pois/outdoors14.dmm"
#include "pois/outdoors16.dmm"
#include "pois/cave1.dmm"
#include "pois/cave2.dmm"
#include "pois/cave3.dmm"
#include "pois/cave4.dmm"
#include "pois/cave5.dmm"
#include "pois/cave6.dmm"
#include "pois/cave7.dmm"
#include "pois/cave8.dmm"
#include "pois/cave9.dmm"
#include "pois/cave10.dmm"
#include "pois/cave11.dmm"
#include "pois/cave12.dmm"
#include "pois/cave13.dmm"
#include "pois/cave14.dmm"
#include "pois/cave15.dmm"
#include "pois/cave16.dmm"
#include "pois/cave17.dmm"
#include "pois/cave18.dmm"
#include "pois/cave19.dmm"
#include "pois/cave20.dmm"
#include "pois/cave21.dmm"
#include "pois/cave22.dmm"
#include "pois/cave23.dmm"
#include "pois/cave24.dmm"
#include "pois/cave25.dmm"
#include "pois/cave26.dmm"
#include "pois/cave27.dmm"
#include "pois/cave28.dmm"
#include "pois/cave29.dmm"
#include "pois/cave30.dmm"
#include "pois/cave31.dmm"
#include "pois/cave32.dmm"
#include "pois/cave33.dmm"
#include "pois/cave34.dmm"
#include "pois/cave35.dmm"
#include "pois/cave36.dmm"
#include "pois/cave37.dmm"
#include "pois/cave38.dmm"
#include "pois/cave39.dmm"
#include "pois/cave40.dmm"
#include "pois/cave41.dmm"
#include "pois/cave42.dmm"
#include "pois/cave43.dmm"
#include "pois/cave44.dmm"
#include "pois/cave45.dmm"
#include "pois/cave46.dmm"
#include "pois/cave47.dmm"
#include "pois/cave48.dmm"
#include "pois/cave49.dmm"
#include "pois/cave50.dmm"
#include "pois/cave51.dmm"
#include "pois/cave52.dmm"
#include "pois/cave53.dmm"
#include "pois/cave54.dmm"
#include "pois/cave1b.dmm"
#include "pois/cave2b.dmm"
#include "pois/cave3b.dmm"
#include "pois/cave4b.dmm"
#include "pois/cave5b.dmm"
#include "pois/cave6b.dmm"
#include "pois/cave7b.dmm"
#include "pois/cave8b.dmm"
#include "pois/cave9b.dmm"
#include "pois/cave10b.dmm"
#include "pois/cave11b.dmm"
#include "pois/cave12b.dmm"
#include "pois/cave13b.dmm"
#include "pois/cave14b.dmm"
#include "pois/cave15b.dmm"
#include "pois/cave16b.dmm"
#include "pois/cave17b.dmm"
#include "pois/cave18b.dmm"
#include "pois/cave19b.dmm"
#include "pois/cave20b.dmm"
#include "pois/cave21b.dmm"
#include "pois/cave22b.dmm"
#include "pois/cave23b.dmm"
#include "pois/cave24b.dmm"
#include "pois/cave25b.dmm"
#include "pois/cave26b.dmm"
#include "pois/cave27b.dmm"
#include "pois/cave28b.dmm"
#include "pois/cave29b.dmm"
#include "pois/cave30b.dmm"
#include "pois/cave31b.dmm"
#include "pois/cave32b.dmm"
#include "pois/cave33b.dmm"
#include "pois/cave34b.dmm"
#include "pois/cave35b.dmm"
#include "pois/cave36b.dmm"
#include "pois/cave37b.dmm"
#include "pois/cave38b.dmm"
#include "pois/cave39b.dmm"
#include "pois/cave40b.dmm"
#include "pois/cave41b.dmm"
#include "pois/cave42b.dmm"
#include "pois/cave43b.dmm"
#include "pois/cave44b.dmm"
#include "pois/cave45b.dmm"
#include "pois/cave46b.dmm"
#include "pois/cave47b.dmm"
#include "pois/cave48b.dmm"
#include "pois/cave49b.dmm"
#include "pois/cave1c.dmm"
#include "pois/cave2c.dmm"
#include "pois/cave3c.dmm"
#include "pois/cave4c.dmm"
#include "pois/cave5c.dmm"
#include "pois/cave6c.dmm"
#include "pois/cave7c.dmm"
#include "pois/cave8c.dmm"
#include "pois/cave9c.dmm"
#include "pois/cave10c.dmm"
#include "pois/cave11c.dmm"
#include "pois/cave12c.dmm"
#include "pois/cave13c.dmm"
#include "pois/cave14c.dmm"
#include "pois/cave15c.dmm"
#include "pois/cave16c.dmm"
#include "pois/cave17c.dmm"
#include "pois/cave18c.dmm"
#include "pois/cave19c.dmm"
#include "pois/cave20c.dmm"
#include "pois/cave21c.dmm"
#include "pois/cave22c.dmm"
#include "pois/cave23c.dmm"
#include "pois/cave24c.dmm"
#include "pois/cave25c.dmm"
#include "pois/cave26c.dmm"
#include "pois/cave27c.dmm"
#include "pois/cave28c.dmm"
#include "pois/cave29c.dmm"
#include "pois/cave30c.dmm"
#include "pois/cave31c.dmm"
#include "pois/cave32c.dmm"
#include "pois/cave33c.dmm"
#include "pois/cave34c.dmm"
#include "pois/cave35c.dmm"
#include "pois/cave36c.dmm"
#include "pois/cave37c.dmm"
#include "pois/cave38c.dmm"
#include "pois/cave39c.dmm"
#include "pois/cave40c.dmm"
#include "pois/cave41c.dmm"
#include "pois/cave42c.dmm"
#include "pois/cave43c.dmm"
#include "pois/cave44c.dmm"
#include "pois/cave45c.dmm"
#include "pois/cave46c.dmm"
#include "pois/cave47c.dmm"
#include "pois/cave48c.dmm"
#include "pois/cave49c.dmm"
#include "pois/cavething1.dmm"
#include "pois/cavething2.dmm"
#include "pois/cavething3.dmm"
#include "pois/cavething4.dmm"
#include "pois/cavething5.dmm"
#include "pois/cavething6.dmm"
#include "pois/cavething7.dmm"
#include "pois/cavething8.dmm"
#include "pois/cavething9.dmm"
#include "pois/cavething10.dmm"
#include "pois/cavething11.dmm"
#include "pois/cavething12.dmm"
#include "pois/cavething13.dmm"
#include "pois/cavething14.dmm"
#endif
/area/submap/groundbase/poi
name = "POI - Rascal's Pass"
icon = 'icons/turf/areas_vr.dmi'
@@ -0,0 +1,97 @@
/////EXPLOSHUTTL/////
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/gbexplo
name = "short jump console"
shuttle_tag = "Exploration Shuttle"
req_one_access = list(access_pilot)
/obj/effect/overmap/visitable/ship/landable/gbexplo
name = "Exploration Shuttle"
desc = "A small shuttle from Rascal's Pass."
vessel_mass = 2500
vessel_size = SHIP_SIZE_TINY
shuttle = "Exploration Shuttle"
known = TRUE
/area/shuttle/groundbase/exploration
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Exploration Shuttle"
requires_power = 1
//////////////////////////////////////////////
/obj/effect/shuttle_landmark/premade/groundbase
name = "Rascal's Pass"
landmark_tag = "groundbase"
///////////////////////////////////////////////
//AXOLOTL
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/axolotl
name = "short jump console"
shuttle_tag = "Axolotl"
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/axolotl
name = "ITV Axolotl"
base_area = /area/submap/groundbase/wilderness/west
base_turf = /turf/simulated/floor/outdoors/sidewalk/slab/virgo3c
landmark_tag = "omship_axolotl"
// The 'ship'
/obj/effect/overmap/visitable/ship/landable/axolotl
name = "ITV Axolotl"
scanner_desc = @{"[i]Registration[/i]: ITV Axolotl
[i]Class[/i]: Corvette
[i]Transponder[/i]: Transmitting (CIV), non-hostile
[b]Notice[/b]: Multirole independent vessel"}
vessel_mass = 4500
vessel_size = SHIP_SIZE_LARGE
fore_dir = EAST
shuttle = "Axolotl"
known = TRUE
/area/shuttle/axolotl
name = "\improper Axolotl Cabin"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "gray"
requires_power = 1
/area/shuttle/axolotl_engineering
name = "\improper Axolotl Engineering"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "yellow"
requires_power = 1
/area/shuttle/axolotl_cockpit
name = "\improper Axolotl Cockpit"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "blue"
requires_power = 1
/area/shuttle/axolotl_q1
name = "\improper Axolotl Quarters 1"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "gray-p"
requires_power = 1
/area/shuttle/axolotl_q2
name = "\improper Axolotl Quarters 2"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "gray-s"
requires_power = 1
/area/shuttle/axolotl_galley
name = "\improper Axolotl Galley"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "dark-s"
requires_power = 1
/area/shuttle/axolotl_head
name = "\improper Axolotl Head"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "dark-p"
requires_power = 1
+21 -185
View File
@@ -1,20 +1,10 @@
// Supply shuttle
/datum/shuttle/autodock/ferry/supply/cargo/New(_name)
..()
move_direction = WEST
ceiling_type = /turf/simulated/floor/reinforced/virgo3c
/////EXPLOSHUTTL/////
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/gbexplo
name = "short jump console"
shuttle_tag = "Exploration Shuttle"
req_one_access = list(access_pilot)
/obj/effect/overmap/visitable/ship/landable/gbexplo
name = "Exploration Shuttle"
desc = "A small shuttle from Rascal's Pass."
vessel_mass = 2500
vessel_size = SHIP_SIZE_TINY
shuttle = "Exploration Shuttle"
known = TRUE
// A shuttle lateloader landmark
/datum/shuttle/autodock/overmap/gbexplo
name = "Exploration Shuttle"
current_location = "gb_excursion_pad"
@@ -23,55 +13,28 @@
fuel_consumption = 1
move_direction = NORTH
/area/shuttle/groundbase/exploration
icon = 'icons/turf/areas_vr.dmi'
icon_state = "yelwhitri"
name = "Exploration Shuttle"
requires_power = 1
//AXOLOTL
/datum/shuttle/autodock/overmap/axolotl
name = "Axolotl"
current_location = "omship_axolotl"
docking_controller_tag = "axolotl_docking"
shuttle_area = list(/area/shuttle/axolotl,/area/shuttle/axolotl_cockpit,/area/shuttle/axolotl_engineering,/area/shuttle/axolotl_q1,/area/shuttle/axolotl_q2,/area/shuttle/axolotl_galley,/area/shuttle/axolotl_head)
defer_initialisation = TRUE //We're not loaded until an admin does it
fuel_consumption = 5
ceiling_type = /turf/simulated/floor/reinforced/airless
//////////////////////////////////////////////
// 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
ceiling_type = /turf/simulated/floor/reinforced/virgo3c
////////////////////////////////////////////////
/obj/effect/shuttle_landmark/premade/groundbase
name = "Rascal's Pass"
landmark_tag = "groundbase"
///////////////////////////////////////////////
/obj/effect/shuttle_landmark/shuttle_initializer/axolotl/New(loc, ...)
shuttle_type = /datum/shuttle/autodock/overmap/axolotl
..()
// Escape shuttle
/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 = EAST
/datum/shuttle/autodock/ferry/emergency
var/frequency = 1380 // Why this frequency? BECAUSE! Thats what someone decided once.
var/datum/radio_frequency/radio_connection
/datum/shuttle/autodock/ferry/emergency/escape/New()
..()
move_direction = EAST
/datum/shuttle/autodock/ferry/emergency/New()
radio_connection = radio_controller.add_object(src, frequency, null)
..()
move_direction = EAST
/datum/shuttle/autodock/ferry/emergency/dock()
..()
@@ -95,130 +58,3 @@
return radio_connection.post_signal(src, signal, filter)
else
qdel(signal)
//////////////////////////////////////////////
/////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
//AXOLOTL
// The shuttle's 'shuttle' computer
/obj/machinery/computer/shuttle_control/explore/axolotl
name = "short jump console"
shuttle_tag = "Axolotl"
// The 'shuttle'
/datum/shuttle/autodock/overmap/axolotl
name = "Axolotl"
current_location = "omship_axolotl"
docking_controller_tag = "axolotl_docking"
shuttle_area = list(/area/shuttle/axolotl,/area/shuttle/axolotl_cockpit,/area/shuttle/axolotl_engineering,/area/shuttle/axolotl_q1,/area/shuttle/axolotl_q2,/area/shuttle/axolotl_galley,/area/shuttle/axolotl_head)
defer_initialisation = TRUE //We're not loaded until an admin does it
fuel_consumption = 5
ceiling_type = /turf/simulated/floor/reinforced/airless
// A shuttle lateloader landmark
/obj/effect/shuttle_landmark/shuttle_initializer/axolotl
name = "ITV Axolotl"
base_area = /area/submap/groundbase/wilderness/west
base_turf = /turf/simulated/floor/outdoors/sidewalk/slab/virgo3c
landmark_tag = "omship_axolotl"
shuttle_type = /datum/shuttle/autodock/overmap/axolotl
// The 'ship'
/obj/effect/overmap/visitable/ship/landable/axolotl
name = "ITV Axolotl"
scanner_desc = @{"[i]Registration[/i]: ITV Axolotl
[i]Class[/i]: Corvette
[i]Transponder[/i]: Transmitting (CIV), non-hostile
[b]Notice[/b]: Multirole independent vessel"}
vessel_mass = 4500
vessel_size = SHIP_SIZE_LARGE
fore_dir = EAST
shuttle = "Axolotl"
known = TRUE
/area/shuttle/axolotl
name = "\improper Axolotl Cabin"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "gray"
requires_power = 1
/area/shuttle/axolotl_engineering
name = "\improper Axolotl Engineering"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "yellow"
requires_power = 1
/area/shuttle/axolotl_cockpit
name = "\improper Axolotl Cockpit"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "blue"
requires_power = 1
/area/shuttle/axolotl_q1
name = "\improper Axolotl Quarters 1"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "gray-p"
requires_power = 1
/area/shuttle/axolotl_q2
name = "\improper Axolotl Quarters 2"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "gray-s"
requires_power = 1
/area/shuttle/axolotl_galley
name = "\improper Axolotl Galley"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "dark-s"
requires_power = 1
/area/shuttle/axolotl_head
name = "\improper Axolotl Head"
icon = 'icons/turf/areas_vr_talon.dmi'
icon_state = "dark-p"
requires_power = 1
@@ -0,0 +1,52 @@
// #### Hub ####
/obj/machinery/telecomms/hub/preset/groundbase
id = "Hub"
network = "tcommsat"
autolinkers = list("hub",
"groundbase_relay", "c_relay", "m_relay", "r_relay",
"science", "medical", "supply", "service", "common", "command", "engineering", "security", "Away Team", "unused",
"hb_relay", "receiverA", "broadcasterA"
)
/obj/machinery/telecomms/receiver/preset_right/groundbase
id = "groundbase_rx"
freq_listening = list(AI_FREQ, SCI_FREQ, MED_FREQ, SUP_FREQ, SRV_FREQ, COMM_FREQ, ENG_FREQ, SEC_FREQ, ENT_FREQ, EXP_FREQ)
/obj/machinery/telecomms/broadcaster/preset_right/groundbase
id = "groundbase_tx"
/obj/machinery/telecomms/bus/preset_two/groundbase
freq_listening = list(SUP_FREQ, SRV_FREQ, EXP_FREQ)
/obj/machinery/telecomms/server/presets/service/groundbase
freq_listening = list(SRV_FREQ, EXP_FREQ)
autolinkers = list("service", "Away Team")
// Telecommunications Satellite
/area/groundbase/command/tcomms
name = "\improper Telecomms"
ambience = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg')
/area/groundbase/command/tcomms/entrance
name = "\improper Telecomms Teleporter"
/area/groundbase/command/tcomms/foyer
name = "\improper Telecomms Foyer"
/area/groundbase/command/tcomms/storage
name = "\improper Telecomms Storage"
/area/groundbase/command/tcomms/computer
name = "\improper Telecomms Control Room"
/area/groundbase/command/tcomms/chamber
name = "\improper Telecomms Central Compartment"
flags = BLUE_SHIELDED
/obj/item/bluespaceradio/groundbase_prelinked
name = "bluespace radio (Rascal's Pass)"
handset = /obj/item/radio/bluespacehandset/linked/groundbase_prelinked
/obj/item/radio/bluespacehandset/linked/groundbase_prelinked
bs_tx_preload_id = "groundbase_rx" //Transmit to a receiver
bs_rx_preload_id = "groundbase_tx" //Recveive from a transmitter
+4 -67
View File
@@ -1,63 +1,10 @@
// ### Preset machines ###
// #### Relays ####
// Telecomms doesn't know about connected z-levels, so we need relays even for the other surface levels.
/obj/machinery/telecomms/relay/preset/station
/obj/machinery/telecomms/relay/preset/station/New()
..()
id = "groundbase Relay"
autolinkers = list("groundbase_relay")
// #### Hub ####
/obj/machinery/telecomms/hub/preset/groundbase
id = "Hub"
network = "tcommsat"
autolinkers = list("hub",
"groundbase_relay", "c_relay", "m_relay", "r_relay",
"science", "medical", "supply", "service", "common", "command", "engineering", "security", "Away Team", "unused",
"hb_relay", "receiverA", "broadcasterA"
)
/obj/machinery/telecomms/receiver/preset_right/groundbase
id = "groundbase_rx"
freq_listening = list(AI_FREQ, SCI_FREQ, MED_FREQ, SUP_FREQ, SRV_FREQ, COMM_FREQ, ENG_FREQ, SEC_FREQ, ENT_FREQ, EXP_FREQ)
/obj/machinery/telecomms/broadcaster/preset_right/groundbase
id = "groundbase_tx"
/obj/machinery/telecomms/bus/preset_two/groundbase
freq_listening = list(SUP_FREQ, SRV_FREQ, EXP_FREQ)
/obj/machinery/telecomms/server/presets/service/groundbase
freq_listening = list(SRV_FREQ, EXP_FREQ)
autolinkers = list("service", "Away Team")
// Telecommunications Satellite
/area/groundbase/command/tcomms
name = "\improper Telecomms"
ambience = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg')
/area/groundbase/command/tcomms/entrance
name = "\improper Telecomms Teleporter"
/area/groundbase/command/tcomms/foyer
name = "\improper Telecomms Foyer"
/area/groundbase/command/tcomms/storage
name = "\improper Telecomms Storage"
/area/groundbase/command/tcomms/computer
name = "\improper Telecomms Control Room"
/area/groundbase/command/tcomms/chamber
name = "\improper Telecomms Central Compartment"
flags = BLUE_SHIELDED
/area/maintenance/substation/tcomms
name = "\improper Telecomms Substation"
/area/maintenance/station/tcomms
name = "\improper Telecoms Maintenance"
/datum/map/groundbase/default_internal_channels()
return list(
num2text(PUB_FREQ) = list(),
@@ -76,18 +23,8 @@
num2text(EXP_FREQ) = list(access_explorer)
)
/obj/item/multitool/station_buffered
name = "pre-linked multitool (Rascal's Pass hub)"
desc = "This multitool has already been linked to the groundbase telecomms hub and can be used to configure one (1) relay."
/obj/item/multitool/station_buffered/Initialize()
. = ..()
name = "pre-linked multitool (Rascal's Pass hub)"
desc = "This multitool has already been linked to the groundbase telecomms hub and can be used to configure one (1) relay."
buffer = locate(/obj/machinery/telecomms/hub/preset/groundbase)
/obj/item/bluespaceradio/groundbase_prelinked
name = "bluespace radio (Rascal's Pass)"
handset = /obj/item/radio/bluespacehandset/linked/groundbase_prelinked
/obj/item/radio/bluespacehandset/linked/groundbase_prelinked
bs_tx_preload_id = "groundbase_rx" //Transmit to a receiver
bs_rx_preload_id = "groundbase_tx" //Recveive from a transmitter
+3 -97
View File
@@ -1,114 +1,20 @@
/obj/effect/step_trigger/teleporter/to_mining
icon = 'icons/obj/structures/stairs_64x64.dmi'
icon_state = ""
invisibility = 0
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
/obj/effect/step_trigger/teleporter/to_mining/Initialize()
. = ..()
teleport_x = x
teleport_y = y ++
teleport_z = Z_LEVEL_MINING
/obj/effect/step_trigger/teleporter/from_mining
icon = 'icons/obj/structures/stairs_64x64.dmi'
icon_state = ""
invisibility = 0
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
/obj/effect/step_trigger/teleporter/from_mining/Initialize()
. = ..()
teleport_x = x
teleport_y = y --
teleport_z = Z_LEVEL_GB_BOTTOM
/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)
/turf/simulated/floor/maglev
name = "maglev track"
desc = "Magnetic levitation tram tracks. Caution! Electrified!"
icon = 'icons/turf/flooring/maglevs.dmi'
icon_state = "maglevup"
can_be_plated = FALSE
var/area/shock_area = /area/centcom/terminal/tramfluff
/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/simulated/floor/maglev/New(loc, ...)
..()
shock_area = /area/centcom/terminal/tramfluff
// Shelter Capsule extra restrictions
/datum/map_template/shelter/New()
..()
banned_areas += list(/area/groundbase/level3/escapepad)
// Landmarks for wildlife events
/obj/effect/landmark/wildlife/water
name = "aquatic wildlife"
wildlife_type = 1
/obj/effect/landmark/wildlife/forest
name = "roaming wildlife"
wildlife_type = 2