mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 13:05:44 +01:00
Added a ruins UT (#18290)
* sdfa * fas * the godness guides, the godness protects * sadf * sdf * fsa * exoplanets_ruins config for UT * sdaf * sdf * curse upon me
This commit is contained in:
@@ -799,3 +799,126 @@ jobs:
|
||||
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
|
||||
path: ./data/logs/**/condensed.log
|
||||
retention-days: 5
|
||||
|
||||
###########################################
|
||||
################ TEST RUINS ###############
|
||||
###########################################
|
||||
ruins-tests:
|
||||
name: Run Ruins Tests
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
if: ${{ !(contains(github.event.head_commit.message, '[ci skip]')) && !(contains(github.event.head_commit.message, '[ut skip]'))}}
|
||||
needs: [validate-structure, lint-spacemandmm, lint-opendream, lint-tgui, lint-misc]
|
||||
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:10.11
|
||||
ports:
|
||||
- 3306
|
||||
env:
|
||||
MYSQL_USER: build
|
||||
MYSQL_PASSWORD: build
|
||||
MYSQL_DATABASE: game
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
|
||||
concurrency:
|
||||
group: unit-tests-ruins-tests-${{ matrix.map }}-${{ matrix.pod }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
map: [runtime]
|
||||
pod: [ruins]
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
|
||||
#This allows us to SSH into the pod, and it's only enabled if we're running in debug mode
|
||||
- name: Setup TMATE session (Debug only)
|
||||
uses: mxschmitt/action-tmate@v3
|
||||
if: ${{ env.RUNNER_DEBUG_SHELL == true }}
|
||||
with:
|
||||
detached: true
|
||||
timeout-minutes: 5
|
||||
|
||||
#Checkout the repository
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
#Initialize the environment variables
|
||||
- name: Set ENV variables
|
||||
run: bash dependencies.sh
|
||||
|
||||
#Restores BYOND cache
|
||||
- name: Restore BYOND cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/BYOND/*
|
||||
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
|
||||
|
||||
- name: Restore FlyWay cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/flyway
|
||||
key: ${{ runner.os }}-flyway-${{ env.FLYWAY_BUILD }}
|
||||
|
||||
#Add the x86 architecture and update apt-get's local indexes
|
||||
- name: Prepare OS Environtment
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
|
||||
#Installs the packages we need, from a cache
|
||||
- name: Install OS Packages
|
||||
uses: awalsh128/cache-apt-pkgs-action@latest
|
||||
with:
|
||||
packages: gcc-multilib zlib1g-dev:i386 libssl-dev:i386 libgcc-s1:i386 libc6:i386
|
||||
version: 1.1
|
||||
|
||||
#And natively, the packages that break from a cache
|
||||
- name: Install OS Packages (Native)
|
||||
run: |
|
||||
sudo apt-get install libgcc-s1:i386 libssl-dev:i386
|
||||
|
||||
#Install flyway
|
||||
- name: Install Flyway
|
||||
run: |
|
||||
tools/ci/install_flyway.sh
|
||||
|
||||
#Apply the database migration
|
||||
- name: Apply Database Migrations (FlyWay)
|
||||
env:
|
||||
PORT: ${{ job.services.mariadb.ports[3306] }}
|
||||
run: |
|
||||
$HOME/flyway/flyway-$FLYWAY_BUILD/flyway migrate -user=root -password=root -url="jdbc:mariadb://localhost:$PORT/game" -validateMigrationNaming="true"
|
||||
|
||||
- name: Install BYOND & rust_g
|
||||
run: |
|
||||
source dependencies.sh
|
||||
bash tools/ci/install_byond.sh
|
||||
source $HOME/BYOND/byond/bin/byondsetup
|
||||
bash tools/ci/install_rust_g.sh
|
||||
|
||||
- name: Configure pod, build and run
|
||||
env:
|
||||
PORT: ${{ job.services.mariadb.ports[3306] }}
|
||||
POD: ${{ matrix.pod }}
|
||||
run: |
|
||||
export LD_LIBRARY_PATH=./:$PWD:$HOME/BYOND/byond/bin:/usr/local/lib:$LD_LIBRARY_PATH
|
||||
scripts/dm.sh -DUNIT_TEST -M${{ matrix.map }} aurorastation.dme
|
||||
grep "0 warnings" build_log.txt
|
||||
echo -n "$POD" > config/unit_test/identifier.txt
|
||||
|
||||
cp config/example/* config/ && cp config/ut/config-db.txt config/config.txt && cp config/ut/dbconfig.txt config/dbconfig.txt
|
||||
echo "PORT $PORT" >> config/dbconfig.txt
|
||||
$HOME/BYOND/byond/bin/DreamDaemon aurorastation.dmb -invisible -trusted -core 2>&1 | tee log.txt
|
||||
grep "All Unit Tests Passed" log.txt
|
||||
(! grep "runtime error:" log.txt)
|
||||
|
||||
- name: Upload Condensed UT Log
|
||||
uses: actions/upload-artifact@v3
|
||||
if: failure() || ${{ runner.debug }}
|
||||
with:
|
||||
name: condensed-${{ matrix.map }}-${{ matrix.pod }}.log
|
||||
path: ./data/logs/**/condensed.log
|
||||
retention-days: 5
|
||||
|
||||
@@ -3520,6 +3520,7 @@
|
||||
#include "code\unit_tests\overmap_tests.dm"
|
||||
#include "code\unit_tests\power_tests.dm"
|
||||
#include "code\unit_tests\recipe_tests.dm"
|
||||
#include "code\unit_tests\ruins_tests.dm"
|
||||
#include "code\unit_tests\shuttle_tests.dm"
|
||||
#include "code\unit_tests\smart_token_bucket.dm"
|
||||
#include "code\unit_tests\spawner_tests.dm"
|
||||
|
||||
+24
-10
@@ -22,18 +22,27 @@
|
||||
/// Unused?
|
||||
var/player_cost = 0
|
||||
|
||||
/// This ruin can only spawn in the sectors in this list.
|
||||
/// Should contain names of sectors as defined in `space_sectors.dm`.
|
||||
/// This list is flattened so it can contain nested lists like, for example, `ALL_POSSIBLE_SECTORS`.
|
||||
/**
|
||||
* This ruin can only spawn in the sectors in this list
|
||||
*
|
||||
* Should contain names of sectors as defined in `code\__DEFINES\space_sectors.dm`
|
||||
*
|
||||
* This list is flattened so it can contain nested lists, eg `ALL_POSSIBLE_SECTORS`
|
||||
*/
|
||||
var/list/sectors = list()
|
||||
/// Sectors in this list are removed from the `sectors` list.
|
||||
/// Usage is same as of `sectors`.
|
||||
/// Intention is to allow to, for example, set `sectors` to `ALL_POSSIBLE_SECTORS`,
|
||||
/// but then disallow just one sector from that list.
|
||||
|
||||
/**
|
||||
* Sectors in this list are removed from the `sectors` list
|
||||
*
|
||||
* Usage is same as of `sectors`
|
||||
*
|
||||
* It allows to, for example, set `sectors` to `ALL_POSSIBLE_SECTORS` and then disallow it in specific ones
|
||||
*/
|
||||
var/list/sectors_blacklist = list()
|
||||
|
||||
/// Prefix part of the path to the dmm maps.
|
||||
var/prefix = null
|
||||
|
||||
/// A list of suffix parts of paths of the dmm maps.
|
||||
/// Combined with prefix to get the actual path.
|
||||
var/list/suffixes = null
|
||||
@@ -41,9 +50,14 @@
|
||||
/// Template flags for this ruin
|
||||
template_flags = TEMPLATE_FLAG_NO_RUINS
|
||||
|
||||
var/list/force_ruins // Listed ruins are always spawned unless disallowed by flags.
|
||||
var/list/allow_ruins // Listed ruins are added to the set of available spawns.
|
||||
var/list/ban_ruins // Listed ruins are removed from the set of available spawns. Beats allowed.
|
||||
///Listed ruins are always spawned unless disallowed by flags
|
||||
var/list/force_ruins
|
||||
|
||||
//Listed ruins are added to the set of available spawns
|
||||
var/list/allow_ruins
|
||||
|
||||
///Listed ruins are removed from the set of available spawns
|
||||
var/list/ban_ruins
|
||||
|
||||
/datum/map_template/ruin/New()
|
||||
// get the map paths
|
||||
|
||||
@@ -506,7 +506,7 @@ pixel_x = 10;
|
||||
return
|
||||
|
||||
var/icon_level = danger_level
|
||||
if (alarm_area.atmosalm)
|
||||
if(alarm_area?.atmosalm)
|
||||
icon_level = max(icon_level, 1) //if there's an atmos alarm but everything is okay locally, no need to go past yellow
|
||||
|
||||
alarm_overlay = make_screen_overlay(icon, "alarm[icon_level]")
|
||||
|
||||
@@ -88,10 +88,16 @@
|
||||
var/refill_rate = 0.5 //Rate per process() tick mop refills itself
|
||||
var/refill_reagent = /singleton/reagent/water //Determins what reagent to use for refilling, just in case someone wanted to make a HOLY MOP OF PURGING
|
||||
|
||||
/obj/item/mop/advanced/New()
|
||||
..()
|
||||
/obj/item/mop/advanced/Initialize()
|
||||
. = ..()
|
||||
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/item/mop/advanced/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
|
||||
. = ..()
|
||||
|
||||
/obj/item/mop/advanced/attack_self(mob/user)
|
||||
refill_enabled = !refill_enabled
|
||||
if(refill_enabled)
|
||||
@@ -108,8 +114,3 @@
|
||||
/obj/item/mop/advanced/examine(mob/user)
|
||||
. = ..()
|
||||
to_chat(user, SPAN_NOTICE("\The condenser switch is set to <b>[refill_enabled ? "ON" : "OFF"]</b>."))
|
||||
|
||||
/obj/item/mop/advanced/Destroy()
|
||||
if(refill_enabled)
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
return ..()
|
||||
|
||||
@@ -300,7 +300,7 @@ GLOBAL_LIST_EMPTY(total_active_bonfires)
|
||||
/obj/structure/bonfire/proc/burn(var/mob/living/M, var/entered = FALSE)
|
||||
if(safe)
|
||||
return
|
||||
if(M && prob((fuel / max_fuel) * 100))
|
||||
if(istype(M) && prob((fuel / max_fuel) * 100))
|
||||
if(entered)
|
||||
to_chat(M, SPAN_WARNING("You are covered by fire and heat from entering \the [src]!"))
|
||||
if(isanimal(M))
|
||||
|
||||
@@ -62,20 +62,21 @@
|
||||
else
|
||||
add_overlay(get_flooring_overlay("[flooring.icon]_[flooring.icon_base]-edge-[direction]", "[flooring.icon_base]_edges", direction,(flooring.flags & TURF_HAS_EDGES)))
|
||||
|
||||
if(!isnull(broken) && (flooring.flags & TURF_CAN_BREAK))
|
||||
if(flooring.has_damage_state)
|
||||
add_overlay(get_damage_overlay("[flooring.icon_base]_broken[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, material floors damage. like diamond_broken0.
|
||||
else // EVERYTHING BELOW, SEE DAMAGE.DMI
|
||||
add_overlay(get_damage_overlay("[broken_overlay ? "[broken_overlay]_" : ""]broken[broken]", BLEND_MULTIPLY, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, broken overlay. carpet_broken0.
|
||||
if(!isnull(burnt) && (flooring.flags & TURF_CAN_BURN))
|
||||
if(flooring.has_burn_state)
|
||||
add_overlay(get_damage_overlay("[flooring.icon_base]_burned[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null))
|
||||
else
|
||||
add_overlay(get_damage_overlay("[burned_overlay ? "[burned_overlay]_" : ""]burned[burnt]"))
|
||||
|
||||
if(decals && decals.len)
|
||||
for(var/image/I in decals)
|
||||
add_overlay(I)
|
||||
|
||||
if(!isnull(broken) && (flooring.flags & TURF_CAN_BREAK))
|
||||
if(flooring.has_damage_state)
|
||||
add_overlay(get_damage_overlay("[flooring.icon_base]_broken[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, material floors damage. like diamond_broken0.
|
||||
else // EVERYTHING BELOW, SEE DAMAGE.DMI
|
||||
add_overlay(get_damage_overlay("[broken_overlay ? "[broken_overlay]_" : ""]broken[broken]", BLEND_MULTIPLY, flooring_color = flooring.damage_uses_color ? flooring.color : null)) //example, broken overlay. carpet_broken0.
|
||||
if(!isnull(burnt) && (flooring.flags & TURF_CAN_BURN))
|
||||
if(flooring.has_burn_state)
|
||||
add_overlay(get_damage_overlay("[flooring.icon_base]_burned[broken]", flooring_icon = flooring.icon, flooring_color = flooring.damage_uses_color ? flooring.color : null))
|
||||
else
|
||||
add_overlay(get_damage_overlay("[burned_overlay ? "[burned_overlay]_" : ""]burned[burnt]"))
|
||||
|
||||
if(update_neighbors)
|
||||
for(var/turf/simulated/floor/F in RANGE_TURFS(1, src))
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
return bounds
|
||||
|
||||
/datum/map_template/proc/load_new_z(var/no_changeturf = TRUE)
|
||||
RETURN_TYPE(/turf)
|
||||
|
||||
var/x = round((world.maxx - width)/2)
|
||||
var/y = round((world.maxy - height)/2)
|
||||
var/initial_z = world.maxz + 1
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
set_light(MINIMUM_USEFUL_LIGHT_RANGE, E.lightlevel, COLOR_WHITE)
|
||||
if(E.planetary_area && istype(loc, world.area))
|
||||
ChangeArea(src, E.planetary_area)
|
||||
else
|
||||
log_module_exoplanets("Simulated exoplanet turf NAME: [src.name] LOC [src.x]-[src.y]-[src.z] did not find any exoplanet to copy info from!")
|
||||
..()
|
||||
|
||||
/turf/simulated/floor/exoplanet/attackby(obj/item/C, mob/user)
|
||||
|
||||
@@ -57,10 +57,15 @@
|
||||
var/features_budget = 4
|
||||
var/list/possible_features = list()
|
||||
var/list/spawned_features
|
||||
|
||||
/// List of ruin types that can be chosen from; supercedes ruin tags system, ignores TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED
|
||||
var/list/ruin_type_whitelist
|
||||
// Ruin tags: used to dynamically select what ruins are valid for this exoplanet, if any
|
||||
// See code/__defines/ruin_tags.dm
|
||||
|
||||
/**
|
||||
* Ruin tags: used to dynamically select what ruins are valid for this exoplanet, if any
|
||||
*
|
||||
* See `code/__DEFINES/ruin_tags.dm`
|
||||
*/
|
||||
var/ruin_planet_type = PLANET_BARREN
|
||||
var/ruin_allowed_tags = RUIN_ALL_TAGS
|
||||
|
||||
@@ -107,12 +112,44 @@
|
||||
if(LAZYLEN(possible_themes))
|
||||
var/datum/exoplanet_theme/T = pick(possible_themes)
|
||||
theme = new T
|
||||
|
||||
#if defined(UNIT_TEST)
|
||||
///If we have shown one warning for the exoplanets_ruins config preventing us from loading ruins
|
||||
var/shown_warning_for_exoplanets_ruins_config = FALSE
|
||||
#endif //UNIT_TEST
|
||||
|
||||
if(ruin_type_whitelist)
|
||||
for(var/T in ruin_type_whitelist)
|
||||
|
||||
//If the exoplanet_ruins setting in the UT is FALSE, do not generate ruins
|
||||
//yes we could skip the list traversing but it would be more shitcode to do that, since it's not that expensive, fuck it
|
||||
#if defined(UNIT_TEST)
|
||||
if((SSunit_tests_config.config["exoplanets_ruins"] == FALSE))
|
||||
if(!shown_warning_for_exoplanets_ruins_config)
|
||||
LOG_GITHUB_WARNING("Not spawning ruins in 'ruin_type_whitelist' for [src.name] because 'exoplanets_ruins' is FALSE in the UT config")
|
||||
shown_warning_for_exoplanets_ruins_config = TRUE
|
||||
|
||||
LOG_GITHUB_DEBUG("Ruin [T] in 'ruin_type_whitelist' for [src.name] not spawned because 'exoplanets_ruins' is FALSE in the UT config")
|
||||
continue
|
||||
#endif //UNIT_TEST
|
||||
|
||||
var/datum/map_template/ruin/exoplanet/ruin = T
|
||||
possible_features += new ruin
|
||||
else
|
||||
for(var/T in subtypesof(/datum/map_template/ruin/exoplanet))
|
||||
|
||||
//If the exoplanet_ruins setting in the UT is FALSE or the type is not listed, do not generate ruins
|
||||
//If it's set to TRUE, we want the normal behavior, otherwise check if the subtype is present in the list
|
||||
#if defined(UNIT_TEST)
|
||||
if((SSunit_tests_config.config["exoplanets_ruins"] == FALSE) || ((SSunit_tests_config.config["exoplanets_ruins"] != TRUE) && !(T in SSunit_tests_config.config["exoplanets_ruins"])))
|
||||
if(!shown_warning_for_exoplanets_ruins_config && (SSunit_tests_config.config["exoplanets_ruins"] == FALSE))
|
||||
LOG_GITHUB_WARNING("Not spawning ruins for [src.name] because 'exoplanets_ruins' is FALSE in the UT config")
|
||||
shown_warning_for_exoplanets_ruins_config = TRUE
|
||||
|
||||
LOG_GITHUB_DEBUG("Ruin [T] for [src.name] not spawned because either 'exoplanets_ruins' is FALSE or it does not contain it in the UT config")
|
||||
continue
|
||||
#endif //UNIT_TEST
|
||||
|
||||
var/datum/map_template/ruin/exoplanet/ruin = T
|
||||
if((initial(ruin.template_flags) & TEMPLATE_FLAG_RUIN_STARTS_DISALLOWED))
|
||||
continue
|
||||
@@ -122,6 +159,7 @@
|
||||
if(filtered_tags != initial(ruin.ruin_tags))
|
||||
continue
|
||||
possible_features += new ruin
|
||||
|
||||
..()
|
||||
|
||||
/obj/effect/overmap/visitable/sector/exoplanet/proc/build_level()
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Ruins tests
|
||||
* Basically loads the ruins to then check them
|
||||
*/
|
||||
|
||||
/datum/unit_test/ruins_test
|
||||
name = "Ruins Test"
|
||||
groups = list("ruins")
|
||||
priority = 100 //Have to load the ruins first if you want to check them later
|
||||
|
||||
/datum/unit_test/ruins_test/start_test()
|
||||
return UNIT_TEST_SKIPPED
|
||||
|
||||
/datum/unit_test/ruins_test/exoplanet_ruins
|
||||
name = "Exoplanet Ruins"
|
||||
|
||||
/datum/unit_test/ruins_test/exoplanet_ruins/start_test()
|
||||
|
||||
//Generate a planet WITH VACUUM ATMOS to use as a baseline
|
||||
var/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/test_exoplanet = new()
|
||||
test_exoplanet.generate_atmosphere()
|
||||
TEST_ASSERT(length(test_exoplanet.map_z), "The test exoplanet somehow doesn't have any level!")
|
||||
|
||||
//Set the exoplanet like it exists on the zlevel, so that exoplanet turfs can copy the atmosphere from and not cause
|
||||
//active edges with the vacuum of space, since the exoplanet is without atmos as per above
|
||||
for(var/zlevel in test_exoplanet.map_z[length(test_exoplanet.map_z)] to 1024) //I pray to the lord we won't ever have 1024 ruins
|
||||
GLOB.map_sectors["[zlevel]"] = test_exoplanet
|
||||
|
||||
for(var/ruin in subtypesof(/datum/map_template/ruin/exoplanet))
|
||||
var/datum/map_template/ruin/exoplanet/tested_ruin = new ruin()
|
||||
var/turf/center_ruin = tested_ruin.load_new_z(FALSE)
|
||||
|
||||
if(!tested_ruin)
|
||||
TEST_FAIL("Failed to load ruin [ruin]!")
|
||||
return UNIT_TEST_FAILED
|
||||
|
||||
var/loaded_zlevel = null
|
||||
if(center_ruin)
|
||||
loaded_zlevel = center_ruin.z
|
||||
else
|
||||
TEST_WARN("Ruin [tested_ruin.name] didn't load in a Z level, or it could not be located, or it was not returned by the loader")
|
||||
loaded_zlevel = "Unknown, read above!"
|
||||
|
||||
TEST_DEBUG("Loaded ruin [tested_ruin.name] in Z [loaded_zlevel]")
|
||||
|
||||
TEST_PASS("All the ruins in [src.name] loaded successfully!")
|
||||
return UNIT_TEST_PASSED
|
||||
@@ -139,13 +139,14 @@ SUBSYSTEM_DEF(unit_tests)
|
||||
|
||||
for(var/group in D.groups)
|
||||
if((group in SSunit_tests_config.config["unit_test_groups"]) || (SSunit_tests_config.config["unit_test_groups"][1] == "*"))
|
||||
queue += D
|
||||
BINARY_INSERT_PROC_COMPARE(D, queue, /datum/unit_test, D, compare_priority, COMPARE_KEY)
|
||||
break
|
||||
|
||||
SSunit_tests_config.UT.notice("[queue.len] unit tests loaded.", __FILE__, __LINE__)
|
||||
|
||||
return SS_INIT_SUCCESS
|
||||
|
||||
|
||||
/datum/controller/subsystem/unit_tests/proc/start_game()
|
||||
if (SSticker.current_state == GAME_STATE_PREGAME)
|
||||
SSticker.current_state = GAME_STATE_SETTING_UP
|
||||
|
||||
@@ -52,6 +52,9 @@ var/ascii_reset = "[ascii_esc]\[0m"
|
||||
///A list of strings, each of which represents a group which this UT belongs to, the UT pods will only run UTs that are in their list
|
||||
var/list/groups = list()
|
||||
|
||||
///The priority of the test, the larger it is the later it fires
|
||||
var/priority = 1000
|
||||
|
||||
|
||||
/*
|
||||
* Log levels used to prettify correctly, only defined in this file (aka undef'd at the end)
|
||||
@@ -140,6 +143,12 @@ var/ascii_reset = "[ascii_esc]\[0m"
|
||||
fail("No check results proc")
|
||||
return 1
|
||||
|
||||
/**
|
||||
* Used to compare the priority of the tests to order them according to the `priority` var,
|
||||
* so that tests with a lower value runs first
|
||||
*/
|
||||
/datum/unit_test/proc/compare_priority(datum/unit_test/comparedto)
|
||||
return cmp_numeric_dsc(src.priority, comparedto.priority)
|
||||
|
||||
/proc/load_unit_test_changes()
|
||||
/*
|
||||
|
||||
@@ -206,8 +206,9 @@
|
||||
return UNIT_TEST_PASSED
|
||||
|
||||
|
||||
/**Something went wrong
|
||||
* compose a message and fail the test, let the poor soul try to figure out where the issue is, assuming it's not intermittent
|
||||
/*
|
||||
Something went wrong
|
||||
compose a message and fail the test, let the poor soul try to figure out where the issue is, assuming it's not intermittent
|
||||
*/
|
||||
var/fail_message = "[SSair.active_edges.len] edges active at round-start!\n"
|
||||
for(var/connection_edge/E in SSair.active_edges)
|
||||
|
||||
@@ -1,31 +1,43 @@
|
||||
{
|
||||
"generic":{
|
||||
"unit_test_groups":["generic", "mob", "machinery"],
|
||||
"map_template_unit_test_groups":[false]
|
||||
"map_template_unit_test_groups":[false],
|
||||
"exoplanets_ruins":true
|
||||
},
|
||||
|
||||
"create_and_destroy":{
|
||||
"unit_test_groups":["create and destroy"],
|
||||
"map_template_unit_test_groups":[false]
|
||||
"map_template_unit_test_groups":[false],
|
||||
"exoplanets_ruins":true
|
||||
},
|
||||
|
||||
"maptest":{
|
||||
"unit_test_groups":["map"],
|
||||
"map_template_unit_test_groups":["*"]
|
||||
"map_template_unit_test_groups":["*"],
|
||||
"exoplanets_ruins":true
|
||||
},
|
||||
|
||||
"ruins":{
|
||||
"unit_test_groups":["ruins", "map"],
|
||||
"map_template_unit_test_groups":[false],
|
||||
"exoplanets_ruins":false
|
||||
},
|
||||
|
||||
"awaysites-1":{
|
||||
"unit_test_groups":["map"],
|
||||
"map_template_unit_test_groups":[1]
|
||||
"map_template_unit_test_groups":[1],
|
||||
"exoplanets_ruins":true
|
||||
},
|
||||
|
||||
"awaysites-2":{
|
||||
"unit_test_groups":["map"],
|
||||
"map_template_unit_test_groups":[2]
|
||||
"map_template_unit_test_groups":[2],
|
||||
"exoplanets_ruins":true
|
||||
},
|
||||
|
||||
"awaysites-3":{
|
||||
"unit_test_groups":["map"],
|
||||
"map_template_unit_test_groups":[3]
|
||||
"map_template_unit_test_groups":[3],
|
||||
"exoplanets_ruins":true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# wip (For works in progress)
|
||||
# tweak
|
||||
# soundadd
|
||||
# sounddel
|
||||
# rscadd (general adding of nice things)
|
||||
# rscdel (general deleting of nice things)
|
||||
# imageadd
|
||||
# imagedel
|
||||
# maptweak
|
||||
# spellcheck (typo fixes)
|
||||
# experiment
|
||||
# balance
|
||||
# admin
|
||||
# backend
|
||||
# security
|
||||
# refactor
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: FluffyGhost
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- rscadd: "Added a ruins UT."
|
||||
- backend: "UTs now have a priority config to decide when they run."
|
||||
- bugfix: "Fixed various bugs that popped out during tests."
|
||||
- maptweak: "Reworked some ruins maps to not have active edges at roundstart."
|
||||
@@ -524,13 +524,6 @@
|
||||
/obj/structure/flora/ausbushes/stalkybush,
|
||||
/turf/simulated/floor/exoplanet/konyang,
|
||||
/area/space)
|
||||
"jo" = (
|
||||
/obj/structure/ladder/mining{
|
||||
pixel_y = 16
|
||||
},
|
||||
/obj/random/dirt_75,
|
||||
/turf/simulated/floor/exoplanet/dirt_konyang/cave,
|
||||
/area/hivebot_burrows_1)
|
||||
"jt" = (
|
||||
/obj/structure/rope_post{
|
||||
dir = 1
|
||||
@@ -647,18 +640,6 @@
|
||||
/obj/random/dirt_75,
|
||||
/turf/simulated/floor/exoplanet/dirt_konyang,
|
||||
/area/space)
|
||||
"lT" = (
|
||||
/obj/structure/lattice/catwalk/indoor/planks{
|
||||
layer = 2.0;
|
||||
name = "duckboard"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/ladder/mining{
|
||||
pixel_y = 16
|
||||
},
|
||||
/turf/simulated/floor/exoplanet/dirt_konyang/cave,
|
||||
/area/hivebot_burrows_1)
|
||||
"lX" = (
|
||||
/obj/random/dirt_75,
|
||||
/obj/random/dirt_75,
|
||||
@@ -695,14 +676,6 @@
|
||||
/obj/effect/landmark/corpse/miner/hivebot_burrows,
|
||||
/turf/simulated/floor/exoplanet/dirt_konyang,
|
||||
/area/space)
|
||||
"me" = (
|
||||
/obj/random/dirt_75,
|
||||
/obj/random/dirt_75,
|
||||
/obj/structure/ladder/mining{
|
||||
pixel_y = 16
|
||||
},
|
||||
/turf/simulated/floor/exoplanet/basalt/cave,
|
||||
/area/hivebot_burrows_1)
|
||||
"my" = (
|
||||
/obj/random/dirt_75,
|
||||
/obj/effect/decal/cleanable/generic,
|
||||
@@ -2012,9 +1985,6 @@
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/ladder/mining{
|
||||
pixel_y = 16
|
||||
},
|
||||
/obj/structure/rope_post{
|
||||
dir = 4
|
||||
},
|
||||
@@ -2079,18 +2049,6 @@
|
||||
},
|
||||
/turf/simulated/floor/exoplanet/barren/cave,
|
||||
/area/hivebot_burrows_1)
|
||||
"No" = (
|
||||
/obj/structure/ladder/mining{
|
||||
pixel_y = 16
|
||||
},
|
||||
/obj/structure/lattice/catwalk/indoor/planks{
|
||||
layer = 2.0;
|
||||
name = "duckboard"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/exoplanet/dirt_konyang/cave,
|
||||
/area/hivebot_burrows_1)
|
||||
"NB" = (
|
||||
/obj/item/device/radio,
|
||||
/obj/structure/lattice/catwalk/indoor/planks{
|
||||
@@ -2742,9 +2700,6 @@
|
||||
/turf/simulated/floor/exoplanet/dirt_konyang/cave,
|
||||
/area/hivebot_burrows_1)
|
||||
"ZH" = (
|
||||
/obj/structure/ladder/mining{
|
||||
pixel_y = 16
|
||||
},
|
||||
/obj/random/dirt_75,
|
||||
/obj/item/trash/broken_electronics{
|
||||
pixel_x = -4;
|
||||
@@ -3946,7 +3901,7 @@ eb
|
||||
Cn
|
||||
xf
|
||||
xf
|
||||
No
|
||||
hb
|
||||
Wd
|
||||
ED
|
||||
zN
|
||||
@@ -3976,7 +3931,7 @@ Gh
|
||||
no
|
||||
xf
|
||||
xf
|
||||
me
|
||||
Wd
|
||||
xf
|
||||
xf
|
||||
xf
|
||||
@@ -4004,7 +3959,7 @@ De
|
||||
zN
|
||||
xf
|
||||
xf
|
||||
lT
|
||||
hb
|
||||
YM
|
||||
CH
|
||||
xf
|
||||
@@ -4534,7 +4489,7 @@ KN
|
||||
xf
|
||||
xf
|
||||
xf
|
||||
jo
|
||||
NY
|
||||
Zf
|
||||
ac
|
||||
xe
|
||||
|
||||
@@ -15,6 +15,20 @@
|
||||
dir = 1
|
||||
},
|
||||
/area/exoplanet)
|
||||
"rx" = (
|
||||
/obj/machinery/door/airlock/hatch{
|
||||
name = "Cockpit";
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/exoplanet)
|
||||
"DP" = (
|
||||
/obj/machinery/door/airlock/hatch{
|
||||
name = "Cockpit";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/exoplanet)
|
||||
"GU" = (
|
||||
/mob/living/simple_animal/hostile/retaliate/pra_exploration_drone,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
@@ -27,16 +41,36 @@
|
||||
|
||||
(1,1,1) = {"
|
||||
aX
|
||||
ab
|
||||
aX
|
||||
rx
|
||||
aX
|
||||
aX
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
aX
|
||||
aX
|
||||
ab
|
||||
aX
|
||||
aX
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
DP
|
||||
pD
|
||||
GU
|
||||
br
|
||||
DP
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
(4,1,1) = {"
|
||||
aX
|
||||
aX
|
||||
HX
|
||||
aX
|
||||
aX
|
||||
"}
|
||||
(5,1,1) = {"
|
||||
aX
|
||||
aX
|
||||
rx
|
||||
aX
|
||||
aX
|
||||
"}
|
||||
|
||||
@@ -771,18 +771,6 @@
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/raskara_okon/mess_hall)
|
||||
"jY" = (
|
||||
/obj/effect/floor_decal/corner/red{
|
||||
dir = 10
|
||||
},
|
||||
/obj/structure/cable/green,
|
||||
/obj/machinery/power/apc/high/south{
|
||||
req_access = list(209)
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark{
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/raskara_okon/entry)
|
||||
"kd" = (
|
||||
/obj/machinery/door/airlock/engineering{
|
||||
req_access = list(209);
|
||||
@@ -994,14 +982,6 @@
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/raskara_okon/entry)
|
||||
"md" = (
|
||||
/obj/effect/floor_decal/corner/red{
|
||||
dir = 5
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark{
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/raskara_okon/entry)
|
||||
"mf" = (
|
||||
/obj/structure/closet/excavation,
|
||||
/obj/effect/floor_decal/corner/mauve/full{
|
||||
@@ -1032,7 +1012,7 @@
|
||||
/obj/effect/floor_decal/industrial/warning/cee{
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/turf/template_noop,
|
||||
/area/raskara_okon/mining)
|
||||
"mF" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,
|
||||
@@ -1260,7 +1240,7 @@
|
||||
id = "okon_base_belt"
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/turf/simulated/floor/airless,
|
||||
/turf/template_noop,
|
||||
/area/raskara_okon/mining)
|
||||
"pY" = (
|
||||
/obj/structure/table/steel,
|
||||
@@ -2264,11 +2244,6 @@
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/structure/cable/green{
|
||||
d1 = 2;
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/structure/sign/flag/pra{
|
||||
pixel_y = 32
|
||||
},
|
||||
@@ -2594,7 +2569,7 @@
|
||||
},
|
||||
/area/raskara_okon/eva)
|
||||
"HX" = (
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Ic" = (
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen{
|
||||
@@ -4376,7 +4351,7 @@ gs
|
||||
wj
|
||||
Re
|
||||
gs
|
||||
md
|
||||
tl
|
||||
Xv
|
||||
Oc
|
||||
ix
|
||||
@@ -4478,7 +4453,7 @@ AS
|
||||
jg
|
||||
Ph
|
||||
gs
|
||||
md
|
||||
tl
|
||||
Xv
|
||||
Oc
|
||||
hj
|
||||
@@ -4649,7 +4624,7 @@ Ay
|
||||
Mu
|
||||
Av
|
||||
Co
|
||||
jY
|
||||
Xv
|
||||
Oc
|
||||
Oc
|
||||
Oc
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
name = "altar"
|
||||
},
|
||||
/obj/item/material/knife/raskariim,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"f" = (
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
|
||||
(1,1,1) = {"
|
||||
|
||||
@@ -4,35 +4,27 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/grille/broken,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"aD" = (
|
||||
/obj/machinery/floodlight{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"aX" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/item/device/flashlight/lamp,
|
||||
/turf/simulated/floor/tiled/dark{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"br" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/structure/trash_pile,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"bA" = (
|
||||
/obj/effect/decal/cleanable/blood/oil/streak,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"dg" = (
|
||||
/obj/structure/railing/mapped,
|
||||
@@ -48,14 +40,12 @@
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"eU" = (
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/obj/structure/trash_pile,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"fb" = (
|
||||
/obj/structure/railing/mapped{
|
||||
@@ -64,9 +54,7 @@
|
||||
/obj/structure/sign/vacuum{
|
||||
pixel_x = -32
|
||||
},
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"gs" = (
|
||||
/obj/random/beret,
|
||||
@@ -77,19 +65,17 @@
|
||||
/area/exoplanet/barren/raskara)
|
||||
"iS" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"kL" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/item/toy/desk/fan,
|
||||
/obj/structure/extinguisher_cabinet/west,
|
||||
/turf/simulated/floor/carpet/art{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"me" = (
|
||||
/obj/random/hoodie,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"mF" = (
|
||||
/obj/effect/floor_decal/industrial/warning{
|
||||
@@ -99,40 +85,34 @@
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"mL" = (
|
||||
/obj/structure/closet/crate/loot,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"oE" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"pt" = (
|
||||
/obj/machinery/atmospherics/unary/engine,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/obj/structure/lattice,
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"pD" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/structure/railing/mapped,
|
||||
/obj/structure/trash_pile,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"pL" = (
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"qh" = (
|
||||
/obj/machinery/atmospherics/unary/engine,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"qm" = (
|
||||
/obj/machinery/door/airlock/hatch{
|
||||
@@ -142,24 +122,18 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/tiled/dark{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"qr" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"tj" = (
|
||||
/obj/item/material/shard,
|
||||
/obj/item/arrow/rod,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"tF" = (
|
||||
/obj/structure/railing/mapped{
|
||||
@@ -167,25 +141,19 @@
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/obj/structure/trash_pile,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"vh" = (
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"vp" = (
|
||||
/obj/machinery/portable_atmospherics/hydroponics,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"vA" = (
|
||||
/obj/effect/decal/cleanable/cobweb,
|
||||
@@ -193,37 +161,26 @@
|
||||
/obj/item/storage/toolbox/electrical,
|
||||
/obj/item/storage/toolbox/syndicate,
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"vD" = (
|
||||
/obj/machinery/portable_atmospherics/canister/empty/oxygen,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"yd" = (
|
||||
/obj/effect/floor_decal/industrial/warning{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/warning,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"yB" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/exoplanet/barren/raskara)
|
||||
"yR" = (
|
||||
/turf/simulated/floor/tiled/dark{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Ag" = (
|
||||
/obj/effect/decal/remains/xeno,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Aq" = (
|
||||
/obj/effect/decal/cleanable/blood/oil/streak,
|
||||
@@ -232,42 +189,27 @@
|
||||
"Dy" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/structure/railing/mapped,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"DP" = (
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/exoplanet/barren/raskara)
|
||||
"EM" = (
|
||||
/obj/structure/closet/crate/loot,
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"FZ" = (
|
||||
/obj/structure/trash_pile,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Gn" = (
|
||||
/turf/unsimulated/wall/fakepdoor,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"GU" = (
|
||||
/turf/simulated/floor/carpet/art{
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Hv" = (
|
||||
/obj/structure/closet/crate/loot,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"HX" = (
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Ic" = (
|
||||
/obj/structure/closet/crate,
|
||||
@@ -283,52 +225,40 @@
|
||||
/obj/item/clothing/accessory/tajaran,
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Iu" = (
|
||||
/obj/structure/lattice,
|
||||
/obj/structure/closet/crate/freezer,
|
||||
/obj/item/storage/field_ration/dpra,
|
||||
/obj/item/storage/field_ration/dpra,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Jw" = (
|
||||
/obj/structure/computerframe,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/carpet/art{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"JQ" = (
|
||||
/obj/structure/reagent_dispensers/keg/mead,
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Ky" = (
|
||||
/obj/structure/bed/stool/chair/shuttle,
|
||||
/turf/simulated/floor/carpet/art{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"LM" = (
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/obj/random/junk,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"LP" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Mf" = (
|
||||
/turf/simulated/wall/shuttle/raider,
|
||||
@@ -336,40 +266,18 @@
|
||||
"NL" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/random/junk,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Ol" = (
|
||||
/obj/effect/floor_decal/industrial/warning{
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/warning,
|
||||
/obj/machinery/conveyor{
|
||||
dir = 4
|
||||
},
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Pj" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/structure/railing/mapped{
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Re" = (
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"RF" = (
|
||||
/obj/item/arrow/rod,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Sg" = (
|
||||
/obj/structure/window/reinforced{
|
||||
@@ -380,65 +288,55 @@
|
||||
},
|
||||
/obj/structure/window/reinforced,
|
||||
/obj/structure/grille,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Tl" = (
|
||||
/obj/random/bomb_supply,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"TG" = (
|
||||
/obj/random/booze,
|
||||
/turf/simulated/floor/airless,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"UC" = (
|
||||
/obj/structure/computerframe,
|
||||
/turf/simulated/floor/carpet/art{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"WR" = (
|
||||
/obj/effect/decal/cleanable/blood/splatter,
|
||||
/obj/structure/lattice,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Xd" = (
|
||||
/obj/random/junk,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Xk" = (
|
||||
/obj/item/material/shard/wood,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/carpet/art{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"XF" = (
|
||||
/obj/structure/lattice,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"YE" = (
|
||||
/obj/random/gift,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"YN" = (
|
||||
/obj/item/material/shard,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/tiled/dark{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"YV" = (
|
||||
/obj/structure/lattice/catwalk/indoor/grate,
|
||||
/obj/item/material/shard/wood,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"Zm" = (
|
||||
/obj/item/material/shard/wood,
|
||||
/turf/simulated/floor/exoplanet/barren/raskara,
|
||||
/turf/template_noop,
|
||||
/area/exoplanet/barren/raskara)
|
||||
"ZI" = (
|
||||
/obj/structure/closet/crate,
|
||||
@@ -455,9 +353,7 @@
|
||||
/obj/random/contraband,
|
||||
/obj/item/material/knife/raskariim,
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/turf/simulated/floor{
|
||||
temperature = 278.15
|
||||
},
|
||||
/turf/simulated/floor/airless,
|
||||
/area/exoplanet/barren/raskara)
|
||||
|
||||
(1,1,1) = {"
|
||||
@@ -668,7 +564,7 @@ HX
|
||||
HX
|
||||
Mf
|
||||
Mf
|
||||
Ol
|
||||
mF
|
||||
fb
|
||||
DP
|
||||
Mf
|
||||
@@ -702,7 +598,7 @@ HX
|
||||
HX
|
||||
Mf
|
||||
pD
|
||||
Ol
|
||||
mF
|
||||
Pj
|
||||
yB
|
||||
LP
|
||||
@@ -853,7 +749,7 @@ bA
|
||||
HX
|
||||
HX
|
||||
XF
|
||||
XF
|
||||
pt
|
||||
gz
|
||||
Mf
|
||||
HX
|
||||
@@ -876,7 +772,7 @@ HX
|
||||
Mf
|
||||
Mf
|
||||
Mf
|
||||
Re
|
||||
gz
|
||||
Mf
|
||||
Mf
|
||||
HX
|
||||
@@ -949,7 +845,7 @@ HX
|
||||
HX
|
||||
HX
|
||||
HX
|
||||
EM
|
||||
mL
|
||||
HX
|
||||
HX
|
||||
pL
|
||||
@@ -963,7 +859,7 @@ HX
|
||||
HX
|
||||
HX
|
||||
qm
|
||||
yR
|
||||
gz
|
||||
Ky
|
||||
Jw
|
||||
ab
|
||||
@@ -999,7 +895,7 @@ XF
|
||||
Mf
|
||||
aX
|
||||
Xk
|
||||
GU
|
||||
gz
|
||||
tj
|
||||
HX
|
||||
HX
|
||||
@@ -1075,7 +971,7 @@ HX
|
||||
(19,1,1) = {"
|
||||
HX
|
||||
HX
|
||||
pt
|
||||
qh
|
||||
HX
|
||||
HX
|
||||
HX
|
||||
@@ -1109,7 +1005,7 @@ HX
|
||||
(20,1,1) = {"
|
||||
HX
|
||||
HX
|
||||
pt
|
||||
qh
|
||||
HX
|
||||
HX
|
||||
bA
|
||||
|
||||
Reference in New Issue
Block a user