diff --git a/.github/workflows/byond.yml b/.github/workflows/byond.yml index 5eccfc12957..0276182b997 100644 --- a/.github/workflows/byond.yml +++ b/.github/workflows/byond.yml @@ -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 diff --git a/aurorastation.dme b/aurorastation.dme index b888778c811..cdc35f9a481 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -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" diff --git a/code/datums/ruins.dm b/code/datums/ruins.dm index 7f4e92f9e87..d2f93fcd588 100644 --- a/code/datums/ruins.dm +++ b/code/datums/ruins.dm @@ -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 diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 6ab27d5206c..0f095987a5d 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -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]") diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 4330d944908..0b0d2a9b1e9 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -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 [refill_enabled ? "ON" : "OFF"].")) - -/obj/item/mop/advanced/Destroy() - if(refill_enabled) - STOP_PROCESSING(SSprocessing, src) - return ..() diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index cd6358666a4..30ffa8d0e80 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -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)) diff --git a/code/game/turfs/simulated/floor_icon.dm b/code/game/turfs/simulated/floor_icon.dm index d2fc1610398..2cc2d744158 100644 --- a/code/game/turfs/simulated/floor_icon.dm +++ b/code/game/turfs/simulated/floor_icon.dm @@ -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)) diff --git a/code/modules/maps/map_template.dm b/code/modules/maps/map_template.dm index bd5f72e202b..3249db7669c 100644 --- a/code/modules/maps/map_template.dm +++ b/code/modules/maps/map_template.dm @@ -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 diff --git a/code/modules/overmap/exoplanets/decor/_turfs.dm b/code/modules/overmap/exoplanets/decor/_turfs.dm index 51034ddfbf2..27a890bb581 100644 --- a/code/modules/overmap/exoplanets/decor/_turfs.dm +++ b/code/modules/overmap/exoplanets/decor/_turfs.dm @@ -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) diff --git a/code/modules/overmap/exoplanets/exoplanet.dm b/code/modules/overmap/exoplanets/exoplanet.dm index 8c7e03a2450..a3ed591daab 100644 --- a/code/modules/overmap/exoplanets/exoplanet.dm +++ b/code/modules/overmap/exoplanets/exoplanet.dm @@ -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() diff --git a/code/unit_tests/ruins_tests.dm b/code/unit_tests/ruins_tests.dm new file mode 100644 index 00000000000..4b4ecd504f6 --- /dev/null +++ b/code/unit_tests/ruins_tests.dm @@ -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 diff --git a/code/unit_tests/ss_test.dm b/code/unit_tests/ss_test.dm index 65928dd1a34..fb90a162d20 100644 --- a/code/unit_tests/ss_test.dm +++ b/code/unit_tests/ss_test.dm @@ -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 diff --git a/code/unit_tests/unit_test.dm b/code/unit_tests/unit_test.dm index b1a8637ca63..6b208471b76 100644 --- a/code/unit_tests/unit_test.dm +++ b/code/unit_tests/unit_test.dm @@ -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() /* diff --git a/code/unit_tests/zas_tests.dm b/code/unit_tests/zas_tests.dm index 601e2065ac3..78bdebebc18 100644 --- a/code/unit_tests/zas_tests.dm +++ b/code/unit_tests/zas_tests.dm @@ -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) diff --git a/config/unit_test/ut_pods_configuration.json b/config/unit_test/ut_pods_configuration.json index b7f3100d52a..a62beed9130 100644 --- a/config/unit_test/ut_pods_configuration.json +++ b/config/unit_test/ut_pods_configuration.json @@ -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 } } diff --git a/html/changelogs/fluffyghost-awaysitestest.yml b/html/changelogs/fluffyghost-awaysitestest.yml new file mode 100644 index 00000000000..2ddc52f739f --- /dev/null +++ b/html/changelogs/fluffyghost-awaysitestest.yml @@ -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." diff --git a/maps/random_ruins/exoplanets/konyang/hivebot_burrows_1.dmm b/maps/random_ruins/exoplanets/konyang/hivebot_burrows_1.dmm index 4f5464d5fa3..f27cde0171d 100644 --- a/maps/random_ruins/exoplanets/konyang/hivebot_burrows_1.dmm +++ b/maps/random_ruins/exoplanets/konyang/hivebot_burrows_1.dmm @@ -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 diff --git a/maps/random_ruins/exoplanets/raskara/pra_exploration_drone.dmm b/maps/random_ruins/exoplanets/raskara/pra_exploration_drone.dmm index 89d3e8bed85..66b92ffb2ad 100644 --- a/maps/random_ruins/exoplanets/raskara/pra_exploration_drone.dmm +++ b/maps/random_ruins/exoplanets/raskara/pra_exploration_drone.dmm @@ -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 "} diff --git a/maps/random_ruins/exoplanets/raskara/raskara_okon.dmm b/maps/random_ruins/exoplanets/raskara/raskara_okon.dmm index 8f07b0d0eaf..4350c0919c4 100644 --- a/maps/random_ruins/exoplanets/raskara/raskara_okon.dmm +++ b/maps/random_ruins/exoplanets/raskara/raskara_okon.dmm @@ -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 diff --git a/maps/random_ruins/exoplanets/raskara/raskara_ritual.dmm b/maps/random_ruins/exoplanets/raskara/raskara_ritual.dmm index 42740514628..68796605203 100644 --- a/maps/random_ruins/exoplanets/raskara/raskara_ritual.dmm +++ b/maps/random_ruins/exoplanets/raskara/raskara_ritual.dmm @@ -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) = {" diff --git a/maps/random_ruins/exoplanets/raskara/raskara_wreck.dmm b/maps/random_ruins/exoplanets/raskara/raskara_wreck.dmm index b473c0e2cc8..f8126b8de0b 100644 --- a/maps/random_ruins/exoplanets/raskara/raskara_wreck.dmm +++ b/maps/random_ruins/exoplanets/raskara/raskara_wreck.dmm @@ -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