diff --git a/code/game/turfs/unsimulated/planetary_vr.dm b/code/game/turfs/unsimulated/planetary_vr.dm new file mode 100644 index 0000000000..5cf174cf3d --- /dev/null +++ b/code/game/turfs/unsimulated/planetary_vr.dm @@ -0,0 +1,30 @@ +//Atmosphere properties +#define VIRGO3B_ONE_ATMOSPHERE 82.4 //kPa +#define VIRGO3B_AVG_TEMP 234 //kelvin + +#define VIRGO3B_PER_N2 0.16 //percent +#define VIRGO3B_PER_O2 0.00 +#define VIRGO3B_PER_N2O 0.00 //Currently no capacity to 'start' a turf with this. See turf.dm +#define VIRGO3B_PER_CO2 0.12 +#define VIRGO3B_PER_PHORON 0.72 + +//Math only beyond this point +#define VIRGO3B_MOL_PER_TURF (VIRGO3B_ONE_ATMOSPHERE*CELL_VOLUME/(VIRGO3B_AVG_TEMP*R_IDEAL_GAS_EQUATION)) +#define VIRGO3B_MOL_N2 (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_N2) +#define VIRGO3B_MOL_O2 (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_O2) +#define VIRGO3B_MOL_N2O (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_N2O) +#define VIRGO3B_MOL_CO2 (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_CO2) +#define VIRGO3B_MOL_PHORON (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_PHORON) + +//Turfmakers +#define VIRGO3B_SET_ATMOS nitrogen=VIRGO3B_MOL_N2;oxygen=VIRGO3B_MOL_O2;carbon_dioxide=VIRGO3B_MOL_CO2;phoron=VIRGO3B_MOL_PHORON;temperature=VIRGO3B_AVG_TEMP +#define VIRGO3B_TURF_CREATE(x) x/virgo3b/nitrogen=VIRGO3B_MOL_N2;x/virgo3b/oxygen=VIRGO3B_MOL_O2;x/virgo3b/carbon_dioxide=VIRGO3B_MOL_CO2;x/virgo3b/phoron=VIRGO3B_MOL_PHORON;x/virgo3b/temperature=VIRGO3B_AVG_TEMP;x/virgo3b/outdoors=TRUE;x/virgo3b/update_graphic(list/graphic_add = null, list/graphic_remove = null) return 0 +#define VIRGO3B_TURF_CREATE_UN(x) x/virgo3b/nitrogen=VIRGO3B_MOL_N2;x/virgo3b/oxygen=VIRGO3B_MOL_O2;x/virgo3b/carbon_dioxide=VIRGO3B_MOL_CO2;x/virgo3b/phoron=VIRGO3B_MOL_PHORON;x/virgo3b/temperature=VIRGO3B_AVG_TEMP + +// This is a wall you surround the area of your "planet" with, that makes the atmosphere inside stay within bounds, even if canisters +// are opened or other strange things occur. +/turf/unsimulated/wall/planetary/virgo3b + name = "facility wall" + desc = "An eight-meter tall carbyne wall. For when the wildlife on your planet is mostly militant megacorps." + alpha = 0xFF + VIRGO3B_SET_ATMOS diff --git a/code/modules/gamemaster/actions/planet_weather_change.dm b/code/modules/gamemaster/actions/planet_weather_change.dm index e0f2e754e9..27583a9a6a 100644 --- a/code/modules/gamemaster/actions/planet_weather_change.dm +++ b/code/modules/gamemaster/actions/planet_weather_change.dm @@ -5,7 +5,13 @@ reusable = TRUE var/datum/planet/target_planet - var/list/banned_weathers = list() //VOREStation Temp Edit + var/list/banned_weathers = list( + //VOREStation Edit - Virgo 3B Weather, + /datum/weather/virgo3b/ash_storm, + /datum/weather/virgo3b/emberfall, + /datum/weather/virgo3b/blood_moon, + /datum/weather/virgo3b/fallout) + //VOREStation Edit End var/list/possible_weathers = list() /datum/gm_action/planet_weather_shift/set_up() diff --git a/maps/tether/tether_virgo3b.dm b/code/modules/planet/virgo3b_vr.dm similarity index 98% rename from maps/tether/tether_virgo3b.dm rename to code/modules/planet/virgo3b_vr.dm index 882e701abd..1248fb40be 100644 --- a/maps/tether/tether_virgo3b.dm +++ b/code/modules/planet/virgo3b_vr.dm @@ -9,14 +9,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null amounts of both oxygen and nitrogen. Fortunately, the oxygen is not enough to be combustible in any meaningful way, however \ the phoron is desirable by many corporations, including NanoTrasen." current_time = new /datum/time/virgo3b() - expected_z_levels = list( - Z_LEVEL_SURFACE_LOW, - Z_LEVEL_SURFACE_MID, - Z_LEVEL_SURFACE_HIGH, - Z_LEVEL_SURFACE_MINE, - Z_LEVEL_SOLARS, - Z_LEVEL_PLAINS - ) +// expected_z_levels = list(1) // This is defined elsewhere. planetary_wall_type = /turf/unsimulated/wall/planetary/virgo3b /datum/planet/virgo3b/New() diff --git a/maps/tether/tether.dm b/maps/tether/tether.dm index 9fc90e12c2..aa79d8ea38 100644 --- a/maps/tether/tether.dm +++ b/maps/tether/tether.dm @@ -9,7 +9,6 @@ #include "tether_shuttle_defs.dm" #include "tether_shuttles.dm" #include "tether_telecomms.dm" - #include "tether_virgo3b.dm" #include "tether-01-surface1.dmm" #include "tether-02-surface2.dmm" diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index 10907c3ba9..557f2fab7b 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -1,26 +1,3 @@ -//Atmosphere properties -#define VIRGO3B_ONE_ATMOSPHERE 82.4 //kPa -#define VIRGO3B_AVG_TEMP 234 //kelvin - -#define VIRGO3B_PER_N2 0.16 //percent -#define VIRGO3B_PER_O2 0.00 -#define VIRGO3B_PER_N2O 0.00 //Currently no capacity to 'start' a turf with this. See turf.dm -#define VIRGO3B_PER_CO2 0.12 -#define VIRGO3B_PER_PHORON 0.72 - -//Math only beyond this point -#define VIRGO3B_MOL_PER_TURF (VIRGO3B_ONE_ATMOSPHERE*CELL_VOLUME/(VIRGO3B_AVG_TEMP*R_IDEAL_GAS_EQUATION)) -#define VIRGO3B_MOL_N2 (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_N2) -#define VIRGO3B_MOL_O2 (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_O2) -#define VIRGO3B_MOL_N2O (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_N2O) -#define VIRGO3B_MOL_CO2 (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_CO2) -#define VIRGO3B_MOL_PHORON (VIRGO3B_MOL_PER_TURF * VIRGO3B_PER_PHORON) - -//Turfmakers -#define VIRGO3B_SET_ATMOS nitrogen=VIRGO3B_MOL_N2;oxygen=VIRGO3B_MOL_O2;carbon_dioxide=VIRGO3B_MOL_CO2;phoron=VIRGO3B_MOL_PHORON;temperature=VIRGO3B_AVG_TEMP -#define VIRGO3B_TURF_CREATE(x) x/virgo3b/nitrogen=VIRGO3B_MOL_N2;x/virgo3b/oxygen=VIRGO3B_MOL_O2;x/virgo3b/carbon_dioxide=VIRGO3B_MOL_CO2;x/virgo3b/phoron=VIRGO3B_MOL_PHORON;x/virgo3b/temperature=VIRGO3B_AVG_TEMP;x/virgo3b/outdoors=TRUE;x/virgo3b/update_graphic(list/graphic_add = null, list/graphic_remove = null) return 0 -#define VIRGO3B_TURF_CREATE_UN(x) x/virgo3b/nitrogen=VIRGO3B_MOL_N2;x/virgo3b/oxygen=VIRGO3B_MOL_O2;x/virgo3b/carbon_dioxide=VIRGO3B_MOL_CO2;x/virgo3b/phoron=VIRGO3B_MOL_PHORON;x/virgo3b/temperature=VIRGO3B_AVG_TEMP - //Normal map defs #define Z_LEVEL_SURFACE_LOW 1 #define Z_LEVEL_SURFACE_MID 2 @@ -180,6 +157,16 @@ return 1 +/datum/planet/virgo3b + expected_z_levels = list( + Z_LEVEL_SURFACE_LOW, + Z_LEVEL_SURFACE_MID, + Z_LEVEL_SURFACE_HIGH, + Z_LEVEL_SURFACE_MINE, + Z_LEVEL_SOLARS, + Z_LEVEL_PLAINS + ) + // Short range computers see only the six main levels, others can see the surrounding surface levels. /datum/map/tether/get_map_levels(var/srcz, var/long_range = TRUE) if (long_range && (srcz in map_levels)) diff --git a/maps/tether/tether_turfs.dm b/maps/tether/tether_turfs.dm index 8f2172981a..abeeb34bcb 100644 --- a/maps/tether/tether_turfs.dm +++ b/maps/tether/tether_turfs.dm @@ -122,12 +122,6 @@ VIRGO3B_TURF_CREATE(/turf/simulated/mineral/floor) update_icon() //Unsimulated -/turf/unsimulated/wall/planetary/virgo3b - name = "facility wall" - desc = "An eight-meter tall carbyne wall. For when the wildlife on your planet is mostly militant megacorps." - alpha = 0xFF - VIRGO3B_SET_ATMOS - /turf/unsimulated/mineral/virgo3b blocks_air = TRUE diff --git a/vorestation.dme b/vorestation.dme index 750a1ac1a0..6bda13edcc 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1363,6 +1363,7 @@ #include "code\game\turfs\unsimulated\beach.dm" #include "code\game\turfs\unsimulated\floor.dm" #include "code\game\turfs\unsimulated\planetary.dm" +#include "code\game\turfs\unsimulated\planetary_vr.dm" #include "code\game\turfs\unsimulated\shuttle.dm" #include "code\game\turfs\unsimulated\sky_vr.dm" #include "code\game\turfs\unsimulated\walls.dm" @@ -2717,6 +2718,7 @@ #include "code\modules\persistence\persistence.dm" #include "code\modules\planet\planet.dm" #include "code\modules\planet\time.dm" +#include "code\modules\planet\virgo3b_vr.dm" #include "code\modules\planet\weather.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\apc_vr.dm"