diff --git a/code/__defines/MC.dm b/code/__defines/MC.dm index e8842e81f24..d11cc95810b 100644 --- a/code/__defines/MC.dm +++ b/code/__defines/MC.dm @@ -27,7 +27,7 @@ if (Datum.is_processing) {\ PRINT_STACK_TRACE("Failed to start processing. [log_info_line(Datum)] is already being processed by [Datum.is_processing] but queue attempt occured on [#Processor]."); \ }\ } else {\ - Datum.is_processing = #Processor;\ + Datum.is_processing = Processor._internal_name;\ Processor.processing += Datum;\ } @@ -125,6 +125,9 @@ if(Datum.is_processing) {\ NEW_SS_GLOBAL(SS##X);\ PreInit();\ }\ +/datum/controller/subsystem/##X{\ + _internal_name = "SS" + #X;\ +}\ /datum/controller/subsystem/##X #define PROCESSING_SUBSYSTEM_DEF(X) var/global/datum/controller/subsystem/processing/##X/SS##X;\ @@ -137,4 +140,5 @@ if(Datum.is_processing) {\ processing = SS##X.processing; \ }\ }\ -/datum/controller/subsystem/processing/##X +/datum/controller/subsystem/processing/##X/_internal_name = "SS" + #X;\ +/datum/controller/subsystem/processing/##X \ No newline at end of file diff --git a/code/__defines/_byond_version_compat.dm b/code/__defines/_byond_version_compat.dm new file mode 100644 index 00000000000..72ad8942ae7 --- /dev/null +++ b/code/__defines/_byond_version_compat.dm @@ -0,0 +1,47 @@ +#define REQUIRED_DM_VERSION 514 + +#if DM_VERSION < REQUIRED_DM_VERSION +#warn Nebula is not tested on BYOND versions older than 514. The code may not compile, and if it does compile it may have severe problems. +#endif + +// 515 split call for external libraries into call_ext +#if DM_VERSION < 515 +#define LIBCALL call +#else +#define LIBCALL call_ext +#endif + +// So we want to have compile time guarantees these methods exist on local type, unfortunately 515 killed the .proc/procname and .verb/verbname syntax so we have to use nameof() +// For the record: GLOBAL_VERB_REF would be useless as verbs can't be global. + +#if DM_VERSION < 515 + +/// Call by name proc references, checks if the proc exists on either this type or as a global proc. +#define PROC_REF(X) (.proc/##X) +/// Call by name verb references, checks if the verb exists on either this type or as a global verb. +#define VERB_REF(X) (.verb/##X) + +/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc +#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X) +/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb +#define TYPE_VERB_REF(TYPE, X) (##TYPE.verb/##X) + +/// Call by name proc reference, checks if the proc is an existing global proc +#define GLOBAL_PROC_REF(X) (/proc/##X) + +#else + +/// Call by name proc references, checks if the proc exists on either this type or as a global proc. +#define PROC_REF(X) (nameof(.proc/##X)) +/// Call by name verb references, checks if the verb exists on either this type or as a global verb. +#define VERB_REF(X) (nameof(.verb/##X)) + +/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc +#define TYPE_PROC_REF(TYPE, X) (nameof(##TYPE.proc/##X)) +/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb +#define TYPE_VERB_REF(TYPE, X) (nameof(##TYPE.verb/##X)) + +/// Call by name proc reference, checks if the proc is an existing global proc +#define GLOBAL_PROC_REF(X) (/proc/##X) + +#endif \ No newline at end of file diff --git a/code/__defines/_compile_options.dm b/code/__defines/_compile_options.dm index a4788ec0da6..d2f61e13dca 100644 --- a/code/__defines/_compile_options.dm +++ b/code/__defines/_compile_options.dm @@ -1,9 +1,3 @@ // The default value for all uses of set background. Set background can cause gradual lag and is recommended you only turn this on if necessary. // 1 will enable set background. 0 will disable set background. #define BACKGROUND_ENABLED 0 - -#define REQUIRED_DM_VERSION 514 - -#if DM_VERSION < REQUIRED_DM_VERSION -#warn Nebula is not tested on BYOND versions older than 514. The code may not compile, and if it does compile it may have severe problems. -#endif diff --git a/code/__defines/chemistry.dm b/code/__defines/chemistry.dm index 3d24c1a3306..ea0ee8803cf 100644 --- a/code/__defines/chemistry.dm +++ b/code/__defines/chemistry.dm @@ -62,9 +62,10 @@ #define MAT_SOLVENT_MODERATE 2 #define MAT_SOLVENT_STRONG 3 -#define DIRTINESS_STERILE -2 -#define DIRTINESS_CLEAN -1 -#define DIRTINESS_NEUTRAL 0 +#define DIRTINESS_DECONTAMINATE -3 +#define DIRTINESS_STERILE -2 +#define DIRTINESS_CLEAN -1 +#define DIRTINESS_NEUTRAL 0 #define DEFAULT_GAS_ACCELERANT /decl/material/gas/hydrogen #define DEFAULT_GAS_OXIDIZER /decl/material/gas/oxygen diff --git a/code/__defines/mapping.dm b/code/__defines/mapping.dm index 47b24b30658..74007ab253f 100644 --- a/code/__defines/mapping.dm +++ b/code/__defines/mapping.dm @@ -33,9 +33,10 @@ if(other_init) { \ #define ADJUST_TAG_VAR(variable, map_hash) (istext(variable) && (variable += map_hash)) /// Map template categories for mass retrieval. -#define MAP_TEMPLATE_CATEGORY_EXOPLANET "exoplanet_template" -#define MAP_TEMPLATE_CATEGORY_EXOPLANET_SITE "exoplanet_site_template" -#define MAP_TEMPLATE_CATEGORY_PLANET "planet_template" -#define MAP_TEMPLATE_CATEGORY_PLANET_SITE "planet_site_template" -#define MAP_TEMPLATE_CATEGORY_SPACE "space_template" -#define MAP_TEMPLATE_CATEGORY_AWAYSITE "awaysite_template" +#define MAP_TEMPLATE_CATEGORY_EXOPLANET "exoplanet_template" +#define MAP_TEMPLATE_CATEGORY_EXOPLANET_SITE "exoplanet_site_template" +#define MAP_TEMPLATE_CATEGORY_PLANET "planet_template" +#define MAP_TEMPLATE_CATEGORY_PLANET_SITE "planet_site_template" +#define MAP_TEMPLATE_CATEGORY_SPACE "space_template" +#define MAP_TEMPLATE_CATEGORY_AWAYSITE "awaysite_template" +#define MAP_TEMPLATE_CATEGORY_LANDMARK_LOADED "landmark_template" diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm index a5ca0d8a22c..57d0754e384 100644 --- a/code/__defines/misc.dm +++ b/code/__defines/misc.dm @@ -195,11 +195,6 @@ #define WRINKLES_WRINKLY 1 #define WRINKLES_NONE 2 -//detergent states for clothes -#define SMELL_DEFAULT 0 -#define SMELL_CLEAN 1 -#define SMELL_STINKY 2 - //Shuttle mission stages #define SHUTTLE_MISSION_PLANNED 1 #define SHUTTLE_MISSION_STARTED 2 diff --git a/code/__defines/mob_status.dm b/code/__defines/mob_status.dm index 1e8ac3ef70c..42bc8854a7a 100644 --- a/code/__defines/mob_status.dm +++ b/code/__defines/mob_status.dm @@ -2,4 +2,4 @@ #define GET_STATUS(MOB, COND) (LAZYACCESS(MOB.status_counters, COND)) #define HAS_STATUS(MOB, COND) (GET_STATUS(MOB, COND) > 0) #define ADJ_STATUS(MOB, COND, AMT) (MOB.set_status(COND, PENDING_STATUS(MOB, COND) + AMT)) -#define SET_STATUS_MAX(MOB, COND, AMT) (MOB.set_status(COND, max(PENDING_STATUS(MOB, COND), AMT))) +#define SET_STATUS_MAX(MOB, COND, AMT) (MOB.set_status(COND, max(PENDING_STATUS(MOB, COND), AMT))) \ No newline at end of file diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 16ad514c2cd..739b95e1ccc 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -137,8 +137,8 @@ #define FLASH_PROTECTION_MODERATE 2 #define FLASH_PROTECTION_MAJOR 3 -#define ANIMAL_SPAWN_DELAY round(config.respawn_delay / 6) -#define DRONE_SPAWN_DELAY round(config.respawn_delay / 3) +#define ANIMAL_SPAWN_DELAY round(get_config_value(/decl/config/num/respawn_delay) / 6) +#define DRONE_SPAWN_DELAY round(get_config_value(/decl/config/num/respawn_delay) / 3) // Incapacitation flags, used by the mob/proc/incapacitated() proc #define INCAPACITATION_NONE 0 @@ -298,9 +298,6 @@ #define MOB_FLAG_HOLY_BAD BITFLAG(0) // If this mob is allergic to holiness -#define MARKING_TARGET_SKIN 0 // Draw a /decl/sprite_accessory/marking to the mob's body, eg. tattoos -#define MARKING_TARGET_HAIR 1 // Draw a /decl/sprite_accessory/marking to the mob's hair, eg. ears & horns - #define DEXTERITY_NONE 0 #define DEXTERITY_SIMPLE_MACHINES BITFLAG(0) #define DEXTERITY_HOLD_ITEM BITFLAG(1) @@ -330,7 +327,7 @@ var/global/list/dexterity_levels = list( #define INJECTION_PORT 2 #define INJECTION_PORT_DELAY 3 SECONDS // used by injectors to apply delay due to searching for a port on the injectee's suit -#define ADJUSTED_GLIDE_SIZE(DELAY) (NONUNIT_CEILING((WORLD_ICON_SIZE / max((DELAY), world.tick_lag) * world.tick_lag) - world.tick_lag, 1) + (config.glide_size_delay)) +#define ADJUSTED_GLIDE_SIZE(DELAY) (NONUNIT_CEILING((WORLD_ICON_SIZE / max((DELAY), world.tick_lag) * world.tick_lag) - world.tick_lag, 1) + (get_config_value(/decl/config/num/movement_glide_size))) #define PREF_MEM_RECORD "memory" #define PREF_SEC_RECORD "sec_record" @@ -379,4 +376,13 @@ var/global/list/dexterity_levels = list( // Underlay defines; vestigal implementation currently. #define HU_TAIL_LAYER 1 -#define TOTAL_UNDER_LAYERS 1 \ No newline at end of file +#define TOTAL_UNDER_LAYERS 1 + +// Enum for result of an attempt to eat/eat from an item. +#define EATEN_INVALID 0 +#define EATEN_UNABLE 1 +#define EATEN_SUCCESS 2 + +// Enum for type of consumption, largely just cosmetic currently. +#define EATING_METHOD_EAT 0 +#define EATING_METHOD_DRINK 1 diff --git a/code/__defines/qdel.dm b/code/__defines/qdel.dm index aaecaaaf4bf..48a9f0e0973 100644 --- a/code/__defines/qdel.dm +++ b/code/__defines/qdel.dm @@ -23,13 +23,13 @@ #define QDESTROYING(X) (isnull(X) || X.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) //Qdel helper macros. -#define QDEL_IN(item, time) if(!isnull(item)) {addtimer(CALLBACK(item, /datum/proc/qdel_self), time, TIMER_STOPPABLE)} -#define QDEL_IN_CLIENT_TIME(item, time) if(!isnull(item)) {addtimer(CALLBACK(item, /datum/proc/qdel_self), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)} +#define QDEL_IN(item, time) if(!isnull(item)) {addtimer(CALLBACK(item, TYPE_PROC_REF(/datum, qdel_self)), time, TIMER_STOPPABLE)} +#define QDEL_IN_CLIENT_TIME(item, time) if(!isnull(item)) {addtimer(CALLBACK(item, TYPE_PROC_REF(/datum, qdel_self)), time, TIMER_STOPPABLE | TIMER_CLIENT_TIME)} #define QDEL_NULL(item) if(item) {qdel(item); item = null} #define QDEL_NULL_SCREEN(item) if(client) { client.screen -= item; }; QDEL_NULL(item) #define QDEL_NULL_LIST(x) if(x) { for(var/y in x) { qdel(y) }}; if(x) {x.Cut(); x = null } // Second x check to handle items that LAZYREMOVE on qdel. #define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); } -#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, .proc/______qdel_list_wrapper, L), time, TIMER_STOPPABLE) +#define QDEL_LIST_IN(L, time) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(______qdel_list_wrapper), L), time, TIMER_STOPPABLE) #define QDEL_LIST_ASSOC(L) if(L) { for(var/I in L) { qdel(L[I]); qdel(I); } L.Cut(); } #define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qdel(L[I]); L.Cut(); } diff --git a/code/__defines/reactions.dm b/code/__defines/reactions.dm new file mode 100644 index 00000000000..5edc12eb62f --- /dev/null +++ b/code/__defines/reactions.dm @@ -0,0 +1,5 @@ +#define REACTION_TYPE_PHARMACEUTICAL 1 +#define REACTION_TYPE_ALLOYING 2 +#define REACTION_TYPE_COMPOUND 3 +#define REACTION_TYPE_SYNTHESIS 4 +#define REACTION_TYPE_RECIPE 5 \ No newline at end of file diff --git a/code/_global_vars/logging.dm b/code/_global_vars/logging.dm index 120f43d48bb..43ea604377c 100644 --- a/code/_global_vars/logging.dm +++ b/code/_global_vars/logging.dm @@ -1,11 +1,3 @@ -var/global/list/combatlog = list() -var/global/list/IClog = list() -var/global/list/OOClog = list() -var/global/list/adminlog = list() - -var/global/datum/configuration/config = null -var/global/list/jobMax = list() - var/global/diary = null GLOBAL_PROTECTED_UNTYPED(log_directory, null) diff --git a/code/_helpers/animations.dm b/code/_helpers/animations.dm index 163b235e898..b6fcccda02d 100644 --- a/code/_helpers/animations.dm +++ b/code/_helpers/animations.dm @@ -5,7 +5,7 @@ /proc/fade_out(image/I, list/show_to) animate(I, alpha = 0, time = 0.5 SECONDS, easing = EASE_IN) - addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_images_from_clients, I, show_to), 0.5 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), 0.5 SECONDS) /proc/animate_speech_bubble(image/I, list/show_to, duration) if(!I) @@ -17,7 +17,7 @@ for(var/client/C in show_to) C.images += I animate(I, transform = 0, alpha = 255, time = 0.2 SECONDS, easing = EASE_IN) - addtimer(CALLBACK(GLOBAL_PROC, .proc/fade_out, I, show_to), (duration - 0.5 SECONDS)) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(fade_out), I, show_to), (duration - 0.5 SECONDS)) /proc/animate_receive_damage(atom/A) var/pixel_x_diff = rand(-2,2) @@ -53,7 +53,7 @@ /proc/flick_overlay(image/I, list/show_to, duration) for(var/client/C in show_to) C.images += I - addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_images_from_clients, I, show_to), duration) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration) /atom/movable/proc/do_attack_effect(atom/A, effect) //Simple effects for telegraphing or marking attack locations if (effect) diff --git a/code/_helpers/auxtools.dm b/code/_helpers/auxtools.dm index a7345891c7a..26ac67f7b50 100644 --- a/code/_helpers/auxtools.dm +++ b/code/_helpers/auxtools.dm @@ -11,11 +11,11 @@ var/global/auxtools_debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") /hook/startup/proc/auxtools_init() if (global.auxtools_debug_server) - call(global.auxtools_debug_server, "auxtools_init")() + LIBCALL(global.auxtools_debug_server, "auxtools_init")() enable_debugging() return TRUE /hook/shutdown/proc/auxtools_shutdown() if (global.auxtools_debug_server) - call(global.auxtools_debug_server, "auxtools_shutdown")() + LIBCALL(global.auxtools_debug_server, "auxtools_shutdown")() return TRUE diff --git a/code/_helpers/cmp.dm b/code/_helpers/cmp.dm index 1e9f0b6a0df..be876f23e92 100644 --- a/code/_helpers/cmp.dm +++ b/code/_helpers/cmp.dm @@ -134,5 +134,8 @@ /proc/cmp_gripper_asc(datum/inventory_slot/gripper/a, datum/inventory_slot/gripper/b) return a.hand_sort_priority - b.hand_sort_priority +/proc/cmp_decl_uid_asc(decl/a, decl/b) + return sorttext(b.uid, a.uid) + /proc/cmp_inventory_slot_desc(datum/inventory_slot/a, datum/inventory_slot/b) return b.quick_equip_priority - a.quick_equip_priority diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm index 079db432b43..6b5d751581e 100644 --- a/code/_helpers/game.dm +++ b/code/_helpers/game.dm @@ -441,7 +441,7 @@ /proc/SecondsToTicks(var/seconds) return seconds * 10 -/proc/round_is_spooky(var/spookiness_threshold = config.cult_ghostwriter_req_cultists) +/proc/round_is_spooky(var/spookiness_threshold = get_config_value(/decl/config/num/cult_ghostwriter_req_cultists)) var/decl/special_role/cult = GET_DECL(/decl/special_role/cultist) return (cult.current_antagonists.len > spookiness_threshold) diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm index b67971ebb86..2ac38629b6a 100644 --- a/code/_helpers/logging.dm +++ b/code/_helpers/logging.dm @@ -33,11 +33,11 @@ var/global/log_end= world.system_type == UNIX ? ascii2text(13) : "" /proc/log_admin(text) global.admin_log.Add(text) - if (config.log_admin) + if (get_config_value(/decl/config/toggle/log_admin)) game_log("ADMIN", text) /proc/log_debug(text) - if (config.log_debug) + if (get_config_value(/decl/config/toggle/log_debug)) game_log("DEBUG", text) to_debug_listeners(text) @@ -58,47 +58,47 @@ var/global/log_end= world.system_type == UNIX ? ascii2text(13) : "" to_chat(C, "[prefix]: [text]") /proc/log_game(text) - if (config.log_game) + if (get_config_value(/decl/config/toggle/log_game)) game_log("GAME", text) /proc/log_vote(text) - if (config.log_vote) + if (get_config_value(/decl/config/toggle/log_vote)) game_log("VOTE", text) /proc/log_access(text) - if (config.log_access) + if (get_config_value(/decl/config/toggle/log_access)) game_log("ACCESS", text) /proc/log_say(text) - if (config.log_say) + if (get_config_value(/decl/config/toggle/log_say)) game_log("SAY", text) /proc/log_ooc(text) - if (config.log_ooc) + if (get_config_value(/decl/config/toggle/log_ooc)) game_log("OOC", text) /proc/log_whisper(text) - if (config.log_whisper) + if (get_config_value(/decl/config/toggle/log_whisper)) game_log("WHISPER", text) /proc/log_emote(text) - if (config.log_emote) + if (get_config_value(/decl/config/toggle/log_emotes)) game_log("EMOTE", text) /proc/log_attack(text) - if (config.log_attack) + if (get_config_value(/decl/config/toggle/log_attack)) game_log("ATTACK", text) /proc/log_adminsay(text) - if (config.log_adminchat) + if (get_config_value(/decl/config/toggle/log_adminchat)) game_log("ADMINSAY", text) /proc/log_adminwarn(text) - if (config.log_adminwarn) + if (get_config_value(/decl/config/toggle/log_adminwarn)) game_log("ADMINWARN", text) /proc/log_pda(text) - if (config.log_pda) + if (get_config_value(/decl/config/toggle/log_pda)) game_log("PDA", text) /proc/log_misc(text) @@ -114,7 +114,7 @@ var/global/log_end= world.system_type == UNIX ? ascii2text(13) : "" //This replaces world.log so it displays both in DD and the file /proc/log_world(text) to_world_log(text) //this comes before the config check because it can't possibly runtime - if(config.log_world_output) + if(get_config_value(/decl/config/toggle/log_world_output)) game_log("DD_OUTPUT", text) //pretty print a direction bitflag, can be useful for debugging. diff --git a/code/_helpers/names.dm b/code/_helpers/names.dm index 4146cdc9e44..26e4dbd4793 100644 --- a/code/_helpers/names.dm +++ b/code/_helpers/names.dm @@ -52,7 +52,7 @@ var/global/religion_name = null /proc/station_name() if(!global.using_map) - return config.server_name + return get_config_value(/decl/config/text/server_name) if (global.using_map.station_name) return global.using_map.station_name @@ -90,8 +90,9 @@ var/global/religion_name = null if(5) global.using_map.station_name += pick(global.numbers_as_words) - if (config && config.server_name) - world.name = "[config.server_name]: [name]" + var/config_server_name = get_config_value(/decl/config/text/server_name) + if (config_server_name) + world.name = "[config_server_name]: [name]" else world.name = global.using_map.station_name @@ -100,8 +101,9 @@ var/global/religion_name = null /proc/world_name(var/name) global.using_map.station_name = name - if (config && config.server_name) - world.name = "[config.server_name]: [name]" + var/config_server_name = get_config_value(/decl/config/text/server_name) + if (config_server_name) + world.name = "[config_server_name]: [name]" else world.name = name diff --git a/code/_helpers/profiling.dm b/code/_helpers/profiling.dm index 54f0400edf0..ac6b571adce 100644 --- a/code/_helpers/profiling.dm +++ b/code/_helpers/profiling.dm @@ -107,7 +107,7 @@ if(UNIX) lib = "libprof.so" else CRASH("unsupported platform") - var/init = call(lib, "init")() + var/init = LIBCALL(lib, "init")() if("0" != init) CRASH("[lib] init error: [init]") /world/New() diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 59e60a2f38f..86877e2c1d6 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -161,7 +161,7 @@ next_move = max(world.time + timeout, next_move) /mob/proc/canClick() - if(config.no_click_cooldown || next_move <= world.time) + if(get_config_value(/decl/config/toggle/no_click_cooldown) || next_move <= world.time) return 1 return 0 diff --git a/code/_onclick/click_handling.dm b/code/_onclick/click_handling.dm index 472249544ec..08d1ec3b579 100644 --- a/code/_onclick/click_handling.dm +++ b/code/_onclick/click_handling.dm @@ -28,11 +28,11 @@ var/global/const/CLICK_HANDLER_ALL = (CLICK_HANDLER_NONE|CLICK_ ..() src.user = user if(flags & (CLICK_HANDLER_REMOVE_ON_MOB_LOGOUT)) - events_repository.register(/decl/observ/logged_out, user, src, /datum/click_handler/proc/OnMobLogout) + events_repository.register(/decl/observ/logged_out, user, src, TYPE_PROC_REF(/datum/click_handler, OnMobLogout)) /datum/click_handler/Destroy() if(flags & (CLICK_HANDLER_REMOVE_ON_MOB_LOGOUT)) - events_repository.unregister(/decl/observ/logged_out, user, src, /datum/click_handler/proc/OnMobLogout) + events_repository.unregister(/decl/observ/logged_out, user, src, TYPE_PROC_REF(/datum/click_handler, OnMobLogout)) user = null . = ..() diff --git a/code/_onclick/ghost.dm b/code/_onclick/ghost.dm index 8a93cd5118f..da5d187674d 100644 --- a/code/_onclick/ghost.dm +++ b/code/_onclick/ghost.dm @@ -28,7 +28,7 @@ if(!canClick()) return setClickCooldown(DEFAULT_QUICK_COOLDOWN) - // You are responsible for checking config.ghost_interaction when you override this function + // You are responsible for checking ghost_interaction when you override this function // Not all of them require checking, see below var/list/modifiers = params2list(params) if(modifiers["alt"]) diff --git a/code/_onclick/hud/ai_hud.dm b/code/_onclick/hud/ai_hud.dm index fa4e2200bb6..b8edcf540c4 100644 --- a/code/_onclick/hud/ai_hud.dm +++ b/code/_onclick/hud/ai_hud.dm @@ -11,70 +11,70 @@ screen_loc = ui_ai_core name = "AI Core" icon_state = "ai_core" - proc_path = /mob/living/silicon/ai/proc/core + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, core) /decl/ai_hud/ai_announcement screen_loc = ui_ai_announcement name = "AI Announcement" icon_state = "announcement" - proc_path = /mob/living/silicon/ai/proc/ai_announcement + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_announcement) /decl/ai_hud/ai_cam_track screen_loc = ui_ai_cam_track name = "Track With Camera" icon_state = "track" - proc_path = /mob/living/silicon/ai/proc/ai_camera_track + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_camera_track) input_procs = list(/mob/living/silicon/ai/proc/trackable_mobs = (AI_BUTTON_PROC_BELONGS_TO_CALLER|AI_BUTTON_INPUT_REQUIRES_SELECTION)) /decl/ai_hud/ai_cam_light screen_loc = ui_ai_cam_light name = "Toggle Camera Lights" icon_state = "camera_light" - proc_path = /mob/living/silicon/ai/proc/toggle_camera_light + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, toggle_camera_light) /decl/ai_hud/ai_cam_change_channel screen_loc = ui_ai_cam_change_channel name = "Jump to Camera Channel" icon_state = "camera" - proc_path = /mob/living/silicon/ai/proc/ai_channel_change + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_channel_change) input_procs = list(/mob/living/silicon/ai/proc/get_camera_channel_list = (AI_BUTTON_PROC_BELONGS_TO_CALLER|AI_BUTTON_INPUT_REQUIRES_SELECTION)) /decl/ai_hud/ai_sensor screen_loc = ui_ai_sensor name = "Set Sensor Mode" icon_state = "ai_sensor" - proc_path = /mob/living/silicon/ai/proc/sensor_mode + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, sensor_mode) /decl/ai_hud/ai_manifest screen_loc = ui_ai_crew_manifest name = "Show Crew Manifest" icon_state = "manifest" - proc_path = /mob/living/silicon/ai/proc/run_program + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, run_program) input_args = list("crewmanifest") /decl/ai_hud/ai_take_image screen_loc = ui_ai_take_image name = "Toggle Camera Mode" icon_state = "take_picture" - proc_path = /mob/living/silicon/ai/proc/ai_take_image + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_take_image) /decl/ai_hud/ai_view_images screen_loc = ui_ai_view_images name = "View Images" icon_state = "view_images" - proc_path = /mob/living/silicon/ai/proc/ai_view_images + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_view_images) /decl/ai_hud/ai_laws screen_loc = ui_ai_state_laws name = "State Laws" icon_state = "state_laws" - proc_path = /mob/living/silicon/ai/proc/ai_checklaws + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_checklaws) /decl/ai_hud/ai_call_shuttle screen_loc = ui_ai_call_shuttle name = "Call Shuttle" icon_state = "call_shuttle" - proc_path = /mob/living/silicon/ai/proc/ai_call_shuttle + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_call_shuttle) /decl/ai_hud/ai_up screen_loc = ui_ai_up @@ -92,53 +92,53 @@ screen_loc = ui_ai_color name = "Change Floor Color" icon_state = "ai_floor" - proc_path = /mob/living/silicon/ai/proc/change_floor + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, change_floor) /decl/ai_hud/ai_hologram screen_loc = ui_ai_holo_change name = "Change Hologram" icon_state = "ai_holo_change" - proc_path = /mob/living/silicon/ai/proc/ai_hologram_change + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_hologram_change) /decl/ai_hud/ai_crew_monitor screen_loc = ui_ai_crew_mon name = "Crew Monitor" icon_state = "crew_monitor" - proc_path = /mob/living/silicon/ai/proc/run_program + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, run_program) input_args = list("sensormonitor") /decl/ai_hud/ai_power_override screen_loc = ui_ai_power_override name = "Toggle Power Override" icon_state = "ai_p_override" - proc_path = /mob/living/silicon/ai/proc/ai_power_override + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_power_override) /decl/ai_hud/ai_shutdown screen_loc = ui_ai_shutdown name = "Shutdown" icon_state = "ai_shutdown" - proc_path = /mob/living/silicon/ai/proc/ai_shutdown + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_shutdown) /decl/ai_hud/ai_move_hologram screen_loc = ui_ai_holo_mov name = "Toggle Hologram Movement" icon_state = "ai_holo_mov" - proc_path = /mob/living/silicon/ai/proc/toggle_hologram_movement + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, toggle_hologram_movement) /decl/ai_hud/ai_core_icon screen_loc = ui_ai_core_icon name = "Pick Icon" icon_state = "ai_core_pick" - proc_path = /mob/living/silicon/ai/proc/pick_icon + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, pick_icon) /decl/ai_hud/ai_status screen_loc = ui_ai_status name = "Pick Status" icon_state = "ai_status" - proc_path = /mob/living/silicon/ai/proc/ai_statuschange + proc_path = TYPE_PROC_REF(/mob/living/silicon/ai, ai_statuschange) /decl/ai_hud/ai_inbuilt_comp screen_loc = ui_ai_crew_rec name = "Inbuilt Computer" icon_state = "ai_crew_rec" - proc_path = /mob/living/silicon/proc/access_computer + proc_path = TYPE_PROC_REF(/mob/living/silicon, access_computer) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 100eabb9071..b5b67503230 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -152,7 +152,7 @@ gripper_datums += mymob.get_inventory_slot_datum(hand_tag) gripper_datums = sortTim(gripper_datums, /proc/cmp_gripper_asc) - for(var/datum/inventory_slot/inv_slot in gripper_datums) + for(var/datum/inventory_slot/gripper/inv_slot in gripper_datums) // Re-order the held slot list so it aligns with the display order. var/hand_tag = inv_slot.slot_id @@ -176,7 +176,7 @@ inv_box.icon_state = "hand_base" inv_box.cut_overlays() - inv_box.add_overlay("hand_[hand_tag]", TRUE) + inv_box.add_overlay("hand_[inv_slot.hand_overlay || hand_tag]", TRUE) if(inv_slot.ui_label) inv_box.add_overlay("hand_[inv_slot.ui_label]", TRUE) inv_box.update_icon() @@ -211,8 +211,8 @@ inv_box = sublist[2] inv_box.screen_loc = "CENTER:[world.icon_size/2],BOTTOM:[hand_y_offset]" hand_y_offset += world.icon_size - if(mymob.client) - mymob.client.screen |= inv_box + if(mymob.client) + mymob.client.screen |= hand_hud_objects // Make sure all held items are on the screen and set to the correct screen loc. var/datum/inventory_slot/inv_slot diff --git a/code/_onclick/hud/screen/screen_click_catcher.dm b/code/_onclick/hud/screen/screen_click_catcher.dm index 7a53f887d83..4584120a02a 100644 --- a/code/_onclick/hud/screen/screen_click_catcher.dm +++ b/code/_onclick/hud/screen/screen_click_catcher.dm @@ -1,12 +1,14 @@ var/global/list/click_catchers /proc/get_click_catchers() if(!global.click_catchers) + var/client_max_x = get_config_value(/decl/config/num/clients/max_client_view_x) + var/client_max_y = get_config_value(/decl/config/num/clients/max_client_view_y) global.click_catchers = list() - var/ox = -(round(config.max_client_view_x*0.5)) - for(var/i = 0 to config.max_client_view_x) - var/oy = -(round(config.max_client_view_y*0.5)) + var/ox = -(round(client_max_x*0.5)) + for(var/i = 0 to client_max_x) + var/oy = -(round(client_max_y*0.5)) var/tx = ox + i - for(var/j = 0 to config.max_client_view_y) + for(var/j = 0 to client_max_y) var/ty = oy + j var/obj/screen/click_catcher/CC = new CC.screen_loc = "CENTER[tx < 0 ? tx : "+[tx]"],CENTER[ty < 0 ? ty : "+[ty]"]" diff --git a/code/_onclick/hud/screen/screen_lighting.dm b/code/_onclick/hud/screen/screen_lighting.dm index 4822823aed9..0354ad4a0cb 100644 --- a/code/_onclick/hud/screen/screen_lighting.dm +++ b/code/_onclick/hud/screen/screen_lighting.dm @@ -6,6 +6,6 @@ blend_mode = BLEND_MULTIPLY alpha = 255 -/obj/screen/lighting_plane_master/proc/set_alpha(var/newalpha) - if(alpha != newalpha) - animate(src, alpha = newalpha, time = SSmobs.wait) +/obj/screen/lighting_plane_master/set_alpha(var/new_alpha) + if(alpha != new_alpha) + animate(src, alpha = new_alpha, time = SSmobs.wait) \ No newline at end of file diff --git a/code/_onclick/hud/screen/screen_setup.dm b/code/_onclick/hud/screen/screen_setup.dm index 62906dc9b20..cbd2279d24b 100644 --- a/code/_onclick/hud/screen/screen_setup.dm +++ b/code/_onclick/hud/screen/screen_setup.dm @@ -1,5 +1,6 @@ // Character setup stuff /obj/screen/setup_preview + icon = 'icons/effects/32x32.dmi' plane = DEFAULT_PLANE layer = MOB_LAYER requires_owner = FALSE @@ -14,7 +15,9 @@ layer = TURF_LAYER mouse_over_pointer = MOUSE_HAND_POINTER -/obj/screen/setup_preview/bg/handle_click(mob/user, params) +// Uses Click() instead of handle_click() due to being accessed by new_player mobs. +/obj/screen/setup_preview/bg/Click(location, control, params) if(pref) pref.bgstate = next_in_list(pref.bgstate, pref.bgstate_options) pref.update_preview_icon() + return ..() diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index e9c5a42cbfa..3e6f983e699 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -80,6 +80,10 @@ avoid code duplication. This includes items that may sometimes act as a standard //I would prefer to rename this attack_as_weapon(), but that would involve touching hundreds of files. /obj/item/proc/attack(mob/living/M, mob/living/user, var/target_zone, animate = TRUE) + + if(user?.a_intent != I_HURT && is_edible(M) && handle_eaten_by_mob(user, M) != EATEN_INVALID) + return TRUE + if(item_flags & ITEM_FLAG_NO_BLUDGEON) return FALSE diff --git a/code/controllers/autotransfer.dm b/code/controllers/autotransfer.dm index b609a369ffb..c37a4784fe0 100644 --- a/code/controllers/autotransfer.dm +++ b/code/controllers/autotransfer.dm @@ -4,7 +4,7 @@ var/global/datum/controller/transfer_controller/transfer_controller var/timerbuffer = 0 //buffer for time check /datum/controller/transfer_controller/New() - timerbuffer = config.vote_autotransfer_initial + timerbuffer = get_config_value(/decl/config/num/vote_autotransfer_initial) START_PROCESSING(SSprocessing, src) /datum/controller/transfer_controller/Destroy() @@ -14,7 +14,7 @@ var/global/datum/controller/transfer_controller/transfer_controller /datum/controller/transfer_controller/Process() if (time_till_transfer_vote() <= 0) SSvote.initiate_vote(/datum/vote/transfer, automatic = 1) - timerbuffer += config.vote_autotransfer_interval + timerbuffer += get_config_value(/decl/config/num/vote_autotransfer_interval) /datum/controller/transfer_controller/proc/time_till_transfer_vote() return timerbuffer - round_duration_in_ticks - (1 MINUTE) diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm deleted file mode 100644 index 33189d3b70c..00000000000 --- a/code/controllers/configuration.dm +++ /dev/null @@ -1,1032 +0,0 @@ -/datum/configuration - var/server_name = "Nebula 13" // server name (for world name / status) - var/server_suffix = 0 // generate numeric suffix based on server port - - var/log_ooc = 0 // log OOC channel - var/log_access = 0 // log login/logout - var/log_say = 0 // log client say - var/log_admin = 0 // log admin actions - var/log_debug = 1 // log debug output - var/log_game = 0 // log game events - var/log_vote = 0 // log voting - var/log_whisper = 0 // log client whisper - var/log_emote = 0 // log emotes - var/log_attack = 0 // log attack messages - var/log_adminchat = 0 // log admin chat messages - var/log_adminwarn = 0 // log warnings admins get about bomb construction and such - var/log_pda = 0 // log pda messages - var/log_hrefs = 0 // logs all links clicked in-game. Could be used for debugging and tracking down exploits - var/log_runtime = 0 // logs world.log to a file - var/log_world_output = 0 // log to_world_log(messages) - var/allow_admin_ooccolor = 0 // Allows admins with relevant permissions to have their own ooc colour - var/allow_vote_restart = 0 // allow votes to restart - var/ert_admin_call_only = 0 - var/allow_vote_mode = 0 // allow votes to change mode - var/allow_admin_jump = 1 // allows admin jumping - var/allow_admin_spawning = 1 // allows admin item spawning - var/allow_admin_rev = 1 // allows admin revives - var/vote_delay = 6000 // minimum time between voting sessions (deciseconds, 10 minute default) - var/vote_period = 600 // length of voting period (deciseconds, default 1 minute) - var/vote_autotransfer_initial = 108000 // Length of time before the first autotransfer vote is called - var/vote_autotransfer_interval = 18000 // length of time before next sequential autotransfer vote - var/vote_autogamemode_timeleft = 100 //Length of time before round start when autogamemode vote is called (in seconds, default 100). - var/vote_no_default = 0 // vote does not default to nochange/norestart (tbi) - var/vote_no_dead = 0 // dead people can't vote (tbi) - var/vote_no_dead_crew_transfer = 0 // dead people can't vote on crew transfer votes -// var/enable_authentication = 0 // goon authentication - var/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard - var/traitor_scaling = 0 //if amount of traitors scales based on amount of players - var/objectives_disabled = 0 //if objectives are disabled or not - var/protect_roles_from_antagonist = 0// If security and such can be traitor/cult/other - var/continous_rounds = 0 // Gamemodes which end instantly will instead keep on going until the round ends by escape shuttle or nuke. - var/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1. - var/allow_holidays = FALSE - var/fps = 20 - var/tick_limit_mc_init = TICK_LIMIT_MC_INIT_DEFAULT //SSinitialization throttling - var/list/resource_urls = null - var/antag_hud_allowed = 0 // Ghosts can turn on Antagovision to see a HUD of who is the bad guys this round. - var/antag_hud_restricted = 0 // Ghosts that turn on Antagovision cannot rejoin the round. - var/list/mode_names = list() - var/list/modes = list() // allowed modes - var/list/votable_modes = list() // votable modes - var/list/probabilities = list() // relative probability of each mode - var/secret_hide_possibilities = FALSE // Whether or not secret modes show list of possible round types - var/humans_need_surnames = 0 - var/allow_random_events = 0 // enables random events mid-round when set to 1 - var/allow_ai = 1 // allow ai job - var/hostedby = null - var/respawn_delay = 30 - var/guest_jobban = 1 - var/usewhitelist = 0 - var/kick_inactive = 0 //force disconnect for inactive players after this many minutes, if non-0 - var/mods_can_tempban = 0 - var/mods_can_job_tempban = 0 - var/mod_tempban_max = 1440 - var/mod_job_tempban_max = 1440 - var/load_jobs_from_txt = 0 - var/jobs_have_minimal_access = 0 //determines whether jobs use minimal access or expanded access. - - var/cult_ghostwriter = 1 //Allows ghosts to write in blood in cult rounds... - var/cult_ghostwriter_req_cultists = 10 //...so long as this many cultists are active. - - var/character_slots = 10 // The number of available character slots - var/loadout_slots = 3 // The number of loadout slots per character - - var/max_maint_drones = 5 //This many drones can spawn, - var/allow_drone_spawn = 1 //assuming the admin allow them to. - var/drone_build_time = 1200 //A drone will become available every X ticks since last drone spawn. Default is 2 minutes. - - var/disable_player_mice = 0 - var/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech - - var/usealienwhitelist = 0 - var/usealienwhitelistSQL = 0; - var/limitalienplayers = 0 - var/alien_to_human_ratio = 0.5 - var/allow_extra_antags = 0 - var/guests_allowed = 1 - var/debugparanoid = 0 - - var/serverurl - var/server - var/banappeals - var/wikiurl - var/forumurl - var/discordurl - var/githuburl - var/issuereporturl - - var/forbid_singulo_possession = 0 - - //game_options.txt configs - - var/show_human_death_message = FALSE - var/health_threshold_dead = -100 - - var/organ_health_multiplier = 0.9 - var/organ_regeneration_multiplier = 0.25 - var/organs_decay - - //Paincrit knocks someone down once they hit 60 shock_stage, so by default make it so that close to 100 additional damage needs to be dealt, - //so that it's similar to PAIN. Lowered it a bit since hitting paincrit takes much longer to wear off than a halloss stun. - var/organ_damage_spillover_multiplier = 0.5 - - var/bones_can_break = 1 - var/limbs_can_break = 1 - - var/revival_pod_plants = 1 - var/revival_cloning = 1 - var/revival_brain_life = -1 - - var/use_loyalty_implants = 0 - var/max_character_aspects = 5 - - var/welder_vision = 1 - ///If false, skips all level generation. - var/roundstart_level_generation = 1 - var/no_click_cooldown = 0 - - //Used for modifying movement speed for mobs. - //Unversal modifiers - var/run_delay = 2 - var/walk_delay = 4 - var/creep_delay = 6 - var/minimum_sprint_cost = 0.8 - var/skill_sprint_cost_range = 0.8 - var/minimum_stamina_recovery = 1 - var/maximum_stamina_recovery = 3 - var/glide_size_delay = 1 - - //Mob specific modifiers. NOTE: These will affect different mob types in different ways - var/human_delay = 0 - var/robot_delay = 0 - var/monkey_delay = 0 - var/alien_delay = 0 - var/slime_delay = 0 - var/animal_delay = 0 - var/maximum_mushrooms = 15 //After this amount alive, mushrooms will not boom boom - - - var/admin_legacy_system = 0 //Defines whether the server uses the legacy admin system with admins.txt or the SQL system. Config option in config.txt - var/ban_legacy_system = 0 //Defines whether the server uses the legacy banning system with the files in /data or the SQL system. Config option in config.txt - var/use_age_restriction_for_jobs = 0 //Do jobs use account age restrictions? --requires database - var/use_age_restriction_for_antags = 0 //Do antags use account age restrictions? --requires database - - var/use_iterative_explosions //Defines whether the server uses iterative or circular explosions. - var/iterative_explosives_z_threshold = 10 - var/iterative_explosives_z_multiplier = 0.75 - - var/assistant_maint = 0 //Do assistants get maint access? - var/gateway_delay = 18000 //How long the gateway takes before it activates. Default is half an hour. - var/ghost_interaction = 0 - - var/comms_password = null - var/ban_comms_password = null - var/list/forbidden_versions = list() // Clients with these byond versions will be autobanned. Format: string "byond_version.byond_build"; separate with ; in config, e.g. 512.1234;512.1235 - var/minimum_byond_version = 0 - var/minimum_byond_build = 0 - - var/login_export_addr = null - - var/enter_allowed = 1 - var/player_limit = 0 - - var/use_irc_bot = 0 - var/irc_bot_host = "" - var/main_irc = "" - var/admin_irc = "" - var/announce_shuttle_dock_to_irc = FALSE - - var/custom_item_icon_location // File location to look for custom items icons, needs to be relative to the executing binary. - var/custom_icon_icon_location // File location to look for custom icons, needs to be relative to the executing binary. - - // Event settings - var/expected_round_length = 3 * 60 * 60 * 10 // 3 hours - // If the first delay has a custom start time - // No custom time, no custom time, between 80 to 100 minutes respectively. - var/list/event_first_run = list(EVENT_LEVEL_MUNDANE = null, EVENT_LEVEL_MODERATE = null, EVENT_LEVEL_MAJOR = list("lower" = 48000, "upper" = 60000)) - // The lowest delay until next event - // 10, 30, 50 minutes respectively - var/list/event_delay_lower = list(EVENT_LEVEL_MUNDANE = 6000, EVENT_LEVEL_MODERATE = 18000, EVENT_LEVEL_MAJOR = 30000) - // The upper delay until next event - // 15, 45, 70 minutes respectively - var/list/event_delay_upper = list(EVENT_LEVEL_MUNDANE = 9000, EVENT_LEVEL_MODERATE = 27000, EVENT_LEVEL_MAJOR = 42000) - - var/aliens_allowed = 0 - var/alien_eggs_allowed = 0 - var/ninjas_allowed = 0 - var/abandon_allowed = 1 - var/ooc_allowed = 1 - var/looc_allowed = 1 - var/dooc_allowed = 1 - var/dsay_allowed = 1 - var/aooc_allowed = 1 - - var/exterior_ambient_light = 0 // The strength of ambient light applied to outside turfs - - var/law_zero = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" - - var/aggressive_changelog = 0 - var/disable_webhook_embeds = FALSE - - var/ghosts_can_possess_animals = 0 - var/delist_when_no_admins = FALSE - - var/allow_map_switching = 0 // Whether map switching is allowed - var/auto_map_vote = 0 // Automatically call a map vote at end of round and switch to the selected map - var/wait_for_sigusr1_reboot = 0 // Don't allow reboot unless it was caused by SIGUSR1 - - var/radiation_decay_rate = 1 //How much radiation is reduced by each tick - var/radiation_resistance_multiplier = 1.25 - var/radiation_material_resistance_divisor = 2 //A turf's possible radiation resistance is divided by this number, to get the real value. - var/radiation_lower_limit = 0.15 //If the radiation level for a turf would be below this, ignore it. - - var/auto_local_admin = TRUE // If true, connections from 127.0.0.1 get automatic admin. - var/autostealth = 0 // Staff get automatic stealth after this many minutes - - var/error_cooldown = 600 // The "cooldown" time for each occurrence of a unique error - var/error_limit = 50 // How many occurrences before the next will silence them - var/error_silence_time = 6000 // How long a unique error will be silenced for - var/error_msg_delay = 50 // How long to wait between messaging admins about occurrences of a unique error - - var/max_gear_cost = 10 // Used in chargen for accessory loadout limit. 0 disables loadout, negative allows infinite points. - - var/allow_ic_printing = TRUE //Whether players should be allowed to print IC circuits from scripts. - - var/allow_unsafe_narrates = FALSE //Whether admins can use unsanitized narration; when true, allows HTML etc. - - var/do_not_prevent_spam = FALSE //If this is true, skips spam prevention for user actions; inputs, verbs, macros, etc. - var/max_acts_per_interval = 140 //Number of actions per interval permitted for spam protection. - var/act_interval = 0.1 SECONDS //Interval for spam prevention. - - var/panic_bunker = FALSE //is the panic bunker enabled? - var/panic_bunker_message = "Sorry! The panic bunker is enabled. Please head to our Discord or forum to get yourself added to the panic bunker bypass." - - var/lock_client_view_x - var/lock_client_view_y - var/max_client_view_x = MAX_VIEW - var/max_client_view_y = MAX_VIEW - - var/allow_diagonal_movement = FALSE - - var/no_throttle_localhost - - var/dex_malus_brainloss_threshold = 30 //The threshold of when brainloss begins to affect dexterity. - var/grant_default_darksight = FALSE - var/default_darksight_range = 2 - var/default_darksight_effectiveness = 0.05 - - var/static/list/protected_vars = list( - "comms_password", - "ban_comms_password", - "login_export_addr" - ) - - var/expanded_alt_interactions = FALSE // Set to true to enable look, grab, drop, etc. in the alt interaction menu. - - var/show_typing_indicator_for_whispers = FALSE // Do whispers show typing indicators overhead? - - // Stress-related healing vars. - var/adjust_healing_from_stress = FALSE - var/stress_shock_recovery_constant = 0.5 - var/stress_healing_recovery_constant = 0.3 - var/stress_blood_recovery_constant = 0.3 - - var/exoplanet_min_day_duration = 10 MINUTES - var/exoplanet_max_day_duration = 40 MINUTES - ///If true, exoplanets won't have daycycles - var/disable_daycycle = FALSE - /// Whether or not you will show a message when examining something. - var/visible_examine = TRUE - /// Whether or not loadout options will get free name and desc entry by default. - var/allow_loadout_customization = FALSE - -/datum/configuration/VV_hidden() - . = ..() | protected_vars - -/datum/configuration/New() - var/list/all_modes = decls_repository.get_decls_of_subtype(/decl/game_mode) - for (var/mode_type in all_modes) - var/decl/game_mode/game_mode = all_modes[mode_type] - if (!game_mode.uid || !(game_mode.uid in modes)) - continue - log_misc("Adding game mode [game_mode.name] ([game_mode.uid]) to configuration.") - src.modes += game_mode.uid - src.mode_names[game_mode.uid] = game_mode.name - src.probabilities[game_mode.uid] = game_mode.probability - if (game_mode.votable) - src.votable_modes += game_mode.uid - src.votable_modes += "secret" - -/datum/configuration/proc/load(filename, type = "config") //the type can also be game_options, in which case it uses a different switch. not making it separate to not copypaste code - Urist - var/list/Lines = file2list(filename) - - for(var/t in Lines) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - - if (!name) - continue - - if(type == "config") - switch (name) - if ("resource_urls") - config.resource_urls = splittext(value, " ") - - if ("admin_legacy_system") - config.admin_legacy_system = 1 - - if ("ban_legacy_system") - config.ban_legacy_system = 1 - - if ("use_age_restriction_for_jobs") - config.use_age_restriction_for_jobs = 1 - - if ("use_age_restriction_for_antags") - config.use_age_restriction_for_antags = 1 - - if ("jobs_have_minimal_access") - config.jobs_have_minimal_access = 1 - - if ("use_iterative_explosions") - use_iterative_explosions = 1 - - if ("expanded_alt_interactions") - expanded_alt_interactions = 1 - - if ("explosion_z_threshold") - iterative_explosives_z_threshold = text2num(value) - - if ("explosion_z_mult") - iterative_explosives_z_multiplier = text2num(value) - - if ("custom_item_icon_location") - config.custom_item_icon_location = value - - if ("custom_icon_icon_location") - config.custom_icon_icon_location = value - - if ("log_ooc") - config.log_ooc = 1 - - if ("log_access") - config.log_access = 1 - - if ("log_say") - config.log_say = 1 - - if ("debug_paranoid") - config.debugparanoid = 1 - - if ("log_admin") - config.log_admin = 1 - - if ("log_debug") - config.log_debug = text2num(value) - - if ("log_game") - config.log_game = 1 - - if ("log_vote") - config.log_vote = 1 - - if ("log_whisper") - config.log_whisper = 1 - - if ("log_attack") - config.log_attack = 1 - - if ("log_emote") - config.log_emote = 1 - - if ("log_adminchat") - config.log_adminchat = 1 - - if ("log_adminwarn") - config.log_adminwarn = 1 - - if ("log_pda") - config.log_pda = 1 - - if ("log_world_output") - config.log_world_output = 1 - - if ("log_hrefs") - config.log_hrefs = 1 - - if ("log_runtime") - config.log_runtime = 1 - - if ("roundstart_level_generation") - config.roundstart_level_generation = text2num(value) - - if ("no_click_cooldown") - config.no_click_cooldown = 1 - - if("allow_admin_ooccolor") - config.allow_admin_ooccolor = 1 - - if ("allow_vote_restart") - config.allow_vote_restart = 1 - - if ("allow_vote_mode") - config.allow_vote_mode = 1 - - if ("allow_admin_jump") - config.allow_admin_jump = 1 - - if("allow_admin_rev") - config.allow_admin_rev = 1 - - if ("allow_admin_spawning") - config.allow_admin_spawning = 1 - - if ("no_dead_vote") - config.vote_no_dead = 1 - - if ("no_dead_vote_crew_transfer") - config.vote_no_dead_crew_transfer = 1 - - if ("default_no_vote") - config.vote_no_default = 1 - - if ("vote_delay") - config.vote_delay = text2num(value) - - if ("vote_period") - config.vote_period = text2num(value) - - if ("vote_autotransfer_initial") - config.vote_autotransfer_initial = text2num(value) - - if ("vote_autotransfer_interval") - config.vote_autotransfer_interval = text2num(value) - - if ("vote_autogamemode_timeleft") - config.vote_autogamemode_timeleft = text2num(value) - - if("ert_admin_only") - config.ert_admin_call_only = 1 - - if ("allow_ai") - config.allow_ai = 1 - -// if ("authentication") -// config.enable_authentication = 1 - - if ("respawn_delay") - config.respawn_delay = text2num(value) - config.respawn_delay = config.respawn_delay > 0 ? config.respawn_delay : 0 - - if ("servername") - config.server_name = value - - if ("serversuffix") - config.server_suffix = 1 - - if ("hostedby") - config.hostedby = value - - if ("serverurl") - config.serverurl = value - - if ("server") - config.server = value - - if ("banappeals") - config.banappeals = value - - if ("wikiurl") - config.wikiurl = value - - if ("forumurl") - config.forumurl = value - - if ("discordurl") - config.discordurl = value - - if ("githuburl") - config.githuburl = value - - if ("issuereporturl") - config.issuereporturl = value - - if ("ghosts_can_possess_animals") - config.ghosts_can_possess_animals = value - - if ("guest_jobban") - config.guest_jobban = 1 - - if ("guest_ban") - config.guests_allowed = 0 - - if ("disable_ooc") - config.ooc_allowed = 0 - - if ("disable_looc") - config.looc_allowed = 0 - - if ("disable_aooc") - config.aooc_allowed = 0 - - if ("disable_entry") - config.enter_allowed = 0 - - if ("disable_dead_ooc") - config.dooc_allowed = 0 - - if ("disable_dsay") - config.dsay_allowed = 0 - - if ("disable_respawn") - config.abandon_allowed = 0 - - if ("usewhitelist") - config.usewhitelist = 1 - - if ("feature_object_spell_system") - config.feature_object_spell_system = 1 - - if ("traitor_scaling") - config.traitor_scaling = 1 - - if ("aliens_allowed") - config.aliens_allowed = 1 - - if("alien_eggs_allowed") - config.alien_eggs_allowed = 1 - - if ("ninjas_allowed") - config.ninjas_allowed = 1 - - if ("objectives_disabled") - if(!value) - log_misc("Could not find value for objectives_disabled in configuration.") - config.objectives_disabled = CONFIG_OBJECTIVE_NONE - else - switch(value) - if("none") - config.objectives_disabled = CONFIG_OBJECTIVE_NONE - if("verb") - config.objectives_disabled = CONFIG_OBJECTIVE_VERB - if("all") - config.objectives_disabled = CONFIG_OBJECTIVE_ALL - else - log_misc("Incorrect objective disabled definition: [value]") - config.objectives_disabled = CONFIG_OBJECTIVE_NONE - if("protect_roles_from_antagonist") - config.protect_roles_from_antagonist = 1 - - if ("probability") - var/prob_pos = findtext(value, " ") - var/prob_name = null - var/prob_value = null - - if (prob_pos) - prob_name = lowertext(copytext(value, 1, prob_pos)) - prob_value = copytext(value, prob_pos + 1) - if (prob_name in config.modes) - config.probabilities[prob_name] = text2num(prob_value) - else - log_misc("Unknown game mode probability configuration definition: [prob_name].") - else - log_misc("Incorrect probability configuration definition: [prob_name] [prob_value].") - - if("allow_random_events") - config.allow_random_events = 1 - - if("kick_inactive") - config.kick_inactive = text2num(value) - - if("mods_can_tempban") - config.mods_can_tempban = 1 - - if("mods_can_job_tempban") - config.mods_can_job_tempban = 1 - - if("mod_tempban_max") - config.mod_tempban_max = text2num(value) - - if("mod_job_tempban_max") - config.mod_job_tempban_max = text2num(value) - - if("load_jobs_from_txt") - load_jobs_from_txt = 1 - - if("forbid_singulo_possession") - forbid_singulo_possession = 1 - - if("popup_admin_pm") - config.popup_admin_pm = 1 - - if("allow_holidays") - config.allow_holidays = 1 - - if("use_irc_bot") - use_irc_bot = 1 - - if("ticklag") - var/ticklag = text2num(value) - if(ticklag > 0) - fps = 10 / ticklag - - if("fps") - fps = text2num(value) - - if("tick_limit_mc_init") - tick_limit_mc_init = text2num(value) - - if("allow_antag_hud") - config.antag_hud_allowed = 1 - if("antag_hud_restricted") - config.antag_hud_restricted = 1 - - if("secret_hide_possibilities") - secret_hide_possibilities = TRUE - - if("humans_need_surnames") - humans_need_surnames = 1 - - if("usealienwhitelist") - usealienwhitelist = 1 - if("usealienwhitelist_sql") // above need to be enabled as well - usealienwhitelistSQL = 1; - if("alien_player_ratio") - limitalienplayers = 1 - alien_to_human_ratio = text2num(value) - - if("assistant_maint") - config.assistant_maint = 1 - - if("gateway_delay") - config.gateway_delay = text2num(value) - - if("continuous_rounds") - config.continous_rounds = 1 - - if("ghost_interaction") - config.ghost_interaction = 1 - - if("disable_player_mice") - config.disable_player_mice = 1 - - if("uneducated_mice") - config.uneducated_mice = 1 - - if("comms_password") - config.comms_password = value - - if("ban_comms_password") - config.ban_comms_password = value - - if("forbidden_versions") - config.forbidden_versions = splittext(value, ";") - - if("minimum_byond_version") - config.minimum_byond_version = text2num(value) - - if("minimum_byond_build") - config.minimum_byond_build = text2num(value) - - if("login_export_addr") - config.login_export_addr = value - - if("irc_bot_host") - config.irc_bot_host = value - - if("main_irc") - config.main_irc = value - - if("admin_irc") - config.admin_irc = value - - if("announce_shuttle_dock_to_irc") - config.announce_shuttle_dock_to_irc = TRUE - - if("allow_cult_ghostwriter") - config.cult_ghostwriter = 1 - - if("req_cult_ghostwriter") - config.cult_ghostwriter_req_cultists = text2num(value) - - if("character_slots") - config.character_slots = text2num(value) - - if("loadout_slots") - config.loadout_slots = text2num(value) - - if("allow_drone_spawn") - config.allow_drone_spawn = text2num(value) - - if("drone_build_time") - config.drone_build_time = text2num(value) - - if("max_maint_drones") - config.max_maint_drones = text2num(value) - - if("expected_round_length") - config.expected_round_length = MinutesToTicks(text2num(value)) - - if("disable_welder_vision") - config.welder_vision = 0 - - if("disable_circuit_printing") - config.allow_ic_printing = FALSE - - if("allow_extra_antags") - config.allow_extra_antags = 1 - - if("event_custom_start_mundane") - var/values = text2numlist(value, ";") - config.event_first_run[EVENT_LEVEL_MUNDANE] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) - - if("event_custom_start_moderate") - var/values = text2numlist(value, ";") - config.event_first_run[EVENT_LEVEL_MODERATE] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) - - if("event_custom_start_major") - var/values = text2numlist(value, ";") - config.event_first_run[EVENT_LEVEL_MAJOR] = list("lower" = MinutesToTicks(values[1]), "upper" = MinutesToTicks(values[2])) - - if("event_delay_lower") - var/values = text2numlist(value, ";") - config.event_delay_lower[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) - config.event_delay_lower[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) - config.event_delay_lower[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) - - if("event_delay_upper") - var/values = text2numlist(value, ";") - config.event_delay_upper[EVENT_LEVEL_MUNDANE] = MinutesToTicks(values[1]) - config.event_delay_upper[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2]) - config.event_delay_upper[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3]) - - if("exterior_ambient_light") - value = text2num(value) - config.exterior_ambient_light = value >= 0 ? value : 0 - - if("law_zero") - law_zero = value - - if("aggressive_changelog") - config.aggressive_changelog = 1 - - if("delist_when_no_admins") - config.delist_when_no_admins = TRUE - - if("map_switching") - config.allow_map_switching = 1 - - if("disable_webhook_embeds") - config.disable_webhook_embeds = TRUE - - if("auto_map_vote") - config.auto_map_vote = 1 - - if("wait_for_sigusr1") - config.wait_for_sigusr1_reboot = 1 - - if("autostealth") - config.autostealth = text2num(value) - - if("auto_local_admin") - config.auto_local_admin = text2num(value) - - if("radiation_lower_limit") - radiation_lower_limit = text2num(value) - - if("error_cooldown") - error_cooldown = text2num(value) - if("error_limit") - error_limit = text2num(value) - if("error_silence_time") - error_silence_time = text2num(value) - if("error_msg_delay") - error_msg_delay = text2num(value) - - if("max_gear_cost") - max_gear_cost = text2num(value) - if(max_gear_cost < 0) - max_gear_cost = INFINITY - if("radiation_decay_rate") - radiation_decay_rate = text2num(value) - if("radiation_resistance_multiplier") - radiation_resistance_multiplier = text2num(value) - if("radiation_material_resistance_divisor") - radiation_material_resistance_divisor = text2num(value) - if("radiation_lower_limit") - radiation_lower_limit = text2num(value) - if("player_limit") - player_limit = text2num(value) - if("hub") - world.update_hub_visibility() - - if ("allow_unsafe_narrates") - config.allow_unsafe_narrates = TRUE - - if ("do_not_prevent_spam") - config.do_not_prevent_spam = TRUE - if ("max_acts_per_interval") - config.max_acts_per_interval = text2num(value) - if ("act_interval") - config.act_interval = text2num(value) SECONDS - - if("panic_bunker") - config.panic_bunker = TRUE - if("panic_bunker_message") - config.panic_bunker_message = value - - if("no_throttle_localhost") - config.no_throttle_localhost = TRUE - - if("show_typing_indicator_for_whispers") - config.show_typing_indicator_for_whispers = TRUE - - if("visible_examine") - config.visible_examine = text2num(value) - - if("allow_loadout_customization") - config.allow_loadout_customization = TRUE - - else - //crappy hook to get modpacks to load any extra config - if(!load_mod_config(name, value)) - log_misc("Unknown setting in configuration: '[name]'") - - else if(type == "game_options") - if(!value) - log_misc("Unknown value for setting [name] in [filename].") - value = text2num(value) - - switch(name) - if("show_human_death_message") - config.show_human_death_message = TRUE - if ("max_character_aspects") - config.max_character_aspects = text2num(value) - if("health_threshold_dead") - config.health_threshold_dead = value - if("revival_pod_plants") - config.revival_pod_plants = value - if("revival_cloning") - config.revival_cloning = value - if("revival_brain_life") - config.revival_brain_life = value - if("organ_health_multiplier") - config.organ_health_multiplier = value / 100 - if("organ_regeneration_multiplier") - config.organ_regeneration_multiplier = value / 100 - if("organ_damage_spillover_multiplier") - config.organ_damage_spillover_multiplier = value / 100 - if("organs_can_decay") - config.organs_decay = 1 - if("bones_can_break") - config.bones_can_break = value - if("limbs_can_break") - config.limbs_can_break = value - - if("run_delay") - config.run_delay = value - if("walk_delay") - config.walk_delay = value - if("creep_delay") - config.creep_delay = value - if("glide_size_delay") - config.glide_size_delay = value - if("minimum_sprint_cost") - config.minimum_sprint_cost = value - if("skill_sprint_cost_range") - config.skill_sprint_cost_range = value - if("minimum_stamina_recovery") - config.minimum_stamina_recovery = value - if("maximum_stamina_recovery") - config.maximum_stamina_recovery = value - - if("human_delay") - config.human_delay = value - if("robot_delay") - config.robot_delay = value - if("monkey_delay") - config.monkey_delay = value - if("alien_delay") - config.alien_delay = value - if("slime_delay") - config.slime_delay = value - if("animal_delay") - config.animal_delay = value - if("maximum_mushrooms") - config.maximum_mushrooms = value - - if("lock_client_view_x") - config.lock_client_view_x = text2num(value) - if("lock_client_view_y") - config.lock_client_view_y = text2num(value) - if("max_client_view_x") - config.max_client_view_x = text2num(value) - if("max_client_view_y") - config.max_client_view_y = text2num(value) - - if("allow_diagonal_movement") - config.allow_diagonal_movement = TRUE - - if("use_loyalty_implants") - config.use_loyalty_implants = 1 - if("dexterity_malus_brainloss_threshold") - config.dex_malus_brainloss_threshold = text2num(value) - if("grant_default_darksight") - config.grant_default_darksight = TRUE - if("default_darksight_range") - config.default_darksight_range = max(text2num(value), 0) - if("default_darksight_effectiveness") - config.default_darksight_effectiveness = clamp(text2num(value), 0, 1) - - if("adjust_healing_from_stress") - config.adjust_healing_from_stress = TRUE - if("stress_shock_recovery_constant") - config.stress_shock_recovery_constant = text2num(value) - if("stress_healing_recovery_constant") - config.stress_healing_recovery_constant = text2num(value) - if("stress_blood_recovery_constant") - config.stress_blood_recovery_constant = text2num(value) - - - - if("exoplanet_min_day_duration") - config.exoplanet_min_day_duration = text2num(value) - if("exoplanet_max_day_duration") - config.exoplanet_max_day_duration = text2num(value) - if("disable_daycycle") - config.disable_daycycle = TRUE - - else - //crappy hook to get modpacks to load any extra config - if(!load_mod_config(name, value)) - log_misc("Unknown setting in game_options configuration: '[name]'") - - fps = round(fps) - if(fps <= 0) - fps = initial(fps) - -/datum/configuration/proc/loadsql(filename) // -- TLE - var/list/Lines = file2list(filename) - for(var/t in Lines) - if(!t) continue - - t = trim(t) - if (length(t) == 0) - continue - else if (copytext(t, 1, 2) == "#") - continue - - var/pos = findtext(t, " ") - var/name = null - var/value = null - - if (pos) - name = lowertext(copytext(t, 1, pos)) - value = copytext(t, pos + 1) - else - name = lowertext(t) - - if (!name) - continue - - switch (name) - if ("enabled") - sqlenabled = TRUE - if ("address") - sqladdress = value - if ("port") - sqlport = value - if ("database") - sqldb = value - if ("login") - sqllogin = value - if ("password") - sqlpass = value - else - //crappy hook to get modpacks to load any extra config - if(!load_mod_dbconfig(name, value)) - log_misc("Unknown setting in DB configuration: '[name]'") - -/datum/configuration/proc/get_runnable_modes() - . = list() - var/list/all_modes = decls_repository.get_decls_of_subtype(/decl/game_mode) - for(var/mode_type in all_modes) - var/decl/game_mode/game_mode = all_modes[mode_type] - if(!game_mode.startRequirements() && !isnull(config.probabilities[game_mode.uid]) && config.probabilities[game_mode.uid] > 0) - .[game_mode.uid] = config.probabilities[game_mode.uid] - -/datum/configuration/proc/load_event(filename) - var/event_info = safe_file2text(filename, FALSE) - if(event_info) - custom_event_msg = event_info - -///Hook stub for loading modpack specific configs. Just override in modpack. -/datum/configuration/proc/load_mod_config(var/name, var/value) - //Force it to run parents overrides, so other modpacks don't just completely break config loading for one another - SHOULD_CALL_PARENT(TRUE) - return - -///Hook stub for loading modpack specific game_options. Just override in modpack. -/datum/configuration/proc/load_mod_game_options(var/name, var/value) - SHOULD_CALL_PARENT(TRUE) - return - -///Hook stub for loading modpack specific dbconfig. Just override in modpack. -/datum/configuration/proc/load_mod_dbconfig(var/name, var/value) - SHOULD_CALL_PARENT(TRUE) - return diff --git a/code/controllers/evacuation/evacuation.dm b/code/controllers/evacuation/evacuation.dm index 31495e484d5..69eeb9bc5bc 100644 --- a/code/controllers/evacuation/evacuation.dm +++ b/code/controllers/evacuation/evacuation.dm @@ -131,7 +131,7 @@ evac_waiting.Announce(replacetext(global.using_map.emergency_shuttle_docked_message, "%ETD%", "[estimated_time] minute\s"), new_sound = sound('sound/effects/Evacuation.ogg', volume = 35)) else priority_announcement.Announce(replacetext(replacetext(global.using_map.shuttle_docked_message, "%dock_name%", "[global.using_map.dock_name]"), "%ETD%", "[estimated_time] minute\s")) - if(config.announce_shuttle_dock_to_irc) + if(get_config_value(/decl/config/toggle/announce_shuttle_dock_to_irc)) send2mainirc("The shuttle has docked with the station. It will depart in approximately [estimated_time] minute\s.") /datum/evacuation_controller/proc/launch_evacuation() diff --git a/code/controllers/master.dm b/code/controllers/master.dm index c7a3c84f63e..713a05bd8f2 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -176,7 +176,7 @@ var/global/datum/controller/master/Master = new var/start_timeofday = REALTIMEOFDAY // Initialize subsystems. - current_ticklimit = config.tick_limit_mc_init + current_ticklimit = get_config_value(/decl/config/num/tick_limit_mc_init) for (var/datum/controller/subsystem/SS in subsystems) if (SS.flags & SS_NO_INIT) continue @@ -202,7 +202,7 @@ var/global/datum/controller/master/Master = new #else world.sleep_offline = TRUE #endif - world.fps = config.fps + world.fps = get_config_value(/decl/config/num/fps) var/initialized_tod = REALTIMEOFDAY initializations_finished_with_no_players_logged_in = initialized_tod < REALTIMEOFDAY - 10 diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index a595e9fda63..cb1858d43f1 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -43,6 +43,8 @@ var/static/list/failure_strikes //How many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out! + var/_internal_name //! A stringified version of the variable name for this subsystem. Used by the processing subsystem to make sure is_processing is unset properly. + //Do not override ///datum/controller/subsystem/New() diff --git a/code/controllers/subsystems/configuration.dm b/code/controllers/subsystems/configuration.dm new file mode 100644 index 00000000000..8cf48eb2c50 --- /dev/null +++ b/code/controllers/subsystems/configuration.dm @@ -0,0 +1,144 @@ +SUBSYSTEM_DEF(configuration) + name = "Configuration" + flags = SS_NO_FIRE | SS_NO_INIT + var/list/configuration_file_locations = list() + var/load_sql_from = "config/dbconfig.txt" + var/load_event_from = "config/custom_event.txt" + +/datum/controller/subsystem/configuration/proc/load_all_configuration() + + // Assemble a list of all the files we are expected to load this run. + var/list/all_config = decls_repository.get_decls_of_subtype(/decl/configuration_category) + for(var/config_cat_type in all_config) + var/decl/configuration_category/config_cat = all_config[config_cat_type] + configuration_file_locations |= config_cat.configuration_file_location + + load_files() + load_sql() + load_event() + +/datum/controller/subsystem/configuration/proc/write_default_configuration(var/list/specific_files, var/modify_write_prefix) + + if(!specific_files) + specific_files = configuration_file_locations + else if(!islist(specific_files)) + specific_files = list(specific_files) + + if(!length(specific_files)) + return + + var/list/config_lines = list() + var/list/all_config = decls_repository.get_decls_of_subtype(/decl/configuration_category) + var/list/sorted_config = list() + for(var/config_type in all_config) + sorted_config += all_config[config_type] + for(var/decl/configuration_category/config_cat as anything in sortTim(sorted_config, /proc/cmp_name_asc)) + if(!(config_cat.configuration_file_location in specific_files)) + continue + LAZYADD(config_lines["[modify_write_prefix][config_cat.configuration_file_location]"], config_cat.get_config_category_text()) + + for(var/filename in config_lines) + if(fexists(filename)) + fdel(filename) + var/write_file = file(filename) + to_file(write_file, jointext(config_lines[filename], "\n\n")) + +/datum/controller/subsystem/configuration/proc/load_files() + + // Load values from file into an assoc list. + var/list/loaded_values = list() + var/list/write_defaults = list() + for(var/filename in configuration_file_locations) + + if(!fexists(filename)) + write_defaults += filename + continue + + var/list/lines = file2list(filename) + for(var/line in lines) + line = trim(line) + if(!line || length(line) == 0 || copytext(line, 1, 2) == "#") + continue + var/pos = findtext(line, " ") + var/config_key + var/config_value + if(pos) + config_key = copytext(line, 1, pos) + config_value = copytext(line, pos + 1) + else + config_key = line + config_value = TRUE + if(config_key) + config_key = lowertext(trim(config_key)) + if(config_key in loaded_values) + PRINT_STACK_TRACE("Duplicate config value loaded for key '[config_key]' from file '[filename]'.") + loaded_values[config_key] = config_value + + // Write any defaults that aren't already populated. + if(length(write_defaults)) + write_default_configuration(write_defaults) + + // Set our config values on the decls. + var/list/config_to_refresh = list() + var/list/all_config_decls = decls_repository.get_decls_of_subtype(/decl/config) + for(var/config_type in all_config_decls) + var/decl/config/config_option = all_config_decls[config_type] + if(config_option.uid in loaded_values) + if(set_config_value(config_type, loaded_values[config_option.uid], defer_config_refresh = TRUE)) + config_to_refresh += config_option + loaded_values -= config_option.uid + + // Do a refresh now that all values are populated. + for(var/decl/config/config_option as anything in config_to_refresh) + config_option.update_post_value_set() + +/datum/controller/subsystem/configuration/proc/load_event(filename) + var/event_info = safe_file2text(filename, FALSE) + if(event_info) + global.custom_event_msg = event_info + +/datum/controller/subsystem/configuration/proc/load_sql() + var/list/lines = file2list(load_sql_from) + for(var/line in lines) + if(!line) + continue + line = trim(line) + if (length(line) == 0 || copytext(line, 1, 2) == "#") + continue + + var/pos = findtext(line, " ") + var/name = null + var/value = null + if (pos) + name = lowertext(copytext(line, 1, pos)) + value = copytext(line, pos + 1) + else + name = lowertext(line) + if (!name) + continue + + switch (name) + if ("enabled") + sqlenabled = TRUE + if ("address") + sqladdress = value + if ("port") + sqlport = value + if ("database") + sqldb = value + if ("login") + sqllogin = value + if ("password") + sqlpass = value + else + log_misc("Unknown setting in configuration: '[name]'") + +/datum/admins/proc/dump_configuration() + set category = "Admin" + set name = "Dump Configuration" + set desc = "Writes out the current configuration to file." + if(!ishost(usr?.client)) + to_chat(usr, SPAN_WARNING("This verb can only be used by the host.")) + return + SSconfiguration.write_default_configuration(modify_write_prefix = "temp/") + to_chat(usr, SPAN_NOTICE("All done!")) diff --git a/code/controllers/subsystems/daycycle.dm b/code/controllers/subsystems/daycycle.dm index 5a725b0c625..15ba9d24bdf 100644 --- a/code/controllers/subsystems/daycycle.dm +++ b/code/controllers/subsystems/daycycle.dm @@ -13,7 +13,7 @@ SUBSYSTEM_DEF(daycyle) ///Adds a set of levels that should all be updated at the same time and share the same day state /datum/controller/subsystem/daycyle/proc/add_linked_levels(var/list/level_ids, var/start_at_night = FALSE, var/update_interval = 5 MINUTES) - if(global.config.disable_daycycle) + if(get_config_value(/decl/config/toggle/disable_daycycle)) return //If disabled, we don't add anything var/topmost_level_id = level_ids[1] if(LAZYISIN(registered_levels, topmost_level_id)) @@ -26,7 +26,7 @@ SUBSYSTEM_DEF(daycyle) LAZYREMOVE(registered_levels, topmost_level_id) /datum/controller/subsystem/daycyle/fire(resumed = 0) - if(global.config.disable_daycycle) + if(get_config_value(/decl/config/toggle/disable_daycycle)) disable() LAZYCLEARLIST(current_run) return //If disabled, we shouldn't fire diff --git a/code/controllers/subsystems/event.dm b/code/controllers/subsystems/event.dm index 96c0b4a2cad..f3a5bd29ca3 100644 --- a/code/controllers/subsystems/event.dm +++ b/code/controllers/subsystems/event.dm @@ -60,7 +60,7 @@ SUBSYSTEM_DEF(event) while (pos <= EVENT_LEVEL_MAJOR) event_containers[pos].process() pos++ - + if (MC_TICK_CHECK) return @@ -109,17 +109,18 @@ SUBSYSTEM_DEF(event) if(E.isRunning) message += "and is still running." else - if(E.endedAt - E.startedAt > MinutesToTicks(5)) // Only mention end time if the entire duration was more than 5 minutes + if(E.endedAt - E.startedAt > 5 MINUTES) // Only mention end time if the entire duration was more than 5 minutes message += "and ended at [worldtime2stationtime(E.endedAt)]." else message += "and ran to completion." to_world(message) -//Event manager UI +//Event manager UI /datum/controller/subsystem/event/proc/GetInteractWindow() + var/allow_random_events = get_config_value(/decl/config/toggle/allow_random_events) var/html = "Refresh" - html += "Pause All - [config.allow_random_events ? "Pause" : "Resume"]" + html += "Pause All - [allow_random_events ? "Pause" : "Resume"]" if(selected_event_container) var/event_time = max(0, selected_event_container.next_event_time - world.time) @@ -253,8 +254,8 @@ SUBSYSTEM_DEF(event) EC.delayed = !EC.delayed log_and_message_admins("has [EC.delayed ? "paused" : "resumed"] countdown for [severity_to_string[EC.severity]] events.") else if(href_list["pause_all"]) - config.allow_random_events = text2num(href_list["pause_all"]) - log_and_message_admins("has [config.allow_random_events ? "resumed" : "paused"] countdown for all events.") + set_config_value(/decl/config/toggle/allow_random_events, text2num(href_list["pause_all"])) + log_and_message_admins("has [get_config_value(/decl/config/toggle/allow_random_events) ? "resumed" : "paused"] countdown for all events.") else if(href_list["interval"]) var/delay = input("Enter delay modifier. A value less than one means events fire more often, higher than one less often.", "Set Interval Modifier") as num|null if(delay && delay > 0) diff --git a/code/controllers/subsystems/inactivity.dm b/code/controllers/subsystems/inactivity.dm index 5e80377274c..8ba84003468 100644 --- a/code/controllers/subsystems/inactivity.dm +++ b/code/controllers/subsystems/inactivity.dm @@ -7,7 +7,8 @@ SUBSYSTEM_DEF(inactivity) var/number_kicked = 0 /datum/controller/subsystem/inactivity/fire(resumed = FALSE) - if (!config.kick_inactive) + var/kick_inactive_time = get_config_value(/decl/config/num/kick_inactive) MINUTES + if (!kick_inactive_time) suspend() return if (!resumed) @@ -16,9 +17,9 @@ SUBSYSTEM_DEF(inactivity) while(client_list.len) var/client/C = client_list[client_list.len] client_list.len-- - if(!C.holder && C.is_afk(config.kick_inactive MINUTES) && !isobserver(C.mob)) + if(!C.holder && C.is_afk(kick_inactive_time) && !isobserver(C.mob)) log_access("AFK: [key_name(C)]") - to_chat(C, "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.") + to_chat(C, SPAN_WARNING("You have been inactive for more than [kick_inactive_time] minute\s and have been disconnected.")) qdel(C) number_kicked++ if (MC_TICK_CHECK) diff --git a/code/controllers/subsystems/initialization/codex.dm b/code/controllers/subsystems/initialization/codex.dm index 878d9ba30c0..1948ba42ccd 100644 --- a/code/controllers/subsystems/initialization/codex.dm +++ b/code/controllers/subsystems/initialization/codex.dm @@ -84,9 +84,17 @@ SUBSYSTEM_DEF(codex) popup.set_content(parse_links(jointext(entry.get_codex_body(presenting_to), null), presenting_to)) popup.open() -/datum/controller/subsystem/codex/proc/get_guide(var/category) - var/decl/codex_category/cat = GET_DECL(category) - . = cat?.guide_html +/datum/controller/subsystem/codex/proc/get_manual_text(var/guide_id) + if(ispath(guide_id, /decl/codex_category)) + var/decl/codex_category/cat = GET_DECL(guide_id) + . = cat?.guide_html + else if(guide_id) + var/datum/codex_entry/entry + if(ispath(guide_id, /datum/codex_entry)) + entry = guide_id + guide_id = initial(entry.name) + entry = get_codex_entry(guide_id) + . = entry?.guide_html /datum/controller/subsystem/codex/proc/retrieve_entries_for_string(var/searching) diff --git a/code/controllers/subsystems/initialization/customitems.dm b/code/controllers/subsystems/initialization/customitems.dm index d9283b81fb4..ae4262be0c3 100644 --- a/code/controllers/subsystems/initialization/customitems.dm +++ b/code/controllers/subsystems/initialization/customitems.dm @@ -91,8 +91,9 @@ SUBSYSTEM_DEF(customitems) character_name = lowertext(character_name) for(var/icon_id in ids_to_icons) var/icon_loc = ids_to_icons[icon_id] - if(config.custom_icon_icon_location) - icon_loc = "[config.custom_icon_icon_location]/[icon_loc]" + var/config_icon_loc = get_config_value(/decl/config/text/custom_icon_icon_location) + if(config_icon_loc) + icon_loc = "[config_icon_loc]/[icon_loc]" ids_to_icons[icon_id] = file(icon_loc) /datum/custom_icon/proc/validate() @@ -134,8 +135,9 @@ SUBSYSTEM_DEF(customitems) item_path = item_path && text2path(item_path) apply_to_target_type = apply_to_target_type && text2path(apply_to_target_type) if(item_icon) - if(config.custom_item_icon_location) - item_icon = "[config.custom_item_icon_location]/[item_path]" + var/config_item_loc = get_config_value(/decl/config/text/custom_item_icon_location) + if(config_item_loc) + item_icon = "[config_item_loc]/[item_path]" if(fexists(item_icon)) item_icon = file(item_icon) diff --git a/code/controllers/subsystems/jobs.dm b/code/controllers/subsystems/jobs.dm index 3c3415ffe04..c802aba3945 100644 --- a/code/controllers/subsystems/jobs.dm +++ b/code/controllers/subsystems/jobs.dm @@ -60,7 +60,7 @@ SUBSYSTEM_DEF(jobs) submap_archetypes = sortTim(submap_archetypes, /proc/cmp_submap_archetype_asc, TRUE) // Load job configuration (is this even used anymore?) - if(job_config_file && config.load_jobs_from_txt) + if(job_config_file && get_config_value(/decl/config/toggle/load_jobs_from_txt)) var/list/jobEntries = file2list(job_config_file) for(var/job in jobEntries) if(!job) @@ -174,7 +174,7 @@ SUBSYSTEM_DEF(jobs) if(!job.is_position_available()) to_chat(joining, "Unfortunately, that job is no longer available.") return FALSE - if(!config.enter_allowed) + if(!get_config_value(/decl/config/toggle/on/enter_allowed)) to_chat(joining, "There is an administrative lock on entering the game!") return FALSE if(SSticker.mode && SSticker.mode.station_explosion_in_progress) @@ -291,7 +291,7 @@ SUBSYSTEM_DEF(jobs) if(age < job.minimum_character_age) // Nope. continue switch(age - job.ideal_character_age) - if(0 to -10) + if(-INFINITY to -10) if(age < (job.minimum_character_age+10)) weightedCandidates[V] = 3 // Still a bit young. else @@ -611,7 +611,7 @@ SUBSYSTEM_DEF(jobs) T.maptext = "[copytext_char(text, 1, i)] " sleep(1) - addtimer(CALLBACK(GLOBAL_PROC, .proc/fade_location_blurb, src, T), duration) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(fade_location_blurb), src, T), duration) /proc/fade_location_blurb(client/C, obj/T) animate(T, alpha = 0, time = 5) diff --git a/code/controllers/subsystems/managed_instance.dm b/code/controllers/subsystems/managed_instance.dm index dbf7cebf69f..92197745772 100644 --- a/code/controllers/subsystems/managed_instance.dm +++ b/code/controllers/subsystems/managed_instance.dm @@ -34,7 +34,7 @@ SUBSYSTEM_DEF(managed_instances) PRINT_STACK_TRACE("Managed instance was queued for deletion during init! [managed_instance]") category_list[cache_id] -= managed_instance else - events_repository.register(/decl/observ/destroyed, managed_instance, src, /datum/controller/subsystem/managed_instances/proc/clear) + events_repository.register(/decl/observ/destroyed, managed_instance, src, TYPE_PROC_REF(/datum/controller/subsystem/managed_instances, clear)) . = managed_instance // This is costly, but it also shouldn't be common for managed instances to get qdeleted post-storage. diff --git a/code/controllers/subsystems/mapping.dm b/code/controllers/subsystems/mapping.dm index 8241d6a6aa4..5f5be35ee8e 100644 --- a/code/controllers/subsystems/mapping.dm +++ b/code/controllers/subsystems/mapping.dm @@ -71,11 +71,22 @@ SUBSYSTEM_DEF(mapping) for(var/datum/map_template/MT as anything in get_all_template_instances()) register_map_template(MT) + // Load any queued map template markers. + for(var/obj/abstract/landmark/map_load_mark/queued_mark in queued_markers) + queued_mark.load_subtemplate() + queued_markers.Cut() + // Populate overmap. if(length(global.using_map.overmap_ids)) for(var/overmap_id in global.using_map.overmap_ids) var/overmap_type = global.using_map.overmap_ids[overmap_id] || /datum/overmap new overmap_type(overmap_id) + + // Load any queued map template markers. + for(var/obj/abstract/landmark/map_load_mark/queued_mark in queued_markers) + queued_mark.load_subtemplate() + queued_markers.Cut() + // This needs to be non-null even if the overmap isn't created for this map. overmap_event_handler = GET_DECL(/decl/overmap_event_handler) @@ -117,7 +128,7 @@ SUBSYSTEM_DEF(mapping) // Initialize z-level objects. #ifdef UNIT_TEST - config.roundstart_level_generation = FALSE //#FIXME: Shouldn't this be set before running level_data/setup_level_data()? + set_config_value(/decl/config/toggle/roundstart_level_generation, FALSE) //#FIXME: Shouldn't this be set before running level_data/setup_level_data()? #endif . = ..() diff --git a/code/controllers/subsystems/plants.dm b/code/controllers/subsystems/plants.dm index 00efee1ef03..5d704ae9aad 100644 --- a/code/controllers/subsystems/plants.dm +++ b/code/controllers/subsystems/plants.dm @@ -6,8 +6,6 @@ PROCESSING_SUBSYSTEM_DEF(plants) init_order = SS_INIT_PLANTS wait = 60 - process_proc = /obj/machinery/portable_atmospherics/hydroponics/Process - var/list/product_descs = list() // Stores generated fruit descs. var/list/seeds = list() // All seed data stored here. var/list/gene_tag_masks = list() // Gene obfuscation for delicious trial and error goodness. diff --git a/code/controllers/subsystems/processing/mobs.dm b/code/controllers/subsystems/processing/mobs.dm index 77a852de19c..a1812f5d758 100644 --- a/code/controllers/subsystems/processing/mobs.dm +++ b/code/controllers/subsystems/processing/mobs.dm @@ -5,7 +5,7 @@ PROCESSING_SUBSYSTEM_DEF(mobs) runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME wait = 2 SECONDS - process_proc = /mob/proc/Life + process_proc = TYPE_PROC_REF(/mob, Life) var/list/mob_list diff --git a/code/controllers/subsystems/processing/processing.dm b/code/controllers/subsystems/processing/processing.dm index ba9ca0fd657..594dc8a1985 100644 --- a/code/controllers/subsystems/processing/processing.dm +++ b/code/controllers/subsystems/processing/processing.dm @@ -8,7 +8,7 @@ SUBSYSTEM_DEF(processing) var/list/processing = list() var/list/current_run = list() - var/process_proc = /datum/proc/Process + var/process_proc = TYPE_PROC_REF(/datum, Process) var/debug_last_thing var/debug_original_process_proc // initial() does not work with procs @@ -28,7 +28,7 @@ SUBSYSTEM_DEF(processing) var/datum/thing = current_run[current_run.len] current_run.len-- if(QDELETED(thing) || (call(thing, process_proc)(wait, times_fired, src) == PROCESS_KILL)) - if(thing) + if(thing?.is_processing == _internal_name) thing.is_processing = null processing -= thing if (MC_TICK_CHECK) @@ -43,7 +43,7 @@ SUBSYSTEM_DEF(processing) debug_original_process_proc = null else debug_original_process_proc = process_proc - process_proc = /datum/proc/DebugSubsystemProcess + process_proc = TYPE_PROC_REF(/datum, DebugSubsystemProcess) to_chat(usr, "[name] - Debug mode [debug_original_process_proc ? "en" : "dis"]abled") diff --git a/code/controllers/subsystems/processing/temperature.dm b/code/controllers/subsystems/processing/temperature.dm index 377c8283660..4f14fc03788 100644 --- a/code/controllers/subsystems/processing/temperature.dm +++ b/code/controllers/subsystems/processing/temperature.dm @@ -2,4 +2,4 @@ PROCESSING_SUBSYSTEM_DEF(temperature) name = "Temperature" priority = SS_PRIORITY_TEMPERATURE wait = 5 SECONDS - process_proc = /atom/proc/ProcessAtomTemperature + process_proc = TYPE_PROC_REF(/atom, ProcessAtomTemperature) diff --git a/code/controllers/subsystems/processing/vines.dm b/code/controllers/subsystems/processing/vines.dm index 56e24d30f27..1e59ccf5a6f 100644 --- a/code/controllers/subsystems/processing/vines.dm +++ b/code/controllers/subsystems/processing/vines.dm @@ -5,8 +5,6 @@ PROCESSING_SUBSYSTEM_DEF(vines) runlevels = RUNLEVEL_GAME|RUNLEVEL_POSTGAME wait = 80 - process_proc = /obj/effect/vine/Process - var/list/vine_list /datum/controller/subsystem/processing/vines/PreInit() diff --git a/code/controllers/subsystems/radiation.dm b/code/controllers/subsystems/radiation.dm index 3e0b0747a13..5865d8f28a4 100644 --- a/code/controllers/subsystems/radiation.dm +++ b/code/controllers/subsystems/radiation.dm @@ -18,6 +18,7 @@ SUBSYSTEM_DEF(radiation) current_res_cache = resistance_cache.Copy() listeners = global.living_mob_list_.Copy() + var/rad_decay_rate = get_config_value(/decl/config/num/radiation_decay_rate) while(current_sources.len) var/datum/radiation_source/S = current_sources[current_sources.len] current_sources.len-- @@ -25,7 +26,7 @@ SUBSYSTEM_DEF(radiation) if(QDELETED(S)) sources -= S else if(S.decay) - S.update_rad_power(S.rad_power - config.radiation_decay_rate) + S.update_rad_power(S.rad_power - rad_decay_rate) if (MC_TICK_CHECK) return @@ -87,12 +88,13 @@ SUBSYSTEM_DEF(radiation) // Okay, now ray trace to find resistence! var/turf/origin = source.source_turf var/working = source.rad_power + var/rad_mult = get_config_value(/decl/config/num/radiation_resistance_multiplier) while(origin != T) origin = get_step_towards(origin, T) //Raytracing if(!resistance_cache[origin]) //Only get the resistance if we don't already know it. origin.calc_rad_resistance() if(origin.cached_rad_resistance) - working = round((working / (origin.cached_rad_resistance * config.radiation_resistance_multiplier)), 0.1) + working = round((working / (origin.cached_rad_resistance * rad_mult)), 0.1) if((working <= .) || (working <= RADIATION_THRESHOLD_CUTOFF)) break // Already affected by a stronger source (or its zero...) . = max((working / (dist ** 2)), .) //Butchered version of the inverse square law. Works for this purpose diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 78ada4556d7..4926e5e6635 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -52,7 +52,7 @@ SUBSYSTEM_DEF(ticker) Master.SetRunLevel(RUNLEVEL_SETUP) return - if(!bypass_gamemode_vote && (pregame_timeleft <= config.vote_autogamemode_timeleft SECONDS) && !gamemode_vote_results) + if(!bypass_gamemode_vote && (pregame_timeleft <= get_config_value(/decl/config/num/vote_autogamemode_timeleft) SECONDS) && !gamemode_vote_results) if(!SSvote.active_vote) SSvote.initiate_vote(/datum/vote/gamemode, automatic = 1) @@ -111,8 +111,8 @@ SUBSYSTEM_DEF(ticker) if(mode_finished && game_finished()) Master.SetRunLevel(RUNLEVEL_POSTGAME) end_game_state = END_GAME_READY_TO_END - INVOKE_ASYNC(src, .proc/declare_completion) - if(config.allow_map_switching && config.auto_map_vote && global.all_maps.len > 1) + INVOKE_ASYNC(src, PROC_REF(declare_completion)) + if(get_config_value(/decl/config/toggle/allow_map_switching) && get_config_value(/decl/config/toggle/auto_map_vote) && global.all_maps.len > 1) SSvote.initiate_vote(/datum/vote/map/end_game, automatic = 1) else if(mode_finished && (end_game_state <= END_GAME_NOT_OVER)) @@ -222,8 +222,13 @@ Helpers if(mode_to_try in bad_modes) return - //Find the relevant datum, resolving secret in the process. - var/list/base_runnable_modes = config.get_runnable_modes() //format: list(uid = weight) + var/list/base_runnable_modes = list() + var/list/all_modes = decls_repository.get_decls_of_subtype(/decl/game_mode) + for(var/mode_type in all_modes) + var/decl/game_mode/game_mode = all_modes[mode_type] + if(game_mode.probability > 0 && !game_mode.startRequirements()) + base_runnable_modes[game_mode.uid] = game_mode.probability + if((mode_to_try=="random") || (mode_to_try=="secret")) var/list/runnable_modes = base_runnable_modes - bad_modes if(secret_force_mode != "secret") // Config option to force secret to be a specific mode. @@ -263,8 +268,8 @@ Helpers for (var/mode_tag in base_runnable_modes) var/decl/game_mode/M = decls_repository.get_decl_by_id(mode_tag, validate_decl_type = FALSE) if(M) - mode_names += M.name - if (config.secret_hide_possibilities) + mode_names |= M.name + if (get_config_value(/decl/config/toggle/secret_hide_possibilities)) message_admins("Possibilities: [english_list(mode_names)]") else to_world("Possibilities: [english_list(mode_names)]") @@ -344,13 +349,13 @@ Helpers /datum/controller/subsystem/ticker/proc/game_finished() if(mode.station_explosion_in_progress) return 0 - if(config.continous_rounds) + if(get_config_value(/decl/config/toggle/continuous_rounds)) return SSevac.evacuation_controller?.round_over() || mode.station_was_nuked else return mode.check_finished() || (SSevac.evacuation_controller && SSevac.evacuation_controller.round_over() && SSevac.evacuation_controller.emergency_evacuation) || universe_has_ended /datum/controller/subsystem/ticker/proc/mode_finished() - if(config.continous_rounds) + if(get_config_value(/decl/config/toggle/continuous_rounds)) return mode.check_finished() else return game_finished() diff --git a/code/controllers/subsystems/timer.dm b/code/controllers/subsystems/timer.dm index 298d4e28dd6..587c9898676 100644 --- a/code/controllers/subsystems/timer.dm +++ b/code/controllers/subsystems/timer.dm @@ -273,7 +273,7 @@ SUBSYSTEM_DEF(timer) return // Sort all timers by time to run - sortTim(alltimers, .proc/cmp_timer) + sortTim(alltimers, PROC_REF(cmp_timer)) // Get the earliest timer, and if the TTR is earlier than the current world.time, // then set the head offset appropriately to be the earliest time tracked by the diff --git a/code/controllers/subsystems/typing.dm b/code/controllers/subsystems/typing.dm index 8f68fa0e711..d44ba9a14de 100644 --- a/code/controllers/subsystems/typing.dm +++ b/code/controllers/subsystems/typing.dm @@ -22,7 +22,7 @@ SUBSYSTEM_DEF(typing) var/static/regex/match_verbs /// A list of clients waiting to be polled for input state. var/list/client/queue = list() - /// A list of ckey to list, containing current state data. See .proc/get_entry for details. + /// A list of ckey to list, containing current state data. See get_entry() for details. var/list/status = list() /* example of an entry: (ckey = list( @@ -35,7 +35,7 @@ SUBSYSTEM_DEF(typing) */ /datum/controller/subsystem/typing/Initialize(start_timeofday) - if(config.show_typing_indicator_for_whispers) + if(get_config_value(/decl/config/toggle/show_typing_indicator_for_whispers)) match_verbs = regex("^(Me|Say|Whisper) +\"?\\w+") else match_verbs = regex("^(Me|Say) +\"?\\w+") diff --git a/code/controllers/subsystems/vote.dm b/code/controllers/subsystems/vote.dm index e5d4b025ff7..0c69d7d1c24 100644 --- a/code/controllers/subsystems/vote.dm +++ b/code/controllers/subsystems/vote.dm @@ -69,7 +69,7 @@ SUBSYSTEM_DEF(vote) return FALSE if(last_started_time != null && !(is_admin(creator) || automatic)) - var/next_allowed_time = (last_started_time + config.vote_delay) + var/next_allowed_time = (last_started_time + get_config_value(/decl/config/num/vote_delay)) if(next_allowed_time > world.time) return FALSE @@ -176,7 +176,7 @@ SUBSYSTEM_DEF(vote) // Helper proc for determining whether addantag vote can be called. /datum/controller/subsystem/vote/proc/is_addantag_allowed(mob/creator, automatic) - if(!config.allow_extra_antags) + if(!get_config_value(/decl/config/toggle/allow_extra_antags)) return 0 // Gamemode has to be determined before we can add antagonists, so we can respect gamemode's add antag vote settings. if((GAME_STATE <= RUNLEVEL_SETUP) || !SSticker.mode) diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index dff70c19021..429ecfd060e 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -25,9 +25,6 @@ if("Radio") debug_variables(radio_controller) SSstatistics.add_field_details("admin_verb","DRadio") - if("Configuration") - debug_variables(config) - SSstatistics.add_field_details("admin_verb","DConf") if("pAI") debug_variables(paiController) SSstatistics.add_field_details("admin_verb","DpAI") diff --git a/code/datums/appearances/appearance_manager.dm b/code/datums/appearances/appearance_manager.dm index b5ce0b9e882..d196a89303d 100644 --- a/code/datums/appearances/appearance_manager.dm +++ b/code/datums/appearances/appearance_manager.dm @@ -6,8 +6,8 @@ if(!pq) pq = new /datum/priority_queue(/proc/cmp_appearance_data) appearances_[viewer] = pq - events_repository.register(/decl/observ/logged_in, viewer, src, /decl/appearance_manager/proc/apply_appearance_images) - events_repository.register(/decl/observ/destroyed, viewer, src, /decl/appearance_manager/proc/remove_appearances) + events_repository.register(/decl/observ/logged_in, viewer, src, TYPE_PROC_REF(/decl/appearance_manager, apply_appearance_images)) + events_repository.register(/decl/observ/destroyed, viewer, src, TYPE_PROC_REF(/decl/appearance_manager, remove_appearances)) pq.Enqueue(ad) reset_appearance_images(viewer) @@ -17,8 +17,8 @@ if(viewer.client) viewer.client.images -= ad.images if(!pq.Length()) - events_repository.unregister(/decl/observ/logged_in, viewer, src, /decl/appearance_manager/proc/apply_appearance_images) - events_repository.register(/decl/observ/destroyed, viewer, src, /decl/appearance_manager/proc/remove_appearances) + events_repository.unregister(/decl/observ/logged_in, viewer, src, TYPE_PROC_REF(/decl/appearance_manager, apply_appearance_images)) + events_repository.register(/decl/observ/destroyed, viewer, src, TYPE_PROC_REF(/decl/appearance_manager, remove_appearances)) appearances_ -= viewer /decl/appearance_manager/proc/remove_appearances(var/mob/viewer) diff --git a/code/datums/appearances/automatic/_base.dm b/code/datums/appearances/automatic/_base.dm index c4422652adc..03c71a126e5 100644 --- a/code/datums/appearances/automatic/_base.dm +++ b/code/datums/appearances/automatic/_base.dm @@ -6,7 +6,7 @@ if(source in appearance_sources) return FALSE appearance_sources[source] = new/datum/appearance_data(images, viewers, priority) - events_repository.register(/decl/observ/destroyed, source, src, /decl/appearance_handler/proc/RemoveAltAppearance) + events_repository.register(/decl/observ/destroyed, source, src, TYPE_PROC_REF(/decl/appearance_handler, RemoveAltAppearance)) /decl/appearance_handler/proc/RemoveAltAppearance(var/source) var/datum/appearance_data/ad = appearance_sources[source] diff --git a/code/datums/appearances/automatic/cardborg.dm b/code/datums/appearances/automatic/cardborg.dm index 5a22f4763ea..42fcea16813 100644 --- a/code/datums/appearances/automatic/cardborg.dm +++ b/code/datums/appearances/automatic/cardborg.dm @@ -17,7 +17,7 @@ var/image/I = get_image_from_backpack(H) AddAltAppearance(H, I, global.silicon_mob_list+H) //you look like a robot to robots! (including yourself because you're totally a robot) - events_repository.register_global(/decl/observ/logged_in, src, /decl/appearance_handler/cardborg/proc/mob_joined) // Duplicate registration request are handled for us + events_repository.register_global(/decl/observ/logged_in, src, TYPE_PROC_REF(/decl/appearance_handler/cardborg, mob_joined)) // Duplicate registration request are handled for us /decl/appearance_handler/cardborg/proc/item_removed(var/obj/item/item, var/mob/user) if((istype(item, /obj/item/clothing/suit/cardborg) || istype(item, /obj/item/clothing/head/cardborg)) || istype(item, /obj/item/storage/backpack)) diff --git a/code/datums/browser.dm b/code/datums/browser.dm index df3678803fe..e90b12f208b 100644 --- a/code/datums/browser.dm +++ b/code/datums/browser.dm @@ -153,7 +153,7 @@ return var/param = ref ? "\ref[ref]" : "null" - addtimer(CALLBACK(user, /mob/proc/post_onclose, windowid, param), 2) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, post_onclose), windowid, param), 2) /mob/proc/post_onclose(windowid, param) if(client) diff --git a/code/datums/callbacks.dm b/code/datums/callbacks.dm index 575a3f13959..869a5831bed 100644 --- a/code/datums/callbacks.dm +++ b/code/datums/callbacks.dm @@ -1,46 +1,44 @@ -// USAGE: -// -// var/datum/callback/C = new(object|null, /proc/type/path|"procstring", arg1, arg2, ... argn) -// var/timerid = addtimer(C, time, timertype) -// OR -// var/timerid = addtimer(CALLBACK(object|null, /proc/type/path|procstring, arg1, arg2, ... argn), time, timertype) -// -// Note: proc strings can only be given for datum proc calls, global procs must be proc paths -// Also proc strings are strongly advised against because they don't compile error if the proc stops existing -// See the note on proc typepath shortcuts -// -// INVOKING THE CALLBACK: -// var/result = C.Invoke(args, to, add) //additional args are added after the ones given when the callback was created -// OR -// var/result = C.InvokeAsync(args, to, add) //Sleeps will not block, returns . on the first sleep (then continues on in the "background" after the sleep/block ends), otherwise operates normally. -// OR -// INVOKE_ASYNC() to immediately create and call InvokeAsync -// -// PROC TYPEPATH SHORTCUTS (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...) -// -// global proc while in another global proc: -// .procname -// Example: -// CALLBACK(GLOBAL_PROC, .some_proc_here) -// -// proc defined on current(src) object (when in a /proc/ and not an override) OR overridden at src or any of it's parents: -// .procname -// Example: -// CALLBACK(src, .some_proc_here) -// -// -// when the above doesn't apply: -// .proc/procname -// Example: -// CALLBACK(src, .proc/some_proc_here) -// -// proc defined on a parent of a some type: -// /some/type/.proc/some_proc_here -// -// -// -// Other wise you will have to do the full typepath of the proc (/type/of/thing/proc/procname) - +/** + *# Callback Datums + *A datum that holds a proc to be called on another object, used to track proccalls to other objects + * + * ## USAGE + * + * ``` + * var/datum/callback/C = new(object|null, PROC_REF(procname), arg1, arg2, ... argn) + * var/timerid = addtimer(C, time, timertype) + * you can also use the compiler define shorthand + * var/timerid = addtimer(CALLBACK(object|null, PROC_REF(procname), arg1, arg2, ... argn), time, timertype) + * ``` + * + * Note: proc strings can only be given for datum proc calls, global procs must be proc paths + * + * Also proc strings are strongly advised against because they don't compile error if the proc stops existing + * + * In some cases you can provide a shortform of the procname, see the proc typepath shortcuts documentation below + * + * ## INVOKING THE CALLBACK + *`var/result = C.Invoke(args, to, add)` additional args are added after the ones given when the callback was created + * + * `var/result = C.InvokeAsync(args, to, add)` Asynchronous - returns . on the first sleep then continues on in the background + * after the sleep/block ends, otherwise operates normally. + * + * ## PROC TYPEPATH SHORTCUTS + * (these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...) + * + * ### proc defined on current(src) object OR overridden at src or any of it's parents: + * PROC_REF(procname) + * + * `CALLBACK(src, PROC_REF(some_proc_here))` + * + * ### global proc + * GLOBAL_PROC_REF(procname) + * + * `CALLBACK(src, GLOBAL_PROC_REF(some_proc_here))` + * + * ### proc defined on some type + * TYPE_PROC_REF(/some/type/, some_proc_here) + */ /datum/callback var/datum/object = GLOBAL_PROC var/delegate diff --git a/code/datums/communication/aooc.dm b/code/datums/communication/aooc.dm index e6a3b9575b9..52ca16f4194 100644 --- a/code/datums/communication/aooc.dm +++ b/code/datums/communication/aooc.dm @@ -2,7 +2,7 @@ /decl/communication_channel/aooc name = "AOOC" - config_setting = "aooc_allowed" + config_setting = /decl/config/toggle/on/aooc_allowed expected_communicator_type = /client flags = COMMUNICATION_LOG_CHANNEL_NAME|COMMUNICATION_ADMIN_FOLLOW log_proc = /proc/log_ooc diff --git a/code/datums/communication/channel.dm b/code/datums/communication/channel.dm index 261a0bd658b..c9dc993cb37 100644 --- a/code/datums/communication/channel.dm +++ b/code/datums/communication/channel.dm @@ -48,7 +48,7 @@ log_debug("[log_info_line(communicator)] attempted to communicate over the channel [src] but was of an unexpected type.") return FALSE - if(config_setting && !config.vars[config_setting] && !check_rights(R_INVESTIGATE,0,communicator)) + if(config_setting && !get_config_value(config_setting) && !check_rights(R_INVESTIGATE,0,communicator)) to_chat(communicator, "[name] is globally muted.") return FALSE @@ -117,7 +117,7 @@ if (!message) return FALSE - if (!override_config && config_setting && !config.vars[config_setting]) + if (!override_config && config_setting && !get_config_value(config_setting)) return FALSE return TRUE diff --git a/code/datums/communication/dsay.dm b/code/datums/communication/dsay.dm index 67c01783178..c21705a672e 100644 --- a/code/datums/communication/dsay.dm +++ b/code/datums/communication/dsay.dm @@ -3,7 +3,7 @@ /decl/communication_channel/dsay name = "DSAY" - config_setting = "dsay_allowed" + config_setting = /decl/config/toggle/on/dsay_allowed expected_communicator_type = /client flags = COMMUNICATION_LOG_CHANNEL_NAME log_proc = /proc/log_say diff --git a/code/datums/communication/looc.dm b/code/datums/communication/looc.dm index 756c05f021a..925ccbeb1ac 100644 --- a/code/datums/communication/looc.dm +++ b/code/datums/communication/looc.dm @@ -1,6 +1,6 @@ /decl/communication_channel/ooc/looc name = "LOOC" - config_setting = "looc_allowed" + config_setting = /decl/config/toggle/on/looc_allowed flags = COMMUNICATION_NO_GUESTS|COMMUNICATION_LOG_CHANNEL_NAME|COMMUNICATION_ADMIN_FOLLOW show_preference_setting = /datum/client_preference/show_looc diff --git a/code/datums/communication/ooc.dm b/code/datums/communication/ooc.dm index 401c662e90b..2d206d206bc 100644 --- a/code/datums/communication/ooc.dm +++ b/code/datums/communication/ooc.dm @@ -1,6 +1,6 @@ /decl/communication_channel/ooc name = "OOC" - config_setting = "ooc_allowed" + config_setting = /decl/config/toggle/on/ooc_allowed expected_communicator_type = /client flags = COMMUNICATION_NO_GUESTS log_proc = /proc/log_ooc @@ -13,7 +13,7 @@ return if(!C.holder) - if(!config.dooc_allowed && (C.mob.stat == DEAD)) + if(!get_config_value(/decl/config/toggle/on/dooc_allowed) && (C.mob.stat == DEAD)) to_chat(C, "[name] for dead mobs has been turned off.") return FALSE if(findtext(message, "byond://")) diff --git a/code/datums/composite_sounds/_composite_sound.dm b/code/datums/composite_sounds/_composite_sound.dm index b7de5e43b9d..12790c6765c 100644 --- a/code/datums/composite_sounds/_composite_sound.dm +++ b/code/datums/composite_sounds/_composite_sound.dm @@ -64,7 +64,7 @@ if(!chance || prob(chance)) play(get_sound(starttime)) if(!timerid) - timerid = addtimer(CALLBACK(src, .proc/sound_loop, world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP) + timerid = addtimer(CALLBACK(src, PROC_REF(sound_loop), world.time), mid_length, TIMER_CLIENT_TIME | TIMER_STOPPABLE | TIMER_LOOP) /datum/composite_sound/proc/play(soundfile) var/sound/S = sound(soundfile) @@ -81,7 +81,7 @@ if(start_sound) play(start_sound) start_wait = start_length - addtimer(CALLBACK(src, .proc/sound_loop), start_wait, TIMER_CLIENT_TIME) + addtimer(CALLBACK(src, PROC_REF(sound_loop)), start_wait, TIMER_CLIENT_TIME) /datum/composite_sound/proc/on_stop() if(end_sound) diff --git a/code/datums/config/_config.dm b/code/datums/config/_config.dm new file mode 100644 index 00000000000..0ffc1891a8b --- /dev/null +++ b/code/datums/config/_config.dm @@ -0,0 +1,152 @@ +#define CONFIG_FLAG_BOOL BITFLAG(0) +#define CONFIG_FLAG_NUM BITFLAG(1) +#define CONFIG_FLAG_ENUM BITFLAG(2) +#define CONFIG_FLAG_TEXT BITFLAG(3) +#define CONFIG_FLAG_LIST BITFLAG(4) +#define CONFIG_FLAG_HAS_VALUE BITFLAG(5) + +/proc/get_config_value(var/config_decl) + var/decl/config/config_option = GET_DECL(config_decl) + return config_option.value + +/proc/set_config_value(var/config_decl, var/new_value, var/defer_config_refresh = FALSE) + + // Get our actual value (loading from text etc. may change data type) + var/decl/config/config_option = GET_DECL(config_decl) + if((config_option.config_flags & CONFIG_FLAG_NUM) && istext(new_value)) + new_value = text2num(new_value) + else if((config_option.config_flags & (CONFIG_FLAG_ENUM|CONFIG_FLAG_TEXT)) && isnum(new_value)) + new_value = num2text(new_value) + + // Identical values, no point updating. + if(config_option.value == new_value) + return + + // Actually set the value. + var/old_value = config_option.value + config_option.set_value(new_value) + if(config_option.value != old_value && !defer_config_refresh) + config_option.update_post_value_set() + +/proc/toggle_config_value(var/config_decl) + var/decl/config/config_option = GET_DECL(config_decl) + if(!(config_option.config_flags & CONFIG_FLAG_BOOL)) + CRASH("Attempted to toggle non-boolean config entry [config_decl].") + set_config_value(config_decl, !config_option.value) + return config_option.value + +/decl/config + abstract_type = /decl/config + decl_flags = DECL_FLAG_MANDATORY_UID + var/desc + var/value + var/default_value + var/config_flags = CONFIG_FLAG_HAS_VALUE + var/protected = FALSE + + var/static/list/protected_vars = list( + "desc", + "value", + "default_value", + "config_flags", + "protected" + ) + +/decl/config/Initialize() + . = ..() + // Config options without values are assumed false and set to true if present in the loaded data. + // Otherwise we initialize to the default value. + if(!(config_flags & CONFIG_FLAG_HAS_VALUE)) + default_value = FALSE + if(desc) + desc += " Uncomment to enable." + else + desc = "Uncomment to enable." + value = default_value + +/decl/config/VV_hidden() + . = ..() + if(protected) + . |= protected_vars + +/decl/config/validate() + . = ..() + if(isnull(desc)) + . += "no config description set" + if(isnull(default_value)) + if(config_flags & CONFIG_FLAG_HAS_VALUE) + . += "null default value" + else + if((config_flags & (CONFIG_FLAG_NUM|CONFIG_FLAG_ENUM)) && !isnum(default_value)) + . += "has numeric or enum flag but not numeric default_value" + else if((config_flags & CONFIG_FLAG_TEXT) && !istext(default_value)) + . += "has text flag but not text default_value" + else if((config_flags & CONFIG_FLAG_LIST) && !islist(default_value)) + . += "has list flag but not list default_value" + set_value(handle_value_deconversion(default_value)) + if(!compare_values(value, default_value)) + . += "setting to default value via proc resulted in different value ([serialize_value(value)] != [serialize_value(default_value)])" + var/comparison_fail = default_value_serialize_comparison_fails() + if(comparison_fail) + . += "conversion and deconversion of default value does not equal default value ([comparison_fail])" + +/decl/config/proc/compare_values(var/value_one, var/value_two) + return value_one == value_two + +/decl/config/proc/default_value_serialize_comparison_fails() + var/new_val = handle_value_conversion(handle_value_deconversion(default_value)) + if(!compare_values(new_val, default_value)) + return "[new_val] != [default_value]" + +/decl/config/proc/sanitize_value() + SHOULD_CALL_PARENT(TRUE) + var/invalid_value = FALSE + if((config_flags & CONFIG_FLAG_BOOL) && value != TRUE && value != FALSE) + invalid_value = TRUE + else if((config_flags & (CONFIG_FLAG_NUM|CONFIG_FLAG_ENUM)) && !isnum(value)) + invalid_value = TRUE + else if((config_flags & CONFIG_FLAG_TEXT) && !istext(value)) + invalid_value = TRUE + else if((config_flags & CONFIG_FLAG_LIST) && !islist(value)) + invalid_value = TRUE + if(invalid_value) + value = default_value + +/decl/config/proc/update_post_value_set() + SHOULD_CALL_PARENT(TRUE) + return + +/decl/config/proc/get_config_file_text() + . = list() + if(desc) + if(islist(desc)) + for(var/config_line in desc) + . += "## [config_line]" + else + . += "## [desc]" + if(config_flags & CONFIG_FLAG_HAS_VALUE) + if(compare_values(value, default_value)) + . += "#[uppertext(uid)] [serialize_default_value()]" + else + . += "[uppertext(uid)] [serialize_value()]" + else if(value) + . += uppertext(uid) + else + . += "#[uppertext(uid)]" + return jointext(., "\n") + +/decl/config/proc/serialize_value() + return "[handle_value_deconversion(value)]" + +/decl/config/proc/serialize_default_value() + return "[handle_value_deconversion(default_value)]" + +/decl/config/proc/handle_value_conversion(var/new_value) + return new_value + +/decl/config/proc/handle_value_deconversion(var/new_value) + return new_value + +/decl/config/proc/set_value(var/new_value) + value = handle_value_conversion(new_value) + sanitize_value() diff --git a/code/datums/config/_config_categories.dm b/code/datums/config/_config_categories.dm new file mode 100644 index 00000000000..b9212994768 --- /dev/null +++ b/code/datums/config/_config_categories.dm @@ -0,0 +1,40 @@ +/decl/configuration_category + abstract_type = /decl/configuration_category + var/name + var/desc + var/configuration_file_location = "config/configuration.txt" + var/list/associated_configuration + +/decl/configuration_category/Initialize() + if(length(associated_configuration)) + for(var/decl_type in associated_configuration) + associated_configuration -= decl_type + associated_configuration += GET_DECL(decl_type) + return ..() + +/decl/configuration_category/validate() + . = ..() + if(!name) + . += "no name set" + if(!desc) + . += "no description supplied" + if(isnull(configuration_file_location)) + . += "null dump file target" + +/decl/configuration_category/proc/get_config_category_text() + + if(!length(associated_configuration)) + return "" + + var/list/header = list( + "##", + "# [uppertext(name)]", + "# [desc]", + "##" + ) + + . = list("[jointext(header, "\n")]") + associated_configuration = sortTim(associated_configuration, /proc/cmp_decl_uid_asc) + for(var/decl/config/config_option in associated_configuration) + . += config_option.get_config_file_text() + return jointext(., "\n\n") diff --git a/code/datums/config/config_enum.dm b/code/datums/config/config_enum.dm new file mode 100644 index 00000000000..ba61b07b6dd --- /dev/null +++ b/code/datums/config/config_enum.dm @@ -0,0 +1,32 @@ +/decl/config/enum + abstract_type = /decl/config/enum + default_value = 0 + config_flags = CONFIG_FLAG_ENUM | CONFIG_FLAG_HAS_VALUE + +/decl/config/enum/proc/get_enum_map() + return + +/decl/config/enum/validate() + . = ..() + if(!length(get_enum_map())) + . += "enum config has zero-length return to get_enum_map()" + +/decl/config/enum/Initialize() + . = ..() + var/list/enum_map = get_enum_map() + if(length(enum_map)) + if(desc) + desc = "[desc] Valid values: [english_list(enum_map)]." + else + desc = english_list(enum_map) + +/decl/config/enum/set_value(var/new_value) + if(istext(new_value)) + var/list/enum_map = get_enum_map() + new_value = trim(lowertext(new_value)) + if(new_value in enum_map) + new_value = enum_map[new_value] + else + log_error("Invalid key '[new_value]' supplied to [type].") + new_value = default_value + return ..(new_value) diff --git a/code/datums/config/config_list.dm b/code/datums/config/config_list.dm new file mode 100644 index 00000000000..a2c5893c39c --- /dev/null +++ b/code/datums/config/config_list.dm @@ -0,0 +1,25 @@ +/decl/config/lists + abstract_type = /decl/config/lists + default_value = list() + config_flags = CONFIG_FLAG_LIST | CONFIG_FLAG_HAS_VALUE + +/decl/config/lists/handle_value_deconversion(var/new_value) + return json_encode(new_value) + +/decl/config/lists/handle_value_conversion(var/new_value) + return json_decode(new_value) + +/decl/config/lists/compare_values(var/value_one, var/value_two) + if(!islist(value_one) || !islist(value_two)) + return ..(value_one, value_two) + if(length(value_one) != length(value_two)) + return FALSE + for(var/i = 1 to length(value_one)) + if(!same_entries(value_one[i], value_two[i]) && value_one[i] != value_two[i]) + return FALSE + return TRUE + +/decl/config/lists/default_value_serialize_comparison_fails() + var/list/new_value = handle_value_conversion(handle_value_deconversion(default_value)) + if(!compare_values(new_value, default_value)) + return "[json_encode(new_value)] != [json_encode(default_value)]" diff --git a/code/datums/config/config_num.dm b/code/datums/config/config_num.dm new file mode 100644 index 00000000000..9e28c6e5ec0 --- /dev/null +++ b/code/datums/config/config_num.dm @@ -0,0 +1,18 @@ +/decl/config/num + abstract_type = /decl/config/num + config_flags = CONFIG_FLAG_NUM | CONFIG_FLAG_HAS_VALUE + default_value = 0 + var/min_value = -(INFINITY) + var/max_value = INFINITY + var/rounding + +/decl/config/num/sanitize_value() + ..() + value = clamp(value, min_value, max_value) + if(!isnull(rounding)) + value = round(value, rounding) + +/decl/config/num/compare_values(value_one, value_two) + if(!isnum(value_one) || !isnum(value_two) || !rounding) + return ..(value_one, value_two) + return abs(value_one - value_two) < rounding // epsilon compare due to floating point issues \ No newline at end of file diff --git a/code/datums/config/config_num_client.dm b/code/datums/config/config_num_client.dm new file mode 100644 index 00000000000..4b1527c9fb5 --- /dev/null +++ b/code/datums/config/config_num_client.dm @@ -0,0 +1,7 @@ +/decl/config/num/clients + abstract_type = /decl/config/num/clients + +/decl/config/num/clients/update_post_value_set() + for(var/client/client) + client.OnResize() + . = ..() diff --git a/code/datums/config/config_text.dm b/code/datums/config/config_text.dm new file mode 100644 index 00000000000..4385399d4d7 --- /dev/null +++ b/code/datums/config/config_text.dm @@ -0,0 +1,4 @@ +/decl/config/text + abstract_type = /decl/config/text + config_flags = CONFIG_FLAG_TEXT | CONFIG_FLAG_HAS_VALUE + default_value = "" diff --git a/code/datums/config/config_toggle.dm b/code/datums/config/config_toggle.dm new file mode 100644 index 00000000000..ac859d2edb0 --- /dev/null +++ b/code/datums/config/config_toggle.dm @@ -0,0 +1,4 @@ +/decl/config/toggle + abstract_type = /decl/config/toggle + config_flags = CONFIG_FLAG_BOOL + default_value = FALSE diff --git a/code/datums/config/config_toggle_on.dm b/code/datums/config/config_toggle_on.dm new file mode 100644 index 00000000000..1f1910a1308 --- /dev/null +++ b/code/datums/config/config_toggle_on.dm @@ -0,0 +1,5 @@ + +/decl/config/toggle/on + abstract_type = /decl/config/toggle/on + default_value = TRUE + config_flags = CONFIG_FLAG_BOOL | CONFIG_FLAG_HAS_VALUE diff --git a/code/datums/config/config_types/config_admin.dm b/code/datums/config/config_types/config_admin.dm new file mode 100644 index 00000000000..c7515d4ea52 --- /dev/null +++ b/code/datums/config/config_types/config_admin.dm @@ -0,0 +1,79 @@ +/decl/configuration_category/admin + name = "Admin" + desc = "Configuration options relating to administration." + associated_configuration = list( + /decl/config/num/mod_tempban_max, + /decl/config/num/mod_job_tempban_max, + /decl/config/num/autostealth, + /decl/config/toggle/on/guest_jobban, + /decl/config/toggle/on/auto_local_admin, + /decl/config/toggle/on/admin_jump, + /decl/config/toggle/on/admin_spawning, + /decl/config/toggle/on/admin_revive, + /decl/config/toggle/admin_ooccolor, + /decl/config/toggle/mods_can_job_tempban, + /decl/config/toggle/mods_can_tempban, + /decl/config/toggle/allow_unsafe_narrates + ) + +/decl/config/num/mod_tempban_max + uid = "mod_tempban_max" + default_value = 1440 + desc = "Maximum mod tempban duration (in minutes)." + +/decl/config/num/mod_job_tempban_max + uid = "mod_job_tempban_max" + default_value = 1440 + desc = "Maximum mod job tempban duration (in minutes)." + +/decl/config/num/autostealth + uid = "autostealth" + default_value = 0 + desc = "Uncomment to enable auto-stealthing staff who are AFK for more than specified minutes." + +/decl/config/toggle/on/guest_jobban + uid = "guest_jobban" + desc = list( + "Set to jobban 'Guest-' accounts from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions.", + "Set to 1 to jobban them from those positions, set to 0 to allow them." + ) + +/decl/config/toggle/on/auto_local_admin + uid = "auto_local_admin" + desc = "Set to 0/1 to disable/enable automatic admin rights for users connecting from the host the server is running on." + +/decl/config/toggle/on/admin_jump + uid = "allow_admin_jump" + desc = "Allows admin jumping." + +/decl/config/toggle/on/admin_spawning + uid = "allow_admin_spawning" + desc = "Allows admin item spawning." + +/decl/config/toggle/on/admin_revive + uid = "allow_admin_rev" + desc = "Allows admin revives." + +/decl/config/toggle/admin_ooccolor + uid = "allow_admin_ooccolor" + desc = "Comment this out to stop admins being able to choose their personal OOC color." + +/decl/config/toggle/mods_can_tempban + uid = "mods_can_tempban" + desc = "Chooses whether mods have the ability to tempban or not." + +/decl/config/toggle/mods_can_job_tempban + uid = "mods_can_job_tempban" + desc = "Chooses whether mods have the ability to issue tempbans for jobs or not." + +/decl/config/toggle/allow_unsafe_narrates + uid = "allow_unsafe_narrates" + desc = "Uncomment this to allow admins to narrate using HTML tags." + +/decl/config/toggle/visible_examine + uid = "visible_examine" + desc = "Uncomment this to show a visible message when someone examines something ('Dave looks at you.')." + +/decl/config/toggle/allow_loadout_customization + uid = "loadout_customization" + desc = "Uncomment this to allow all loadout items to have name and desc customized by default." diff --git a/code/datums/config/config_types/config_client.dm b/code/datums/config/config_types/config_client.dm new file mode 100644 index 00000000000..cb6e8a5a359 --- /dev/null +++ b/code/datums/config/config_types/config_client.dm @@ -0,0 +1,60 @@ +/decl/configuration_category/events + name = "Client" + desc = "Configuration options relating to client settings." + associated_configuration = list( + /decl/config/num/clients/lock_client_view_x, + /decl/config/num/clients/lock_client_view_y, + /decl/config/num/clients/max_client_view_x, + /decl/config/num/clients/max_client_view_y, + /decl/config/toggle/popup_admin_pm, + /decl/config/toggle/aggressive_changelog, + /decl/config/lists/forbidden_versions + ) + +/decl/config/lists/forbidden_versions + uid = "forbidden_versions" + default_value = list("512.0001", "512.0002") + desc = "BYOND builds that will result the client using them to be banned." + +/decl/config/num/clients/lock_client_view_x + uid = "lock_client_view_x" + default_value = 0 + desc = "Uncomment and set to an integer to lock the automatic client view scaling on the X axis." + +/decl/config/num/clients/lock_client_view_y + uid = "lock_client_view_y" + default_value = 0 + desc = "Uncomment and set to an integer to lock the automatic client view scaling on the Y axis." + +/decl/config/num/clients/max_client_view_x + uid = "max_client_view_x" + default_value = MAX_VIEW + desc = "Change to set a maximum size for the client view X scaling." + +/decl/config/num/clients/max_client_view_x/update_post_value_set() + global.click_catchers = null + for(var/client/client) + client.reset_click_catchers() + . = ..() + +/decl/config/num/clients/max_client_view_y + uid = "max_client_view_y" + default_value = MAX_VIEW + desc = "Change to set a maximum size for the client view Y scaling." + +/decl/config/num/clients/max_client_view_y/update_post_value_set() + global.click_catchers = null + for(var/client/client) + client.reset_click_catchers() + . = ..() + +/decl/config/toggle/popup_admin_pm + uid = "popup_admin_pm" + desc = list( + "Remove the # to show a popup 'reply to' window to every non-admin that recieves an adminPM.", + "The intention is to make adminPMs more visible. (although I fnd popups annoying so this defaults to off)." + ) + +/decl/config/toggle/aggressive_changelog + uid = "aggressive_changelog" + desc = "Uncomment to have the changelog file automatically open when a user connects and hasn't seen the latest changelog." diff --git a/code/datums/config/config_types/config_debug.dm b/code/datums/config/config_types/config_debug.dm new file mode 100644 index 00000000000..66f250dd8ea --- /dev/null +++ b/code/datums/config/config_types/config_debug.dm @@ -0,0 +1,38 @@ +/decl/configuration_category/debug + name = "Debug" + desc = "Configuration options relating to error reporting." + associated_configuration = list( + /decl/config/num/debug_error_cooldown, + /decl/config/num/debug_error_limit, + /decl/config/num/debug_error_silence_time, + /decl/config/num/debug_error_msg_delay, + /decl/config/toggle/paranoid + ) + +/decl/config/num/debug_error_cooldown + uid = "error_cooldown" + desc = "The \"cooldown\" time for each occurrence of a unique error." + default_value = 600 + +/decl/config/num/debug_error_limit + uid = "error_limit" + desc = "How many occurrences before the next will silence them." + default_value = 50 + +/decl/config/num/debug_error_silence_time + uid = "error_silence_time" + desc = "How long a unique error will be silenced for." + default_value = 6000 + +/decl/config/num/debug_error_msg_delay + uid = "error_msg_delay" + desc = "How long to wait between messaging admins about occurrences of a unique error." + default_value = 50 + +/decl/config/toggle/paranoid + uid = "debug_paranoid" + desc = list( + "Uncomment to make proccall require R_ADMIN instead of R_DEBUG", + "designed for environments where you have testers but don't want them", + "able to use the more powerful debug options." + ) diff --git a/code/datums/config/config_types/config_events.dm b/code/datums/config/config_types/config_events.dm new file mode 100644 index 00000000000..0b83e38fb2b --- /dev/null +++ b/code/datums/config/config_types/config_events.dm @@ -0,0 +1,50 @@ +/decl/configuration_category/events + name = "Events" + desc = "Configuration options relating to event timers and probabilities." + associated_configuration = list( + /decl/config/enum/objectives_disabled, + /decl/config/lists/event_first_run, + /decl/config/lists/event_delay_lower, + /decl/config/lists/event_delay_upper, + /decl/config/toggle/allow_random_events + ) + +//if objectives are disabled or not +/decl/config/enum/objectives_disabled + uid = "objectives_disabled" + default_value = CONFIG_OBJECTIVE_NONE + desc = "Determines if objectives are disabled." + +/decl/config/enum/objectives_disabled/get_enum_map() + var/static/list/obj_enum_map = list( + "none" = CONFIG_OBJECTIVE_NONE, + "verb" = CONFIG_OBJECTIVE_VERB, + "all" = CONFIG_OBJECTIVE_ALL + ) + return obj_enum_map + +// No custom time, no custom time, between 80 to 100 minutes respectively. +/decl/config/lists/event_first_run + uid = "event_first_run" + desc = "If the first delay has a custom start time. Defined in minutes." + default_value = list(null, null, list("lower" = 80, "upper" = 100)) + +/decl/config/lists/event_delay_lower + uid = "event_delay_lower" + default_value = list(10, 30, 50) + desc = list( + "The lower delay between events in minutes.", + "Affect mundane, moderate, and major events respectively." + ) + +/decl/config/lists/event_delay_upper + uid = "event_delay_upper" + default_value = list(15, 45, 70) + desc = list( + "The upper delay between events in minutes.", + "Affect mundane, moderate, and major events respectively." + ) + +/decl/config/toggle/allow_random_events + uid = "allow_random_events" + desc = "Hash out to disable random events during the round." diff --git a/code/datums/config/config_types/config_game_option.dm b/code/datums/config/config_types/config_game_option.dm new file mode 100644 index 00000000000..b0dac4a4378 --- /dev/null +++ b/code/datums/config/config_types/config_game_option.dm @@ -0,0 +1,164 @@ +/decl/configuration_category/game_options + name = "Game Options" + desc = "Configuration options relating to gameplay, such as movement, health and stamina." + associated_configuration = list( + /decl/config/num/movement_human, + /decl/config/num/movement_robot, + /decl/config/num/movement_animal, + /decl/config/num/movement_run, + /decl/config/num/movement_walk, + /decl/config/num/movement_creep, + /decl/config/num/movement_glide_size, + /decl/config/num/movement_min_sprint_cost, + /decl/config/num/movement_skill_sprint_cost_range, + /decl/config/num/movement_min_stamina_recovery, + /decl/config/num/movement_max_stamina_recovery, + /decl/config/num/max_gear_cost, + /decl/config/num/max_acts_per_interval, + /decl/config/num/act_interval, + /decl/config/num/dex_malus_brainloss_threshold, + /decl/config/num/default_darksight_range, + /decl/config/num/default_darksight_effectiveness, + /decl/config/toggle/grant_default_darksight, + /decl/config/num/expected_round_length, + /decl/config/toggle/allow_diagonal_movement, + /decl/config/toggle/expanded_alt_interactions, + /decl/config/toggle/ert_admin_call_only, + /decl/config/toggle/ghosts_can_possess_animals, + /decl/config/toggle/assistant_maint, + /decl/config/toggle/ghost_interaction, + /decl/config/toggle/aliens_allowed, + /decl/config/toggle/ninjas_allowed + ) + +/decl/config/num/movement_human + uid = "human_delay" + desc = "These modify the run/walk speed of all mobs before the mob-specific modifiers are applied." + +/decl/config/num/movement_robot + uid = "robot_delay" + desc = "These modify the run/walk speed of all mobs before the mob-specific modifiers are applied." + +/decl/config/num/movement_animal + uid = "animal_delay" + desc = "These modify the run/walk speed of all mobs before the mob-specific modifiers are applied." + +/decl/config/num/movement_run + uid = "run_delay" + default_value = 2 + desc = "These modify the run/walk speed of all mobs before the mob-specific modifiers are applied." + +/decl/config/num/movement_walk + uid = "walk_delay" + default_value = 4 + desc = "These modify the run/walk speed of all mobs before the mob-specific modifiers are applied." + +/decl/config/num/movement_creep + uid = "creep_delay" + default_value = 6 + desc = "These modify the run/walk speed of all mobs before the mob-specific modifiers are applied." + +/decl/config/num/movement_glide_size + uid = "glide_size_delay" + default_value = 1 + desc = "Set this to 0 for perfectly smooth movement gliding, or 1 or more for delayed chess move style movements." + +/decl/config/num/movement_min_sprint_cost + uid = "minimum_sprint_cost" + default_value = 0.8 + rounding = 0.01 + desc = "Value used for expending stamina during sprinting." + +/decl/config/num/movement_skill_sprint_cost_range + uid = "skill_sprint_cost_range" + default_value = 0.8 + rounding = 0.01 + desc = "Determines the severity of athletics skill when applied to stamina cost." + +/decl/config/num/movement_min_stamina_recovery + uid = "minimum_stamina_recovery" + default_value = 1 + desc = "Minimum stamina recovered per tick when resting." + +/decl/config/num/movement_max_stamina_recovery + uid = "maximum_stamina_recovery" + default_value = 3 + desc = "Maximum stamina recovered per tick when resting." + +/decl/config/num/max_gear_cost + uid = "max_gear_cost" + default_value = 10 + desc = "How many loadout points are available. Use 0 to disable loadout, and any negative number to indicate infinite points." + +/decl/config/num/max_gear_cost/sanitize_value() + ..() + if(value < 0) + value = INFINITY + +/decl/config/num/max_acts_per_interval + uid = "max_acts_per_interval" + default_value = 140 + desc = "Uncomment this to modify the number of actions permitted per interval before being kicked for spam." + +/decl/config/num/act_interval + uid = "act_interval" + default_value = 0.1 + rounding = 0.01 + desc = "Uncomment this to modify the length of the spam kicking interval in seconds." + +/decl/config/num/dex_malus_brainloss_threshold + uid = "dex_malus_brainloss_threshold" + default_value = 30 + desc = "Threshold of where brain damage begins to affect dexterity (70 brainloss above this means zero dexterity). Default is 30." + +/decl/config/num/default_darksight_range + uid = "default_darksight_range" + default_value = 2 + desc = "The range of default darksight if above is uncommented." + +/decl/config/num/default_darksight_effectiveness + uid = "default_darksight_effectiveness" + default_value = 0.05 + rounding = 0.01 + desc = "The effectiveness of default darksight if above is uncommented." + +/decl/config/num/expected_round_length + uid = "expected_round_length" + default_value = 3 + desc = "Expected round length in hours." + +/decl/config/toggle/grant_default_darksight + uid = "grant_default_darksight" + desc = "Whether or not all human mobs have very basic darksight by default." + +/decl/config/toggle/allow_diagonal_movement + uid = "allow_diagonal_movement" + desc = "Allow multiple input keys to be pressed for diagonal movement." + +/decl/config/toggle/expanded_alt_interactions + uid = "expanded_alt_interactions" + desc = "Uncomment this to enable expanded alt interactions with objects." + +/decl/config/toggle/ert_admin_call_only + uid = "ert_admin_call_only" + desc = "Restricted ERT to be only called by admins." + +/decl/config/toggle/ghosts_can_possess_animals + uid = "ghosts_can_possess_animals" + desc = "Uncomment to allow ghosts to possess any animal." + +/decl/config/toggle/assistant_maint + uid = "assistant_maint" + desc = "Remove the # to give assistants maint access." + +/decl/config/toggle/ghost_interaction + uid = "ghost_interaction" + desc = "Remove the # to let ghosts spin chairs." + +/decl/config/toggle/aliens_allowed + uid = "aliens_allowed" + desc = "Remove the # to let aliens spawn." + +/decl/config/toggle/ninjas_allowed + uid = "ninjas_allowed" + desc = "Remove the # to let ninjas spawn." diff --git a/code/datums/config/config_types/config_game_world.dm b/code/datums/config/config_types/config_game_world.dm new file mode 100644 index 00000000000..d81b963b1f6 --- /dev/null +++ b/code/datums/config/config_types/config_game_world.dm @@ -0,0 +1,127 @@ +/decl/configuration_category/game_world + name = "Game World" + desc = "Configuration options relating to the game world and simulation." + associated_configuration = list( + /decl/config/num/exterior_ambient_light, + /decl/config/num/radiation_decay_rate, + /decl/config/num/radiation_resistance_multiplier, + /decl/config/num/radiation_material_resistance_divisor, + /decl/config/num/radiation_lower_limit, + /decl/config/num/exoplanet_min_day_duration, + /decl/config/num/exoplanet_max_day_duration, + /decl/config/toggle/use_iterative_explosions, + /decl/config/num/iterative_explosives_z_threshold, + /decl/config/num/iterative_explosives_z_multiplier, + /decl/config/num/maximum_mushrooms, + /decl/config/num/gateway_delay, + /decl/config/text/law_zero, + /decl/config/toggle/on/welder_vision, + /decl/config/toggle/on/allow_ic_printing, + /decl/config/toggle/on/cult_ghostwriter, + /decl/config/toggle/allow_holidays, + /decl/config/toggle/humans_need_surnames, + /decl/config/toggle/roundstart_level_generation + ) + +/decl/config/num/exterior_ambient_light + uid = "exterior_ambient_light" + default_value = 0 + min_value = 0 + desc = "Percentile strength of exterior ambient light (such as starlight). 0.5 is 50% lit." + +/decl/config/num/radiation_decay_rate + uid = "radiation_decay_rate" + default_value = 1 + desc = "How much radiation levels self-reduce by each tick." + +/decl/config/num/radiation_resistance_multiplier + uid = "radiation_resistance_multiplier" + default_value = 1.25 + desc = "The amount of radiation resistance on a turf is multiplied by this value." + +/decl/config/num/radiation_material_resistance_divisor + uid = "radiation_material_resistance_divisor" + default_value = 2 + desc = "General material radiation resistance is divided by this value." + +/decl/config/num/radiation_lower_limit + uid = "radiation_lower_limit" + default_value = 0.15 + rounding = 0.1 + desc = list( + "Below this point, radiation is ignored.", + "Radiation weakens with distance from the source; stop calculating when the strength falls below this value. Lower values mean radiation reaches smaller (with increasingly trivial damage) at the cost of more CPU usage.", + "Max range = DISTANCE^2 * POWER / RADIATION_LOWER_LIMIT" + ) + +/decl/config/num/exoplanet_min_day_duration + uid = "exoplanet_min_day_duration" + default_value = 10 + desc = "The minimum duration of an exoplanet day, in minutes." + +/decl/config/num/exoplanet_max_day_duration + uid = "exoplanet_max_day_duration" + default_value = 40 + desc = "The maximum duration of an exoplanet day, in minutes." + +/decl/config/toggle/use_iterative_explosions + uid = "use_iterative_explosions" + desc = "Unhash this to use iterative explosions, keep it hashed to use circle explosions." + +/decl/config/num/iterative_explosives_z_threshold + uid = "iterative_explosives_z_threshold" + default_value = 10 + desc = "The power of explosion required for it to cross Z-levels." + +/decl/config/num/iterative_explosives_z_multiplier + uid = "iterative_explosives_z_multiplier" + default_value = 0.75 + rounding = 0.01 + desc = "What to multiply power by when crossing Z-levels." + +/decl/config/num/maximum_mushrooms + uid = "maximum_mushrooms" + desc = "After this amount alive, walking mushrooms spawned from botany will not reproduce." + default_value = 15 + +/decl/config/num/gateway_delay + uid = "gateway_delay" + default_value = 18000 + desc = "How long the delay is before the Away Mission gate opens. Default is half an hour." + +/decl/config/text/law_zero + uid = "law_zero" + default_value = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010" + desc = "Defines how Law Zero is phrased. Primarily used in the Malfunction gamemode." + +/decl/config/toggle/on/welder_vision + uid = "welder_vision" + desc = "Uncomment to disable the restrictive weldervision overlay." + +/decl/config/toggle/on/allow_ic_printing + uid = "allow_ic_printing" + desc = "Uncomment this to prevent players from printing copy/pasted circuits." + +/decl/config/toggle/on/cult_ghostwriter + uid = "cult_ghostwriter" + desc = "Uncomment to allow ghosts to write in blood during Cult rounds." + +/decl/config/toggle/allow_holidays + uid = "allow_holidays" + desc = "Remove the # to allow special 'Easter-egg' events on special holidays such as seasonal holidays and stuff like 'Talk Like a Pirate Day' :3 YAARRR" + +/decl/config/toggle/allow_holidays/update_post_value_set() + . = ..() + update_holiday() + +/decl/config/toggle/humans_need_surnames + uid = "humans_need_surnames" + desc = "Humans are forced to have surnames if this is uncommented." + +/decl/config/toggle/disable_daycycle + uid = "disable_daycycle" + desc = "If true, exoplanets won't have daycycles." + +/decl/config/toggle/roundstart_level_generation + uid = "roundstart_level_generation" + desc = "Enable/Disable random level generation. Will behave strangely if turned off with a map that expects it on." diff --git a/code/datums/config/config_types/config_health.dm b/code/datums/config/config_types/config_health.dm new file mode 100644 index 00000000000..c5db9f04e7a --- /dev/null +++ b/code/datums/config/config_types/config_health.dm @@ -0,0 +1,90 @@ +/decl/configuration_category/health + name = "Health" + desc = "Configuration options relating to the health simulation." + associated_configuration = list( + /decl/config/num/health_stress_shock_recovery_constant, + /decl/config/num/health_stress_healing_recovery_constant, + /decl/config/num/health_stress_blood_recovery_constant, + /decl/config/num/health_health_threshold_dead, + /decl/config/num/health_organ_health_multiplier, + /decl/config/num/health_organ_regeneration_multiplier, + /decl/config/num/health_organ_damage_spillover_multiplier, + /decl/config/num/health_revival_brain_life, + /decl/config/toggle/on/health_bones_can_break, + /decl/config/toggle/on/health_limbs_can_break + ) + +/decl/config/toggle/health_adjust_healing_from_stress + uid = "adjust_healing_from_stress" + config_flags = CONFIG_FLAG_BOOL + desc = "Uncomment to allow stressors to impact shock, healing and blood recovery." + +/decl/config/toggle/health_show_human_death_message + uid = "show_human_death_message" + config_flags = CONFIG_FLAG_BOOL + desc = "Uncomment this line to enable humans showing a visible message upon death ('X seizes up then falls limp, eyes dead and lifeless')." + +/decl/config/toggle/health_organs_decay + uid = "organs_decay" + config_flags = CONFIG_FLAG_BOOL + desc = "Uncomment to enable organ decay outside of a body or storage item." + +/decl/config/toggle/on/health_bones_can_break + uid = "bones_can_break" + desc = list( + "Determines whether bones can be broken through excessive damage to the organ.", + "0 means bones can't break, 1 means they can." + ) + +/decl/config/toggle/on/health_limbs_can_break + uid = "limbs_can_break" + desc = list( + "Determines whether limbs can be amputated through excessive damage to the organ.", + "0 means limbs can't be amputated, 1 means they can." + ) + + +/decl/config/num/health_stress_shock_recovery_constant + uid = "stress_shock_recovery_constant" + default_value = 0.5 + rounding = 0.01 + desc = "A multiplier for the impact stress has on shock recovery - 0.3 means maximum stress imposes a 30% penalty on shock recovery." + +/decl/config/num/health_stress_healing_recovery_constant + uid = "stress_healing_recovery_constant" + default_value = 0.3 + rounding = 0.01 + desc = "A multiplier for the impact stress has on wound passive healing, as above." + +/decl/config/num/health_stress_blood_recovery_constant + uid = "stress_blood_recovery_constant" + default_value = 0.3 + rounding = 0.01 + desc = "A multiplier for the impact stress has on blood regeneration, as above." + +/decl/config/num/health_health_threshold_dead + uid = "health_threshold_dead" + default_value = -100 + desc = "Level of health at which a mob becomes dead." + +/decl/config/num/health_organ_health_multiplier + uid = "organ_health_multiplier" + default_value = 0.9 + rounding = 0.01 + desc = "Percentage multiplier which enables organs to take more damage before bones breaking or limbs being destroyed." + +/decl/config/num/health_organ_regeneration_multiplier + uid = "organ_regeneration_multiplier" + default_value = 0.25 + desc = "Percentage multiplier which influences how fast organs regenerate naturally." + +/decl/config/num/health_organ_damage_spillover_multiplier + uid = "organ_damage_spillover_multiplier" + desc = "Percentage multiplier that influences how damage spreads around organs. 100 means normal, 50 means half." + default_value = 0.5 + rounding = 0.01 + +/decl/config/num/health_revival_brain_life + uid = "revival_brain_life" + default_value = -1 + desc = "Amount of time (in hundredths of seconds) for which a brain retains the 'spark of life' after the person's death (set to -1 for infinite)." diff --git a/code/datums/config/config_types/config_logging.dm b/code/datums/config/config_types/config_logging.dm new file mode 100644 index 00000000000..8efc131bce0 --- /dev/null +++ b/code/datums/config/config_types/config_logging.dm @@ -0,0 +1,85 @@ +/decl/configuration_category/logging + name = "Logging" + desc = "Configuration options relating to logging." + associated_configuration = list( + /decl/config/toggle/log_ooc, + /decl/config/toggle/log_access, + /decl/config/toggle/log_say, + /decl/config/toggle/log_admin, + /decl/config/toggle/log_debug, + /decl/config/toggle/log_game, + /decl/config/toggle/log_vote, + /decl/config/toggle/log_whisper, + /decl/config/toggle/log_emotes, + /decl/config/toggle/log_attack, + /decl/config/toggle/log_adminchat, + /decl/config/toggle/log_adminwarn, + /decl/config/toggle/log_pda, + /decl/config/toggle/log_hrefs, + /decl/config/toggle/log_runtime, + /decl/config/toggle/log_world_output + ) + +/decl/config/toggle/log_ooc + uid = "log_ooc" + desc = "log OOC channel" + +/decl/config/toggle/log_access + uid = "log_access" + desc = "log client access (logon/logoff)" + +/decl/config/toggle/log_say + uid = "log_say" + desc = "log client Say" + +/decl/config/toggle/log_admin + uid = "log_admin" + desc = "log admin actions" + +/decl/config/toggle/log_debug + uid = "log_debug" + desc = "log debug output" + +/decl/config/toggle/log_game + uid = "log_game" + desc = "log game actions (start of round, results, etc.)" + +/decl/config/toggle/log_vote + uid = "log_vote" + desc = "log player votes" + +/decl/config/toggle/log_whisper + uid = "log_whisper" + desc = "log client Whisper" + +/decl/config/toggle/log_emotes + uid = "log_emote" + desc = "log emotes" + +/decl/config/toggle/log_attack + uid = "log_attack" + desc = "log attack messages" + +/decl/config/toggle/log_adminchat + uid = "log_adminchat" + desc = "log admin chat" + +/decl/config/toggle/log_adminwarn + uid = "log_adminwarn" + desc = "Log admin warning messages. Also duplicates a bunch of other messages." + +/decl/config/toggle/log_pda + uid = "log_pda" + desc = "Log PDA messages." + +/decl/config/toggle/log_hrefs + uid = "log_hrefs" + desc = "Log all Topic() calls (for use by coders in tracking down Topic issues)." + +/decl/config/toggle/log_runtime + uid = "log_runtime" + desc = "Log world.log and runtime errors to a file." + +/decl/config/toggle/log_world_output + uid = "log_world_output" + desc = "Log world.log messages." diff --git a/code/datums/config/config_types/config_mode.dm b/code/datums/config/config_types/config_mode.dm new file mode 100644 index 00000000000..adf5fe06718 --- /dev/null +++ b/code/datums/config/config_types/config_mode.dm @@ -0,0 +1,112 @@ +/decl/configuration_category/modes + name = "Modes" + desc = "Configuration options relating to game modes." + associated_configuration = list( + /decl/config/lists/mode_names, + /decl/config/lists/mode_allowed, + /decl/config/lists/mode_votable, + /decl/config/lists/mode_probabilities, + /decl/config/toggle/feature_object_spell_system, + /decl/config/toggle/traitor_scaling, + /decl/config/toggle/protect_roles_from_antagonist, + /decl/config/toggle/continuous_rounds, + /decl/config/toggle/allow_extra_antags + ) + +/decl/config/lists/mode_names + uid = "mode_names" + desc = "Mode names." + +/decl/config/lists/mode_allowed + uid = "modes" + desc = "Allowed modes." + +/decl/config/lists/mode_votable + uid = "votable_modes" + desc = "A list of modes that should be votable." + default_value = list() + +/decl/config/lists/mode_votable/Initialize() + default_value = list("secret") + var/list/all_modes = decls_repository.get_decls_of_subtype(/decl/game_mode) + for(var/mode_type in all_modes) + var/decl/game_mode/game_mode = all_modes[mode_type] + if(initial(game_mode.votable)) + default_value += game_mode.uid + default_value = sortTim(default_value, /proc/cmp_text_asc) + return ..() + +/decl/config/lists/mode_votable/set_value(new_value) + . = ..() + LAZYDISTINCTADD(value, "secret") + value = sortTim(value, /proc/cmp_text_asc) + +/decl/config/lists/mode_probabilities + uid = "probabilities" + desc = "Relative probability of each mode." + default_value = list() + +/decl/config/lists/mode_probabilities/Initialize() + var/list/all_modes = decls_repository.get_decls_of_subtype(/decl/game_mode) + for(var/mode_type in all_modes) + var/decl/game_mode/game_mode = all_modes[mode_type] + default_value[game_mode.uid] = initial(game_mode.probability) + return ..() + +/decl/config/lists/mode_probabilities/update_post_value_set() + . = ..() + var/list/all_modes = decls_repository.get_decls_of_subtype(/decl/game_mode) + for(var/mode_type in all_modes) + var/decl/game_mode/game_mode = all_modes[mode_type] + game_mode.probability = max(0, value[game_mode.uid]) + +/decl/config/toggle/feature_object_spell_system + uid = "feature_object_spell_system" + desc = "Spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard." + +/decl/config/toggle/traitor_scaling + uid = "traitor_scaling" + desc = "If amount of traitors scales or not." + +/decl/config/toggle/protect_roles_from_antagonist + uid = "protect_roles_from_antagonist" + desc = "If security is prohibited from being most antagonists." + +/decl/config/toggle/continuous_rounds + uid = "continuous_rounds" + desc = list( + "Remove the # to make rounds which end instantly (Rev, Wizard, Malf) to continue until the shuttle is called or the station is nuked.", + "Malf and Rev will let the shuttle be called when the antags/protags are dead." + ) + +/decl/config/toggle/antag_hud_allowed + uid = "antag_hud_allowed" + desc = "Allow ghosts to see antagonist through AntagHUD." + +/decl/config/toggle/antag_hud_allowed/update_post_value_set() + . = ..() + if(value) + for(var/mob/observer/ghost/g in get_ghosts()) + if(!g.client.holder) // Add the verb back for all non-admin ghosts + g.verbs += /mob/observer/ghost/verb/toggle_antagHUD + to_chat(g, SPAN_NOTICE("AntagHUD has been enabled!"))// Notify all observers they can now use AntagHUD + else + for(var/mob/observer/ghost/g in get_ghosts()) + if(!g.client.holder) //Remove the verb from non-admin ghosts + g.verbs -= /mob/observer/ghost/verb/toggle_antagHUD + if(g.antagHUD) + g.antagHUD = 0 // Disable it on those that have it enabled + g.has_enabled_antagHUD = 2 // We'll allow them to respawn + to_chat(g, SPAN_DANGER("AntagHUD has been disabled.")) + +/decl/config/toggle/antag_hud_restricted + uid = "antag_hud_restricted" + desc = "If ghosts use antagHUD they are no longer allowed to join the round." + +/decl/config/toggle/secret_hide_possibilities + uid = "secret_hide_possibilities" + desc = "If possible round types will be hidden from players for secret rounds." + +/decl/config/toggle/allow_extra_antags + uid = "allow_extra_antags" + desc = "If uncommented, votes can be called to add extra antags to the round." diff --git a/code/datums/config/config_types/config_protected.dm b/code/datums/config/config_types/config_protected.dm new file mode 100644 index 00000000000..40cfa3bdd0f --- /dev/null +++ b/code/datums/config/config_types/config_protected.dm @@ -0,0 +1,23 @@ +/decl/configuration_category/protected + name = "Protected" + desc = "Configuration options protected from manipulation on-server." + associated_configuration = list( + /decl/config/text/comms_password, + /decl/config/text/ban_comms_password, + /decl/config/text/login_export_addr + ) + +/decl/config/text/comms_password + uid = "comms_password" + protected = TRUE + desc = "Password used for authorizing ircbot and other external tools." + +/decl/config/text/ban_comms_password + uid = "ban_comms_password" + protected = TRUE + desc = "Password used for authorizing external tools that can apply bans." + +/decl/config/text/login_export_addr + uid = "login_export_addr" + protected = TRUE + desc = "Export address where external tools that monitor logins are located." diff --git a/code/datums/config/config_types/config_resources.dm b/code/datums/config/config_types/config_resources.dm new file mode 100644 index 00000000000..b1bfda325f3 --- /dev/null +++ b/code/datums/config/config_types/config_resources.dm @@ -0,0 +1,29 @@ +/decl/configuration_category/resources + name = "Resources" + desc = "Configuration options relating to server resources." + associated_configuration = list( + /decl/config/text/custom_item_icon_location, + /decl/config/text/custom_icon_icon_location, + /decl/config/lists/resource_urls + ) + +/decl/config/text/custom_item_icon_location + uid = "custom_item_icon_location" + default_value = "config/custom_items/icons" + desc = "Set this to a file path relative to the executing binary to prefix all custom item icon locations with this location ie. '\[CUSTOM_ITEM_ICON_LOCATION\]/\[custom item icon path value\]'" + +/decl/config/text/custom_icon_icon_location + uid = "custom_icon_icon_location" + default_value = "config/custom_icons/icons" + desc = "Uncomment this and set it to a file path relative to the executing binary to prefix all custom icon locations with this location ie. '\[CUSTOM_ICON_ICON_LOCATION\]/\[custom icon path value\]'" + +/decl/config/lists/resource_urls + uid = "resource_urls" + desc = list( + "Direct clients to preload the server resource file from a URL pointing to a .rsc file. NOTE: At this time (byond 512),", + "the client/resource_rsc var does not function as one would expect. See client_defines.dm, the 'preload_rsc' var's", + "comments on how to use it properly. If you use a resource URL, you must set preload_rsc to 0 at compile time or", + "clients will still download from the server *too*. This will randomly select one URL if more than one is provided.", + "Spaces are prohibited in each URL by spec, you must use encoded spaces.", + "ex. RESOURCE_URLS URL URL2 URL3" + ) diff --git a/code/datums/config/config_types/config_server.dm b/code/datums/config/config_types/config_server.dm new file mode 100644 index 00000000000..958fbf06070 --- /dev/null +++ b/code/datums/config/config_types/config_server.dm @@ -0,0 +1,365 @@ +/decl/configuration_category/server + name = "Server" + desc = "Configuration options relating to the server itself." + associated_configuration = list( + /decl/config/num/kick_inactive, + /decl/config/num/fps, + /decl/config/num/tick_limit_mc_init, + /decl/config/num/minimum_byond_version, + /decl/config/num/minimum_byond_build, + /decl/config/num/player_limit, + /decl/config/num/respawn_delay, + /decl/config/num/cult_ghostwriter_req_cultists, + /decl/config/num/character_slots, + /decl/config/num/loadout_slots, + /decl/config/num/max_maint_drones, + /decl/config/num/drone_build_time, + /decl/config/num/max_character_aspects, + /decl/config/text/irc_bot_host, + /decl/config/text/main_irc, + /decl/config/text/admin_irc, + /decl/config/text/server_name, + /decl/config/text/server, + /decl/config/text/serverurl, + /decl/config/text/banappeals, + /decl/config/text/wikiurl, + /decl/config/text/forumurl, + /decl/config/text/discordurl, + /decl/config/text/githuburl, + /decl/config/text/issuereporturl, + /decl/config/text/hosted_by, + /decl/config/toggle/panic_bunker, + /decl/config/text/panic_bunker_message, + /decl/config/toggle/do_not_prevent_spam, + /decl/config/toggle/no_throttle_localhost, + /decl/config/toggle/on/abandon_allowed, + /decl/config/toggle/on/ooc_allowed, + /decl/config/toggle/on/looc_allowed, + /decl/config/toggle/on/dooc_allowed, + /decl/config/toggle/on/dsay_allowed, + /decl/config/toggle/on/aooc_allowed, + /decl/config/toggle/on/enter_allowed, + /decl/config/toggle/on/allow_ai, + /decl/config/toggle/on/allow_drone_spawn, + /decl/config/toggle/hub_visibility, + /decl/config/toggle/usewhitelist, + /decl/config/toggle/load_jobs_from_txt, + /decl/config/toggle/disable_player_mice, + /decl/config/toggle/uneducated_mice, + /decl/config/toggle/use_alien_whitelist, + /decl/config/toggle/use_alien_whitelist_sql, + /decl/config/toggle/forbid_singulo_possession, + /decl/config/toggle/use_loyalty_implants, + /decl/config/toggle/no_click_cooldown, + /decl/config/toggle/disable_webhook_embeds, + /decl/config/toggle/delist_when_no_admins, + /decl/config/toggle/wait_for_sigusr1_reboot, + /decl/config/toggle/use_irc_bot, + /decl/config/toggle/show_typing_indicator_for_whispers, + /decl/config/toggle/announce_shuttle_dock_to_irc, + /decl/config/toggle/guests_allowed, + /decl/config/toggle/on/jobs_have_minimal_access, + /decl/config/toggle/on/admin_legacy_system, + /decl/config/toggle/on/ban_legacy_system + ) + +/decl/config/num/kick_inactive + uid = "kick_inactive" + desc = "Disconnect players who did nothing during the set amount of minutes." + +/decl/config/num/fps + uid = "fps" + default_value = 20 + desc = list( + "Defines world FPS. Defaults to 20.", + "Can also accept ticklag values (0.9, 0.5, etc) which will automatically be converted to FPS." + ) + +/decl/config/num/fps/sanitize_value() + ..() + if(value <= 0) + value = default_value + +/decl/config/num/fps/set_value(new_value) + // Handle ticklag-formatted FPS (0.7 etc) + if(new_value > 0 && new_value < 1) + new_value = round(10 / new_value) + return ..(new_value) + +/decl/config/num/fps/update_post_value_set() + world.fps = value + . = ..() + +/decl/config/num/tick_limit_mc_init + uid = "tick_limit_mc_init" + desc = "SSinitialization throttling." + default_value = TICK_LIMIT_MC_INIT_DEFAULT + +/decl/config/num/minimum_byond_version + uid = "minimum_byond_version" + default_value = 0 + desc = "Clients will be unable to connect unless their version is equal to or higher than this (a number, e.g. 511)." + +/decl/config/num/minimum_byond_build + uid = "minimum_byond_build" + default_value = 0 + desc = "Clients will be unable to connect unless their build is equal to or higher than this (a number, e.g. 1000)." + +/decl/config/num/player_limit + uid = "player_limit" + desc = "The maximum number of non-admin players online." + default_value = 0 + +/decl/config/num/use_age_restriction_for_jobs + uid = "use_age_restriction_for_jobs" + default_value = 0 + desc = list( + "Unhash this entry to have certain jobs require your account to be at least a certain number of days old to select. You can configure the exact age requirement for different jobs by editing", + "the minimal_player_age variable in the files in folder /code/game/jobs/job/.. for the job you want to edit. Set minimal_player_age to 0 to disable age requirement for that job.", + "REQUIRES the database set up to work. Keep it hashed if you don't have a database set up.", + "NOTE: If you have just set-up the database keep this DISABLED, as player age is determined from the first time they connect to the server with the database up. If you just set it up, it means", + "you have noone older than 0 days, since noone has been logged yet. Only turn this on once you have had the database up for 30 days." + ) + +/decl/config/num/use_age_restriction_for_antags + uid = "use_age_restriction_for_antags" + desc = list( + "Unhash this entry to have certain antag roles require your account to be at least a certain number of days old for round start and auto-spawn selection.", + "Non-automatic antagonist recruitment, such as being converted to cultism is not affected. Has the same database requirements and notes as USE_AGE_RESTRICTION_FOR_JOBS." + ) + +/decl/config/num/respawn_delay + uid = "respawn_delay" + default_value = 30 + min_value = 0 + desc = "Respawn delay in minutes before one may respawn as a crew member." + +/decl/config/num/cult_ghostwriter_req_cultists + uid = "cult_ghostwriter_req_cultists" + default_value = 10 + desc = "Sets the minimum number of cultists needed for ghosts to write in blood." + +/decl/config/num/character_slots + uid = "character_slots" + default_value = 10 + desc = "Sets the number of available character slots." + +/decl/config/num/loadout_slots + uid = "loadout_slots" + default_value = 3 + desc = "Sets the number of loadout slots per character." + +/decl/config/num/max_maint_drones + uid = "max_maint_drones" + desc = "This many drones can be active at the same time." + default_value = 5 + +/decl/config/num/drone_build_time + uid = "drone_build_time" + desc = "A drone will become available every X ticks since last drone spawn. Default is 2 minutes." + default_value = 1200 + +/decl/config/num/max_character_aspects + uid = "max_character_aspects" + default_value = 5 + desc = "Remove the # to define a different cap for aspect points in chargen." + +/decl/config/text/irc_bot_host + uid = "irc_bot_host" + default_value = "localhost" + desc = "Host where the IRC bot is hosted. Port 45678 needs to be open." + +/decl/config/text/main_irc + uid = "main_irc" + default_value = "#main" + desc = "IRC channel to send information to. Leave blank to disable." + +/decl/config/text/admin_irc + uid = "admin_irc" + desc = "IRC channel to send adminhelps to. Leave blank to disable adminhelps-to-irc." + +// server name (for world name / status) +/decl/config/text/server_name + uid = "server_name" + desc = "Server name: This appears at the top of the screen in-game." + default_value = "Nebula 13" + +/decl/config/text/server + uid = "server" + desc = "Set a server location for world reboot. Don't include the byond://, just give the address and port." + +/decl/config/text/serverurl + uid = "serverurl" + desc = list( + "Set a server URL for the IRC bot to use; like SERVER, don't include the byond://", + "Unlike SERVER, this one shouldn't break auto-reconnect." + ) + +/decl/config/text/banappeals + uid = "banappeals" + desc = "Ban appeals URL - usually for a forum or wherever people should go to contact your admins." + +/decl/config/text/wikiurl + uid = "wikiurl" + desc = "Wiki address." + +/decl/config/text/forumurl + uid = "forumurl" + desc = "Discussion forum address." + +/decl/config/text/discordurl + uid = "discordurl" + desc = "Discord server permanent invite address." + +/decl/config/text/githuburl + uid = "githuburl" + desc = "GitHub address." + +/decl/config/text/issuereporturl + uid = "issuereporturl" + desc = "GitHub new issue address." + +/decl/config/text/hosted_by + uid = "hostedby" + desc = "Set a hosted by name for UNIX platforms." + +/decl/config/toggle/panic_bunker + uid = "panic_bunker" + desc = "Is the panic bunker currently on by default?" + +/decl/config/text/panic_bunker_message + uid = "panic_bunker_message" + default_value = "Sorry! The panic bunker is enabled. Please head to our Discord or forum to get yourself added to the panic bunker bypass." + desc = "A message when user did not pass the panic bunker." + +/decl/config/toggle/do_not_prevent_spam + uid = "do_not_prevent_spam" + desc = "Uncomment this to DISABLE action spam kicking. Not recommended; this helps protect from spam attacks." + +/decl/config/toggle/no_throttle_localhost + uid = "no_throttle_localhost" + desc = list( + "Whether or not to make localhost immune to throttling.", + "Localhost will still be throttled internally; it just won't be affected by it." + ) + +/decl/config/toggle/on/abandon_allowed + uid = "abandon_allowed" + desc = "Comment to disable respawning by default." + +/decl/config/toggle/on/ooc_allowed + uid = "ooc_allowed" + desc = "Comment to disable the OOC channel by default." + +/decl/config/toggle/on/looc_allowed + uid = "looc_allowed" + desc = "Comment to disable the LOOC channel by default." + +/decl/config/toggle/on/dooc_allowed + uid = "dooc_allowed" + desc = "Comment to disable the dead OOC channel by default." + +/decl/config/toggle/on/dsay_allowed + uid = "dsay_allowed" + desc = "Comment to disable ghost chat by default." + +/decl/config/toggle/on/aooc_allowed + uid = "aooc_allowed" + desc = "Comment to disable the AOOC channel by default." + +/decl/config/toggle/on/enter_allowed + uid = "enter_allowed" + desc = "Comment to prevent anyone from joining the round by default." + +/decl/config/toggle/on/allow_ai + uid = "allow_ai" + desc = "Allow AI job." + +/decl/config/toggle/on/allow_drone_spawn + uid = "allow_drone_spawn" + desc = "Allow ghosts to join as maintenance drones." + +/decl/config/toggle/hub_visibility + uid = "hub_visibility" + desc = "Hub visibility: If you want to be visible on the hub, uncomment the below line and be sure that Dream Daemon is set to visible. This can be changed in-round as well with toggle-hub-visibility if Dream Daemon is set correctly." + +/decl/config/toggle/hub_visibility/update_post_value_set() + . = ..() + world.update_hub_visibility() + +/decl/config/toggle/usewhitelist + uid = "usewhitelist" + desc = list( + "Set to jobban everyone who's key is not listed in data/whitelist.txt from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions.", + "Uncomment to 1 to jobban, leave commented out to allow these positions for everyone (but see GUEST_JOBBAN above and regular jobbans)." + ) + +/decl/config/toggle/load_jobs_from_txt + uid = "load_jobs_from_txt" + desc = "Toggle for having jobs load up from the .txt" + +/decl/config/toggle/disable_player_mice + uid = "disable_player_mice" + +/decl/config/toggle/uneducated_mice + uid = "uneducated_mice" + desc = "Set to 1 to prevent newly-spawned mice from understanding human speech." + +/decl/config/toggle/use_alien_whitelist + uid = "usealienwhitelist" + desc = "Uncomment to restrict non-admins from using humanoid alien races." + +/decl/config/toggle/use_alien_whitelist_sql + uid = "usealienwhitelist_sql" + desc = "Uncomment to use the alien whitelist system with SQL instead. (requires the above uncommented as well)." + +/decl/config/toggle/forbid_singulo_possession + uid = "forbid_singulo_possession" + desc = "Remove the # mark infront of this to forbid admins from posssessing the singularity." + +/decl/config/toggle/use_loyalty_implants + uid = "use_loyalty_implants" + desc = "Remove the # in front of this config option to have loyalty implants spawn by default on your server." + +/decl/config/toggle/no_click_cooldown + uid = "no_click_cooldown" + +/decl/config/toggle/disable_webhook_embeds + uid = "disable_webhook_embeds" + desc = "Uncomment to make Discord webhooks send in plaintext rather than as embeds." + +/decl/config/toggle/delist_when_no_admins + uid = "delist_when_no_admins" + desc = "Uncomment this to remove the server from the hub." + +/decl/config/toggle/wait_for_sigusr1_reboot + uid = "wait_for_sigusr1_reboot" + desc = "Uncomment to make Dream Daemon refuse to reboot for any reason other than SIGUSR1." + +/decl/config/toggle/use_irc_bot + uid = "use_irc_bot" + desc = "Uncomment to enable sending data to the IRC bot." + +/decl/config/toggle/show_typing_indicator_for_whispers + uid = "show_typing_indicator_for_whispers" + desc = "Uncomment this to show a typing indicator for people writing whispers." + +/decl/config/toggle/announce_shuttle_dock_to_irc + uid = "announce_shuttle_dock_to_irc" + desc = "Uncomment this line to announce shuttle dock announcements to the main IRC channel, if MAIN_IRC has also been setup." + +/decl/config/toggle/guests_allowed + uid = "guests_allowed" + desc = "Uncomment this to stop people connecting to your server without a registered ckey. (i.e. guest-* are all blocked from connecting)." + +/decl/config/toggle/on/ban_legacy_system + uid = "ban_legacy_system" + desc = "Add a # infront of this if you want to use the SQL based banning system. The legacy systems use the files in the data folder. You need to set up your database to use the SQL based system." + +/decl/config/toggle/on/admin_legacy_system + uid = "admin_legacy_system" + desc = "Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system." + +/decl/config/toggle/on/jobs_have_minimal_access + uid = "jobs_have_minimal_access" + desc = "Add a # here if you wish to use the setup where jobs have more access. This is intended for servers with low populations - where there are not enough players to fill all roles, so players need to do more than just one job. Also for servers where they don't want people to hide in their own departments." diff --git a/code/datums/config/config_types/config_voting.dm b/code/datums/config/config_types/config_voting.dm new file mode 100644 index 00000000000..32f59f4cee2 --- /dev/null +++ b/code/datums/config/config_types/config_voting.dm @@ -0,0 +1,79 @@ +/decl/configuration_category/voting + name = "Voting" + desc = "Configuration options relating to votes at runtime." + associated_configuration = list( + /decl/config/num/vote_delay, + /decl/config/num/vote_period, + /decl/config/num/vote_autotransfer_initial, + /decl/config/num/vote_autotransfer_interval, + /decl/config/num/vote_autogamemode_timeleft, + /decl/config/num/vote_no_default, + /decl/config/num/vote_no_dead, + /decl/config/num/vote_no_dead_crew_transfer, + /decl/config/toggle/vote_restart, + /decl/config/toggle/vote_mode, + /decl/config/toggle/allow_map_switching, + /decl/config/toggle/auto_map_vote + ) + +/decl/config/num/vote_delay + uid = "vote_delay" + default_value = 6000 + desc = "Min delay (deciseconds) between voting sessions (default 10 minutes)." + +/decl/config/num/vote_period + uid = "vote_period" + default_value = 600 + desc = "Time period (deciseconds) which voting session will last (default 1 minute)." + +/decl/config/num/vote_autotransfer_initial + uid = "vote_autotransfer_initial" + default_value = 108000 + desc = "Autovote initial delay (deciseconds) before first automatic transfer vote call (default 180 minutes)." + +/decl/config/num/vote_autotransfer_interval + uid = "vote_autotransfer_interval" + default_value = 18000 + desc = "Autovote delay (deciseconds) before sequential automatic transfer votes are called (default 30 minutes)." + +/decl/config/num/vote_autogamemode_timeleft + uid = "vote_autogamemode_timeleft" + default_value = 100 + desc = "Time left (seconds) before round start when automatic gamemote vote is called (default 160)." + +/decl/config/num/vote_no_default + uid = "vote_no_default" + default_value = FALSE + config_flags = CONFIG_FLAG_BOOL | CONFIG_FLAG_HAS_VALUE + desc = "Players' votes default to 'No vote' (otherwise, default to 'No change')." + +/decl/config/num/vote_no_dead + uid = "vote_no_dead" + default_value = FALSE + config_flags = CONFIG_FLAG_BOOL | CONFIG_FLAG_HAS_VALUE + desc = "Prevents dead players from voting or starting votes." + +/decl/config/num/vote_no_dead_crew_transfer + uid = "vote_no_dead_crew_transfer" + default_value = FALSE + config_flags = CONFIG_FLAG_BOOL | CONFIG_FLAG_HAS_VALUE + desc = "Prevents players not in-round from voting on crew transfer votes." + +/decl/config/toggle/vote_restart + uid = "allow_vote_restart" + desc = "Allow players to initiate a restart vote." + +/decl/config/toggle/vote_mode + uid = "allow_vote_mode" + desc = "Allow players to initate a mode-change start." + +/decl/config/toggle/allow_map_switching + uid = "allow_map_switching" + desc = list( + "Uncomment to enable map voting; you'll need to use the script at tools/server.sh or an equivalent for it to take effect.", + "You'll also likely need to enable WAIT_FOR_SIGUSR1 below." + ) + +/decl/config/toggle/auto_map_vote + uid = "auto_map_vote" + desc = "Uncomment to enable an automatic map vote and switch at end of round. MAP_SWITCHING must also be enabled." diff --git a/code/datums/extensions/deity_be_near.dm b/code/datums/extensions/deity_be_near.dm index fa8f07b6a46..06d3616710d 100644 --- a/code/datums/extensions/deity_be_near.dm +++ b/code/datums/extensions/deity_be_near.dm @@ -9,9 +9,9 @@ /datum/extension/deity_be_near/New(var/datum/holder, var/mob/living/deity/connect) ..() - events_repository.register(/decl/observ/moved, holder,src, .proc/check_movement) + events_repository.register(/decl/observ/moved, holder,src, PROC_REF(check_movement)) connected_deity = connect - events_repository.register(/decl/observ/destroyed, holder, src, .proc/dead_deity) + events_repository.register(/decl/observ/destroyed, holder, src, PROC_REF(dead_deity)) var/obj/O = holder O.desc += "
This item deals damage to its wielder the [keep_away_instead ? "closer" : "farther"] it is from a deity structure" diff --git a/code/datums/extensions/event_registration.dm b/code/datums/extensions/event_registration.dm index 4daa92636e3..b483bd79a25 100644 --- a/code/datums/extensions/event_registration.dm +++ b/code/datums/extensions/event_registration.dm @@ -10,8 +10,8 @@ /datum/extension/event_registration/New(datum/holder, decl/observ/event, datum/target, callproc) ..() - event.register(target, src, .proc/trigger) - events_repository.register(/decl/observ/destroyed, target, src, .proc/qdel_self) + event.register(target, src, PROC_REF(trigger)) + events_repository.register(/decl/observ/destroyed, target, src, PROC_REF(qdel_self)) src.event = event src.target = target src.callproc = callproc @@ -36,15 +36,15 @@ ..() src.given_area = given_area register_shuttles() - events_repository.register_global(/decl/observ/shuttle_added, src, .proc/shuttle_added) + events_repository.register_global(/decl/observ/shuttle_added, src, PROC_REF(shuttle_added)) /datum/extension/event_registration/shuttle_stationary/proc/register_shuttles() if(given_area in SSshuttle.shuttle_areas) for(var/shuttle_name in SSshuttle.shuttles) var/datum/shuttle/shuttle_datum = SSshuttle.shuttles[shuttle_name] if(given_area in shuttle_datum.shuttle_area) - events_repository.register(/decl/observ/shuttle_moved, shuttle_datum, src, .proc/shuttle_moved) - events_repository.register(/decl/observ/shuttle_pre_move, shuttle_datum, src, .proc/shuttle_pre_move) + events_repository.register(/decl/observ/shuttle_moved, shuttle_datum, src, PROC_REF(shuttle_moved)) + events_repository.register(/decl/observ/shuttle_pre_move, shuttle_datum, src, PROC_REF(shuttle_pre_move)) LAZYADD(shuttles_registered, shuttle_datum) /datum/extension/event_registration/shuttle_stationary/proc/unregister_shuttles() @@ -55,8 +55,8 @@ /datum/extension/event_registration/shuttle_stationary/proc/shuttle_added(datum/shuttle/shuttle) if(given_area in shuttle.shuttle_area) - events_repository.register(/decl/observ/shuttle_moved, shuttle, src, .proc/shuttle_moved) - events_repository.register(/decl/observ/shuttle_pre_move, shuttle, src, .proc/shuttle_pre_move) + events_repository.register(/decl/observ/shuttle_moved, shuttle, src, PROC_REF(shuttle_moved)) + events_repository.register(/decl/observ/shuttle_pre_move, shuttle, src, PROC_REF(shuttle_pre_move)) LAZYADD(shuttles_registered, shuttle) /datum/extension/event_registration/shuttle_stationary/Destroy() diff --git a/code/datums/extensions/eye/_eye.dm b/code/datums/extensions/eye/_eye.dm index 59fc3d66404..1676604607b 100644 --- a/code/datums/extensions/eye/_eye.dm +++ b/code/datums/extensions/eye/_eye.dm @@ -21,7 +21,7 @@ /datum/extension/eye/proc/look(var/mob/new_looker, var/list/eye_args) if(new_looker.eyeobj || current_looker) return FALSE - + LAZYINSERT(eye_args, get_turf(new_looker), 1) // Make sure that a loc is provided to the eye. if(!extension_eye) @@ -43,29 +43,29 @@ unlook_action.Grant(current_looker) // Checks for removing the user from the eye outside of unlook actions. - events_repository.register(/decl/observ/moved, holder, src, /datum/extension/eye/proc/unlook) - events_repository.register(/decl/observ/moved, current_looker, src, /datum/extension/eye/proc/unlook) + events_repository.register(/decl/observ/moved, holder, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) + events_repository.register(/decl/observ/moved, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) - events_repository.register(/decl/observ/destroyed, current_looker, src, /datum/extension/eye/proc/unlook) - events_repository.register(/decl/observ/destroyed, extension_eye, src, /datum/extension/eye/proc/unlook) + events_repository.register(/decl/observ/destroyed, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) + events_repository.register(/decl/observ/destroyed, extension_eye, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) if(isliving(current_looker)) - events_repository.register(/decl/observ/stat_set, current_looker, src, /datum/extension/eye/proc/unlook) - events_repository.register(/decl/observ/logged_out, current_looker, src, /datum/extension/eye/proc/unlook) + events_repository.register(/decl/observ/stat_set, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) + events_repository.register(/decl/observ/logged_out, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) return TRUE /datum/extension/eye/proc/unlook() - events_repository.unregister(/decl/observ/moved, holder, src, /datum/extension/eye/proc/unlook) - events_repository.unregister(/decl/observ/moved, current_looker, src, /datum/extension/eye/proc/unlook) - - events_repository.unregister(/decl/observ/destroyed, current_looker, src, /datum/extension/eye/proc/unlook) - events_repository.unregister(/decl/observ/destroyed, extension_eye, src, /datum/extension/eye/proc/unlook) + events_repository.unregister(/decl/observ/moved, holder, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) + events_repository.unregister(/decl/observ/moved, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) + + events_repository.unregister(/decl/observ/destroyed, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) + events_repository.unregister(/decl/observ/destroyed, extension_eye, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) if(isliving(current_looker)) - events_repository.unregister(/decl/observ/stat_set, current_looker, src, /datum/extension/eye/proc/unlook) - events_repository.unregister(/decl/observ/logged_out, current_looker, src, /datum/extension/eye/proc/unlook) + events_repository.unregister(/decl/observ/stat_set, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) + events_repository.unregister(/decl/observ/logged_out, current_looker, src, TYPE_PROC_REF(/datum/extension/eye, unlook)) QDEL_NULL(extension_eye) diff --git a/code/datums/extensions/holster/holster.dm b/code/datums/extensions/holster/holster.dm index 6cfcba37dab..1442577ec67 100644 --- a/code/datums/extensions/holster/holster.dm +++ b/code/datums/extensions/holster/holster.dm @@ -53,14 +53,14 @@ user.visible_message("\The [user] holsters \the [holstered].", "You holster \the [holstered].") atom_holder.SetName("occupied [initial(atom_holder.name)]") atom_holder.update_icon() - events_repository.register(/decl/observ/moved, holstered, src, .proc/check_holster) - events_repository.register(/decl/observ/destroyed, holstered, src, .proc/clear_holster) + events_repository.register(/decl/observ/moved, holstered, src, PROC_REF(check_holster)) + events_repository.register(/decl/observ/destroyed, holstered, src, PROC_REF(clear_holster)) return 1 return 0 /datum/extension/holster/proc/clear_holster() - events_repository.unregister(/decl/observ/moved, holstered, src, .proc/check_holster) - events_repository.unregister(/decl/observ/destroyed, holstered, src, .proc/clear_holster) + events_repository.unregister(/decl/observ/moved, holstered, src, PROC_REF(check_holster)) + events_repository.unregister(/decl/observ/destroyed, holstered, src, PROC_REF(clear_holster)) holstered = null atom_holder.SetName(initial(atom_holder.name)) diff --git a/code/datums/extensions/lockable.dm b/code/datums/extensions/lockable.dm index c929c96b60a..581838e4e0a 100644 --- a/code/datums/extensions/lockable.dm +++ b/code/datums/extensions/lockable.dm @@ -125,7 +125,7 @@ if (prob(user.skill_fail_chance(SKILL_DEVICES, 40, SKILL_EXPERT))) l_setshort = FALSE user.show_message(SPAN_NOTICE("Internal memory reset. Please give it a few seconds to reinitialize."), 1) - addtimer(CALLBACK(src, /datum/extension/lockable/proc/reset_memory), 3 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/extension/lockable, reset_memory)), 3 SECONDS) return TRUE else user.show_message(SPAN_WARNING("Unable to reset internal memory."), 1) diff --git a/code/datums/extensions/scent/_scent.dm b/code/datums/extensions/scent/_scent.dm index b7ef9d3873d..3b1a52e50ee 100644 --- a/code/datums/extensions/scent/_scent.dm +++ b/code/datums/extensions/scent/_scent.dm @@ -6,7 +6,7 @@ Scent intensity *****/ /decl/scent_intensity - var/cooldown = 5 MINUTES + var/cooldown = 5 MINUTES var/intensity = 1 /decl/scent_intensity/proc/PrintMessage(var/mob/user, var/descriptor, var/scent) @@ -121,18 +121,24 @@ To add a scent extension to an atom using a reagent's info, where R. is the reag *****/ /proc/set_scent_by_reagents(var/atom/smelly_atom) + var/decl/material/smelliest = get_smelliest_reagent(smelly_atom.reagents) + if(smelliest) + set_extension(smelly_atom, /datum/extension/scent/custom, smelliest.scent, smelliest.scent_intensity, smelliest.scent_descriptor, smelliest.scent_range) + +// Returns the smelliest reagent of a reagent holder. +/proc/get_smelliest_reagent(var/datum/reagents/holder) var/decl/material/smelliest var/decl/material/scent_intensity - if(!smelly_atom.reagents || !smelly_atom.reagents.total_volume) + if(!holder || !holder.total_volume) return - for(var/reagent_type in smelly_atom.reagents.reagent_volumes) + for(var/reagent_type in holder.reagent_volumes) var/decl/material/R = GET_DECL(reagent_type) if(!R.scent) continue var/decl/scent_intensity/SI = GET_DECL(R.scent_intensity) - var/r_scent_intensity = REAGENT_VOLUME(smelly_atom.reagents, reagent_type) * SI.intensity + var/r_scent_intensity = REAGENT_VOLUME(holder, reagent_type) * SI.intensity if(r_scent_intensity > scent_intensity) smelliest = R - scent_intensity = r_scent_intensity - if(smelliest) - set_extension(smelly_atom, /datum/extension/scent/custom, smelliest.scent, smelliest.scent_intensity, smelliest.scent_descriptor, smelliest.scent_range) \ No newline at end of file + scent_intensity = r_scent_intensity + + return smelliest \ No newline at end of file diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm index 5c7561285b1..37e7fb12bea 100644 --- a/code/datums/helper_datums/getrev.dm +++ b/code/datums/helper_datums/getrev.dm @@ -36,8 +36,8 @@ var/global/datum/getrev/revdata = new() to_chat(src, "Client Version: [byond_version]") if(revdata.revision) var/server_revision = revdata.revision - if(config.githuburl) - server_revision = "[server_revision]" + if(get_config_value(/decl/config/text/githuburl)) + server_revision = "[server_revision]" to_chat(src, "Server Revision: [server_revision] - [revdata.branch] - [revdata.date]") else to_chat(src, "Server Revision: Revision Unknown") diff --git a/code/datums/inventory_slots/inventory_gripper.dm b/code/datums/inventory_slots/inventory_gripper.dm index 66d0c12a9ac..df08bcdb02a 100644 --- a/code/datums/inventory_slots/inventory_gripper.dm +++ b/code/datums/inventory_slots/inventory_gripper.dm @@ -3,6 +3,8 @@ var/can_use_held_item = TRUE var/dexterity = DEXTERITY_FULL var/covering_slot_flags + /// If set, use this icon_state for the hand slot overlay; otherwise, use slot_id. + var/hand_overlay quick_equip_priority = -1 // you quick-equip stuff by holding it in a gripper, so this ought to be dead last // For reference, grippers do not use ui_loc, they have it set dynamically during /datum/hud/proc/rebuild_hands() diff --git a/code/datums/move_intent/move_intent.dm b/code/datums/move_intent/move_intent.dm index c9641068e71..87e521f5e33 100644 --- a/code/datums/move_intent/move_intent.dm +++ b/code/datums/move_intent/move_intent.dm @@ -21,7 +21,7 @@ /decl/move_intent/creep/Initialize() . = ..() - move_delay = config.creep_delay + move_delay = get_config_value(/decl/config/num/movement_creep) /decl/move_intent/walk name = "Walk" @@ -29,7 +29,7 @@ /decl/move_intent/walk/Initialize() . = ..() - move_delay = config.walk_delay + move_delay = get_config_value(/decl/config/num/movement_walk) /decl/move_intent/run name = "Run" @@ -38,4 +38,4 @@ /decl/move_intent/run/Initialize() . = ..() - move_delay = config.run_delay + move_delay = get_config_value(/decl/config/num/movement_run) diff --git a/code/datums/movement/mob.dm b/code/datums/movement/mob.dm index b66388cab6a..6450f821a63 100644 --- a/code/datums/movement/mob.dm +++ b/code/datums/movement/mob.dm @@ -217,7 +217,7 @@ else mod *= 0.8 - return config.minimum_sprint_cost + (config.skill_sprint_cost_range * mod) + return get_config_value(/decl/config/num/movement_min_sprint_cost) + get_config_value(/decl/config/num/movement_skill_sprint_cost_range) * mod // Misc. helpers /mob/proc/MayEnterTurf(var/turf/T) diff --git a/code/datums/observation/dir_set.dm b/code/datums/observation/dir_set.dm index 03e221a365c..edec53d036d 100644 --- a/code/datums/observation/dir_set.dm +++ b/code/datums/observation/dir_set.dm @@ -18,7 +18,7 @@ // Listen to the parent if possible. if(. && istype(dir_changer.loc, /atom/movable)) // We don't care about registering to turfs. - register(dir_changer.loc, dir_changer, /atom/proc/recursive_dir_set) + register(dir_changer.loc, dir_changer, TYPE_PROC_REF(/atom, recursive_dir_set)) /********************* * Direction Handling * @@ -28,8 +28,8 @@ . = ..() var/decl/observ/dir_set/dir_set_event = GET_DECL(/decl/observ/dir_set) if(dir_set_event.has_listeners(am)) - events_repository.register(/decl/observ/dir_set, src, am, /atom/proc/recursive_dir_set) + events_repository.register(/decl/observ/dir_set, src, am, TYPE_PROC_REF(/atom, recursive_dir_set)) /atom/movable/Exited(var/atom/movable/am, atom/new_loc) . = ..() - events_repository.unregister(/decl/observ/dir_set, src, am, /atom/proc/recursive_dir_set) + events_repository.unregister(/decl/observ/dir_set, src, am, TYPE_PROC_REF(/atom, recursive_dir_set)) diff --git a/code/datums/observation/helpers.dm b/code/datums/observation/helpers.dm index b0a04383972..89330ecc50b 100644 --- a/code/datums/observation/helpers.dm +++ b/code/datums/observation/helpers.dm @@ -24,9 +24,9 @@ qdel(src) /proc/register_all_movement(var/event_source, var/listener) - events_repository.register(/decl/observ/moved, event_source, listener, /atom/movable/proc/recursive_move) - events_repository.register(/decl/observ/dir_set, event_source, listener, /atom/proc/recursive_dir_set) + events_repository.register(/decl/observ/moved, event_source, listener, TYPE_PROC_REF(/atom/movable, recursive_move)) + events_repository.register(/decl/observ/dir_set, event_source, listener, TYPE_PROC_REF(/atom, recursive_dir_set)) /proc/unregister_all_movement(var/event_source, var/listener) - events_repository.unregister(/decl/observ/moved, event_source, listener, /atom/movable/proc/recursive_move) - events_repository.unregister(/decl/observ/dir_set, event_source, listener, /atom/proc/recursive_dir_set) + events_repository.unregister(/decl/observ/moved, event_source, listener, TYPE_PROC_REF(/atom/movable, recursive_move)) + events_repository.unregister(/decl/observ/dir_set, event_source, listener, TYPE_PROC_REF(/atom, recursive_dir_set)) diff --git a/code/datums/observation/moved.dm b/code/datums/observation/moved.dm index b61aefffd4a..19557c43c5e 100644 --- a/code/datums/observation/moved.dm +++ b/code/datums/observation/moved.dm @@ -18,7 +18,7 @@ // Listen to the parent if possible. if(. && istype(mover.loc, expected_type)) - register(mover.loc, mover, /atom/movable/proc/recursive_move) + register(mover.loc, mover, TYPE_PROC_REF(/atom/movable, recursive_move)) /******************** * Movement Handling * @@ -32,8 +32,8 @@ . = ..() var/decl/observ/moved/moved_event = GET_DECL(/decl/observ/moved) if(moved_event.has_listeners(am)) - events_repository.register(/decl/observ/moved, src, am, /atom/movable/proc/recursive_move) + events_repository.register(/decl/observ/moved, src, am, TYPE_PROC_REF(/atom/movable, recursive_move)) /atom/movable/Exited(var/atom/movable/am, atom/new_loc) . = ..() - events_repository.unregister(/decl/observ/moved, src, am, /atom/movable/proc/recursive_move) + events_repository.unregister(/decl/observ/moved, src, am, TYPE_PROC_REF(/atom/movable, recursive_move)) diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 8976ec73557..9b3efb28d36 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -83,7 +83,7 @@ LAZYREMOVE(user.progressbars, bar.loc) animate(bar, alpha = 0, time = PROGRESSBAR_ANIMATION_TIME) - addtimer(CALLBACK(src, .proc/remove_from_client), PROGRESSBAR_ANIMATION_TIME, TIMER_CLIENT_TIME) + addtimer(CALLBACK(src, PROC_REF(remove_from_client)), PROGRESSBAR_ANIMATION_TIME, TIMER_CLIENT_TIME) QDEL_IN(bar, PROGRESSBAR_ANIMATION_TIME * 2) //for garbage collection safety . = ..() diff --git a/code/datums/proximity_trigger/proximity_trigger.dm b/code/datums/proximity_trigger/proximity_trigger.dm index 63233efef75..8a4f2b3780c 100644 --- a/code/datums/proximity_trigger/proximity_trigger.dm +++ b/code/datums/proximity_trigger/proximity_trigger.dm @@ -84,30 +84,30 @@ var/global/const/PROXIMITY_EXCLUDE_HOLDER_TURF = 1 // When acquiring turfs to mo /datum/proximity_trigger/proc/register_turfs() if(ismovable(holder)) - events_repository.register(/decl/observ/moved, holder, src, /datum/proximity_trigger/proc/on_holder_moved) - events_repository.register(/decl/observ/dir_set, holder, src, /datum/proximity_trigger/proc/register_turfs) // Changing direction might alter the relevant turfs + events_repository.register(/decl/observ/moved, holder, src, TYPE_PROC_REF(/datum/proximity_trigger, on_holder_moved)) + events_repository.register(/decl/observ/dir_set, holder, src, TYPE_PROC_REF(/datum/proximity_trigger, register_turfs)) // Changing direction might alter the relevant turfs var/list/new_turfs = acquire_relevant_turfs() if(listequal(turfs_in_range, new_turfs)) return for(var/t in (turfs_in_range - new_turfs)) - events_repository.unregister(/decl/observ/opacity_set, t, src, /datum/proximity_trigger/proc/on_turf_visibility_changed) + events_repository.unregister(/decl/observ/opacity_set, t, src, TYPE_PROC_REF(/datum/proximity_trigger, on_turf_visibility_changed)) for(var/t in (new_turfs - turfs_in_range)) - events_repository.register(/decl/observ/opacity_set, t, src, /datum/proximity_trigger/proc/on_turf_visibility_changed) + events_repository.register(/decl/observ/opacity_set, t, src, TYPE_PROC_REF(/datum/proximity_trigger, on_turf_visibility_changed)) turfs_in_range = new_turfs on_turf_visibility_changed() /datum/proximity_trigger/proc/unregister_turfs() if(ismovable(holder)) - events_repository.unregister(/decl/observ/moved, holder, src, /datum/proximity_trigger/proc/on_holder_moved) - events_repository.unregister(/decl/observ/dir_set, holder, src, /datum/proximity_trigger/proc/register_turfs) + events_repository.unregister(/decl/observ/moved, holder, src, TYPE_PROC_REF(/datum/proximity_trigger, on_holder_moved)) + events_repository.unregister(/decl/observ/dir_set, holder, src, TYPE_PROC_REF(/datum/proximity_trigger, register_turfs)) for(var/t in turfs_in_range) - events_repository.unregister(/decl/observ/opacity_set, t, src, /datum/proximity_trigger/proc/on_turf_visibility_changed) + events_repository.unregister(/decl/observ/opacity_set, t, src, TYPE_PROC_REF(/datum/proximity_trigger, on_turf_visibility_changed)) for(var/t in seen_turfs_) - events_repository.unregister(/decl/observ/entered, t, src, /datum/proximity_trigger/proc/on_turf_entered) + events_repository.unregister(/decl/observ/entered, t, src, TYPE_PROC_REF(/datum/proximity_trigger, on_turf_entered)) call(proc_owner, on_turfs_changed)(seen_turfs_.Copy(), list()) @@ -122,9 +122,9 @@ var/global/const/PROXIMITY_EXCLUDE_HOLDER_TURF = 1 // When acquiring turfs to mo call(proc_owner, on_turfs_changed)(seen_turfs_.Copy(), new_seen_turfs_.Copy()) for(var/t in (seen_turfs_ - new_seen_turfs_)) - events_repository.unregister(/decl/observ/entered, t, src, /datum/proximity_trigger/proc/on_turf_entered) + events_repository.unregister(/decl/observ/entered, t, src, TYPE_PROC_REF(/datum/proximity_trigger, on_turf_entered)) for(var/t in (new_seen_turfs_ - seen_turfs_)) - events_repository.register(/decl/observ/entered, t, src, /datum/proximity_trigger/proc/on_turf_entered) + events_repository.register(/decl/observ/entered, t, src, TYPE_PROC_REF(/datum/proximity_trigger, on_turf_entered)) seen_turfs_ = new_seen_turfs_ @@ -141,18 +141,18 @@ var/global/const/PROXIMITY_EXCLUDE_HOLDER_TURF = 1 // When acquiring turfs to mo return // For opaque movables, we need to recheck visibility on destruction, when their opacity is changed, or when they move out of range. if(enterer.opacity) - events_repository.register(/decl/observ/opacity_set, enterer, src, /datum/proximity_trigger/proc/update_opaque_atom) - events_repository.register(/decl/observ/destroyed, enterer, src, /datum/proximity_trigger/proc/update_opaque_atom) - events_repository.register(/decl/observ/moved, enterer, src, /datum/proximity_trigger/proc/update_opaque_atom) + events_repository.register(/decl/observ/opacity_set, enterer, src, TYPE_PROC_REF(/datum/proximity_trigger, update_opaque_atom)) + events_repository.register(/decl/observ/destroyed, enterer, src, TYPE_PROC_REF(/datum/proximity_trigger, update_opaque_atom)) + events_repository.register(/decl/observ/moved, enterer, src, TYPE_PROC_REF(/datum/proximity_trigger, update_opaque_atom)) on_turf_visibility_changed() call(proc_owner, on_turf_entered)(enterer) /datum/proximity_trigger/proc/update_opaque_atom(var/atom/opaque_atom) var/turf/atom_loc = get_turf(opaque_atom) if(QDELETED(opaque_atom) || !opaque_atom.opacity || !atom_loc || !(atom_loc in turfs_in_range)) - events_repository.unregister(/decl/observ/opacity_set, opaque_atom, src, /datum/proximity_trigger/proc/update_opaque_atom) - events_repository.unregister(/decl/observ/destroyed, opaque_atom, src, /datum/proximity_trigger/proc/update_opaque_atom) - events_repository.unregister(/decl/observ/moved, opaque_atom, src, /datum/proximity_trigger/proc/update_opaque_atom) + events_repository.unregister(/decl/observ/opacity_set, opaque_atom, src, TYPE_PROC_REF(/datum/proximity_trigger, update_opaque_atom)) + events_repository.unregister(/decl/observ/destroyed, opaque_atom, src, TYPE_PROC_REF(/datum/proximity_trigger, update_opaque_atom)) + events_repository.unregister(/decl/observ/moved, opaque_atom, src, TYPE_PROC_REF(/datum/proximity_trigger, update_opaque_atom)) on_turf_visibility_changed() /datum/proximity_trigger/proc/get_seen_turfs() @@ -186,7 +186,7 @@ var/global/const/PROXIMITY_EXCLUDE_HOLDER_TURF = 1 // When acquiring turfs to mo /obj/item/proxy_debug/Initialize() . = ..() overlay = image('icons/misc/mark.dmi', icon_state = "x3") - var/datum/proximity_trigger/a = new proxy_type(src, /obj/item/proxy_debug/proc/turf_entered, /obj/item/proxy_debug/proc/update_turfs) + var/datum/proximity_trigger/a = new proxy_type(src, TYPE_PROC_REF(/obj/item/proxy_debug, turf_entered), TYPE_PROC_REF(/obj/item/proxy_debug, update_turfs)) a.register_turfs() /obj/item/proxy_debug/proc/turf_entered(var/atom/A) diff --git a/code/datums/repositories/follow.dm b/code/datums/repositories/follow.dm index c4d037f70be..4e36a96450d 100644 --- a/code/datums/repositories/follow.dm +++ b/code/datums/repositories/follow.dm @@ -36,7 +36,7 @@ var/global/repository/follow/follow_repository = new() followed_objects_assoc[AM] = follow_holder followed_objects.Add(follow_holder) - events_repository.register(/decl/observ/destroyed, AM, src, /repository/follow/proc/remove_subject) + events_repository.register(/decl/observ/destroyed, AM, src, TYPE_PROC_REF(/repository/follow, remove_subject)) /repository/follow/proc/remove_subject(var/atom/movable/AM) cache = null @@ -46,7 +46,7 @@ var/global/repository/follow/follow_repository = new() followed_objects_assoc -= AM followed_objects.Remove(follow_holder) - events_repository.unregister(/decl/observ/destroyed, AM, src, /repository/follow/proc/remove_subject) + events_repository.unregister(/decl/observ/destroyed, AM, src, TYPE_PROC_REF(/repository/follow, remove_subject)) qdel(follow_holder) diff --git a/code/datums/sound_player.dm b/code/datums/sound_player.dm index 82cc8890e2c..3c93089fb07 100644 --- a/code/datums/sound_player.dm +++ b/code/datums/sound_player.dm @@ -128,10 +128,10 @@ listeners = list() listener_status = list() - events_repository.register(/decl/observ/destroyed, source, src, /datum/proc/qdel_self) + events_repository.register(/decl/observ/destroyed, source, src, TYPE_PROC_REF(/datum, qdel_self)) if(ismovable(source)) - proxy_listener = new(source, /datum/sound_token/proc/PrivAddListener, /datum/sound_token/proc/PrivLocateListeners, range, proc_owner = src) + proxy_listener = new(source, TYPE_PROC_REF(/datum/sound_token, PrivAddListener), TYPE_PROC_REF(/datum/sound_token, PrivLocateListeners), range, proc_owner = src) proxy_listener.register_turfs() /datum/sound_token/Destroy() @@ -169,7 +169,7 @@ listeners = null listener_status = null - events_repository.unregister(/decl/observ/destroyed, source, src, /datum/proc/qdel_self) + events_repository.unregister(/decl/observ/destroyed, source, src, TYPE_PROC_REF(/datum, qdel_self)) QDEL_NULL(proxy_listener) source = null @@ -217,16 +217,16 @@ listeners += listener - events_repository.register(/decl/observ/moved, listener, src, /datum/sound_token/proc/PrivUpdateListenerLoc) - events_repository.register(/decl/observ/destroyed, listener, src, /datum/sound_token/proc/PrivRemoveListener) + events_repository.register(/decl/observ/moved, listener, src, TYPE_PROC_REF(/datum/sound_token, PrivUpdateListenerLoc)) + events_repository.register(/decl/observ/destroyed, listener, src, TYPE_PROC_REF(/datum/sound_token, PrivRemoveListener)) PrivUpdateListenerLoc(listener, FALSE) /datum/sound_token/proc/PrivRemoveListener(var/atom/listener, var/sound/null_sound) null_sound = null_sound || new(channel = sound.channel) sound_to(listener, null_sound) - events_repository.unregister(/decl/observ/moved, listener, src, /datum/sound_token/proc/PrivUpdateListenerLoc) - events_repository.unregister(/decl/observ/destroyed, listener, src, /datum/sound_token/proc/PrivRemoveListener) + events_repository.unregister(/decl/observ/moved, listener, src, TYPE_PROC_REF(/datum/sound_token, PrivUpdateListenerLoc)) + events_repository.unregister(/decl/observ/destroyed, listener, src, TYPE_PROC_REF(/datum/sound_token, PrivRemoveListener)) listeners -= listener listener_status -= listener diff --git a/code/datums/trading/traders/food.dm b/code/datums/trading/traders/food.dm index 7a6c4aee8d4..2e52282d2e0 100644 --- a/code/datums/trading/traders/food.dm +++ b/code/datums/trading/traders/food.dm @@ -114,7 +114,6 @@ /obj/item/chems/drinks/cans = TRADER_SUBTYPES_ONLY, /obj/item/chems/drinks/bottle = TRADER_SUBTYPES_ONLY, /obj/item/chems/drinks/bottle/small = TRADER_BLACKLIST, - /obj/item/chems/food/checker = TRADER_BLACKLIST_ALL, /obj/item/chems/food/fruit_slice = TRADER_BLACKLIST, /obj/item/chems/food/slice = TRADER_BLACKLIST_ALL, /obj/item/chems/food/grown = TRADER_BLACKLIST_ALL, diff --git a/code/datums/type_cloning.dm b/code/datums/type_cloning.dm index b0aeb132fb2..4ceeea67dfe 100644 --- a/code/datums/type_cloning.dm +++ b/code/datums/type_cloning.dm @@ -6,3 +6,5 @@ /matrix/GetCloneArgs() return list(src) //Matrices handle copies themselves +/image/GetCloneArgs() + return list(src) //Same for images \ No newline at end of file diff --git a/code/datums/uplink/services.dm b/code/datums/uplink/services.dm index 3a81c4f9149..6bec9ead893 100644 --- a/code/datums/uplink/services.dm +++ b/code/datums/uplink/services.dm @@ -41,7 +41,7 @@ /datum/uplink_item/item/services/fake_update_annoncement/New() ..() item_cost = round(DEFAULT_TELECRYSTAL_AMOUNT / 2) - addtimer(CALLBACK(src, .proc/finalize_announce), 2) + addtimer(CALLBACK(src, PROC_REF(finalize_announce)), 2) /datum/uplink_item/item/services/fake_update_annoncement/proc/finalize_announce() name = "[command_name()] Update Announcement" @@ -98,7 +98,7 @@ log_and_message_admins("has activated the service '[service_label]'", user) if(service_duration) - addtimer(CALLBACK(src,/obj/item/uplink_service/proc/deactivate), service_duration) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/uplink_service, deactivate)), service_duration) else deactivate() diff --git a/code/datums/vote/add_antag.dm b/code/datums/vote/add_antag.dm index 1d04ea08cbd..f9b82057ce2 100644 --- a/code/datums/vote/add_antag.dm +++ b/code/datums/vote/add_antag.dm @@ -43,7 +43,7 @@ global.additional_antag_types |= antag_type return - INVOKE_ASYNC(src, .proc/spawn_antags) //There is a sleep in this proc. + INVOKE_ASYNC(src, PROC_REF(spawn_antags)) //There is a sleep in this proc. /datum/vote/add_antagonist/proc/spawn_antags() @@ -58,7 +58,7 @@ antag_add_finished = 1 if(automatic) // the buffer will already have half an hour added to it, so we'll give it one more - transfer_controller.timerbuffer += config.vote_autotransfer_interval + transfer_controller.timerbuffer += get_config_value(/decl/config/num/vote_autotransfer_initial) else to_world("No antags were added.") if(automatic) diff --git a/code/datums/vote/gamemode.dm b/code/datums/vote/gamemode.dm index bb05d20a73d..663de74d6c0 100644 --- a/code/datums/vote/gamemode.dm +++ b/code/datums/vote/gamemode.dm @@ -6,7 +6,7 @@ show_leading = TRUE /datum/vote/gamemode/can_run(mob/creator, automatic) - if(!automatic && (!config.allow_vote_mode || !is_admin(creator))) + if(!automatic && (!get_config_value(/decl/config/toggle/vote_mode) || !is_admin(creator))) return FALSE // Admins and autovotes bypass the config setting. if(GAME_STATE >= RUNLEVEL_GAME) return FALSE @@ -20,7 +20,7 @@ /datum/vote/gamemode/setup_vote(mob/creator, automatic) ..() - choices += config.votable_modes + choices += get_config_value(/decl/config/lists/mode_votable) for (var/F in choices) var/decl/game_mode/M = decls_repository.get_decl_by_id(F, validate_decl_type = FALSE) if(!M) @@ -50,8 +50,8 @@ SSticker.gamemode_vote_results = result.Copy() /datum/vote/gamemode/check_toggle() - return config.allow_vote_mode ? "Allowed" : "Disallowed" + return get_config_value(/decl/config/toggle/vote_mode) ? "Allowed" : "Disallowed" /datum/vote/gamemode/toggle(mob/user) if(is_admin(user)) - config.allow_vote_mode = !config.allow_vote_mode \ No newline at end of file + toggle_config_value(/decl/config/toggle/vote_mode) diff --git a/code/datums/vote/map.dm b/code/datums/vote/map.dm index 6eccbb34d31..9e64ac63bcb 100644 --- a/code/datums/vote/map.dm +++ b/code/datums/vote/map.dm @@ -2,7 +2,7 @@ name = "map" /datum/vote/map/can_run(mob/creator, automatic) - if(!config.allow_map_switching) + if(!get_config_value(/decl/config/toggle/allow_map_switching)) return FALSE if(!automatic && !is_admin(creator)) return FALSE // Must be an admin. diff --git a/code/datums/vote/restart.dm b/code/datums/vote/restart.dm index a3e49a04fbb..75a564d6d59 100644 --- a/code/datums/vote/restart.dm +++ b/code/datums/vote/restart.dm @@ -6,7 +6,7 @@ results_length = 1 /datum/vote/restart/can_run(mob/creator, automatic) - if(!automatic && !config.allow_vote_restart && !is_admin(creator)) + if(!automatic && !get_config_value(/decl/config/toggle/vote_restart) && !is_admin(creator)) return FALSE // Admins and autovotes bypass the config setting. return ..() diff --git a/code/datums/vote/transfer.dm b/code/datums/vote/transfer.dm index 52de1c72e4c..b009162dcc4 100644 --- a/code/datums/vote/transfer.dm +++ b/code/datums/vote/transfer.dm @@ -7,7 +7,7 @@ return if(!SSevac.evacuation_controller || !SSevac.evacuation_controller.should_call_autotransfer_vote()) return FALSE - if(!automatic && !config.allow_vote_restart && !is_admin(creator)) + if(!automatic && !get_config_value(/decl/config/toggle/vote_restart) && !is_admin(creator)) return FALSE // Admins and autovotes bypass the config setting. if(check_rights(R_INVESTIGATE, 0, creator)) return //Mods bypass further checks. @@ -18,13 +18,13 @@ return FALSE /datum/vote/transfer/setup_vote(mob/creator, automatic) - choices = list("Initiate Crew Transfer", "Extend the Round ([config.vote_autotransfer_interval / 600] minutes)") - if (config.allow_extra_antags && SSvote.is_addantag_allowed(creator, automatic)) + choices = list("Initiate Crew Transfer", "Extend the Round ([get_config_value(/decl/config/num/vote_autotransfer_interval) / 600] minutes)") + if (get_config_value(/decl/config/toggle/allow_extra_antags) && SSvote.is_addantag_allowed(creator, automatic)) choices += "Add Antagonist" ..() /datum/vote/transfer/handle_default_votes() - if(config.vote_no_default) + if(get_config_value(/decl/config/num/vote_no_default)) return var/factor = 0.5 switch(world.time / (1 MINUTE)) @@ -52,12 +52,12 @@ /datum/vote/transfer/mob_not_participating(mob/user) if((. = ..())) return - if(config.vote_no_dead_crew_transfer) + if(get_config_value(/decl/config/num/vote_no_dead_crew_transfer)) return !isliving(user) || ismouse(user) || isdrone(user) /datum/vote/transfer/check_toggle() - return config.allow_vote_restart ? "Allowed" : "Disallowed" + return get_config_value(/decl/config/toggle/vote_restart) ? "Allowed" : "Disallowed" /datum/vote/transfer/toggle(mob/user) if(is_admin(user)) - config.allow_vote_restart = !config.allow_vote_restart \ No newline at end of file + toggle_config_value(/decl/config/toggle/vote_restart) \ No newline at end of file diff --git a/code/datums/vote/vote.dm b/code/datums/vote/vote.dm index 27601e02718..df85565327f 100644 --- a/code/datums/vote/vote.dm +++ b/code/datums/vote/vote.dm @@ -53,7 +53,7 @@ /datum/vote/proc/start_vote() start_time = world.time - time_set = (time_set ? time_set : config.vote_period) + time_set = (time_set ? time_set : get_config_value(/decl/config/num/vote_period)) time_remaining = round(time_set / 10) status = VOTE_STATUS_ACTIVE @@ -68,7 +68,7 @@ //Modifies the vote totals based on non-voting mobs. /datum/vote/proc/handle_default_votes() - if(!config.vote_no_default) + if(!get_config_value(/decl/config/num/vote_no_default)) return length(global.clients) - length(voted) //Number of non-voters (might not be active, though; should be revisited if the config option is used. This is legacy code.) /datum/vote/proc/tally_result() @@ -130,7 +130,7 @@ // Checks if the mob is participating in the round sufficiently to vote, as per config settings. /datum/vote/proc/mob_not_participating(mob/voter) - if(config.vote_no_dead && voter.stat == DEAD && !voter.client.holder) + if(get_config_value(/decl/config/num/vote_no_dead) && voter.stat == DEAD && !voter.client.holder) return 1 //null = no toggle set. This is for UI purposes; a text return will give a link (toggle; currently "return") in the vote panel. diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index d8e207e3a19..951e79f60e8 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -170,7 +170,7 @@ var/global/const/AIRLOCK_WIRE_SPEAKER = 4096 A.aiControlDisabled = 1 else if(A.aiControlDisabled == -1) A.aiControlDisabled = 2 - addtimer(CALLBACK(src, .proc/reset_ai_control, A), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(reset_ai_control), A), 1 SECOND) if(AIRLOCK_WIRE_ELECTRIFY) //one wire for electrifying the door. Sending a pulse through this electrifies the door for 30 seconds. diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm index b8b7817e339..ddcce1fc75e 100644 --- a/code/datums/wires/alarm.dm +++ b/code/datums/wires/alarm.dm @@ -84,13 +84,13 @@ var/global/const/AALARM_WIRE_AALARM = 16 if(A.shorted == 0) A.shorted = 1 A.update_icon() - addtimer(CALLBACK(src, .proc/clear_shorted), 20 MINUTES) + addtimer(CALLBACK(src, PROC_REF(clear_shorted)), 20 MINUTES) if (AALARM_WIRE_AI_CONTROL) if (A.aidisabled == 0) A.aidisabled = 1 A.updateDialog() - addtimer(CALLBACK(src, .proc/clear_ai_disabled, 10 SECONDS)) + addtimer(CALLBACK(src, PROC_REF(clear_ai_disabled), 10 SECONDS)) if(AALARM_WIRE_SYPHON) if(A.mode == 1) // AALARM_MODE_SCRUB diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index 4dbafcde5e4..b7d1221c081 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -5,7 +5,7 @@ /datum/wires/apc holder_type = /obj/machinery/power/apc - wire_count = 4 + wire_count = 4 descriptions = list( new /datum/wire_description(APC_WIRE_IDSCAN, "This wire is connected to the ID scanning panel.", SKILL_EXPERT), new /datum/wire_description(APC_WIRE_MAIN_POWER1, "This wire seems to be carrying a heavy current."), @@ -48,17 +48,17 @@ if(APC_WIRE_IDSCAN) A.locked = 0 - addtimer(CALLBACK(src, .proc/reset_locked), 30 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset_locked)), 30 SECONDS) if (APC_WIRE_MAIN_POWER1, APC_WIRE_MAIN_POWER2) if(A.shorted == 0) A.shorted = 1 - addtimer(CALLBACK(src, .proc/reset_shorted), 2 MINUTES) - + addtimer(CALLBACK(src, PROC_REF(reset_shorted)), 2 MINUTES) + if (APC_WIRE_AI_CONTROL) if (A.aidisabled == 0) A.aidisabled = 1 - addtimer(CALLBACK(src, .proc/reset_ai_disabled), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(reset_ai_disabled)), 1 SECOND) /datum/wires/apc/UpdateCut(var/index, var/mended) var/obj/machinery/power/apc/A = holder diff --git a/code/datums/wires/fabricator.dm b/code/datums/wires/fabricator.dm index f19c27f9e41..a9a040f6fee 100644 --- a/code/datums/wires/fabricator.dm +++ b/code/datums/wires/fabricator.dm @@ -60,21 +60,21 @@ A.fab_status_flags &= ~FAB_HACKED else A.fab_status_flags |= FAB_HACKED - addtimer(CALLBACK(src, .proc/reset_flag, index, FAB_HACKED), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset_flag), index, FAB_HACKED), 5 SECONDS) if(AUTOLATHE_SHOCK_WIRE) if(A.fab_status_flags & FAB_SHOCKED) A.fab_status_flags &= ~FAB_SHOCKED else A.fab_status_flags |= FAB_SHOCKED - addtimer(CALLBACK(src, .proc/reset_flag, index, FAB_SHOCKED), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset_flag), index, FAB_SHOCKED), 5 SECONDS) if(AUTOLATHE_DISABLE_WIRE) if(A.fab_status_flags & FAB_DISABLED) A.fab_status_flags &= ~FAB_DISABLED else A.fab_status_flags |= FAB_DISABLED - addtimer(CALLBACK(src, .proc/reset_flag, index, FAB_DISABLED), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reset_flag), index, FAB_DISABLED), 5 SECONDS) #undef AUTOLATHE_HACK_WIRE #undef AUTOLATHE_SHOCK_WIRE diff --git a/code/datums/wires/nuclearbomb.dm b/code/datums/wires/nuclearbomb.dm index 0b7a0ca2397..06c679edfd2 100644 --- a/code/datums/wires/nuclearbomb.dm +++ b/code/datums/wires/nuclearbomb.dm @@ -53,14 +53,14 @@ var/global/const/NUCLEARBOMB_WIRE_SAFETY = 4 N.lighthack = !N.lighthack N.update_icon() toggle_hacked() - addtimer(CALLBACK(src, .proc/toggle_hacked), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(toggle_hacked)), 10 SECONDS) if(NUCLEARBOMB_WIRE_TIMING) if(N.timing) log_and_explode("pulsed a nuclear bomb's detonation wire, causing it to explode.") if(NUCLEARBOMB_WIRE_SAFETY) N.safety = !N.safety - addtimer(CALLBACK(src, .proc/toggle_safety), 10 SECONDS) + addtimer(CALLBACK(src, PROC_REF(toggle_safety)), 10 SECONDS) /datum/wires/nuclearbomb/UpdateCut(var/index, var/mended) var/obj/machinery/nuclearbomb/N = holder diff --git a/code/datums/wires/smes.dm b/code/datums/wires/smes.dm index 16e0883f842..15eff146d15 100644 --- a/code/datums/wires/smes.dm +++ b/code/datums/wires/smes.dm @@ -63,7 +63,7 @@ var/global/const/SMES_WIRE_FAILSAFES = 16 // Cut to disable failsafes, mend to r if(SMES_WIRE_RCON) if(S.RCon) S.RCon = 0 - addtimer(CALLBACK(src, .proc/reset_rcon), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(reset_rcon)), 1 SECOND) if(SMES_WIRE_INPUT) S.toggle_input() if(SMES_WIRE_OUTPUT) @@ -73,4 +73,4 @@ var/global/const/SMES_WIRE_FAILSAFES = 16 // Cut to disable failsafes, mend to r if(SMES_WIRE_FAILSAFES) if(S.safeties_enabled) S.safeties_enabled = 0 - addtimer(CALLBACK(src, .proc/reset_safeties), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(reset_safeties)), 1 SECOND) diff --git a/code/game/antagonist/antagonist.dm b/code/game/antagonist/antagonist.dm index 6a4919f951f..6aabe004cbe 100644 --- a/code/game/antagonist/antagonist.dm +++ b/code/game/antagonist/antagonist.dm @@ -92,7 +92,7 @@ get_starting_locations() if(!name_plural) name_plural = name - if(config.protect_roles_from_antagonist) + if(get_config_value(/decl/config/toggle/protect_roles_from_antagonist)) restricted_jobs |= protected_jobs if(antaghud_indicator) if(!global.hud_icon_reference) @@ -136,10 +136,11 @@ // Prune restricted status. Broke it up for readability. // Note that this is done before jobs are handed out. + var/age_restriction = get_config_value(/decl/config/num/use_age_restriction_for_antags) for(var/datum/mind/player in mode.get_players_for_role(type)) if(ghosts_only && !(isghostmind(player) || isnewplayer(player.current))) log_debug("[key_name(player)] is not eligible to become a [name]: Only ghosts may join as this role!") - else if(config.use_age_restriction_for_antags && player.current.client.player_age < minimum_player_age) + else if(age_restriction && player.current.client.player_age < minimum_player_age) log_debug("[key_name(player)] is not eligible to become a [name]: Is only [player.current.client.player_age] day\s old, has to be [minimum_player_age] day\s!") else if(player.assigned_special_role) log_debug("[key_name(player)] is not eligible to become a [name]: They already have a special role ([player.get_special_role_name("unknown role")])!") @@ -159,10 +160,11 @@ var/candidates = list() // Keeping broken up for readability + var/age_restriction = get_config_value(/decl/config/num/use_age_restriction_for_antags) for(var/datum/mind/player in mode.get_players_for_role(type)) if(ghosts_only && !(isghostmind(player) || isnewplayer(player.current))) continue - if(config.use_age_restriction_for_antags && player.current.client.player_age < minimum_player_age) + if(age_restriction && player.current.client.player_age < minimum_player_age) continue if(player.assigned_special_role) continue diff --git a/code/game/antagonist/antagonist_add.dm b/code/game/antagonist/antagonist_add.dm index 8ecfb5a6c5b..df05b830089 100644 --- a/code/game/antagonist/antagonist_add.dm +++ b/code/game/antagonist/antagonist_add.dm @@ -60,7 +60,7 @@ if(faction_verb) player.current.verbs |= faction_verb - if(config.objectives_disabled == CONFIG_OBJECTIVE_VERB) + if(get_config_value(/decl/config/enum/objectives_disabled) == CONFIG_OBJECTIVE_VERB) player.current.verbs += /mob/proc/add_objectives if(player.current.client) diff --git a/code/game/antagonist/antagonist_create.dm b/code/game/antagonist/antagonist_create.dm index cd86a919362..10c459c2c7d 100644 --- a/code/game/antagonist/antagonist_create.dm +++ b/code/game/antagonist/antagonist_create.dm @@ -8,7 +8,7 @@ remove_antagonist(target) return 0 if(flags & ANTAG_CHOOSE_NAME) - INVOKE_ASYNC(src, .proc/set_antag_name, target.current) + INVOKE_ASYNC(src, PROC_REF(set_antag_name), target.current) if(move) place_mob(target.current) update_leader() @@ -75,7 +75,7 @@ to_chat(player.current, "[get_leader_welcome_text(player.current)]") else to_chat(player.current, "[get_welcome_text(player.current)]") - if (config.objectives_disabled == CONFIG_OBJECTIVE_NONE || !player.objectives.len) + if (get_config_value(/decl/config/enum/objectives_disabled) == CONFIG_OBJECTIVE_NONE || !player.objectives.len) to_chat(player.current, get_antag_text(player.current)) if((flags & ANTAG_HAS_NUKE) && !spawned_nuke) diff --git a/code/game/antagonist/antagonist_helpers.dm b/code/game/antagonist/antagonist_helpers.dm index 6f7cbf938ca..f882c80efcd 100644 --- a/code/game/antagonist/antagonist_helpers.dm +++ b/code/game/antagonist/antagonist_helpers.dm @@ -12,7 +12,7 @@ if(player.current && player.current.client) var/client/C = player.current.client // Limits antag status to clients above player age, if the age system is being used. - if(C && config.use_age_restriction_for_jobs && isnum(C.player_age) && isnum(min_player_age) && (C.player_age < min_player_age)) + if(C && get_config_value(/decl/config/num/use_age_restriction_for_jobs) && isnum(C.player_age) && isnum(min_player_age) && (C.player_age < min_player_age)) return FALSE if(player.assigned_job) if(is_type_in_list(player.assigned_job, blacklisted_jobs) || is_type_in_list(player.assigned_job, restricted_jobs)) diff --git a/code/game/antagonist/antagonist_objectives.dm b/code/game/antagonist/antagonist_objectives.dm index 019249fa72a..5e0f27068cf 100644 --- a/code/game/antagonist/antagonist_objectives.dm +++ b/code/game/antagonist/antagonist_objectives.dm @@ -1,12 +1,12 @@ /decl/special_role/proc/create_global_objectives(var/override=0) - if(config.objectives_disabled != CONFIG_OBJECTIVE_ALL && !override) + if(get_config_value(/decl/config/enum/objectives_disabled) != CONFIG_OBJECTIVE_ALL && !override) return 0 if(global_objectives && global_objectives.len) return 0 return 1 /decl/special_role/proc/create_objectives(var/datum/mind/player, var/override=0) - if(config.objectives_disabled != CONFIG_OBJECTIVE_ALL && !override) + if(get_config_value(/decl/config/enum/objectives_disabled) != CONFIG_OBJECTIVE_ALL && !override) return 0 if(create_global_objectives(override) || global_objectives.len) player.objectives |= global_objectives diff --git a/code/game/antagonist/outsider/ninja.dm b/code/game/antagonist/outsider/ninja.dm index dc90996ea1a..a11cfa5ae17 100644 --- a/code/game/antagonist/outsider/ninja.dm +++ b/code/game/antagonist/outsider/ninja.dm @@ -18,7 +18,7 @@ rig_type = /obj/item/rig/light/ninja /decl/special_role/ninja/attempt_random_spawn() - if(config.ninjas_allowed) + if(get_config_value(/decl/config/toggle/ninjas_allowed)) ..() /decl/special_role/ninja/create_objectives(var/datum/mind/ninja) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 673d6a34234..f97c51be41c 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -132,6 +132,7 @@ var/global/list/areas = list() T.last_outside_check = OUTSIDE_UNCERTAIN if(T.is_outside == OUTSIDE_AREA && T.is_outside() != old_outside) T.update_weather() + T.update_external_atmos_participation() /turf/proc/update_registrations_on_adjacent_area_change() for(var/obj/machinery/door/firedoor/door in src) @@ -403,7 +404,7 @@ var/global/list/mob/living/forced_ambiance_list = new /area/proc/throw_unbuckled_occupants(var/maxrange, var/speed, var/direction) for(var/mob/M in src) - addtimer(CALLBACK(src, .proc/throw_unbuckled_occupant, M, maxrange, speed, direction), 0) + addtimer(CALLBACK(src, PROC_REF(throw_unbuckled_occupant), M, maxrange, speed, direction), 0) /area/proc/throw_unbuckled_occupant(var/mob/M, var/maxrange, var/speed, var/direction) if(iscarbon(M)) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 7498d17ea4a..c2d8d3f01a5 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -743,9 +743,27 @@ /atom/proc/get_color() return color -/// Set the color of this atom to `new_color`. -/atom/proc/set_color(new_color) - color = new_color +/* Set the atom colour. This is a stub effectively due to the broad use of direct setting. */ +// TODO: implement this everywhere that it should be used instead of direct setting. +/atom/proc/set_color(var/new_color) + if(isnull(new_color)) + return reset_color() + if(color != new_color) + color = new_color + return TRUE + return FALSE + +/atom/proc/reset_color() + if(!isnull(color)) + color = null + return TRUE + return FALSE + +/atom/proc/set_alpha(var/new_alpha) + if(alpha != new_alpha) + alpha = new_alpha + return TRUE + return FALSE /// Get any power cell associated with this atom. /atom/proc/get_cell() diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 84c5bbad3d0..823e50c8313 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -10,7 +10,7 @@ var/buckle_layer_above = FALSE var/buckle_dir = 0 var/buckle_lying = -1 // bed-like behavior, forces mob.lying = buckle_lying if != -1 - var/buckle_pixel_shift // ex. @"{'x':0,'y':0,'z':0}" //where the buckled mob should be pixel shifted to, or null for no pixel shift control + var/buckle_pixel_shift // ex. @'{"x":0,"y":0,"z":0}' //where the buckled mob should be pixel shifted to, or null for no pixel shift control var/buckle_require_restraints = 0 // require people to be cuffed before being able to buckle. eg: pipes var/buckle_require_same_tile = FALSE var/buckle_sound @@ -144,7 +144,7 @@ if (A && yes) A.last_bumped = world.time - INVOKE_ASYNC(A, /atom/proc/Bumped, src) // Avoids bad actors sleeping or unexpected side effects, as the legacy behavior was to spawn here + INVOKE_ASYNC(A, TYPE_PROC_REF(/atom, Bumped), src) // Avoids bad actors sleeping or unexpected side effects, as the legacy behavior was to spawn here ..() /atom/movable/proc/forceMove(atom/destination) diff --git a/code/game/atoms_movable_interactions.dm b/code/game/atoms_movable_interactions.dm index dbc52b71a14..110c09afb82 100644 --- a/code/game/atoms_movable_interactions.dm +++ b/code/game/atoms_movable_interactions.dm @@ -1,6 +1,6 @@ /atom/movable/get_alt_interactions(var/mob/user) . = ..() - if(config.expanded_alt_interactions) + if(get_config_value(/decl/config/toggle/expanded_alt_interactions)) LAZYADD(., list( /decl/interaction_handler/look, /decl/interaction_handler/grab diff --git a/code/game/atoms_movable_overlay.dm b/code/game/atoms_movable_overlay.dm index a50abbb36a8..9d286c7913f 100644 --- a/code/game/atoms_movable_overlay.dm +++ b/code/game/atoms_movable_overlay.dm @@ -23,8 +23,8 @@ events_repository.register(/decl/observ/moved, master, src, follow_proc) SetInitLoc() - events_repository.register(/decl/observ/destroyed, master, src, /datum/proc/qdel_self) - events_repository.register(/decl/observ/dir_set, master, src, /atom/proc/recursive_dir_set) + events_repository.register(/decl/observ/destroyed, master, src, TYPE_PROC_REF(/datum, qdel_self)) + events_repository.register(/decl/observ/dir_set, master, src, TYPE_PROC_REF(/atom, recursive_dir_set)) . = ..() diff --git a/code/game/atoms_temperature.dm b/code/game/atoms_temperature.dm index e340bf91c44..609bac2f7b2 100644 --- a/code/game/atoms_temperature.dm +++ b/code/game/atoms_temperature.dm @@ -24,8 +24,8 @@ if(!ATOM_SHOULD_TEMPERATURE_ENQUEUE(src)) return FALSE - var/diff_temp = (adjust_temp - temperature) - if(diff_temp <= 0) + var/diff_temp = round(adjust_temp - temperature, 0.1) + if(diff_temp <= 0.1) return FALSE // Show a little message for people heating beakers with welding torches. diff --git a/code/game/base_turf.dm b/code/game/base_turf.dm index edb7d1006f7..671213c63e8 100644 --- a/code/game/base_turf.dm +++ b/code/game/base_turf.dm @@ -11,12 +11,30 @@ if(HasBelow(T.z)) if(istype(A) && A.open_turf) return A.open_turf + + // Find the first non-open turf below and use its open_turf_type. + var/z_stack_type = get_open_turf_type(T) + if(z_stack_type) + return z_stack_type + + // Otherwise, default to the open turf type set on the turf being removed. if(T.open_turf_type) return T.open_turf_type if(istype(A) && A.base_turf) return A.base_turf return get_base_turf(T.z) +// Returns the open turf of a Z-stack by finding the nearest non-open turf below. +/proc/get_open_turf_type(var/turf/T) + if(!HasBelow(T.z)) + return + var/turf/below = T + while ((below = GetBelow(below))) + if(!below.is_open() || !HasBelow(below.z)) + if(below.open_turf_type) + return below.open_turf_type + return + /client/proc/set_base_turf() set category = "Debug" set name = "Set Base Turf" diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 0121e88e2d2..e62b0ac06ce 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -121,21 +121,25 @@ var/global/list/assigned_blocks[DNA_SE_LENGTH] // INITIALIZE! ResetUI(1) - SetUIValueRange(DNA_UI_HAIR_R, HEX_RED(character.hair_colour), 255, 1) - SetUIValueRange(DNA_UI_HAIR_G, HEX_GREEN(character.hair_colour), 255, 1) - SetUIValueRange(DNA_UI_HAIR_B, HEX_BLUE(character.hair_colour), 255, 1) - - SetUIValueRange(DNA_UI_BEARD_R, HEX_RED(character.facial_hair_colour), 255, 1) - SetUIValueRange(DNA_UI_BEARD_G, HEX_GREEN(character.facial_hair_colour), 255, 1) - SetUIValueRange(DNA_UI_BEARD_B, HEX_BLUE(character.facial_hair_colour), 255, 1) - - SetUIValueRange(DNA_UI_EYES_R, HEX_RED(character.eye_colour), 255, 1) - SetUIValueRange(DNA_UI_EYES_G, HEX_GREEN(character.eye_colour), 255, 1) - SetUIValueRange(DNA_UI_EYES_B, HEX_BLUE(character.eye_colour), 255, 1) - - SetUIValueRange(DNA_UI_SKIN_R, HEX_RED(character.skin_colour), 255, 1) - SetUIValueRange(DNA_UI_SKIN_G, HEX_GREEN(character.skin_colour), 255, 1) - SetUIValueRange(DNA_UI_SKIN_B, HEX_BLUE(character.skin_colour), 255, 1) + var/hair_colour = character.get_hair_colour() + SetUIValueRange(DNA_UI_HAIR_R, HEX_RED(hair_colour), 255, 1) + SetUIValueRange(DNA_UI_HAIR_G, HEX_GREEN(hair_colour), 255, 1) + SetUIValueRange(DNA_UI_HAIR_B, HEX_BLUE(hair_colour), 255, 1) + + var/facial_hair_colour = character.get_facial_hair_colour() + SetUIValueRange(DNA_UI_BEARD_R, HEX_RED(facial_hair_colour), 255, 1) + SetUIValueRange(DNA_UI_BEARD_G, HEX_GREEN(facial_hair_colour), 255, 1) + SetUIValueRange(DNA_UI_BEARD_B, HEX_BLUE(facial_hair_colour), 255, 1) + + var/eye_colour = character.get_eye_colour() + SetUIValueRange(DNA_UI_EYES_R, HEX_RED(eye_colour), 255, 1) + SetUIValueRange(DNA_UI_EYES_G, HEX_GREEN(eye_colour), 255, 1) + SetUIValueRange(DNA_UI_EYES_B, HEX_BLUE(eye_colour), 255, 1) + + var/skin_colour = character.get_skin_colour() + SetUIValueRange(DNA_UI_SKIN_R, HEX_RED(skin_colour), 255, 1) + SetUIValueRange(DNA_UI_SKIN_G, HEX_GREEN(skin_colour), 255, 1) + SetUIValueRange(DNA_UI_SKIN_B, HEX_BLUE(skin_colour), 255, 1) SetUIValueRange(DNA_UI_SKIN_TONE, 35-character.skin_tone, 220, 1) // Value can be negative. @@ -146,11 +150,11 @@ var/global/list/assigned_blocks[DNA_SE_LENGTH] // Hair var/list/hair_types = decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/hair) - SetUIValueRange(DNA_UI_HAIR_STYLE, hair_types.Find(character.h_style), length(hair_types), 1) + SetUIValueRange(DNA_UI_HAIR_STYLE, hair_types.Find(character.get_hairstyle()), length(hair_types), 1) // Facial Hair var/list/beard_types = decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/facial_hair) - SetUIValueRange(DNA_UI_BEARD_STYLE, beard_types.Find(character.f_style), length(beard_types), 1) + SetUIValueRange(DNA_UI_BEARD_STYLE, beard_types.Find(character.get_facial_hairstyle()), length(beard_types), 1) body_markings.Cut() for(var/obj/item/organ/external/E in character.get_external_organs()) diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm index 48c4da795e0..6d9b2912b64 100644 --- a/code/game/dna/dna2_helpers.dm +++ b/code/game/dna/dna2_helpers.dm @@ -143,13 +143,14 @@ dna.check_integrity() - fingerprint = dna.fingerprint - unique_enzymes = dna.unique_enzymes - hair_colour = rgb(dna.GetUIValueRange(DNA_UI_HAIR_R,255), dna.GetUIValueRange(DNA_UI_HAIR_G,255), dna.GetUIValueRange(DNA_UI_HAIR_B,255)) - facial_hair_colour = rgb(dna.GetUIValueRange(DNA_UI_BEARD_R,255), dna.GetUIValueRange(DNA_UI_BEARD_G,255), dna.GetUIValueRange(DNA_UI_BEARD_B,255)) - skin_colour = rgb(dna.GetUIValueRange(DNA_UI_SKIN_R,255), dna.GetUIValueRange(DNA_UI_SKIN_G,255), dna.GetUIValueRange(DNA_UI_SKIN_B,255)) - eye_colour = rgb(dna.GetUIValueRange(DNA_UI_EYES_R,255), dna.GetUIValueRange(DNA_UI_EYES_G,255), dna.GetUIValueRange(DNA_UI_EYES_B,255)) - skin_tone = 35 - dna.GetUIValueRange(DNA_UI_SKIN_TONE, 220) // Value can be negative. + fingerprint = dna.fingerprint + unique_enzymes = dna.unique_enzymes + set_skin_colour( rgb(dna.GetUIValueRange(DNA_UI_SKIN_R,255), dna.GetUIValueRange(DNA_UI_SKIN_G,255), dna.GetUIValueRange(DNA_UI_SKIN_B,255))) + set_eye_colour( rgb(dna.GetUIValueRange(DNA_UI_EYES_R,255), dna.GetUIValueRange(DNA_UI_EYES_G,255), dna.GetUIValueRange(DNA_UI_EYES_B,255))) + set_hair_colour( rgb(dna.GetUIValueRange(DNA_UI_HAIR_R,255), dna.GetUIValueRange(DNA_UI_HAIR_G,255), dna.GetUIValueRange(DNA_UI_HAIR_B,255))) + set_facial_hair_colour(rgb(dna.GetUIValueRange(DNA_UI_BEARD_R,255), dna.GetUIValueRange(DNA_UI_BEARD_G,255), dna.GetUIValueRange(DNA_UI_BEARD_B,255))) + skin_tone = 35 - dna.GetUIValueRange(DNA_UI_SKIN_TONE, 220) // Value can be negative. + // TODO: update DNA gender to not be a bool - use bodytype and pronouns //Body markings @@ -167,19 +168,23 @@ organ.set_dna(dna) //Hair + var/update_hair = FALSE var/list/hair_subtypes = decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/hair) var/hair = dna.GetUIValueRange(DNA_UI_HAIR_STYLE, length(hair_subtypes)) if(hair > 0 && hair <= length(hair_subtypes)) - h_style = hair_subtypes[hair] + set_hairstyle(hair_subtypes[hair], skip_update = TRUE) + update_hair = TRUE //Facial Hair var/list/beard_subtypes = decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/facial_hair) var/beard = dna.GetUIValueRange(DNA_UI_BEARD_STYLE, length(beard_subtypes)) if((0 < beard) && (beard <= length(beard_subtypes))) - f_style = beard_subtypes[beard] + set_facial_hairstyle(beard_subtypes[beard], skip_update = TRUE) + update_hair = TRUE force_update_limbs() - update_hair(update_icons = FALSE) + if(update_hair) + update_hair(update_icons = FALSE) update_eyes() return TRUE diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 3e973359edd..02002444604 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -7,3 +7,4 @@ required_enemies = 3 end_on_antag_death = FALSE associated_antags = list(/decl/special_role/cultist) + probability = 1 diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 6d3194a0877..1b8a9ee79aa 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -117,7 +117,7 @@ /obj/effect/gateway/active/Initialize() . = ..() - addtimer(CALLBACK(src, .proc/create_and_delete), rand(30,60) SECONDS) + addtimer(CALLBACK(src, PROC_REF(create_and_delete)), rand(30,60) SECONDS) /obj/effect/gateway/active/proc/create_and_delete() diff --git a/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm b/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm index d273379e59a..88708dee839 100644 --- a/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm +++ b/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm @@ -84,9 +84,9 @@ daddy = ndaddy set_dir(daddy.dir) appearance = daddy.appearance - events_repository.register(/decl/observ/moved, daddy, src, /obj/effect/bluegoast/proc/mirror) - events_repository.register(/decl/observ/dir_set, daddy, src, /obj/effect/bluegoast/proc/mirror_dir) - events_repository.register(/decl/observ/destroyed, daddy, src, /datum/proc/qdel_self) + events_repository.register(/decl/observ/moved, daddy, src, TYPE_PROC_REF(/obj/effect/bluegoast, mirror)) + events_repository.register(/decl/observ/dir_set, daddy, src, TYPE_PROC_REF(/obj/effect/bluegoast, mirror_dir)) + events_repository.register(/decl/observ/destroyed, daddy, src, TYPE_PROC_REF(/datum, qdel_self)) /obj/effect/bluegoast/Destroy() events_repository.unregister(/decl/observ/destroyed, daddy, src) diff --git a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm index a3c8c357bd2..40a9036b8df 100644 --- a/code/game/gamemodes/endgame/supermatter_cascade/universe.dm +++ b/code/game/gamemodes/endgame/supermatter_cascade/universe.dm @@ -62,8 +62,8 @@ var/global/universe_has_ended = 0 if(length(global.endgame_exits)) spawned_exit = new /obj/effect/wormhole_exit(pick(global.endgame_exits)) - addtimer(CALLBACK(src, /datum/universal_state/supermatter_cascade/proc/announce_end_of_universe, spawned_exit), rand(30, 60) SECONDS) - addtimer(CALLBACK(src, /datum/universal_state/supermatter_cascade/proc/finalize_end_of_universe), 5 MINUTES) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/universal_state/supermatter_cascade, announce_end_of_universe), spawned_exit), rand(30, 60) SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/universal_state/supermatter_cascade, finalize_end_of_universe)), 5 MINUTES) /datum/universal_state/supermatter_cascade/proc/announce_end_of_universe(var/exit_exists) var/end_message = "Attn. [global.using_map.station_name]: Severe gravitational anomalies of unheard of scope have been detected in the local volume. Size and intensity of anomalies are increasing exponentially. Within the hour, a newborn black hole will have consumed everything in this sector." diff --git a/code/game/gamemodes/extended/extended.dm b/code/game/gamemodes/extended/extended.dm index 40706050003..a7e6fb5abc5 100644 --- a/code/game/gamemodes/extended/extended.dm +++ b/code/game/gamemodes/extended/extended.dm @@ -5,3 +5,4 @@ round_description = "Just have fun and role-play!" extended_round_description = "There are no antagonists during extended, unless an admin decides to be cheeky. Just play your character, mess around with your job, and have fun." addantag_allowed = ADDANTAG_ADMIN // No add antag vote allowed on extended, except when manually called by admins. + probability = 1 diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 62299631a4e..bc0a312e169 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -473,7 +473,7 @@ var/global/list/additional_antag_types = list() /decl/game_mode/proc/create_antagonists() - if(!config.traitor_scaling) + if(!get_config_value(/decl/config/toggle/traitor_scaling)) antag_scaling_coeff = 0 if(length(associated_antags)) @@ -572,7 +572,7 @@ var/global/list/additional_antag_types = list() if(!player || !player.current) return - if(config.objectives_disabled == CONFIG_OBJECTIVE_NONE || !player.objectives.len) + if(get_config_value(/decl/config/enum/objectives_disabled) == CONFIG_OBJECTIVE_NONE || !player.objectives.len) return var/obj_count = 1 diff --git a/code/game/gamemodes/game_mode_latespawn.dm b/code/game/gamemodes/game_mode_latespawn.dm index 802d83c3c00..8fd44e1744d 100644 --- a/code/game/gamemodes/game_mode_latespawn.dm +++ b/code/game/gamemodes/game_mode_latespawn.dm @@ -15,7 +15,7 @@ if(SSevac.evacuation_controller && (SSevac.evacuation_controller.is_evacuating() || SSevac.evacuation_controller.has_evacuated())) return FALSE // Don't create auto-antags in the last twenty minutes of the round, but only if the vote interval is longer than 20 minutes - if((config.vote_autotransfer_interval > 20 MINUTES) && (transfer_controller.time_till_transfer_vote() < 20 MINUTES)) + if((get_config_value(/decl/config/num/vote_autotransfer_interval) > 20 MINUTES) && (transfer_controller.time_till_transfer_vote() < 20 MINUTES)) return FALSE return TRUE diff --git a/code/game/gamemodes/godmode/form_items/narsie_items.dm b/code/game/gamemodes/godmode/form_items/narsie_items.dm index ff6855bcf6d..9ee399a014f 100644 --- a/code/game/gamemodes/godmode/form_items/narsie_items.dm +++ b/code/game/gamemodes/godmode/form_items/narsie_items.dm @@ -56,7 +56,7 @@ if(ismob(a)) var/mob/M = a if(M.stat != DEAD) - events_repository.register(/decl/observ/death, M,src,/obj/item/twohanded/fireaxe/cult/proc/gain_power) + events_repository.register(/decl/observ/death, M,src, TYPE_PROC_REF(/obj/item/twohanded/fireaxe/cult, gain_power)) spawn(30) events_repository.unregister(/decl/observ/death, M,src) return ..() diff --git a/code/game/gamemodes/godmode/form_items/starlight_structures.dm b/code/game/gamemodes/godmode/form_items/starlight_structures.dm index 406e463bb7e..51f3c734282 100644 --- a/code/game/gamemodes/godmode/form_items/starlight_structures.dm +++ b/code/game/gamemodes/godmode/form_items/starlight_structures.dm @@ -143,7 +143,7 @@ for(var/l in get_turf(linked_god)) if(istype(l, /mob/living/starlight_soul)) to_chat(l, "\The [src] is looking for a soul to become a [looking_for]. Accept? (Yes)") - addtimer(CALLBACK(src, .proc/stop_looking_for, FALSE), 30 SECONDS) + addtimer(CALLBACK(src, PROC_REF(stop_looking_for), FALSE), 30 SECONDS) show_browser(linked_god, null, "window=gateway") return TOPIC_HANDLED diff --git a/code/game/gamemodes/godmode/god_altar.dm b/code/game/gamemodes/godmode/god_altar.dm index 22c29581d91..34ddbfa847d 100644 --- a/code/game/gamemodes/godmode/god_altar.dm +++ b/code/game/gamemodes/godmode/god_altar.dm @@ -67,9 +67,9 @@ START_PROCESSING(SSobj, src) target = L update_icon() - events_repository.register(/decl/observ/destroyed, L,src,/obj/structure/deity/altar/proc/remove_target) - events_repository.register(/decl/observ/moved, L, src, /obj/structure/deity/altar/proc/remove_target) - events_repository.register(/decl/observ/death, L, src, /obj/structure/deity/altar/proc/remove_target) + events_repository.register(/decl/observ/destroyed, L,src, TYPE_PROC_REF(/obj/structure/deity/altar, remove_target)) + events_repository.register(/decl/observ/moved, L, src, TYPE_PROC_REF(/obj/structure/deity/altar, remove_target)) + events_repository.register(/decl/observ/death, L, src, TYPE_PROC_REF(/obj/structure/deity/altar, remove_target)) /obj/structure/deity/altar/proc/remove_target() STOP_PROCESSING(SSobj, src) diff --git a/code/game/gamemodes/godmode/god_pylon.dm b/code/game/gamemodes/godmode/god_pylon.dm index 14b50ce830d..cbbd31413fa 100644 --- a/code/game/gamemodes/godmode/god_pylon.dm +++ b/code/game/gamemodes/godmode/god_pylon.dm @@ -33,7 +33,7 @@ return to_chat(L, "You place your hands on \the [src], feeling yourself intune to its vibrations.") intuned += L - events_repository.register(/decl/observ/destroyed, L,src,/obj/structure/deity/pylon/proc/remove_intuned) + events_repository.register(/decl/observ/destroyed, L,src, TYPE_PROC_REF(/obj/structure/deity/pylon, remove_intuned)) /obj/structure/deity/pylon/proc/remove_intuned(var/mob/living/L) if(!(L in intuned)) diff --git a/code/game/gamemodes/godmode/god_trap.dm b/code/game/gamemodes/godmode/god_trap.dm index 323b3bf2e15..bcab3d15328 100644 --- a/code/game/gamemodes/godmode/god_trap.dm +++ b/code/game/gamemodes/godmode/god_trap.dm @@ -5,7 +5,7 @@ /obj/structure/deity/trap/Initialize() . = ..() - events_repository.register(/decl/observ/entered, get_turf(src),src,/obj/structure/deity/trap/proc/trigger) + events_repository.register(/decl/observ/entered, get_turf(src),src, TYPE_PROC_REF(/obj/structure/deity/trap, trigger)) /obj/structure/deity/trap/Destroy() events_repository.unregister(/decl/observ/entered, get_turf(src),src) @@ -14,7 +14,7 @@ /obj/structure/deity/trap/Move() events_repository.unregister(/decl/observ/entered, get_turf(src),src) . = ..() - events_repository.register(/decl/observ/entered, get_turf(src), src, /obj/structure/deity/trap/proc/trigger) + events_repository.register(/decl/observ/entered, get_turf(src), src, TYPE_PROC_REF(/obj/structure/deity/trap, trigger)) /obj/structure/deity/trap/attackby(obj/item/W, mob/user) trigger(user) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index f5b19a3e213..d774f6c9562 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -215,7 +215,7 @@ var/global/list/meteors_cataclysm = list(\ /obj/effect/meteor/proc/make_debris() if(meteordrop && dropamt) for(var/throws = dropamt, throws > 0, throws--) - addtimer(CALLBACK(new meteordrop(get_turf(src)), /atom/movable/proc/throw_at, dest, 5, 10), 0) + addtimer(CALLBACK(new meteordrop(get_turf(src)), TYPE_PROC_REF(/atom/movable, throw_at), dest, 5, 10), 0) /obj/effect/meteor/proc/meteor_effect() if(heavy) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 663767d11c0..410e50873a8 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -12,14 +12,15 @@ var/global/list/nuke_disks = list() required_players = 15 required_enemies = 1 end_on_antag_death = FALSE - var/nuke_off_station = 0 //Used for tracking if the syndies actually haul the nuke to the station - var/syndies_didnt_escape = 0 //Used for tracking if the syndies got the shuttle off of the z-level + probability = 1 associated_antags = list(/decl/special_role/mercenary) cinematic_icon_states = list( "intro_nuke" = 35, "summary_nukewin", "summary_nukefail" ) + var/nuke_off_station = 0 //Used for tracking if the syndies actually haul the nuke to the station + var/syndies_didnt_escape = 0 //Used for tracking if the syndies got the shuttle off of the z-level //checks if L has a nuke disk on their person /decl/game_mode/nuclear/proc/check_mob(mob/living/L) @@ -30,7 +31,7 @@ var/global/list/nuke_disks = list() /decl/game_mode/nuclear/declare_completion() var/decl/special_role/merc = GET_DECL(/decl/special_role/mercenary) - if(config.objectives_disabled == CONFIG_OBJECTIVE_NONE || (merc && !merc.global_objectives.len)) + if(get_config_value(/decl/config/enum/objectives_disabled) == CONFIG_OBJECTIVE_NONE || (merc && !merc.global_objectives.len)) ..() return var/disk_rescued = TRUE diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 4e1d0b54e6c..72792403db1 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -7,3 +7,4 @@ required_enemies = 1 end_on_antag_death = FALSE associated_antags = list(/decl/special_role/wizard) + probability = 1 diff --git a/code/game/jobs/job/_job.dm b/code/game/jobs/job/_job.dm index 896730ebdc8..d38135ba534 100644 --- a/code/game/jobs/job/_job.dm +++ b/code/game/jobs/job/_job.dm @@ -36,7 +36,7 @@ var/forced_spawnpoint // If set to a spawnpoint name, will use that spawn point for joining as this job. var/hud_icon // icon used for Sec HUD overlay - //Job access. The use of minimal_access or access is determined by a config setting: config.jobs_have_minimal_access + //Job access. The use of minimal_access or access is determined by a config setting: jobs_have_minimal_access var/list/minimal_access = list() // Useful for servers which prefer to only have access given to the places a job absolutely needs (Larger server population) var/list/access = list() // Useful for servers which either have fewer players, so each person needs to fill more than one role, or servers which like to give more access, so players can't hide forever in their super secure departments (I'm looking at you, chemistry!) @@ -166,7 +166,7 @@ . = outfit.equip_outfit(H, alt_title || title, equip_adjustments = (OUTFIT_ADJUSTMENT_SKIP_POST_EQUIP|OUTFIT_ADJUSTMENT_SKIP_ID_PDA|additional_skips), job = src, rank = grade) /datum/job/proc/get_access() - if(minimal_access.len && (!config || config.jobs_have_minimal_access)) + if(minimal_access.len && get_config_value(/decl/config/toggle/on/jobs_have_minimal_access)) return minimal_access?.Copy() return access?.Copy() @@ -175,7 +175,7 @@ return (available_in_days(C) == 0) //Available in 0 days = available right now = player is old enough to play. /datum/job/proc/available_in_days(client/C) - if(C && config.use_age_restriction_for_jobs && isnull(C.holder) && isnum(C.player_age) && isnum(minimal_player_age)) + if(C && get_config_value(/decl/config/num/use_age_restriction_for_jobs) && isnull(C.holder) && isnum(C.player_age) && isnum(minimal_player_age)) return max(0, minimal_player_age - C.player_age) return 0 diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index 771dc6e7423..e8e49a0f68a 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -3,7 +3,7 @@ var/global/list/whitelist = list() /hook/startup/proc/loadWhitelist() - if(config.usewhitelist) + if(get_config_value(/decl/config/toggle/usewhitelist)) load_whitelist() return 1 @@ -20,8 +20,8 @@ var/global/list/whitelist = list() var/global/list/alien_whitelist = list() /hook/startup/proc/loadAlienWhitelist() - if(config.usealienwhitelist) - if(config.usealienwhitelistSQL) + if(get_config_value(/decl/config/toggle/use_alien_whitelist)) + if(get_config_value(/decl/config/toggle/use_alien_whitelist_sql)) if(!load_alienwhitelistSQL()) to_world_log("Could not load alienwhitelist via SQL") else @@ -74,7 +74,7 @@ var/global/list/alien_whitelist = list() var/decl/language/L = species if(L.flags & LANG_FLAG_RESTRICTED) return FALSE - if(!config.usealienwhitelist || !(L.flags & LANG_FLAG_WHITELISTED)) + if(!get_config_value(/decl/config/toggle/use_alien_whitelist) || !(L.flags & LANG_FLAG_WHITELISTED)) return TRUE return whitelist_lookup(L.name, M.ckey) @@ -82,7 +82,7 @@ var/global/list/alien_whitelist = list() var/decl/species/S = species if(S.spawn_flags & SPECIES_IS_RESTRICTED) return FALSE - if(!config.usealienwhitelist || !(S.spawn_flags & SPECIES_IS_WHITELISTED)) + if(!get_config_value(/decl/config/toggle/use_alien_whitelist) || !(S.spawn_flags & SPECIES_IS_WHITELISTED)) return TRUE return whitelist_lookup(S.get_root_species_name(M), M.ckey) @@ -92,7 +92,7 @@ var/global/list/alien_whitelist = list() if(!alien_whitelist) return FALSE - if(config.usealienwhitelistSQL) + if(get_config_value(/decl/config/toggle/use_alien_whitelist_sql)) //SQL Whitelist if(!(ckey in alien_whitelist)) return FALSE diff --git a/code/game/machinery/_machines_base/machine_construction/pipe.dm b/code/game/machinery/_machines_base/machine_construction/pipe.dm index 5ea202b73ea..4667327dd0e 100644 --- a/code/game/machinery/_machines_base/machine_construction/pipe.dm +++ b/code/game/machinery/_machines_base/machine_construction/pipe.dm @@ -44,7 +44,7 @@ return TRUE playsound(get_turf(machine), 'sound/items/Welder2.ogg', 50, 1) TRANSFER_STATE(/decl/machine_construction/default/deconstructed) - machine.visible_message(SPAN_NOTICE("\The [user] unwelds \the [src].")) + machine.visible_message(SPAN_NOTICE("\The [user] unwelds \the [machine].")) machine.dismantle() /decl/machine_construction/pipe/welder/mechanics_info() diff --git a/code/game/machinery/_machines_base/machinery_components.dm b/code/game/machinery/_machines_base/machinery_components.dm index 7d7dd280131..6ac1793eba4 100644 --- a/code/game/machinery/_machines_base/machinery_components.dm +++ b/code/game/machinery/_machines_base/machinery_components.dm @@ -152,7 +152,7 @@ var/global/list/machine_path_to_circuit_type CRASH("Tried to insert \a '[part]' twice in \the [src] ([x], [y], [z])!") LAZYADD(component_parts, part) part.on_install(src) - events_repository.register(/decl/observ/destroyed, part, src, .proc/component_destroyed) + events_repository.register(/decl/observ/destroyed, part, src, PROC_REF(component_destroyed)) else if(ispath(part)) LAZYINITLIST(uncreated_component_parts) uncreated_component_parts[part] += 1 diff --git a/code/game/machinery/_machines_base/machinery_power.dm b/code/game/machinery/_machines_base/machinery_power.dm index 338a9a7a452..9e3aaff8a48 100644 --- a/code/game/machinery/_machines_base/machinery_power.dm +++ b/code/game/machinery/_machines_base/machinery_power.dm @@ -87,10 +87,10 @@ This is /obj/machinery level code to properly manage power usage from the area. if(MACHINE_UPDATES_FROM_AREA_POWER) var/area/my_area = get_area(src) if(istype(my_area)) - events_repository.register(/decl/observ/area_power_change, my_area, src, .proc/power_change) + events_repository.register(/decl/observ/area_power_change, my_area, src, PROC_REF(power_change)) if(mapload) // currently outside mapload, movables trigger loc/Entered(src, null) in ..(), which will update power. REPORT_POWER_CONSUMPTION_CHANGE(0, get_power_usage()) - events_repository.register(/decl/observ/moved, src, src, .proc/update_power_on_move) + events_repository.register(/decl/observ/moved, src, src, PROC_REF(update_power_on_move)) power_init_complete = TRUE . = ..() @@ -99,8 +99,8 @@ This is /obj/machinery level code to properly manage power usage from the area. if(MACHINE_UPDATES_FROM_AREA_POWER) var/area/my_area = get_area(src) if(istype(my_area)) - events_repository.unregister(/decl/observ/area_power_change, my_area, src, .proc/power_change) - events_repository.unregister(/decl/observ/moved, src, src, .proc/update_power_on_move) + events_repository.unregister(/decl/observ/area_power_change, my_area, src, PROC_REF(power_change)) + events_repository.unregister(/decl/observ/moved, src, src, PROC_REF(update_power_on_move)) REPORT_POWER_CONSUMPTION_CHANGE(get_power_usage(), 0) . = ..() @@ -120,11 +120,11 @@ This is /obj/machinery level code to properly manage power usage from the area. if(old_area) old_area.power_use_change(power, 0, power_channel) if(MACHINE_UPDATES_FROM_AREA_POWER) - events_repository.unregister(/decl/observ/area_power_change, old_area, src, .proc/power_change) + events_repository.unregister(/decl/observ/area_power_change, old_area, src, PROC_REF(power_change)) if(new_area) new_area.power_use_change(0, power, power_channel) if(MACHINE_UPDATES_FROM_AREA_POWER) - events_repository.register(/decl/observ/area_power_change, new_area, src, .proc/power_change) + events_repository.register(/decl/observ/area_power_change, new_area, src, PROC_REF(power_change)) power_change() // Force check in case the old area was powered and the new one isn't or vice versa. diff --git a/code/game/machinery/_machines_base/machinery_public_vars.dm b/code/game/machinery/_machines_base/machinery_public_vars.dm index 27ef2d83efb..d1288ef7817 100644 --- a/code/game/machinery/_machines_base/machinery_public_vars.dm +++ b/code/game/machinery/_machines_base/machinery_public_vars.dm @@ -62,7 +62,7 @@ Must be implemented by subtypes. return islist(new_value) if(IC_FORMAT_INDEX) return isnum(new_value) - + /* Listener registration. You must unregister yourself if you are destroyed; the owner being destroyed will be handled automatically. */ @@ -75,7 +75,7 @@ Listener registration. You must unregister yourself if you are destroyed; the ow return // Can try and register, but updates aren't coming if(!listeners[owner]) listeners[owner] = list() - events_repository.register(/decl/observ/destroyed, owner, src, .proc/owner_destroyed) + events_repository.register(/decl/observ/destroyed, owner, src, PROC_REF(owner_destroyed)) LAZYADD(listeners[owner][listener], registered_proc) return TRUE diff --git a/code/game/machinery/_machines_base/stock_parts/legacy_parts.dm b/code/game/machinery/_machines_base/stock_parts/legacy_parts.dm index ed87e48ab3f..7eb99203b77 100644 --- a/code/game/machinery/_machines_base/stock_parts/legacy_parts.dm +++ b/code/game/machinery/_machines_base/stock_parts/legacy_parts.dm @@ -4,7 +4,7 @@ name = "scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "scan_module" - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) base_type = /obj/item/stock_parts/scanning_module @@ -14,7 +14,7 @@ name = "micro-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "micro_mani" - origin_tech = "{'materials':1,'programming':1}" + origin_tech = @'{"materials":1,"programming":1}' material = /decl/material/solid/metal/steel base_type = /obj/item/stock_parts/manipulator w_class = ITEM_SIZE_TINY @@ -23,7 +23,7 @@ name = "micro-laser" desc = "A tiny laser used in certain devices." icon_state = "micro_laser" - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) base_type = /obj/item/stock_parts/micro_laser @@ -33,7 +33,7 @@ name = "matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "matter_bin" - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/metal/steel base_type = /obj/item/stock_parts/matter_bin @@ -41,7 +41,7 @@ name = "capacitor" desc = "A basic capacitor used in the construction of a variety of devices." icon_state = "capacitor" - origin_tech = "{'powerstorage':1}" + origin_tech = @'{"powerstorage":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) var/charge = 0 @@ -69,7 +69,7 @@ name = "advanced scanning module" desc = "A compact, high resolution scanning module used in the construction of certain devices." icon_state = "advanced_scan_module" - origin_tech = "{'magnets':3}" + origin_tech = @'{"magnets":3}' rating = 2 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) @@ -78,7 +78,7 @@ name = "nano-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "nano_mani" - origin_tech = "{'materials':3,'programming':2}" + origin_tech = @'{"materials":3,"programming":2}' rating = 2 material = /decl/material/solid/metal/steel @@ -86,7 +86,7 @@ name = "high-power micro-laser" desc = "A tiny laser used in certain devices." icon_state = "high_micro_laser" - origin_tech = "{'magnets':3}" + origin_tech = @'{"magnets":3}' rating = 2 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) @@ -95,14 +95,14 @@ name = "advanced matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "advanced_matter_bin" - origin_tech = "{'materials':3}" + origin_tech = @'{"materials":3}' rating = 2 material = /decl/material/solid/metal/steel /obj/item/stock_parts/capacitor/adv name = "advanced capacitor" desc = "An advanced capacitor used in the construction of a variety of devices." - origin_tech = "{'powerstorage':3}" + origin_tech = @'{"powerstorage":3}' icon_state = "advanced_capacitor" rating = 2 @@ -112,7 +112,7 @@ name = "phasic scanning module" desc = "A compact, high resolution phasic scanning module used in the construction of certain devices." icon_state = "phasic_scan_module" - origin_tech = "{'magnets':5}" + origin_tech = @'{"magnets":5}' rating = 3 material = /decl/material/solid/metal/steel matter = list( @@ -124,7 +124,7 @@ name = "pico-manipulator" desc = "A tiny little manipulator used in the construction of certain devices." icon_state = "pico_mani" - origin_tech = "{'materials':5,'programming':2}" + origin_tech = @'{"materials":5,"programming":2}' rating = 3 material = /decl/material/solid/metal/steel @@ -132,7 +132,7 @@ name = "ultra-high-power micro-laser" icon_state = "ultra_high_micro_laser" desc = "A tiny laser used in certain devices." - origin_tech = "{'magnets':5}" + origin_tech = @'{"magnets":5}' rating = 3 material = /decl/material/solid/metal/steel matter = list( @@ -144,7 +144,7 @@ name = "super matter bin" desc = "A container for hold compressed matter awaiting re-construction." icon_state = "super_matter_bin" - origin_tech = "{'materials':5}" + origin_tech = @'{"materials":5}' rating = 3 material = /decl/material/solid/metal/steel @@ -152,7 +152,7 @@ name = "super capacitor" desc = "A super-high capacity capacitor used in the construction of a variety of devices." icon_state = "super_capacitor" - origin_tech = "{'powerstorage':5,'materials':4}" + origin_tech = @'{"powerstorage":5,"materials":4}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, @@ -166,7 +166,7 @@ name = "subspace ansible" icon_state = "subspace_ansible" desc = "A compact module capable of sensing extradimensional activity." - origin_tech = "{'programming':3,'magnets':5,'materials':4,'wormholes':2}" + origin_tech = @'{"programming":3,"magnets":5,"materials":4,"wormholes":2}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT) @@ -174,7 +174,7 @@ name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." - origin_tech = "{'programming':4,'magnets':2}" + origin_tech = @'{"programming":4,"magnets":2}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT) @@ -182,7 +182,7 @@ name = "subspace amplifier" icon_state = "subspace_amplifier" desc = "A compact micro-machine capable of amplifying weak subspace transmissions." - origin_tech = "{'programming':3,'magnets':4,'materials':4,'wormholes':2}" + origin_tech = @'{"programming":3,"magnets":4,"materials":4,"wormholes":2}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT, @@ -193,7 +193,7 @@ name = "subspace treatment disk" icon_state = "treatment_disk" desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." - origin_tech = "{'programming':3,'magnets':2,'materials':5,'wormholes':2}" + origin_tech = @'{"programming":3,"magnets":2,"materials":5,"wormholes":2}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT) @@ -201,7 +201,7 @@ name = "subspace wavelength analyzer" icon_state = "wavelength_analyzer" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." - origin_tech = "{'programming':3,'magnets':4,'materials':4,'wormholes':2}" + origin_tech = @'{"programming":3,"magnets":4,"materials":4,"wormholes":2}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT) @@ -209,7 +209,7 @@ name = "ansible crystal" icon_state = "ansible_crystal" desc = "A crystal made from pure glass used to transmit laser databursts to subspace." - origin_tech = "{'magnets':4,'materials':4,'wormholes':2}" + origin_tech = @'{"magnets":4,"materials":4,"wormholes":2}' material = /decl/material/solid/glass matter = list( /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT, @@ -220,7 +220,7 @@ name = "subspace transmitter" icon_state = "subspace_transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." - origin_tech = "{'magnets':5,'materials':5,'wormholes':3}" + origin_tech = @'{"magnets":5,"materials":5,"wormholes":3}' material = /decl/material/solid/glass matter = list( /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/game/machinery/_machines_base/stock_parts/power/battery.dm b/code/game/machinery/_machines_base/stock_parts/power/battery.dm index b1ac9b50f09..f883e307f14 100644 --- a/code/game/machinery/_machines_base/stock_parts/power/battery.dm +++ b/code/game/machinery/_machines_base/stock_parts/power/battery.dm @@ -43,7 +43,7 @@ if(cell) return cell = new_cell - events_repository.register(/decl/observ/destroyed, cell, src, .proc/remove_cell) + events_repository.register(/decl/observ/destroyed, cell, src, PROC_REF(remove_cell)) if(!machine) machine = loc if(istype(machine)) diff --git a/code/game/machinery/_machines_base/stock_parts/power/terminal.dm b/code/game/machinery/_machines_base/stock_parts/power/terminal.dm index c183753f25e..20d892e14ea 100644 --- a/code/game/machinery/_machines_base/stock_parts/power/terminal.dm +++ b/code/game/machinery/_machines_base/stock_parts/power/terminal.dm @@ -72,16 +72,16 @@ terminal = new_terminal terminal.master = src - events_repository.register(/decl/observ/destroyed, terminal, src, .proc/unset_terminal) + events_repository.register(/decl/observ/destroyed, terminal, src, PROC_REF(unset_terminal)) terminal.queue_icon_update() - set_extension(src, /datum/extension/event_registration/shuttle_stationary, GET_DECL(/decl/observ/moved), machine, .proc/machine_moved, get_area(src)) + set_extension(src, /datum/extension/event_registration/shuttle_stationary, GET_DECL(/decl/observ/moved), machine, PROC_REF(machine_moved), get_area(src)) set_status(machine, PART_STAT_CONNECTED) start_processing(machine) /obj/item/stock_parts/power/terminal/proc/machine_moved(var/obj/machinery/machine, var/turf/old_loc, var/turf/new_loc) if(!terminal) - events_repository.unregister(/decl/observ/moved, machine, src, .proc/machine_moved) + events_repository.unregister(/decl/observ/moved, machine, src, PROC_REF(machine_moved)) return if(istype(new_loc) && (terminal.loc == get_step(new_loc, terminal_dir))) return // This location is fine diff --git a/code/game/machinery/_machines_base/stock_parts/radio/transmitter.dm b/code/game/machinery/_machines_base/stock_parts/radio/transmitter.dm index 3ea9f96f1fa..e9d4feec331 100644 --- a/code/game/machinery/_machines_base/stock_parts/radio/transmitter.dm +++ b/code/game/machinery/_machines_base/stock_parts/radio/transmitter.dm @@ -15,7 +15,7 @@ if(!buffer) buffer = data if(latency) - addtimer(CALLBACK(src, .proc/transmit), latency) + addtimer(CALLBACK(src, PROC_REF(transmit)), latency) else transmit() else @@ -53,7 +53,7 @@ start_processing(machine) for(var/thing in transmit_on_change) var/decl/public_access/public_variable/variable = transmit_on_change[thing] - variable.register_listener(src, machine, .proc/var_changed) + variable.register_listener(src, machine, PROC_REF(var_changed)) /obj/item/stock_parts/radio/transmitter/basic/on_uninstall(obj/machinery/machine) for(var/thing in transmit_on_change) @@ -93,7 +93,7 @@ if(!is_valid_event(machine, event)) event = null if(event) - event.register_listener(src, machine, .proc/trigger_event) + event.register_listener(src, machine, PROC_REF(trigger_event)) /obj/item/stock_parts/radio/transmitter/on_event/on_uninstall(obj/machinery/machine) if(event) diff --git a/code/game/machinery/_machines_base/stock_parts/stock_parts_interface.dm b/code/game/machinery/_machines_base/stock_parts/stock_parts_interface.dm index 22b01cce5db..b1aa3c32f90 100644 --- a/code/game/machinery/_machines_base/stock_parts/stock_parts_interface.dm +++ b/code/game/machinery/_machines_base/stock_parts/stock_parts_interface.dm @@ -2,7 +2,7 @@ name = "console screen" desc = "Used in the construction of computers and other devices with an interactive screen." icon_state = "output" - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/fiberglass base_type = /obj/item/stock_parts/console_screen part_flags = PART_FLAG_HAND_REMOVE @@ -22,7 +22,7 @@ name = "input controller" desc = "A standard part required by many machines to recieve user input." icon_state = "input" - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/organic/plastic base_type = /obj/item/stock_parts/keyboard part_flags = PART_FLAG_HAND_REMOVE diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 4ec49f79cdf..eee0fdeac6d 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -62,7 +62,7 @@ uncreated_component_parts = list(/obj/item/stock_parts/power/apc = 1) construct_state = /decl/machine_construction/wall_frame/panel_closed wires = /datum/wires/alarm - directional_offset = "{'NORTH':{'y':-21}, 'SOUTH':{'y':21}, 'EAST':{'x':-21}, 'WEST':{'x':21}}" + directional_offset = @'{"NORTH":{"y":-21}, "SOUTH":{"y":21}, "EAST":{"x":-21}, "WEST":{"x":21}}' var/alarm_id = null var/breach_detection = 1 // Whether to use automatic breach detection or not @@ -146,7 +146,8 @@ return // spawned in nullspace, presumably as a prototype for construction purposes. area_uid = alarm_area.uid - // breathable air according to human/Life() + // breathable air according to default human species + // TODO: make it use map default species? var/decl/material/gas_mat = GET_DECL(/decl/material/gas/oxygen) TLV[gas_mat.gas_name] = list(16, 19, 135, 140) // Partial pressure, kpa gas_mat = GET_DECL(/decl/material/gas/carbon_dioxide) @@ -795,13 +796,13 @@ if(old_area && old_area == alarm_area) alarm_area = null area_uid = null - events_repository.unregister(/decl/observ/name_set, old_area, src, .proc/change_area_name) + events_repository.unregister(/decl/observ/name_set, old_area, src, PROC_REF(change_area_name)) if(new_area) ASSERT(isnull(alarm_area)) alarm_area = new_area area_uid = new_area.uid change_area_name(alarm_area, null, alarm_area.name) - events_repository.register(/decl/observ/name_set, alarm_area, src, .proc/change_area_name) + events_repository.register(/decl/observ/name_set, alarm_area, src, PROC_REF(change_area_name)) for(var/device_tag in alarm_area.air_scrub_names + alarm_area.air_vent_names) send_signal(device_tag, list()) // ask for updates; they initialized before us and we didn't get the data @@ -824,7 +825,7 @@ FIRE ALARM frame_type = /obj/item/frame/fire_alarm uncreated_component_parts = list(/obj/item/stock_parts/power/apc = 1) construct_state = /decl/machine_construction/wall_frame/panel_closed - directional_offset = "{'NORTH':{'y':-21}, 'SOUTH':{'y':21}, 'EAST':{'x':21}, 'WEST':{'x':-21}}" + directional_offset = @'{"NORTH":{"y":-21}, "SOUTH":{"y":21}, "EAST":{"x":21}, "WEST":{"x":-21}}' var/detecting = TRUE var/working = TRUE @@ -1035,7 +1036,7 @@ FIRE ALARM idle_power_usage = 2 active_power_usage = 6 obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-21}, 'SOUTH':{'y':21}, 'EAST':{'x':21}, 'WEST':{'x':-21}}" + directional_offset = @'{"NORTH":{"y":-21}, "SOUTH":{"y":21}, "EAST":{"x":21}, "WEST":{"x":-21}}' var/time = 1 SECOND var/timing = FALSE var/working = TRUE diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index dd4c4aab632..47d353848f4 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -335,4 +335,4 @@ /obj/machinery/computer/air_control/supermatter_core icon = 'icons/obj/computer.dmi' frequency = 1438 - out_pressure_mode = 1 \ No newline at end of file + out_pressure_mode = 1 diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 45aa2558c24..4dd3caeb6fd 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -32,7 +32,7 @@ /obj/machinery/meter/proc/set_target(atom/new_target) clear_target() target = new_target - events_repository.register(/decl/observ/destroyed, target, src, .proc/clear_target) + events_repository.register(/decl/observ/destroyed, target, src, PROC_REF(clear_target)) /obj/machinery/meter/proc/clear_target() if(target) diff --git a/code/game/machinery/atmoalter/portable_atmospherics.dm b/code/game/machinery/atmoalter/portable_atmospherics.dm index ecac219033c..2958d2eab9a 100644 --- a/code/game/machinery/atmoalter/portable_atmospherics.dm +++ b/code/game/machinery/atmoalter/portable_atmospherics.dm @@ -76,37 +76,33 @@ var/datum/extension/atmospherics_connection/connection = get_extension(src, /datum/extension/atmospherics_connection) connection?.update_connected_network() -/obj/machinery/portable_atmospherics/attackby(var/obj/item/W, var/mob/user) - if ((istype(W, /obj/item/tank) && !( src.destroyed ))) - if (src.holding) - return - if(!user.try_unequip(W, src)) - return - src.holding = W +/obj/machinery/portable_atmospherics/attackby(var/obj/item/used_item, var/mob/user) + if ((istype(used_item, /obj/item/tank) && !destroyed)) + if (holding) + return TRUE + if(!user.try_unequip(used_item, src)) + return TRUE + holding = used_item update_icon() - return + return TRUE - else if(IS_WRENCH(W) && !panel_open) + else if(IS_WRENCH(used_item) && !panel_open) if(disconnect()) - to_chat(user, "You disconnect \the [src] from the port.") + to_chat(user, SPAN_NOTICE("You disconnect \the [src] from the port.")) update_icon() - return - else - var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector/) in loc - if(possible_port) - if(connect(possible_port)) - to_chat(user, "You connect \the [src] to the port.") - update_icon() - return - else - to_chat(user, "\The [src] failed to connect to the port.") - return - else - to_chat(user, "Nothing happens.") - return ..() - - else if (istype(W, /obj/item/scanner/gas)) - return + return TRUE + var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector) in loc + if(possible_port) + if(connect(possible_port)) + to_chat(user, SPAN_NOTICE("You connect \the [src] to the port.")) + update_icon() + return TRUE + to_chat(user, SPAN_NOTICE("\The [src] failed to connect to the port.")) + return TRUE + return ..() + + else if (istype(used_item, /obj/item/scanner/gas)) + return FALSE // allow the scanner's afterattack to run return ..() diff --git a/code/game/machinery/bodyscanner_console.dm b/code/game/machinery/bodyscanner_console.dm index f6aa9afebe7..f8864ab712e 100644 --- a/code/game/machinery/bodyscanner_console.dm +++ b/code/game/machinery/bodyscanner_console.dm @@ -27,17 +27,17 @@ src.connected = locate(/obj/machinery/bodyscanner, get_step(src, D)) if(src.connected) break - events_repository.register(/decl/observ/destroyed, connected, src, .proc/unlink_scanner) + events_repository.register(/decl/observ/destroyed, connected, src, PROC_REF(unlink_scanner)) /obj/machinery/body_scanconsole/proc/unlink_scanner(var/obj/machinery/bodyscanner/scanner) - events_repository.unregister(/decl/observ/destroyed, scanner, src, .proc/unlink_scanner) + events_repository.unregister(/decl/observ/destroyed, scanner, src, PROC_REF(unlink_scanner)) connected = null /obj/machinery/body_scanconsole/proc/FindDisplays() for(var/obj/machinery/body_scan_display/D in SSmachines.machinery) if(D.id_tag == connected.id_tag) connected_displays += D - events_repository.register(/decl/observ/destroyed, D, src, .proc/remove_display) + events_repository.register(/decl/observ/destroyed, D, src, PROC_REF(remove_display)) return !!connected_displays.len /obj/machinery/body_scanconsole/attack_hand(mob/user) @@ -134,7 +134,7 @@ /obj/machinery/body_scanconsole/proc/remove_display(var/obj/machinery/body_scan_display/display) connected_displays -= display - events_repository.unregister(/decl/observ/destroyed, display, src, .proc/remove_display) + events_repository.unregister(/decl/observ/destroyed, display, src, PROC_REF(remove_display)) /obj/machinery/body_scanconsole/Destroy() . = ..() diff --git a/code/game/machinery/bodyscanner_display.dm b/code/game/machinery/bodyscanner_display.dm index e70446dc677..2fadc8e44e9 100644 --- a/code/game/machinery/bodyscanner_display.dm +++ b/code/game/machinery/bodyscanner_display.dm @@ -12,7 +12,7 @@ stat_immune = 0 w_class = ITEM_SIZE_HUGE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' var/list/bodyscans = list() var/selected = 0 diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 97c7529dcfe..10f382fb55b 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -24,7 +24,7 @@ construct_state = /decl/machine_construction/wall_frame/panel_closed/simple frame_type = /obj/item/frame/button required_interaction_dexterity = DEXTERITY_SIMPLE_MACHINES - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':30}, 'EAST':{'x':-24}, 'WEST':{'x':24}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":30}, "EAST":{"x":-24}, "WEST":{"x":24}}' var/active = FALSE var/operating = FALSE diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 2560d9550ec..9993d060e65 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -10,7 +10,7 @@ anchored = TRUE movable_flags = MOVABLE_FLAG_PROXMOVE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'SOUTH':{'y':21}, 'EAST':{'x':-10}, 'WEST':{'x':10}}" + directional_offset = @'{"SOUTH":{"y":21}, "EAST":{"x":-10}, "WEST":{"x":10}}' base_type = /obj/machinery/camera uncreated_component_parts = null construct_state = /decl/machine_construction/wall_frame/panel_closed diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 5ad530c42d6..1ff7caa637e 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -13,7 +13,7 @@ var/global/list/minor_air_alarms = list() /obj/machinery/computer/atmos_alert/Initialize() . = ..() - atmosphere_alarm.register_alarm(src, /atom/proc/update_icon) + atmosphere_alarm.register_alarm(src, TYPE_PROC_REF(/atom, update_icon)) /obj/machinery/computer/atmos_alert/Destroy() atmosphere_alarm.unregister_alarm(src) diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index 7419b982914..612d747c33c 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -185,7 +185,7 @@ pass.reason = reason pass.SetName("guest pass #[number]") pass.assignment = "Guest" - addtimer(CALLBACK(pass, /obj/item/card/id/guest/proc/expire), duration MINUTES, TIMER_UNIQUE) + addtimer(CALLBACK(pass, TYPE_PROC_REF(/obj/item/card/id/guest, expire)), duration MINUTES, TIMER_UNIQUE) playsound(src.loc, 'sound/machines/ping.ogg', 25, 0) . = TOPIC_REFRESH else if(!giver) diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 858df3d35e4..cde979fbef0 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -64,7 +64,7 @@ var/obj/item/paper/monitorkey/MK = new(loc) // Will help make emagging the console not so easy to get away with. MK.info += "

£%@%(*$%&(£&?*(%&£/{}" - addtimer(CALLBACK(src, /obj/machinery/computer/message_monitor/proc/UnemagConsole), 100*length(linked_server.decryptkey)) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/computer/message_monitor, UnemagConsole)), 100*length(linked_server.decryptkey)) message = rebootmsg update_icon() return 1 @@ -290,7 +290,7 @@ src.screen = 2 update_icon() //Time it takes to bruteforce is dependant on the password length. - addtimer(CALLBACK(src, /obj/machinery/computer/message_monitor/proc/BruteForceConsole, usr, linked_server), 100*length(linked_server.decryptkey)) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/computer/message_monitor, BruteForceConsole), usr, linked_server), 100*length(linked_server.decryptkey)) //Delete the request console log. if (href_list["deleter"]) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 1fad0bc8153..5c639132877 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -20,7 +20,7 @@ /obj/machinery/computer/station_alert/Initialize() alarm_monitor = new monitor_type(src) - alarm_monitor.register_alarm(src, /atom/proc/update_icon) + alarm_monitor.register_alarm(src, TYPE_PROC_REF(/atom, update_icon)) . = ..() if(monitor_type) register_monitor(new monitor_type(src)) @@ -34,7 +34,7 @@ return alarm_monitor = monitor - alarm_monitor.register_alarm(src, /atom/proc/update_icon) + alarm_monitor.register_alarm(src, TYPE_PROC_REF(/atom, update_icon)) /obj/machinery/computer/station_alert/proc/unregister_monitor() if(alarm_monitor) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index e7b001cbf3f..b23a5df9c9f 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -16,7 +16,7 @@ density = FALSE interact_offline = 1 obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':32}, 'EAST':{'x':-24}, 'WEST':{'x':24}}" + directional_offset = @'{"NORTH":{"y":-24}, "SOUTH":{"y":32}, "EAST":{"x":-24}, "WEST":{"x":24}}' //Used for logging people entering cryosleep and important items they are carrying. var/list/frozen_crew = list() @@ -119,12 +119,12 @@ /obj/item/stock_parts/circuitboard/cryopodcontrol name = "circuit board (Cryogenic Oversight Console)" build_path = /obj/machinery/computer/cryopod - origin_tech = "{'programming':3}" + origin_tech = @'{"programming":3}' /obj/item/stock_parts/circuitboard/robotstoragecontrol name = "circuit board (Robotic Storage Console)" build_path = /obj/machinery/computer/cryopod/robot - origin_tech = "{'programming':3}" + origin_tech = @'{"programming":3}' //Decorative structures to go alongside cryopods. /obj/structure/cryofeed @@ -259,7 +259,7 @@ if(!control_computer) control_computer = locate(/obj/machinery/computer/cryopod) in get_area(src) if(control_computer) - events_repository.register(/decl/observ/destroyed, control_computer, src, .proc/clear_control_computer) + events_repository.register(/decl/observ/destroyed, control_computer, src, PROC_REF(clear_control_computer)) return control_computer /obj/machinery/cryopod/proc/clear_control_computer() diff --git a/code/game/machinery/doors/_door.dm b/code/game/machinery/doors/_door.dm index 351cc399dca..c11d60b6718 100644 --- a/code/game/machinery/doors/_door.dm +++ b/code/game/machinery/doors/_door.dm @@ -70,7 +70,7 @@ /obj/machinery/door/Initialize(var/mapload, var/d, var/populate_parts = TRUE, var/obj/structure/door_assembly/assembly = null) if(!populate_parts) inherit_from_assembly(assembly) - set_extension(src, /datum/extension/penetration, /datum/extension/penetration/proc_call, .proc/CheckPenetration) + set_extension(src, /datum/extension/penetration, /datum/extension/penetration/proc_call, PROC_REF(CheckPenetration)) if(!begins_closed) icon_state = icon_state_open @@ -129,7 +129,7 @@ if(close_door_at && world.time >= close_door_at) if(autoclose) close_door_at = next_close_time() - INVOKE_ASYNC(src, /obj/machinery/door/proc/close) + INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/door, close)) else close_door_at = 0 diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index b34b45e145f..720b6626025 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -120,7 +120,7 @@ base_type = /obj/machinery/airlock_sensor/buildable construct_state = /decl/machine_construction/wall_frame/panel_closed/simple frame_type = /obj/item/frame/button/airlock_controller_config/airlock_sensor - directional_offset = "{'NORTH':{'y':-18}, 'SOUTH':{'y':24}, 'EAST':{'x':-22}, 'WEST':{'x':22}}" + directional_offset = @'{"NORTH":{"y":-18}, "SOUTH":{"y":24}, "EAST":{"x":-22}, "WEST":{"x":22}}' var/alert = FALSE var/master_cycling = FALSE var/pressure @@ -257,7 +257,7 @@ /obj/item/stock_parts/radio/transmitter/on_event/buildable, /obj/item/stock_parts/radio/receiver/buildable, ) - directional_offset = "{'NORTH':{'y':-22}, 'SOUTH':{'y':24}, 'EAST':{'x':-20}, 'WEST':{'x':20}}" + directional_offset = @'{"NORTH":{"y":-22}, "SOUTH":{"y":24}, "EAST":{"x":-20}, "WEST":{"x":20}}' frame_type = /obj/item/frame/button/airlock_controller_config/access base_type = /obj/machinery/button/access/buildable var/command = "cycle" diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm index 08c9dc58434..6533978f852 100644 --- a/code/game/machinery/doors/airlock_electronics.dm +++ b/code/game/machinery/doors/airlock_electronics.dm @@ -18,7 +18,7 @@ /obj/item/stock_parts/circuitboard/airlock_electronics/secure name = "secure airlock electronics" desc = "designed to be somewhat more resistant to hacking than standard electronics." - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' secure = TRUE /obj/item/stock_parts/circuitboard/airlock_electronics/windoor diff --git a/code/game/machinery/doors/blast_door.dm b/code/game/machinery/doors/blast_door.dm index 144f0129901..816648c4dfc 100644 --- a/code/game/machinery/doors/blast_door.dm +++ b/code/game/machinery/doors/blast_door.dm @@ -187,7 +187,7 @@ force_open() if(autoclose) - addtimer(CALLBACK(src, .proc/close), 15 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(close)), 15 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) return TRUE diff --git a/code/game/machinery/doors/braces.dm b/code/game/machinery/doors/braces.dm index c6ba9a1d39a..64de3129086 100644 --- a/code/game/machinery/doors/braces.dm +++ b/code/game/machinery/doors/braces.dm @@ -9,7 +9,7 @@ attack_cooldown = 2.5*DEFAULT_WEAPON_COOLDOWN melee_accuracy_bonus = -25 material = /decl/material/solid/metal/steel - origin_tech = "{'engineering':3,'materials':2}" + origin_tech = @'{"engineering":3,"materials":2}' // BRACE - Can be installed on airlock to reinforce it and keep it closed. /obj/item/airlock_brace @@ -21,7 +21,7 @@ material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) material_health_multiplier = 0.6 - origin_tech = "{'engineering':3,'materials':2}" + origin_tech = @'{"engineering":3,"materials":2}' var/obj/machinery/door/airlock/airlock = null var/obj/item/stock_parts/circuitboard/airlock_electronics/brace/electronics diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index b757c1f7116..5cf073d173f 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -62,7 +62,7 @@ if(istype(bot)) if(density && src.check_access(bot.botcard)) open() - addtimer(CALLBACK(src, .proc/close), 50, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(close)), 50, TIMER_UNIQUE | TIMER_OVERRIDE) return var/mob/M = AM // we've returned by here if M is not a mob if (src.operating) @@ -74,7 +74,7 @@ open_timer = 50 else //secure doors close faster open_timer = 20 - addtimer(CALLBACK(src, .proc/close), open_timer, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(close)), open_timer, TIMER_UNIQUE | TIMER_OVERRIDE) return /obj/machinery/door/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) @@ -161,7 +161,7 @@ to_chat(user, SPAN_NOTICE("You short out \the [src]'s internal circuitry, locking it open!")) if (density) flick("[base_state]spark", src) - addtimer(CALLBACK(src, .proc/open), 6, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, PROC_REF(open)), 6, TIMER_UNIQUE | TIMER_OVERRIDE) return TRUE /obj/machinery/door/emp_act(severity) diff --git a/code/game/machinery/embedded_controller/airlock_controllers_dummy.dm b/code/game/machinery/embedded_controller/airlock_controllers_dummy.dm index 0da24e61151..019b728bb15 100644 --- a/code/game/machinery/embedded_controller/airlock_controllers_dummy.dm +++ b/code/game/machinery/embedded_controller/airlock_controllers_dummy.dm @@ -9,7 +9,7 @@ base_type = /obj/machinery/dummy_airlock_controller construct_state = /decl/machine_construction/wall_frame/panel_closed frame_type = /obj/item/frame/button/airlock_controller - directional_offset = "{'NORTH':{'y':-22}, 'SOUTH':{'y':24}, 'EAST':{'x':-22}, 'WEST':{'x':22}}" + directional_offset = @'{"NORTH":{"y":-22}, "SOUTH":{"y":24}, "EAST":{"x":-22}, "WEST":{"x":22}}' power_channel = ENVIRON //Same as airlock controller required_interaction_dexterity = DEXTERITY_TOUCHSCREENS ///Topic state used to interact remotely with the master controller's UI diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm index 5591bf7de1a..bf79f9c8bc9 100644 --- a/code/game/machinery/embedded_controller/airlock_program.dm +++ b/code/game/machinery/embedded_controller/airlock_program.dm @@ -9,7 +9,7 @@ #define TARGET_INOPEN -1 #define TARGET_OUTOPEN -2 -#define SENSOR_TOLERANCE 1 +#define SENSOR_TOLERANCE 0.5 /datum/computer/file/embedded_program/airlock var/tag_exterior_door @@ -234,7 +234,7 @@ signalPump(tag_airpump, 1, 0, target_pressure) //send a signal to start depressurizing else signalPump(tag_pump_out_internal, 1, 0, target_pressure) // if going inside, pump external air out of the airlock - signalPump(tag_pump_out_external, 1, 1, 1000) // make sure the air is actually going outside + signalPump(tag_pump_out_external, 1, 1, MAX_PUMP_PRESSURE) // make sure the air is actually going outside else if(chamber_pressure <= target_pressure) state = STATE_PRESSURIZE diff --git a/code/game/machinery/embedded_controller/embedded_controller_base.dm b/code/game/machinery/embedded_controller/embedded_controller_base.dm index 7e98869a6c5..3b4e2b99835 100644 --- a/code/game/machinery/embedded_controller/embedded_controller_base.dm +++ b/code/game/machinery/embedded_controller/embedded_controller_base.dm @@ -54,7 +54,7 @@ construct_state = /decl/machine_construction/wall_frame/panel_closed frame_type = /obj/item/frame/button/airlock_controller base_type = /obj/machinery/embedded_controller/radio/simple_docking_controller - directional_offset = "{'NORTH':{'y':-22}, 'SOUTH':{'y':24}, 'EAST':{'x':-22}, 'WEST':{'x':22}}" + directional_offset = @'{"NORTH":{"y":-22}, "SOUTH":{"y":24}, "EAST":{"x":-22}, "WEST":{"x":22}}' required_interaction_dexterity = DEXTERITY_TOUCHSCREENS var/frequency = EXTERNAL_AIR_FREQ ///Icon state of the screen used by dummy controllers to match the same state diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index a39a573c195..a67c77c795f 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -5,7 +5,7 @@ desc = "A wall-mounted flashbulb device." icon = 'icons/obj/machines/flash_mounted.dmi' icon_state = "mflash1" - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED var/range = 2 //this is roughly the size of brig cell var/disable = 0 diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm index 61011c1e5b3..cf19d95e2e1 100644 --- a/code/game/machinery/holosign.dm +++ b/code/game/machinery/holosign.dm @@ -9,7 +9,7 @@ active_power_usage = 70 anchored = TRUE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' var/lit = 0 var/on_icon = "sign_on" diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 09a65b80873..3963ca07fef 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -106,7 +106,7 @@ construct_state = /decl/machine_construction/wall_frame/panel_closed/simple frame_type = /obj/item/frame/button/sparker base_type = /obj/machinery/sparker/buildable - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' /obj/machinery/sparker/buildable uncreated_component_parts = null diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm index c4066068303..e32cd017caa 100644 --- a/code/game/machinery/kitchen/gibber.dm +++ b/code/game/machinery/kitchen/gibber.dm @@ -167,7 +167,7 @@ admin_attack_log(user, occupant, "Gibbed the victim", "Was gibbed", "gibbed") src.occupant.ghostize() - addtimer(CALLBACK(src, .proc/finish_gibbing), gib_time) + addtimer(CALLBACK(src, PROC_REF(finish_gibbing)), gib_time) var/list/gib_products = occupant.harvest_meat() | occupant.harvest_skin() | occupant.harvest_bones() if(!length(gib_products)) diff --git a/code/game/machinery/kitchen/microwave.dm b/code/game/machinery/kitchen/microwave.dm index 3171e440a0b..73fd90ec834 100644 --- a/code/game/machinery/kitchen/microwave.dm +++ b/code/game/machinery/kitchen/microwave.dm @@ -298,7 +298,7 @@ update_use_power(POWER_USE_ACTIVE) START_PROCESSING_MACHINE(src, MACHINERY_PROCESS_SELF) - addtimer(CALLBACK(src, .proc/half_time_process), cook_time / 2) + addtimer(CALLBACK(src, PROC_REF(half_time_process)), cook_time / 2) visible_message(SPAN_NOTICE("[src] turns on."), SPAN_NOTICE("You hear a microwave.")) if(cook_dirty) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index f574381e6c5..33a1bb173c2 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -24,7 +24,7 @@ /obj/item/stock_parts/power/apc ) base_type = /obj/machinery/light_switch - directional_offset = "{'NORTH':{'y':-20}, 'SOUTH':{'y':25}, 'EAST':{'x':-24}, 'WEST':{'x':24}}" + directional_offset = @'{"NORTH":{"y":-20}, "SOUTH":{"y":25}, "EAST":{"x":-24}, "WEST":{"x":24}}' /obj/machinery/light_switch/on on = TRUE diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 3784122183e..1ce792fa37f 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -157,7 +157,7 @@ var/global/list/allCasters = list() //Global list that will contain reference to uncreated_component_parts = null stat_immune = 0 frame_type = /obj/item/frame/stock_offset/newscaster - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' /obj/machinery/newscaster/Initialize() . = ..() @@ -927,7 +927,7 @@ var/global/list/allCasters = list() //Global list that will contain reference to audible_message("[src.name] beeps, \"[news_call]\"") src.alert = 1 src.update_icon() - addtimer(CALLBACK(src, .proc/reset_alert), alert_delay, TIMER_UNIQUE | TIMER_OVERRIDE) //stay alert for the full time if we get a new one + addtimer(CALLBACK(src, PROC_REF(reset_alert)), alert_delay, TIMER_UNIQUE | TIMER_OVERRIDE) //stay alert for the full time if we get a new one playsound(src.loc, 'sound/machines/twobeep.ogg', 75, 1) else audible_message("[src.name] beeps, \"Attention! Wanted issue distributed!\"") diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm index b1caca7b885..0c7d2490fe0 100644 --- a/code/game/machinery/nuclear_bomb.dm +++ b/code/game/machinery/nuclear_bomb.dm @@ -41,7 +41,7 @@ var/global/bomb_set timeleft = max(timeleft - (wait / 10), 0) playsound(loc, 'sound/items/timer.ogg', 50) if(timeleft <= 0) - addtimer(CALLBACK(src, .proc/explode), 0) + addtimer(CALLBACK(src, PROC_REF(explode)), 0) SSnano.update_uis(src) /obj/machinery/nuclearbomb/attackby(obj/item/O, mob/user, params) @@ -367,18 +367,18 @@ var/global/bomb_set . = ..() global.nuke_disks |= src // Can never be quite sure that a game mode has been properly initiated or not at this point, so always register - events_repository.register(/decl/observ/moved, src, src, /obj/item/disk/nuclear/proc/check_z_level) + events_repository.register(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/item/disk/nuclear, check_z_level)) /obj/item/disk/nuclear/proc/check_z_level() if(!(istype(SSticker.mode, /decl/game_mode/nuclear))) - events_repository.unregister(/decl/observ/moved, src, src, /obj/item/disk/nuclear/proc/check_z_level) // However, when we are certain unregister if necessary + events_repository.unregister(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/item/disk/nuclear, check_z_level)) // However, when we are certain unregister if necessary return var/turf/T = get_turf(src) if(!T || isNotStationLevel(T.z)) qdel(src) /obj/item/disk/nuclear/Destroy() - events_repository.unregister(/decl/observ/moved, src, src, /obj/item/disk/nuclear/proc/check_z_level) + events_repository.unregister(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/item/disk/nuclear, check_z_level)) global.nuke_disks -= src if(!length(global.nuke_disks)) var/turf/T = pick_area_turf_by_flag(AREA_FLAG_MAINTENANCE, list(/proc/is_station_turf, /proc/not_turf_contains_dense_objects)) diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm index 89871af4000..2739b2fc5a3 100644 --- a/code/game/machinery/oxygen_pump.dm +++ b/code/game/machinery/oxygen_pump.dm @@ -21,7 +21,7 @@ power_channel = ENVIRON idle_power_usage = 10 active_power_usage = 120 // No idea what the realistic amount would be. - directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':28}, 'EAST':{'x':24}, 'WEST':{'x':-24}}" + directional_offset = @'{"NORTH":{"y":-24}, "SOUTH":{"y":28}, "EAST":{"x":24}, "WEST":{"x":-24}}' /obj/machinery/oxygen_pump/Initialize() . = ..() diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 996ade02b66..4ee74cd3756 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -369,7 +369,7 @@ var/global/list/turret_icons disabled = 1 var/power = 4 - severity - addtimer(CALLBACK(src,/obj/machinery/porta_turret/proc/enable), rand(60*power,600*power)) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/porta_turret, enable)), rand(60*power,600*power)) ..() diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index ba601e831bd..1326de26f89 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -132,4 +132,4 @@ construct_state = /decl/machine_construction/wall_frame/panel_closed frame_type = /obj/item/frame/button/wall_charger - directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':32}, 'EAST':{'x':-28}, 'WEST':{'x':28}}" \ No newline at end of file + directional_offset = @'{"NORTH":{"y":-24}, "SOUTH":{"y":32}, "EAST":{"x":-28}, "WEST":{"x":28}}' \ No newline at end of file diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 86dec34e44b..df55809d8f9 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -175,7 +175,7 @@ overlays = list(image(overlay_icon, overlay_state())) /obj/machinery/recharge_station/Bumped(var/mob/living/silicon/robot/R) - addtimer(CALLBACK(src, .proc/go_in, R), 1) + addtimer(CALLBACK(src, PROC_REF(go_in), R), 1) /obj/machinery/recharge_station/proc/go_in(var/mob/M) diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index cbbaedff580..e4ab5b9ddc3 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -47,7 +47,7 @@ var/global/req_console_information = list() uncreated_component_parts = null construct_state = /decl/machine_construction/wall_frame/panel_closed frame_type = /obj/item/frame/stock_offset/request_console - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' /obj/machinery/network/requests_console/on_update_icon() if(stat & NOPOWER) diff --git a/code/game/machinery/slide_projector.dm b/code/game/machinery/slide_projector.dm index 6a22a23f61e..be139a5d609 100644 --- a/code/game/machinery/slide_projector.dm +++ b/code/game/machinery/slide_projector.dm @@ -58,9 +58,9 @@ /obj/item/storage/slide_projector/proc/stop_projecting() if(projection) QDEL_NULL(projection) - events_repository.unregister(/decl/observ/moved, src, src, .proc/check_projections) + events_repository.unregister(/decl/observ/moved, src, src, PROC_REF(check_projections)) update_icon() - + /obj/item/storage/slide_projector/proc/project_at(turf/target) stop_projecting() if(!current_slide) @@ -72,19 +72,19 @@ break projection = new projection_type(target) projection.set_source(current_slide) - events_repository.register(/decl/observ/moved, src, src, .proc/check_projections) + events_repository.register(/decl/observ/moved, src, src, PROC_REF(check_projections)) update_icon() /obj/item/storage/slide_projector/attack_self(mob/user) interact(user) -/obj/item/storage/slide_projector/interact(mob/user) +/obj/item/storage/slide_projector/interact(mob/user) var/data = list() if(projection) data += "Disable projector" else data += "Projector inactive" - + var/table = list("
#SLIDESHOW") var/i = 1 for(var/obj/item/I in contents) @@ -115,7 +115,7 @@ return TOPIC_HANDLED set_slide(contents[index]) . = TOPIC_REFRESH - + if(. == TOPIC_REFRESH) interact(user) diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index fa3122725da..ef38a7cb371 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -18,7 +18,7 @@ anchored = TRUE density = FALSE idle_power_usage = 10 - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' var/mode = 1 // 0 = Blank // 1 = Shuttle timer // 2 = Arbitrary message(s) diff --git a/code/game/machinery/status_light.dm b/code/game/machinery/status_light.dm index 6f78761dd92..1827bfbd7bd 100644 --- a/code/game/machinery/status_light.dm +++ b/code/game/machinery/status_light.dm @@ -3,7 +3,7 @@ desc = "A status indicator for a combustion chamber, based on temperature." icon = 'icons/obj/machines/door_timer.dmi' icon_state = "doortimer-p" - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":32}, "WEST":{"x":-32}}' obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED var/frequency = 1441 var/alert_temperature = 10000 diff --git a/code/game/machinery/suit_cycler.dm b/code/game/machinery/suit_cycler.dm index 81bb2c18d30..fb7cc0aebd4 100644 --- a/code/game/machinery/suit_cycler.dm +++ b/code/game/machinery/suit_cycler.dm @@ -112,21 +112,21 @@ events_repository.unregister(/decl/observ/destroyed, suit, src) suit = new_suit if(istype(suit)) - events_repository.register(/decl/observ/destroyed, suit, src, /obj/machinery/suit_cycler/proc/loaded_item_destroyed) + events_repository.register(/decl/observ/destroyed, suit, src, TYPE_PROC_REF(/obj/machinery/suit_cycler, loaded_item_destroyed)) /obj/machinery/suit_cycler/proc/set_helmet(obj/item/new_helmet) if(istype(helmet)) events_repository.unregister(/decl/observ/destroyed, helmet, src) helmet = new_helmet if(istype(helmet)) - events_repository.register(/decl/observ/destroyed, helmet, src, /obj/machinery/suit_cycler/proc/loaded_item_destroyed) + events_repository.register(/decl/observ/destroyed, helmet, src, TYPE_PROC_REF(/obj/machinery/suit_cycler, loaded_item_destroyed)) /obj/machinery/suit_cycler/proc/set_boots(obj/item/new_boots) if(istype(boots)) events_repository.unregister(/decl/observ/destroyed, boots, src) boots = new_boots if(istype(boots)) - events_repository.register(/decl/observ/destroyed, boots, src, /obj/machinery/suit_cycler/proc/loaded_item_destroyed) + events_repository.register(/decl/observ/destroyed, boots, src, TYPE_PROC_REF(/obj/machinery/suit_cycler, loaded_item_destroyed)) /obj/machinery/suit_cycler/Initialize(mapload, d=0, populate_parts = TRUE) . = ..() diff --git a/code/game/machinery/supplybeacon.dm b/code/game/machinery/supplybeacon.dm index 8bac21cabd5..b9a53e07e6e 100644 --- a/code/game/machinery/supplybeacon.dm +++ b/code/game/machinery/supplybeacon.dm @@ -109,7 +109,7 @@ if(world.time >= target_drop_time) deactivate(permanent = TRUE) command_announcement.Announce("Nyx Rapid Fabrication priority supply request #[rand(1000,9999)]-[rand(100,999)] recieved. Shipment dispatched via ballistic supply pod for immediate delivery. Have a nice day.", "Thank You For Your Patronage") - addtimer(CALLBACK(src, .proc/drop_cargo), rand(20 SECONDS, 30 SECONDS)) + addtimer(CALLBACK(src, PROC_REF(drop_cargo)), rand(20 SECONDS, 30 SECONDS)) /obj/structure/supply_beacon/proc/drop_cargo(var/drop_x, var/drop_y, var/drop_z) if(!QDELETED(src) && isturf(loc)) diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 560a5b54476..1b3302440e9 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -60,7 +60,7 @@ var/global/list/singularity_beacons = list() if(prob(50)) temptext = "Double-crosser. You planned to betray us from the start. Allow us to repay the favor in kind." src.updateUsrDialog() - addtimer(CALLBACK(src, .proc/selfdestruct), rand(5, 20) SECONDS) + addtimer(CALLBACK(src, PROC_REF(selfdestruct)), rand(5, 20) SECONDS) return if(ishuman(M)) var/mob/living/carbon/human/N = M @@ -76,7 +76,7 @@ var/global/list/singularity_beacons = list() /obj/machinery/syndicate_beacon/proc/selfdestruct() selfdestructing = 1 - INVOKE_ASYNC(GLOBAL_PROC, .proc/explosion, src.loc, 1, rand(1, 3), rand(3, 8), 10) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), src.loc, 1, rand(1, 3), rand(3, 8), 10) //////////////////////////////////////// //Singularity beacon diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index da6f0f344e5..8300860c5e0 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -146,14 +146,14 @@ /obj/machinery/computer/teleporter/proc/clear_target() if(src.locked) - events_repository.unregister(/decl/observ/destroyed, locked, src, .proc/target_lost) + events_repository.unregister(/decl/observ/destroyed, locked, src, PROC_REF(target_lost)) src.locked = null if(station && station.engaged) station.disengage() /obj/machinery/computer/teleporter/proc/set_target(var/obj/O) src.locked = O - events_repository.register(/decl/observ/destroyed, locked, src, .proc/target_lost) + events_repository.register(/decl/observ/destroyed, locked, src, PROC_REF(target_lost)) /obj/machinery/computer/teleporter/Destroy() clear_target() diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm index 53debb1bb7a..d21389a4a6e 100644 --- a/code/game/machinery/turret_control.dm +++ b/code/game/machinery/turret_control.dm @@ -14,7 +14,7 @@ anchored = TRUE density = FALSE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/enabled = 0 var/lethal = 0 var/locked = 1 diff --git a/code/game/machinery/turrets/_turrets.dm b/code/game/machinery/turrets/_turrets.dm index 531c41e2f75..8e95c16fe0f 100644 --- a/code/game/machinery/turrets/_turrets.dm +++ b/code/game/machinery/turrets/_turrets.dm @@ -171,7 +171,7 @@ if(installed_gun && is_valid_target(target?.resolve())) var/atom/resolved_target = target.resolve() if(istype(resolved_target)) - addtimer(CALLBACK(src, .proc/fire_weapon, resolved_target), 0) + addtimer(CALLBACK(src, PROC_REF(fire_weapon), resolved_target), 0) else target = null state_machine.evaluate() @@ -379,7 +379,7 @@ to_chat(user, SPAN_WARNING("You short out \the [src]'s threat assessment circuits.")) visible_message("\The [src] hums oddly...") enabled = FALSE - addtimer(CALLBACK(src, .proc/emagged_targeting), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(emagged_targeting)), 6 SECONDS) state_machine.evaluate() /obj/machinery/turret/proc/emagged_targeting() @@ -447,12 +447,16 @@ return TOPIC_REFRESH if(href_list["set_default"]) - var/amount = input(user, "Input an angle between [leftmost_traverse] and [rightmost_traverse] degrees. Click cancel to disable default.", "Set Default Bearing", default_bearing) as null|num + var/leftmost_default = leftmost_traverse + var/rightmost_default = rightmost_traverse + if(traverse >= 360) + leftmost_default = 0 + rightmost_default = 360 + var/amount = input(user, "Input an angle between [leftmost_default] and [rightmost_default] degrees. Click cancel to disable default.", "Set Default Bearing", default_bearing) as null|num if(isnum(amount)) - default_bearing = clamp(amount, leftmost_traverse, rightmost_traverse) + default_bearing = clamp(amount, leftmost_default, rightmost_default) else default_bearing = null - return TOPIC_REFRESH if(href_list["manual_fire"]) diff --git a/code/game/machinery/turrets/network_turret.dm b/code/game/machinery/turrets/network_turret.dm index 354aabfa800..ede8a175eef 100644 --- a/code/game/machinery/turrets/network_turret.dm +++ b/code/game/machinery/turrets/network_turret.dm @@ -144,7 +144,7 @@ name = "circuitboard (sentry turret)" board_type = "machine" build_path = /obj/machinery/turret/network - origin_tech = "{'programming':5,'combat':5,'engineering':4}" + origin_tech = @'{"programming":5,"combat":5,"engineering":4}' req_components = list( /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/scanning_module = 1, diff --git a/code/game/machinery/turrets/turret_ammo.dm b/code/game/machinery/turrets/turret_ammo.dm index c12ec98d75d..7054e5ecf23 100644 --- a/code/game/machinery/turrets/turret_ammo.dm +++ b/code/game/machinery/turrets/turret_ammo.dm @@ -3,7 +3,7 @@ desc = "A high capacity ammunition supply designed to mechanically reload magazines with bullets." icon = 'icons/obj/items/storage/ammobox.dmi' icon_state = "ammo" - origin_tech = "{'engineering':3,'combat':4}" + origin_tech = @'{"engineering":3,"combat":4}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/metal/brass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/game/machinery/vending/_vending.dm b/code/game/machinery/vending/_vending.dm index b43e75c873c..c5ecf342430 100644 --- a/code/game/machinery/vending/_vending.dm +++ b/code/game/machinery/vending/_vending.dm @@ -360,7 +360,7 @@ use_power_oneoff(vend_power_usage) //actuators and stuff if (icon_vend) //Show the vending animation if needed flick(icon_vend,src) - addtimer(CALLBACK(src, /obj/machinery/vending/proc/finish_vending, R), vend_delay) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/vending, finish_vending), R), vend_delay) /obj/machinery/vending/proc/do_vending_reply() set waitfor = FALSE diff --git a/code/game/machinery/vending/medical.dm b/code/game/machinery/vending/medical.dm index d458bf2d325..f0418da0f65 100644 --- a/code/game/machinery/vending/medical.dm +++ b/code/game/machinery/vending/medical.dm @@ -54,7 +54,7 @@ /obj/item/storage/med_pouch/toxin ) contraband = list(/obj/item/chems/syringe/antitoxin = 4,/obj/item/chems/syringe/antibiotic = 4,/obj/item/chems/pill/bromide = 1) - directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':24}, 'EAST':{'x':-24}, 'WEST':{'x':24}}" + directional_offset = @'{"NORTH":{"y":-24}, "SOUTH":{"y":24}, "EAST":{"x":-24}, "WEST":{"x":24}}' obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED /obj/machinery/vending/wallmed2 @@ -77,5 +77,5 @@ /obj/item/storage/med_pouch/radiation ) contraband = list(/obj/item/chems/pill/bromide = 3, /obj/item/chems/hypospray/autoinjector/pain = 2) - directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':24}, 'EAST':{'x':-24}, 'WEST':{'x':24}}" + directional_offset = @'{"NORTH":{"y":-24}, "SOUTH":{"y":24}, "EAST":{"x":-24}, "WEST":{"x":24}}' obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 49bdaf4bba7..fd2afb350cc 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -1,37 +1,169 @@ #define WASHER_STATE_CLOSED 1 -#define WASHER_STATE_FULL 2 +#define WASHER_STATE_LOADED 2 #define WASHER_STATE_RUNNING 4 #define WASHER_STATE_BLOODY 8 -// WASHER_STATE_RUNNING implies WASHER_STATE_CLOSED | WASHER_STATE_FULL +// WASHER_STATE_RUNNING implies WASHER_STATE_CLOSED | WASHER_STATE_LOADED // if you break this assumption, you must update the icon file // other states are independent. /obj/machinery/washing_machine name = "washing machine" + desc = "A commerical washing machine used to wash clothing items and linens. It requires detergent for efficient washing." icon = 'icons/obj/machines/washing_machine.dmi' icon_state = "wm_00" density = TRUE anchored = TRUE construct_state = /decl/machine_construction/default/panel_closed uncreated_component_parts = null - stat_immune = 0 + stat_immune = NOSCREEN var/state = 0 - var/gibs_ready = 0 - var/obj/crayon - var/obj/item/chems/pill/detergent/detergent + var/gibs_ready = FALSE obj_flags = OBJ_FLAG_ANCHORABLE clicksound = "button" clickvol = 40 + var/list/wash_whitelist = list(/obj/item/clothing/under, + /obj/item/clothing/mask, + /obj/item/clothing/head, + /obj/item/clothing/gloves, + /obj/item/clothing/shoes, + /obj/item/clothing/suit, + /obj/item/bedsheet, + /obj/item/underwear) + + var/max_item_size = ITEM_SIZE_LARGE + + var/list/wash_blacklist = list(/obj/item/clothing/suit/space, + /obj/item/clothing/suit/syndicatefake, + /obj/item/clothing/suit/bomb_suit, + /obj/item/clothing/suit/armor, + /obj/item/clothing/mask/gas, + /obj/item/clothing/mask/smokable/cigarette, + /obj/item/clothing/head/helmet) + // Power idle_power_usage = 10 active_power_usage = 150 -/obj/machinery/washing_machine/Destroy() - QDEL_NULL(crayon) - QDEL_NULL(detergent) +/obj/machinery/washing_machine/Initialize(mapload, d, populate_parts) + create_reagents(100) + . = ..() + +/obj/machinery/washing_machine/examine(mob/user) . = ..() + to_chat(user, SPAN_NOTICE("The detergent port is [atom_flags & ATOM_FLAG_OPEN_CONTAINER ? "open" : "closed"].")) + +/obj/machinery/washing_machine/proc/wash() + if(operable()) + var/list/washing_atoms = get_contained_external_atoms() + var/amount_per_atom = FLOOR(reagents.total_volume / length(washing_atoms)) + + if(amount_per_atom > 0) + var/decl/material/smelliest = get_smelliest_reagent(reagents) + for(var/atom/A as anything in get_contained_external_atoms()) + + // Handles washing, decontamination, dyeing, etc. + reagents.trans_to(A, amount_per_atom) + + if(istype(A, /obj/item/clothing)) + var/obj/item/clothing/C = A + C.ironed_state = WRINKLES_WRINKLY + if(smelliest) + C.change_smell(smelliest) + + // Clear out whatever remains of the reagents. + reagents.clear_reagents() + + if(locate(/mob/living) in src) + gibs_ready = TRUE + + state &= ~WASHER_STATE_RUNNING + update_use_power(POWER_USE_IDLE) + +/obj/machinery/washing_machine/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/chems/pill/detergent)) + if(!(atom_flags & ATOM_FLAG_OPEN_CONTAINER)) + to_chat(user, SPAN_WARNING("Open the detergent port first!")) + return + if(reagents.total_volume >= reagents.maximum_volume) + to_chat(user, SPAN_WARNING("The detergent port is full!")) + return + if(!user.try_unequip(W)) + return + // Directly transfer to the holder to avoid touch reactions. + W.reagents?.trans_to_holder(reagents, W.reagents.total_volume) + to_chat(user, SPAN_NOTICE("You dissolve \the [W] in the detergent port.")) + qdel(W) + return TRUE + + if(state & WASHER_STATE_RUNNING) + to_chat(user, SPAN_WARNING("\The [src] is currently running.")) + return TRUE + + // If the detergent port is open and the item is an open container, assume we're trying to fill the detergent port. + if(!(state & WASHER_STATE_CLOSED) && !((atom_flags & W.atom_flags) & ATOM_FLAG_OPEN_CONTAINER)) + var/list/washing_atoms = get_contained_external_atoms() + if(length(washing_atoms) < 5) + if(istype(W, /obj/item/holder)) // Mob holder + for(var/mob/living/doggy in W) + doggy.forceMove(src) + qdel(W) + state |= WASHER_STATE_LOADED + update_icon() + return TRUE + + // An empty whitelist implies all items can be washed. + else if((!length(wash_whitelist) || is_type_in_list(W, wash_whitelist)) && !is_type_in_list(W, wash_blacklist)) + if(W.w_class > max_item_size) + to_chat(user, SPAN_WARNING("\The [W] is too large for \the [src]!")) + return + if(!user.try_unequip(W, src)) + return + state |= WASHER_STATE_LOADED + update_icon() + else + to_chat(user, SPAN_WARNING("You can't put \the [W] in \the [src].")) + return + else + to_chat(user, SPAN_NOTICE("\The [src] is full.")) + return TRUE + + return ..() + +/obj/machinery/washing_machine/physical_attack_hand(mob/user) + if(state & WASHER_STATE_RUNNING) + to_chat(user, SPAN_WARNING("\The [src] is currently running.")) + return TRUE + if(state & WASHER_STATE_CLOSED) + state &= ~WASHER_STATE_CLOSED + if(gibs_ready) + gibs_ready = FALSE + var/mob/M = locate(/mob/living) in src + if(M) + M.gib() + dump_contents() + state &= ~WASHER_STATE_LOADED + update_icon() + return TRUE + state |= WASHER_STATE_CLOSED + update_icon() + return TRUE + +/obj/machinery/washing_machine/verb/climb_out() + set name = "Climb out" + set category = "Object" + set src in usr.loc + + if(!CanPhysicallyInteract(usr)) + return + if(state & WASHER_STATE_CLOSED) + to_chat(usr, SPAN_WARNING("\The [src] is closed.")) + return + if(!do_after(usr, 2 SECONDS, src)) + return + if(!(state & WASHER_STATE_CLOSED)) + usr.dropInto(loc) /obj/machinery/washing_machine/verb/start() set name = "Start Washing" @@ -41,69 +173,84 @@ if(!CanPhysicallyInteract(usr)) return - if(!anchored) - to_chat(usr, "\The [src] must be secured to the floor.") - return + start_washing(usr) +/obj/machinery/washing_machine/proc/start_washing(mob/user) if(state & WASHER_STATE_RUNNING) - to_chat(usr, "\The [src] is already running.") - return - if(!(state & WASHER_STATE_FULL)) - to_chat(usr, "Load \the [src] first!") + to_chat(user, SPAN_WARNING("\The [src] is already running!")) return if(!(state & WASHER_STATE_CLOSED)) - to_chat(usr, "You must first close the machine.") + to_chat(user, SPAN_WARNING("You must first close \the [src].")) + return + if(!(state & WASHER_STATE_LOADED)) + to_chat(user, SPAN_WARNING("Load \the [src] first!!")) + return + if(!operable()) + to_chat(user, SPAN_WARNING("\The [src] isn't functioning!")) return - if(stat & NOPOWER) - to_chat(usr, SPAN_WARNING("\The [src] is unpowered.")) + if(!reagents.total_volume) + to_chat(user, SPAN_WARNING("There are no cleaning products loaded in \the [src]!")) return + atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER + state |= WASHER_STATE_RUNNING if(locate(/mob/living) in src) state |= WASHER_STATE_BLOODY update_use_power(POWER_USE_ACTIVE) - addtimer(CALLBACK(src, /obj/machinery/washing_machine/proc/wash), 20 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/washing_machine, wash)), 20 SECONDS) -/obj/machinery/washing_machine/proc/wash() - for(var/atom/A as anything in get_contained_external_atoms()) - if(detergent) - A.clean_blood() - if(isitem(A)) - var/obj/item/I = A - if(detergent) - I.decontaminate() - if(crayon && iscolorablegloves(I)) - var/obj/item/clothing/gloves/C = I - C.color = crayon.color - if(istype(A, /obj/item/clothing)) - var/obj/item/clothing/C = A - C.ironed_state = WRINKLES_WRINKLY - if(detergent) - C.change_smell(SMELL_CLEAN) - addtimer(CALLBACK(C, /obj/item/clothing/proc/change_smell), detergent.smell_clean_time, TIMER_UNIQUE | TIMER_OVERRIDE) - QDEL_NULL(detergent) - - if(locate(/mob/living) in src) - gibs_ready = 1 - state &= ~WASHER_STATE_RUNNING - update_use_power(POWER_USE_IDLE) + return TRUE -/obj/machinery/washing_machine/verb/climb_out() - set name = "Climb out" +/obj/machinery/washing_machine/verb/toggle_port() + set name = "Toggle Detergent Port" set category = "Object" - set src in usr.loc + set src in oview(1) if(!CanPhysicallyInteract(usr)) return - if(state & WASHER_STATE_CLOSED) - to_chat(usr, SPAN_WARNING("\The [src] is closed.")) - return - if(!do_after(usr, 2 SECONDS, src)) + + toggle_detergent_port(usr) + +/obj/machinery/washing_machine/proc/toggle_detergent_port(mob/user) + if(state & WASHER_STATE_RUNNING) + to_chat(user, SPAN_WARNING("You can't open the detergent port while \the [src] is running!")) return - if(!(state & WASHER_STATE_CLOSED)) - usr.dropInto(loc) + + if(atom_flags & ATOM_FLAG_OPEN_CONTAINER) + atom_flags &= ~ATOM_FLAG_OPEN_CONTAINER + to_chat(user, SPAN_NOTICE("You close the detergent port on \the [src].")) + else + atom_flags |= ATOM_FLAG_OPEN_CONTAINER + to_chat(user, SPAN_NOTICE("You open the detergent port on \the [src].")) + + return TRUE + +/obj/machinery/washing_machine/get_alt_interactions(mob/user) + . = ..() + LAZYADD(., /decl/interaction_handler/start_washer) + LAZYADD(., /decl/interaction_handler/toggle_open/washing_machine) + +/decl/interaction_handler/start_washer + name = "Start washer" + expected_target_type = /obj/machinery/washing_machine + +/decl/interaction_handler/start_washer/is_possible(obj/machinery/washing_machine/washer, mob/user) + . = ..() + if(.) + return washer.operable() && !(washer.state & WASHER_STATE_RUNNING) + +/decl/interaction_handler/start_washer/invoked(obj/machinery/washing_machine/washer, mob/user) + return washer.start_washing(user) + +/decl/interaction_handler/toggle_open/washing_machine + name = "Toggle detergent port" + expected_target_type = /obj/machinery/washing_machine + +/decl/interaction_handler/toggle_open/washing_machine/invoked(obj/machinery/washing_machine/washer, mob/user) + return washer.toggle_detergent_port(user) /obj/machinery/washing_machine/on_update_icon() icon_state = "wm_[state][panel_open]" @@ -116,101 +263,19 @@ /obj/machinery/washing_machine/components_are_accessible(path) return !(state & WASHER_STATE_RUNNING) && ..() -/obj/machinery/washing_machine/attackby(obj/item/W, mob/user) - if(!(state & WASHER_STATE_CLOSED)) - if(!crayon && IS_PEN(W)) - if(!user.try_unequip(W, src)) - return - crayon = W - return TRUE - if(!detergent && istype(W,/obj/item/chems/pill/detergent)) - if(!user.try_unequip(W, src)) - return - detergent = W - return TRUE - if(istype(W, /obj/item/holder)) // Mob holder - for(var/mob/living/doggy in W) - doggy.forceMove(src) - qdel(W) - state |= WASHER_STATE_FULL - update_icon() - return TRUE - - else if(istype(W,/obj/item/clothing/under) || \ - istype(W,/obj/item/clothing/mask) || \ - istype(W,/obj/item/clothing/head) || \ - istype(W,/obj/item/clothing/gloves) || \ - istype(W,/obj/item/clothing/shoes) || \ - istype(W,/obj/item/clothing/suit) || \ - istype(W,/obj/item/bedsheet) || \ - istype(W,/obj/item/underwear/)) - - //YES, it's hardcoded... saves a var/can_be_washed for every single clothing item. - if ( istype(W,/obj/item/clothing/suit/space ) ) - to_chat(user, "This item does not fit.") - return - if ( istype(W,/obj/item/clothing/suit/syndicatefake ) ) - to_chat(user, "This item does not fit.") - return - if ( istype(W,/obj/item/clothing/suit/bomb_suit ) ) - to_chat(user, "This item does not fit.") - return - if ( istype(W,/obj/item/clothing/suit/armor ) ) - to_chat(user, "This item does not fit.") - return - if ( istype(W,/obj/item/clothing/suit/armor ) ) - to_chat(user, "This item does not fit.") - return - if ( istype(W,/obj/item/clothing/mask/gas ) ) - to_chat(user, "This item does not fit.") - return - if ( istype(W,/obj/item/clothing/mask/smokable/cigarette ) ) - to_chat(user, "This item does not fit.") - return - if ( istype(W,/obj/item/clothing/head/helmet ) ) - to_chat(user, "This item does not fit.") - return +/obj/machinery/washing_machine/autoclave + name = "autoclave" + desc = "An industrial washing machine used to sterilize and decontaminate items. It requires detergent for efficient decontamination." - if(contents.len < 5) - if(!(state & WASHER_STATE_CLOSED)) - if(!user.try_unequip(W, src)) - return - state |= WASHER_STATE_FULL - update_icon() - else - to_chat(user, SPAN_NOTICE("You can't put the item in right now.")) - else - to_chat(user, SPAN_NOTICE("\The [src] is full.")) - return TRUE - - if(state & WASHER_STATE_RUNNING) - to_chat(user, SPAN_WARNING("\The [src] is currently running.")) - return TRUE + wash_whitelist = list() + wash_blacklist = list() - return ..() + max_item_size = ITEM_SIZE_HUGE -/obj/machinery/washing_machine/physical_attack_hand(mob/user) - if(state & WASHER_STATE_RUNNING) - to_chat(user, SPAN_WARNING("\The [src] is busy.")) - return TRUE - if(state & WASHER_STATE_CLOSED) - state &= ~WASHER_STATE_CLOSED - if(gibs_ready) - gibs_ready = 0 - var/mob/M = locate(/mob/living) in src - if(M) - M.gib() - dump_contents() - state &= ~WASHER_STATE_FULL - update_icon() - crayon = null - detergent = null - return TRUE - state |= WASHER_STATE_CLOSED - update_icon() - return TRUE + idle_power_usage = 10 + active_power_usage = 300 #undef WASHER_STATE_CLOSED -#undef WASHER_STATE_FULL +#undef WASHER_STATE_LOADED #undef WASHER_STATE_RUNNING #undef WASHER_STATE_BLOODY \ No newline at end of file diff --git a/code/game/objects/alien_props.dm b/code/game/objects/alien_props.dm index 0c78194ae61..b6dca18e783 100644 --- a/code/game/objects/alien_props.dm +++ b/code/game/objects/alien_props.dm @@ -7,14 +7,14 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "unknown1" maxcharge = 5000 - origin_tech = "{'powerstorage':7}" - var/static/base_icon + origin_tech = @'{"powerstorage":7}' + var/base_icon_state /obj/item/cell/alien/on_update_icon() . = ..() - if(!base_icon) - base_icon = pick("instrument", "unknown1", "unknown3", "unknown4") - icon_state = base_icon + if(!base_icon_state) + base_icon_state = pick("instrument", "unknown1", "unknown3", "unknown4") + icon_state = base_icon_state // APC #define APC_UPDATE_ALLGOOD 128 diff --git a/code/game/objects/auras/blueforge_aura.dm b/code/game/objects/auras/blueforge_aura.dm index cc7a7d6118c..1a1800acbc4 100644 --- a/code/game/objects/auras/blueforge_aura.dm +++ b/code/game/objects/auras/blueforge_aura.dm @@ -1,7 +1,7 @@ /obj/aura/blueforge_aura name = "Blueforge Aura" - icon = 'icons/mob/human_races/species/eyes.dmi' - icon_state = "eyes_blueforged_s" + icon = 'icons/mob/human_races/species/blueforged/eyes.dmi' + icon_state = "eyes" layer = MOB_LAYER /obj/aura/blueforge_aura/life_tick() diff --git a/code/game/objects/auras/regenerating_aura.dm b/code/game/objects/auras/regenerating_aura.dm index 6fb8be76614..96707e87154 100644 --- a/code/game/objects/auras/regenerating_aura.dm +++ b/code/game/objects/auras/regenerating_aura.dm @@ -36,17 +36,18 @@ return 0 var/update_health = FALSE + var/organ_regen = get_config_value(/decl/config/num/health_organ_regeneration_multiplier) if(brute_mult && H.getBruteLoss()) update_health = TRUE - H.adjustBruteLoss(-brute_mult * config.organ_regeneration_multiplier, do_update_health = FALSE) + H.adjustBruteLoss(-brute_mult * organ_regen, do_update_health = FALSE) H.adjust_nutrition(-nutrition_damage_mult) if(fire_mult && H.getFireLoss()) update_health = TRUE - H.adjustFireLoss(-fire_mult * config.organ_regeneration_multiplier, do_update_health = FALSE) + H.adjustFireLoss(-fire_mult * organ_regen, do_update_health = FALSE) H.adjust_nutrition(-nutrition_damage_mult) if(tox_mult && H.getToxLoss()) update_health = TRUE - H.adjustToxLoss(-tox_mult * config.organ_regeneration_multiplier, do_update_health = FALSE) + H.adjustToxLoss(-tox_mult * organ_regen, do_update_health = FALSE) H.adjust_nutrition(-nutrition_damage_mult) if(update_health) H.update_health() diff --git a/code/game/objects/effects/chem/foam.dm b/code/game/objects/effects/chem/foam.dm index dcdf6727880..7d5401a8f1e 100644 --- a/code/game/objects/effects/chem/foam.dm +++ b/code/game/objects/effects/chem/foam.dm @@ -22,7 +22,7 @@ spawn(3 + metal * 3) Process() checkReagents() - addtimer(CALLBACK(src, .proc/remove_foam), 12 SECONDS) + addtimer(CALLBACK(src, PROC_REF(remove_foam)), 12 SECONDS) /obj/effect/effect/foam/proc/remove_foam() STOP_PROCESSING(SSobj, src) diff --git a/code/game/objects/effects/decals/posters/_poster.dm b/code/game/objects/effects/decals/posters/_poster.dm index 095039b8084..c5e5768301b 100644 --- a/code/game/objects/effects/decals/posters/_poster.dm +++ b/code/game/objects/effects/decals/posters/_poster.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/items/posters.dmi' icon_state = "poster0" anchored = TRUE - directional_offset = "{'NORTH':{'y':32}, 'SOUTH':{'y':-32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":32}, "SOUTH":{"y":-32}, "WEST":{"x":32}, "EAST":{"x":-32}}' material = /decl/material/solid/organic/paper max_health = 10 parts_type = /obj/item/poster diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index d8620773efb..65d922b6cda 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -68,7 +68,7 @@ steam.start() -- spawns the effect /datum/effect/effect/system/steam_spread/start() var/i = 0 for(i=0, i 20) return - addtimer(CALLBACK(src, /datum/effect/effect/system/proc/spread, i), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/effect/effect/system, spread), i), 0) /datum/effect/effect/system/smoke_spread/spread(var/i) if(holder) diff --git a/code/game/objects/effects/explosion_particles.dm b/code/game/objects/effects/explosion_particles.dm index 4f3c44fba8b..1077b1b952f 100644 --- a/code/game/objects/effects/explosion_particles.dm +++ b/code/game/objects/effects/explosion_particles.dm @@ -55,7 +55,7 @@ var/datum/effect/system/expl_particles/P = new/datum/effect/system/expl_particles() P.set_up(10,location) P.start() - addtimer(CALLBACK(src, .proc/make_smoke), 5) + addtimer(CALLBACK(src, PROC_REF(make_smoke)), 5) /datum/effect/system/explosion/proc/make_smoke() var/datum/effect/effect/system/smoke_spread/S = new/datum/effect/effect/system/smoke_spread() diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index b39ce17615a..55aaddcf1bd 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -32,7 +32,7 @@ dangerous = 1 playsound(src, 'sound/effects/phasein.ogg', 25, 1) target = end - events_repository.register(/decl/observ/moved, src, src, /datum/proc/qdel_self) + events_repository.register(/decl/observ/moved, src, src, TYPE_PROC_REF(/datum, qdel_self)) if(delete_after) QDEL_IN(src, delete_after) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index cb41fa74732..0952585216f 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -172,7 +172,7 @@ dormant = FALSE if(dormant) - events_repository.register(/decl/observ/moved, src, src, /obj/effect/spider/proc/disturbed) + events_repository.register(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/effect/spider, disturbed)) else START_PROCESSING(SSobj, src) @@ -187,7 +187,7 @@ /obj/effect/spider/spiderling/Destroy() if(dormant) - events_repository.unregister(/decl/observ/moved, src, src, /obj/effect/spider/proc/disturbed) + events_repository.unregister(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/effect/spider, disturbed)) STOP_PROCESSING(SSobj, src) walk(src, 0) // Because we might have called walk_to, we must stop the walk loop or BYOND keeps an internal reference to us forever. . = ..() @@ -208,7 +208,7 @@ if(!dormant) return dormant = FALSE - events_repository.unregister(/decl/observ/moved, src, src, /obj/effect/spider/proc/disturbed) + events_repository.unregister(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/effect/spider, disturbed)) START_PROCESSING(SSobj, src) /obj/effect/spider/spiderling/Bump(atom/user) @@ -233,7 +233,7 @@ if(prob(50)) src.visible_message("You hear something squeezing through the ventilation ducts.",2) forceMove(exit_vent) - addtimer(CALLBACK(src, .proc/end_vent_moving, exit_vent), travel_time) + addtimer(CALLBACK(src, PROC_REF(end_vent_moving), exit_vent), travel_time) /obj/effect/spider/spiderling/proc/end_vent_moving(obj/machinery/atmospherics/unary/vent_pump/exit_vent) if(check_vent(exit_vent)) @@ -268,7 +268,7 @@ forceMove(entry_vent) var/travel_time = round(get_dist(loc, exit_vent.loc) / 2) - addtimer(CALLBACK(src, .proc/start_vent_moving, exit_vent, travel_time), travel_time + rand(20,60)) + addtimer(CALLBACK(src, PROC_REF(start_vent_moving), exit_vent, travel_time), travel_time + rand(20,60)) travelling_in_vent = TRUE return else diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm index e3a2cedd855..bef4e25c4d1 100644 --- a/code/game/objects/explosion.dm +++ b/code/game/objects/explosion.dm @@ -1,6 +1,6 @@ //TODO: Flash range does nothing currently /proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1, z_transfer = UP|DOWN) - if(config.use_iterative_explosions) + if(get_config_value(/decl/config/toggle/use_iterative_explosions)) . = explosion_iter(epicenter, (devastation_range * 2 + heavy_impact_range + light_impact_range), z_transfer) else . = explosion_basic(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog, z_transfer) @@ -86,7 +86,7 @@ if(AM && AM.simulated && !T.protects_atom(AM)) AM.explosion_act(dist) if(!QDELETED(AM) && !AM.anchored) - addtimer(CALLBACK(AM, /atom/movable/.proc/throw_at, throw_target, throw_dist, throw_dist), 0) + addtimer(CALLBACK(AM, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, throw_dist, throw_dist), 0) var/took = (REALTIMEOFDAY-start_time)/10 if(Debug2) @@ -127,11 +127,12 @@ if (O.explosion_resistance) power -= O.explosion_resistance - if (power >= config.iterative_explosives_z_threshold) + if (power >= get_config_value(/decl/config/num/iterative_explosives_z_threshold)) + var/explo_mult = get_config_value(/decl/config/num/iterative_explosives_z_multiplier) if ((z_transfer & UP) && HasAbove(epicenter.z)) - explosion_iter(GetAbove(epicenter), power * config.iterative_explosives_z_multiplier, UP) + explosion_iter(GetAbove(epicenter), power * explo_mult, UP) if ((z_transfer & DOWN) && HasBelow(epicenter.z)) - explosion_iter(GetBelow(epicenter), power * config.iterative_explosives_z_multiplier, DOWN) + explosion_iter(GetBelow(epicenter), power * explo_mult, DOWN) // These three lists must always be the same length. var/list/turf_queue = list(epicenter, epicenter, epicenter, epicenter) @@ -254,7 +255,7 @@ if (AM.simulated) AM.explosion_act(severity) if(!QDELETED(AM) && !AM.anchored) - addtimer(CALLBACK(AM, /atom/movable/.proc/throw_at, throw_target, throw_dist, throw_dist), 0) + addtimer(CALLBACK(AM, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, throw_dist, throw_dist), 0) movable_tally++ CHECK_TICK else diff --git a/code/game/objects/item.dm b/code/game/objects/item.dm index 5d0ebf45295..342fb5ac283 100644 --- a/code/game/objects/item.dm +++ b/code/game/objects/item.dm @@ -84,7 +84,7 @@ var/tmp/has_inventory_icon // do not set manually var/tmp/use_single_icon - var/center_of_mass = @"{'x':16,'y':16}" //can be null for no exact placement behaviour + var/center_of_mass = @'{"x":16,"y":16}' //can be null for no exact placement behaviour /obj/item/proc/can_contaminate() return !(obj_flags & ITEM_FLAG_NO_CONTAMINATION) @@ -457,10 +457,10 @@ for(var/obj/item/thing in user?.get_held_items()) thing.update_twohanding() if(play_dropsound && drop_sound && SSticker.mode) - addtimer(CALLBACK(src, .proc/dropped_sound_callback), 0, (TIMER_OVERRIDE | TIMER_UNIQUE)) + addtimer(CALLBACK(src, PROC_REF(dropped_sound_callback)), 0, (TIMER_OVERRIDE | TIMER_UNIQUE)) if(user && (z_flags & ZMM_MANGLE_PLANES)) - addtimer(CALLBACK(user, /mob/proc/check_emissive_equipment), 0, TIMER_UNIQUE) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, check_emissive_equipment)), 0, TIMER_UNIQUE) RAISE_EVENT(/decl/observ/mob_unequipped, user, src) RAISE_EVENT_REPEAT(/decl/observ/item_unequipped, src, user) @@ -492,7 +492,7 @@ add_fingerprint(user) hud_layerise() - addtimer(CALLBACK(src, .proc/reconsider_client_screen_presence, user.client, slot), 0) + addtimer(CALLBACK(src, PROC_REF(reconsider_client_screen_presence), user.client, slot), 0) //Update two-handing status var/mob/M = loc @@ -503,11 +503,11 @@ if(user) if(SSticker.mode) if(pickup_sound && (slot in user.get_held_item_slots())) - addtimer(CALLBACK(src, .proc/pickup_sound_callback), 0, (TIMER_OVERRIDE | TIMER_UNIQUE)) + addtimer(CALLBACK(src, PROC_REF(pickup_sound_callback)), 0, (TIMER_OVERRIDE | TIMER_UNIQUE)) else if(equip_sound) - addtimer(CALLBACK(src, .proc/equipped_sound_callback), 0, (TIMER_OVERRIDE | TIMER_UNIQUE)) + addtimer(CALLBACK(src, PROC_REF(equipped_sound_callback)), 0, (TIMER_OVERRIDE | TIMER_UNIQUE)) if(z_flags & ZMM_MANGLE_PLANES) - addtimer(CALLBACK(user, /mob/proc/check_emissive_equipment), 0, TIMER_UNIQUE) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, check_emissive_equipment)), 0, TIMER_UNIQUE) RAISE_EVENT(/decl/observ/mob_equipped, user, src, slot) RAISE_EVENT_REPEAT(/decl/observ/item_equipped, src, user, slot) @@ -731,12 +731,12 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. user.visible_message("\The [user] peers through [zoomdevicename ? "the [zoomdevicename] of [src]" : "[src]"].") - events_repository.register(/decl/observ/destroyed, user, src, /obj/item/proc/unzoom) - events_repository.register(/decl/observ/moved, user, src, /obj/item/proc/unzoom) - events_repository.register(/decl/observ/dir_set, user, src, /obj/item/proc/unzoom) - events_repository.register(/decl/observ/item_unequipped, src, src, /obj/item/proc/zoom_drop) + events_repository.register(/decl/observ/destroyed, user, src, TYPE_PROC_REF(/obj/item, unzoom)) + events_repository.register(/decl/observ/moved, user, src, TYPE_PROC_REF(/obj/item, unzoom)) + events_repository.register(/decl/observ/dir_set, user, src, TYPE_PROC_REF(/obj/item, unzoom)) + events_repository.register(/decl/observ/item_unequipped, src, src, TYPE_PROC_REF(/obj/item, zoom_drop)) if(isliving(user)) - events_repository.register(/decl/observ/stat_set, user, src, /obj/item/proc/unzoom) + events_repository.register(/decl/observ/stat_set, user, src, TYPE_PROC_REF(/obj/item, unzoom)) /obj/item/proc/zoom_drop(var/obj/item/I, var/mob/user) unzoom(user) @@ -746,12 +746,12 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out. return zoom = 0 - events_repository.unregister(/decl/observ/destroyed, user, src, /obj/item/proc/unzoom) - events_repository.unregister(/decl/observ/moved, user, src, /obj/item/proc/unzoom) - events_repository.unregister(/decl/observ/dir_set, user, src, /obj/item/proc/unzoom) - events_repository.unregister(/decl/observ/item_unequipped, src, src, /obj/item/proc/zoom_drop) + events_repository.unregister(/decl/observ/destroyed, user, src, TYPE_PROC_REF(/obj/item, unzoom)) + events_repository.unregister(/decl/observ/moved, user, src, TYPE_PROC_REF(/obj/item, unzoom)) + events_repository.unregister(/decl/observ/dir_set, user, src, TYPE_PROC_REF(/obj/item, unzoom)) + events_repository.unregister(/decl/observ/item_unequipped, src, src, TYPE_PROC_REF(/obj/item, zoom_drop)) if(isliving(user)) - events_repository.unregister(/decl/observ/stat_set, user, src, /obj/item/proc/unzoom) + events_repository.unregister(/decl/observ/stat_set, user, src, TYPE_PROC_REF(/obj/item, unzoom)) if(!user.client) return diff --git a/code/game/objects/item_interactions.dm b/code/game/objects/item_interactions.dm index 856871e9baa..01f887cf4ff 100644 --- a/code/game/objects/item_interactions.dm +++ b/code/game/objects/item_interactions.dm @@ -1,6 +1,6 @@ /obj/item/get_alt_interactions(var/mob/user) . = ..() - if(config.expanded_alt_interactions) + if(get_config_value(/decl/config/toggle/expanded_alt_interactions)) LAZYADD(., list( /decl/interaction_handler/pick_up, /decl/interaction_handler/drop, diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 43f82d3b0c4..c9c67e53fc7 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -105,8 +105,8 @@ if(isnull(shuttle_name)) shuttle_name = S.shuttle update_linked_name(S, null, S.name) - events_repository.register(/decl/observ/name_set, S, src, .proc/update_linked_name) - events_repository.register(/decl/observ/destroyed, S, src, .proc/on_shuttle_destroy) + events_repository.register(/decl/observ/name_set, S, src, PROC_REF(update_linked_name)) + events_repository.register(/decl/observ/destroyed, S, src, PROC_REF(on_shuttle_destroy)) valid_z_levels += S.map_z area_prefix = S.name return TRUE @@ -119,8 +119,8 @@ desc = "Blueprints of \the [new_name]. There are several coffee stains on it." /obj/item/blueprints/shuttle/proc/on_shuttle_destroy(datum/destroyed) - events_repository.unregister(/decl/observ/name_set, destroyed, src, .proc/update_linked_name) - events_repository.unregister(/decl/observ/destroyed, destroyed, src, .proc/on_shuttle_destroy) + events_repository.unregister(/decl/observ/name_set, destroyed, src, PROC_REF(update_linked_name)) + events_repository.unregister(/decl/observ/destroyed, destroyed, src, PROC_REF(on_shuttle_destroy)) name = initial(name) desc = "Some dusty old blueprints. The markings are old, and seem entirely irrelevant for your wherabouts." valid_z_levels = list() diff --git a/code/game/objects/items/books/_book.dm b/code/game/objects/items/books/_book.dm index af564436395..f4806822104 100644 --- a/code/game/objects/items/books/_book.dm +++ b/code/game/objects/items/books/_book.dm @@ -34,6 +34,19 @@ if(SSpersistence.is_tracking(src, /decl/persistence_handler/book)) . = QDEL_HINT_LETMELIVE +/obj/item/book/proc/get_style_css() + return {" + + "} + /obj/item/book/attack_self(var/mob/user) return try_to_read(user) || ..() diff --git a/code/game/objects/items/books/fluff/_fluff.dm b/code/game/objects/items/books/fluff/_fluff.dm new file mode 100644 index 00000000000..f7ce2ae2fbd --- /dev/null +++ b/code/game/objects/items/books/fluff/_fluff.dm @@ -0,0 +1,20 @@ +/obj/item/book/fluff + unique = TRUE + abstract_type = /obj/item/book/fluff + var/fluff_text + +/obj/item/book/fluff/Initialize() + . = ..() + if(!fluff_text) + log_debug("Fluff book [type] spawned with no fluff text.") + return INITIALIZE_HINT_QDEL + dat = {" + + + [get_style_css()] + + + [fluff_text] + + + "} diff --git a/code/game/objects/items/books/fluff/science.dm b/code/game/objects/items/books/fluff/science.dm new file mode 100644 index 00000000000..830026a5bb9 --- /dev/null +++ b/code/game/objects/items/books/fluff/science.dm @@ -0,0 +1,133 @@ +/obj/item/book/fluff/anomaly_spectroscopy + name = "Spectroscopy: Analysing the Anomalies of the Cosmos" + icon_state = "anomaly" + author = "Doctor Martin Boyle, Director Research at the Lower Hydrolian Sector Listening Array" + title = "Spectroscopy: Analysing the Anomalies of the Cosmos" + fluff_text = {" + It's perhaps one of the most exciting times to be alive, with the recent breakthroughs in understanding and categorisation of things we may one day no longer call + 'anomalies,' but rather 'infrequent or rare occurrences of certain celestial weather or phenomena.' Perhaps a little more long winded, but no less eloquent all the + same! Why, look at the strides we're making in piercing the walls of spacetime or our steadily improving ability to clarify and stabilise subspace emissions; it's + certainly an exciting time to be alive. For the moment, the Hydrolian hasn't seen two spatial anomalies alike but the day will come and it is soon, I can feel it. + "} + +/obj/item/book/fluff/materials_chemistry_analysis + name = "Materials Analysis and the Chemical Implications" + icon_state = "chemistry" + author = "Jasper Pascal, Senior Lecturer in Materials Analysis at the University of Jol'Nar" + title = "Materials Analysis and the Chemical Implications" + fluff_text = {" + In today's high tech research fields, leaps and bounds are being made every day. Whether it's great strides forward in our understanding of the physical universe + or the operation of some fancy new piece of equipment, it seems like all the cool fields are producing new toys to play with, leaving doddery old fields such as + materials analysis and chemistry relegated to the previous few centuries, when we were still learning the makeup and structure of the elements. +

+ Well, when you're out there building the next gryo-whatsitron or isotope mobility thingummy, remember how the field of archaeology experienced a massive new rebirth + following the excavations at Paranol IV and consider how all of the scientific greats will come crawling back to basic paradigms of natural philosophy when they discover + a new element that defies classification. I defy you to classify it without reviving this once great field! + "} + +/obj/item/book/fluff/anomaly_testing + name = "Anomalous Materials and Energies" + icon_state = "triangulate" + author = "Norman York, formerly of the Tyrolion Institute on Titan" + title = "Anomalous Materials and Energies" + fluff_text = {" +

Contents

+
    +
  1. Foreword: Modern attitude towards anomalies
  2. +
  3. Triangulating anomalous energy readings
  4. +
  5. Harvesting and utilising anomalous energy signatures
  6. +
+
+

Modern attitude towards anomalies

+ It's only when confronted with things we don't know, that we may push back our knowledge of the world around us. Nowhere is this more obvious than the + vast and inscrutable mysterious of the cosmos that scholars from such august institutions as the Elysian Institute of the Sciences present + formulas and hypotheses for every few decades.
+
+ Using our vast, telescopic array installations and deep space satellite networks, we are able to detect anomalous energy fields and formations in deep space, + but are limited to those that are large enough to output energy that will stretch across light years worth of distance between stars.
+
+ While some sectors (such as the Hydrolian Rift and Keppel's Run) are replete with inexplicable energetic activity and unique phenomena found nowhere else in + the galaxy, the majority of space is dry, barren and cold - and if past experience has told us anything, it is that there are always more things we are + unable to explain.
+
+ Indeed, a great source of knowledge and technology has always been those who come before us, in the form of the multitudinous ancient alien precursors that + have left scattered remnants of their great past all over settled (and unexplored) space.
+
+ It is from xenoarchaeologists, high energy materials researchers, and technology reconstruction authorities that we are able to theorise on the gifts these + species have left behind, and in some cases even reverse engineer or rebuild the technology in question. My colleague, Doctor Raymond Ward of the + Tyrolian Institute on Titan, has made great breakthroughs in a related field through his pioneering development of universally reflective materials capable + of harvesting and 'bottling' up virtually any energy emissions yet encountered by spacefaring civilisations.
+
+ And yet, there are some amongst us who do not see the benefits of those who have come before us - indeed, some among them profess the opinion that there + is no species that could possibly match humanity in it's achievements and knowledge, or simply that employing non-human technology is dangerous and unethical. + Folly, say I. If it is their desire to throw onto the wayside the greatest achievements in the history of the galaxy, simply for preferment of the + greatest achievements in the history of mankind, then they have no business in the establishment of science.
+ Contents +

Triangulating anomalous energy readings

+ Strong energy emissions, when remaining constant from any one fixed location for millennia, can leave an 'imprint' or distinctive energy signature on other + matter composites that are spatially fixed relative to the source.
+
+ By taking samples of such 'fixed' matter, we can apply complex analytics such as the modified Fourier Transform Procedure to reverse engineer the path of the + energy, and determine the approximate distance and direction that the energy source is, relative to the sample's point in space. Modern portable devices can do + all this purely by taking readings of local radiation.
+
+ A canny researcher can thusly analyse radiation at pre-chosen points strategically scattered around an area, and if there are any anomalous energy + emissions in range of those points, combined the researcher can triangulate the source.
+ Contents +

Harvesting and utilising anomalous energy signatures

+ As mentioned in the foreword, my colleague from the Tyrolian Institute on Saturn's moon of Titan, in the Sol System, Doctor Raymond Ward has made great strides + in the area of harvesting and application of the energy emitted by anomalous phenomena from around the galaxy (although I profess I have not yet seen him + venture further from his birthplace on Earth than the comfortable distance of the Sol Cis-Oort Satellite Sphere).
+
+ By employing a patented semi-phased alloy with unique and fascinating properties, Ward's contraption is able to 'harvest' energy, store + it and redirect it later at will (with appropriate electronic mechanisms, of course). Although he professes to see or desire no commercial or material gain + for the application and use of said energy once it is harvested, there are no doubt myriad ways we can come to benefit from such things beyond mere research, + such as the reconstruction of torn cartilaginous tissue that a peculiar radiation from an amphibious species on Brachis IV was found to emit.
+ Contents + "} + +/obj/item/book/fluff/stasis + name = "Cellular Suspension, the New Cryogenics?" + icon_state = "stasis" + author = "Elvin Schmidt" + title = "Cellular Suspension, the New Cryogenics?" + fluff_text = {" +

Contents

+
    +
  1. Foreword: A replacement for cryosleep?
  2. +
  3. The breakthrough
  4. +
  5. Applying this new principle
  6. +
+
+

Foreword: A replacement for cryosleep?

+ The development of rudimentary cryofreezing in the 20th and 21st centuries was hailed as a crank science by some, but many early visionaries recognised the + potential it had to change the way we approach so many fields, such as medicine, therapeutics, and space travel. It was breakthroughs in the field in the 22nd and + later centuries that turned the procedure from science fiction to science fact, however. Since then, cryogenics has become a hallmark of modern science, and + regarded as one of the great achievements of our era. As with all sciences however, they have their time and are superseded by newer technological miracles when + it is over.
+ Contents +

The breakthrough

+ It was in examining the effects of decelerated high energy particles when transphased through a gravitational lens that the effects where primarily noticed. + Due to exigent properties of that dimension, transphasing those particles capable of existing with high stability levels has the effect of bringing + some of those effects into realspace. Examining the Hoffman emissions in particular, it was discovered that they exhibited a-entropic behaviour, and in what is + now termed the 'Effete Hoffman Principle,' it was found that metastabilising the Hoffman radiation resulted in the effect being applied across other physical + interactions, in particular forces and reactions.
+ Contents +

Applying this new principle

+ When combined with an appropriate energy-effect replicate for cryogenics (slowing down biological activity, thus stabilising the organics), the effect is + effectively identical to cryogenics, and while it consumes vastly more power and requires extremely complex equipment, it's (for all intents and purposes) superior + to cryogenics, all that remains is to 'commercialise' the process by enabling cheaper development and mass production.
+ The Effete Hoffman Principle can be tweak-combined with other effects however, for different purposes. A division of PMC Research initially developed the application + in prisons as a literal 'suspension field' where convicts are held immobile in the air, and the use quickly spread to numerous other areas.
+
+ By examining the material resonance properties of certain strong waveforms when combined with Hoffman radiation, an effect was produced able to reverse energy + transferral through matter, and to slow the effects of gravity. When combined with energy repulse technology, the triple effects compound themselves into a much + stronger field, although all three components do slightly different things. High energy researchers assure me of the following key points:
+
    +
  • The energy repulsion factor provides a 'shell' capable of weak suspension.
  • +
  • The Hoffman emissions nullify energy transferral and other kinetic activity, maintaining stability inside the field.
  • +
  • The resonant waveform combines the effects of the above two points, and applies it magnified onto it's synced 'resonance' materials.
  • +
+ As an interesting aside, a carbon waveform was chosen for the field in prison suspension fields, due to it's resonance with organic matter.
+ Contents + "} diff --git a/code/game/objects/items/books/manuals/_manual.dm b/code/game/objects/items/books/manuals/_manual.dm index aa5c491e6f1..7cee55d5709 100644 --- a/code/game/objects/items/books/manuals/_manual.dm +++ b/code/game/objects/items/books/manuals/_manual.dm @@ -1,27 +1,21 @@ /obj/item/book/manual - icon = 'icons/obj/library.dmi' - unique = 1 // 0 - Normal book, 1 - Should not be treated as normal book, unable to be copied, unable to be modified - var/url // Using full url or just tittle, example - Standard_Operating_Procedure (https://wiki.baystation12.net/index.php?title=Standard_Operating_Procedure) + unique = TRUE // Unable to be copied, unable to be modified + abstract_type = /obj/item/book/manual + var/guide_decl /obj/item/book/manual/Initialize() . = ..() - if(url) // URL provided for this manual - // If we haven't wikiurl or it included in url - just use url - if(config.wikiurl && !findtextEx(url, config.wikiurl, 1, length(config.wikiurl)+1)) - // If we have wikiurl, but it hasn't "index.php" then add it and making full link in url - if(config.wikiurl && !findtextEx(config.wikiurl, "/index.php", -10)) - if(findtextEx(config.wikiurl, "/", -1)) - url = config.wikiurl + "index.php?title=" + url - else - url = config.wikiurl + "/index.php?title=" + url - else //Or just making full link in url - url = config.wikiurl + "?title=" + url - dat = {" - - - - - - - - "} + var/guide_text = guide_decl && SScodex.get_manual_text(guide_decl) + if(!guide_text) + log_debug("Manual [type] spawned with invalid guide decl type ([guide_decl || null]).") + return INITIALIZE_HINT_QDEL + dat = {" + + + [get_style_css()] + + + [guide_text] + + + "} diff --git a/code/game/objects/items/books/manuals/engineering.dm b/code/game/objects/items/books/manuals/engineering.dm index cf54e3895fd..555b10c44e6 100644 --- a/code/game/objects/items/books/manuals/engineering.dm +++ b/code/game/objects/items/books/manuals/engineering.dm @@ -1,685 +1,76 @@ /obj/item/book/manual/engineering_guide - name = "Engineering Textbook" + name = "engineering reference manual" icon_state ="bookEngineering2" author = "Engineering Encyclopedia" title = "Engineering Textbook" - url = "Engineering" + guide_decl = /datum/codex_entry/guide/engineering /obj/item/book/manual/robotics_cyborgs - name = "Cyborgs for Dummies" + name = "robotics reference manual" icon_state = "borgbook" author = "XISC" title = "Cyborgs for Dummies" - - dat = {" - - - - - -

Cyborgs for Dummies

- -

Chapters

- -
    -
  1. Cyborg Related Equipment
  2. -
  3. Cyborg Modules
  4. -
  5. Cyborg Construction
  6. -
  7. Cyborg Maintenance
  8. -
  9. Cyborg Repairs
  10. -
  11. In Case of Emergency
  12. -
- - -

Cyborg Related Equipment

- -

Exosuit Fabricator

- The Exosuit Fabricator is the most important piece of equipment related to cyborgs. It allows the construction of the core cyborg parts. Without these machines, cyborgs cannot be built. It seems that they may also benefit from advanced research techniques. - -

Cyborg Recharging Station

- This useful piece of equipment will suck power out of the power systems to charge a cyborg's power cell back up to full charge. - -

Robotics Control Console

- This useful piece of equipment can be used to immobilize or destroy a cyborg. A word of warning: Cyborgs are expensive pieces of equipment, do not destroy them without good reason, or the Company may see to it that it never happens again. - - -

Cyborg Modules

- When a cyborg is created it picks out of an array of modules to designate its purpose. There are 11 different cyborg modules.
- All cyborg modules carry a flash. - -

Standard Cyborg

- The standard cyborg module is a multi-purpose cyborg. It is equipped with various modules, allowing it to do basic tasks.
A Standard Cyborg comes with: -
    -
  • Crowbar
  • -
  • Wrench
  • -
  • Stun Baton
  • -
  • Health Analyzer
  • -
  • Fire Extinguisher
  • -
- -

Research Cyborg

- The research cyborg module is an effective researching machine. It is equipped with tools to effectively run RnD.A Research Cyborg comes with: -
    -
  • Portable Destructive Analyzer
  • -
  • Research Gripper
  • -
  • Sheet Loader
  • -
  • Robot Analyzer
  • -
  • Robot Card
  • -
  • Set of Engineering Tools
  • -
  • Laser Scalpel
  • -
  • Circular Saw
  • -
  • Fire Extinguisher
  • -
  • Syringe
  • -
  • Chemistry Gripper
  • -
  • Nanopaste
  • -
- -

Engineering Cyborg

- The Engineering cyborg module comes equipped with various engineering-related tools to help with engineering-related tasks.
An Engineering Cyborg comes with: -
    -
  • A basic set of engineering tools
  • -
  • Metal Synthesizer
  • -
  • Plasteel Synthesizer
  • -
  • Reinforced Glass Synthesizer
  • -
  • Wire Synthesizer
  • -
  • Fire Extinguisher
  • -
  • Roll of Tape
  • -
  • Built-in Optical Meson Scanners
  • -
- -

Mining Cyborg

- The Mining Cyborg module comes equipped with the latest in mining equipment. They are efficient at mining due to no need for oxygen, but their power cells limit their time in the mines.
A Mining Cyborg comes with: -
    -
  • Wrench
  • -
  • Scredriver
  • -
  • Crowbar
  • -
  • Ore Satchel
  • -
  • Borg Drill
  • -
  • Mining Gripper
  • -
  • Ore Scanner
  • -
- -

Security Cyborg

- The Security Cyborg module is equipped with effective security measures used to apprehend and arrest criminals.
A Security Cyborg comes with: -
    -
  • Stun Baton
  • -
  • Handcuffs
  • -
  • Energy Gun
  • -
  • Megaphone
  • -
  • Roll of Tape
  • -
- -

Janitor Cyborg

- The Janitor Cyborg module is equipped with various cleaning-facilitating devices.
A Janitor Cyborg comes with: -
    -
  • Mop
  • -
  • Hand Bucket
  • -
  • Cleaning Spray Synthesizer and Spray Nozzle
  • -
  • Light Replacer
  • -
  • Trash Bag
  • -
- -

Service Cyborg

- The service cyborg module comes ready to serve your human needs. It includes various entertainment and refreshment devices. Occasionally some service cyborgs may have been referred to as "Bros."
A Service Cyborg comes with: -
    -
  • Service Gripper
  • -
  • Bucket
  • -
  • Hoe
  • -
  • Hatchet
  • -
  • Zippo Lighter
  • -
  • Rapid-Service-Fabricator (Produces various entertainment and refreshment objects)
  • -
  • Plant Analyzer
  • -
  • Robot Harvester
  • -
  • Rolling Pin
  • -
  • Knife
  • -
- -

Clerical Cyborg

- The clerical cyborg module is prepared to run the supply department, including a vareity of stamps.
A clerical cyborg comes with: -
    -
  • Pen
  • -
  • Paper Dispenser
  • -
  • Clerical Gripper
  • -
  • Hand Labeler
  • -
  • Generic Stamp
  • -
  • Denied Stamp
  • -
  • Package Wrapper
  • -
  • Destination Tagger
  • -
- -

Crisis Cyborg

- The crisis cyborg module is prepared to handle a variety of non-surgical medical emergencies.
A medical cyborg comes with: -
    -
  • Crowbar
  • -
  • Health Analyzer
  • -
  • Reagent Scanner
  • -
  • Roller Bed Rack
  • -
  • Body Bag Rack
  • -
  • Hypospray
  • -
  • Automatic Defibrillator
  • -
  • Industrial Dropper
  • -
  • Syringe
  • -
  • Chemistry Gripper
  • -
  • Fire Extinguisher
  • -
  • Inflatables Dispenser
  • -
  • Roll of Tape
  • -
- -

Surgeon Cyborg

- The surgeon cyborg modules is prepared to handle a variety of surgical medical emergencies.
A medical cyborg comes with: -
    -
  • Set of Surgery Tools
  • -
  • Health Analyzer
  • -
  • Roller Bed Rack
  • -
  • Body Bag Rack
  • -
  • Hypospray
  • -
  • Automatic Defibrillator
  • -
  • Industrial Dropper
  • -
  • Syringe
  • -
  • Chemistry Gripper
  • -
  • Fire Extinguisher
  • -
  • Inflatables Dispenser
  • -
  • Roll of Tape
  • -
- -

Cyborg Construction

- Cyborg construction is a rather easy process, requiring a decent amount of metal and a few other supplies.
The required materials to make a cyborg are: -
    -
  • Metal
  • -
  • Two Flashes
  • -
  • One Power Cell (Preferably rated to 15000w)
  • -
  • Some electrical wires
  • -
  • One Human Brain
  • -
  • One Man-Machine Interface
  • -
- Once you have acquired the materials, you can start on construction of your cyborg.
To construct a cyborg, follow the steps below: -
    -
  1. Start the Exosuit Fabricators constructing all of the cyborg parts
  2. -
  3. While the parts are being constructed, take your human brain, and place it inside the Man-Machine Interface
  4. -
  5. Once you have a Robot Head, place your two flashes inside the eye sockets
  6. -
  7. Once you have your Robot Chest, wire the Robot chest, then insert the power cell
  8. -
  9. Attach all of the Robot parts to the Robot frame
  10. -
  11. Insert the Man-Machine Interface (With the Brain inside) into the Robot Body
  12. -
  13. Congratulations! You have a new cyborg!
  14. -
- -

Cyborg Maintenance

- Occasionally Cyborgs may require maintenance of a couple types, this could include replacing a power cell with a charged one, or possibly maintaining the cyborg's internal wiring. - -

Replacing a Power Cell

- Replacing a Power cell is a common type of maintenance for cyborgs. It usually involves replacing the cell with a fully charged one, or upgrading the cell with a larger capacity cell.
The steps to replace a cell are as follows: -
    -
  1. Unlock the Cyborg's Interface by swiping your ID on it
  2. -
  3. Open the Cyborg's outer panel using a crowbar
  4. -
  5. Remove the old power cell
  6. -
  7. Insert the new power cell
  8. -
  9. Close the Cyborg's outer panel using a crowbar
  10. -
  11. Lock the Cyborg's Interface by swiping your ID on it, this will prevent non-qualified personnel from attempting to remove the power cell
  12. -
- -

Exposing the Internal Wiring

- Exposing the internal wiring of a cyborg is fairly easy to do, and is mainly used for cyborg repairs.
You can easily expose the internal wiring by following the steps below: -
    -
  1. Follow Steps 1 - 3 of "Replacing a Cyborg's Power Cell"
  2. -
  3. Open the cyborg's internal wiring panel by using a screwdriver to unsecure the panel
  4. -
- To re-seal the cyborg's internal wiring: -
    -
  1. Use a screwdriver to secure the cyborg's internal panel
  2. -
  3. Follow steps 4 - 6 of "Replacing a Cyborg's Power Cell" to close up the cyborg
  4. -
- -

Cyborg Repairs

- Occasionally a Cyborg may become damaged. This could be in the form of impact damage from a heavy or fast-travelling object, or it could be heat damage from high temperatures, or even lasers or Electromagnetic Pulses (EMPs). - -

Dents

- If a cyborg becomes damaged due to impact from heavy or fast-moving objects, it will become dented. Sure, a dent may not seem like much, but it can compromise the structural integrity of the cyborg, possibly causing a critical failure. - Dents in a cyborg's frame are rather easy to repair, all you need is to apply a welding tool to the dented area, and the high-tech cyborg frame will repair the dent under the heat of the welder. - -

Excessive Heat Damage

- If a cyborg becomes damaged due to excessive heat, it is likely that the internal wires will have been damaged. You must replace those wires to ensure that the cyborg remains functioning properly.
To replace the internal wiring follow the steps below: -
    -
  1. Unlock the Cyborg's Interface by swiping your ID
  2. -
  3. Open the Cyborg's External Panel using a crowbar
  4. -
  5. Remove the Cyborg's Power Cell
  6. -
  7. Using a screwdriver, expose the internal wiring of the Cyborg
  8. -
  9. Replace the damaged wires inside the cyborg
  10. -
  11. Secure the internal wiring cover using a screwdriver
  12. -
  13. Insert the Cyborg's Power Cell
  14. -
  15. Close the Cyborg's External Panel using a crowbar
  16. -
  17. Lock the Cyborg's Interface by swiping your ID
  18. -
- These repair tasks may seem difficult, but are essential to keep your cyborgs running at peak efficiency. - -

In Case of Emergency

- In case of emergency, there are a few steps you can take. - -

"Rogue" Cyborgs

- If the cyborgs seem to become "rogue", they may have non-standard laws. In this case, use extreme caution. - To repair the situation, follow these steps: -
    -
  1. Locate the nearest robotics console
  2. -
  3. Determine which cyborgs are "Rogue"
  4. -
  5. Press the lockdown button to immobilize the cyborg
  6. -
  7. Locate the cyborg
  8. -
  9. Expose the cyborg's internal wiring
  10. -
  11. Check to make sure the LawSync and AI Sync lights are lit
  12. -
  13. If they are not lit, pulse the LawSync wire using a multitool to enable the cyborg's LawSync
  14. -
  15. Proceed to a cyborg upload console. The Company usually places these in the same location as AI upload consoles.
  16. -
  17. Use a "Reset" upload moduleto reset the cyborg's laws
  18. -
  19. Proceed to a Robotics Control console
  20. -
  21. Remove the lockdown on the cyborg
  22. -
- -

As a last resort

- If all else fails in a case of cyborg-related emergency, there may be only one option. Using a Robotics Control console, you may have to remotely detonate the cyborg. -

WARNING:

Do not detonate a borg without an explicit reason for doing so. Cyborgs are expensive pieces of company equipment, and you may be punished for detonating them without reason. - - - - "} + guide_decl = /datum/codex_entry/guide/robotics /obj/item/book/manual/engineering_construction - name = "Repairs and Construction" + name = "repair and construction reference manual" icon_state ="bookEngineering" - author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + author = "Engineering Encyclopedia" title = "Repairs and Construction" - url = "Guide_to_Construction" + guide_decl = /datum/codex_entry/guide/construction /obj/item/book/manual/engineering_particle_accelerator - name = "Particle Accelerator User's Guide" + name = "particle accelerator reference manual" icon_state ="bookParticleAccelerator" - author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + author = "Engineering Encyclopedia" title = "Particle Accelerator User's Guide" - -/obj/item/book/manual/engineering_particle_accelerator/Initialize() - . = ..() - dat = {" - - - - - -

Experienced User's Guide

- -

Setting up the accelerator

- -
    -
  1. Wrench all pieces to the floor
  2. -
  3. Add wires to all the pieces
  4. -
  5. Close all the panels with your screwdriver
  6. -
- -

Using the accelerator

- -
    -
  1. Open the control panel
  2. -
  3. Set the speed to 2
  4. -
  5. Start firing at the singularity generator
  6. -
  7. When the singularity reaches a large enough size so it starts moving on it's own set the speed down to 0, but don't shut it off
  8. -
  9. Remember to wear a radiation suit when working with this machine... we did tell you that at the start, right?
  10. -
- - - - "} - + guide_decl = /datum/codex_entry/guide/particle_accelerator /obj/item/book/manual/supermatter_engine - name = "Supermatter Engine Operating Manual" + name = "supermatter engine reference manual" icon_state = "bookSupermatter" author = "Central Engineering Division" title = "Supermatter Engine Operating Manual" - url = "Supermatter_Engine" + guide_decl = /datum/codex_entry/guide/supermatter /obj/item/book/manual/rust_engine - name = "R-UST Operating Manual" + name = "fusion reactor reference Manual" icon_state = "bookMagazine" author = "Cindy Crawfish" title = "R-UST Operating Manual" - url = "R-UST" + guide_decl = /datum/codex_entry/guide/fusion /obj/item/book/manual/engineering_hacking - name = "Hacking" + name = "hacking reference manual" icon_state ="bookHacking" - author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + author = "Engineering Encyclopedia" title = "Hacking" - url = "Hacking" + guide_decl = /datum/codex_entry/guide/hacking /obj/item/book/manual/engineering_singularity_safety - name = "Singularity Safety in Special Circumstances" + name = "singularity engine reference manual" icon_state ="bookEngineeringSingularitySafety" - author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + author = "Engineering Encyclopedia" title = "Singularity Safety in Special Circumstances" - - dat = {" - - - - -

Singularity Safety in Special Circumstances

- -

Power outage

- - A power problem has made you lose power? Could be wiring problems or syndicate power sinks. In any case follow these steps: - -
    -
  1. PANIC!
  2. -
  3. Get your ass over to engineering! QUICKLY!!!
  4. -
  5. Get to the Area Power Controller which controls the power to the emitters.
  6. -
  7. Swipe it with your ID card - if it doesn't unlock, continue with step 15.
  8. -
  9. Open the console and disengage the cover lock.
  10. -
  11. Pry open the APC with a Crowbar.
  12. -
  13. Take out the empty power cell.
  14. -
  15. Put in the new, full power cell - if you don't have one, continue with step 15.
  16. -
  17. Quickly put on a Radiation suit.
  18. -
  19. Check if the singularity field generators withstood the down-time - if they didn't, continue with step 15.
  20. -
  21. Since disaster was averted you now have to ensure it doesn't repeat. If it was a powersink which caused it and if the engineering APC is wired to the same powernet, which the powersink is on, you have to remove the piece of wire which links the APC to the powernet. If it wasn't a powersink which caused it, then skip to step 14.
  22. -
  23. Grab your crowbar and pry away the tile closest to the APC.
  24. -
  25. Use the wirecutters to cut the wire which is connecting the grid to the terminal.
  26. -
  27. Go to the bar and tell the guys how you saved them all. Stop reading this guide here.
  28. -
  29. GET THE FUCK OUT OF THERE!!!
  30. -
- -

Shields get damaged

- -
    -
  1. GET THE FUCK OUT OF THERE!!! FORGET THE WOMEN AND CHILDREN, SAVE YOURSELF!!!
  2. -
- - - "} + guide_decl = /datum/codex_entry/guide/singularity /obj/item/book/manual/ripley_build_and_repair - name = "APLU \"Ripley\" Construction and Operation Manual" + name = "exosuit construction reference manual" icon_state ="book" - author = "Randall Varn, Einstein Engines Senior Mechanic" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned + author = "Randall Varn, Einstein Engines Senior Mechanic" title = "APLU \"Ripley\" Construction and Operation Manual" - - dat = {" - - - - -
-
- Weyland-Yutani - Building Better Worlds -

Autonomous Power Loader Unit \"Ripley\"

-
-

Specifications:

-
    -
  • Class: Autonomous Power Loader
  • -
  • Scope: Logistics and Construction
  • -
  • Weight: 820kg (without operator and with empty cargo compartment)
  • -
  • Height: 2.5m
  • -
  • Width: 1.8m
  • -
  • Top speed: 5km/hour
  • -
  • Operation in vacuum/hostile environment: Possible -
  • Airtank volume: 500 liters
  • -
  • Devices: -
      -
    • Hydraulic clamp
    • -
    • High-speed drill
    • -
    -
  • -
  • Propulsion device: Powercell-powered electro-hydraulic system
  • -
  • Powercell capacity: Varies
  • -
- -

Construction:

-
    -
  1. Connect all exosuit parts to the chassis frame.
  2. -
  3. Connect all hydraulic fittings and tighten them up with a wrench.
  4. -
  5. Adjust the servohydraulics with a screwdriver.
  6. -
  7. Wire the chassis (Cable is not included).
  8. -
  9. Use the wirecutters to remove the excess cable if needed.
  10. -
  11. Install the central control module (Not included. Use supplied datadisk to create one).
  12. -
  13. Secure the mainboard with a screwdriver.
  14. -
  15. Install the peripherals control module (Not included. Use supplied datadisk to create one).
  16. -
  17. Secure the peripherals control module with a screwdriver.
  18. -
  19. Install the internal armor plating (Not included due to corporate regulations. Can be made using 5 metal sheets).
  20. -
  21. Secure the internal armor plating with a wrench.
  22. -
  23. Weld the internal armor plating to the chassis.
  24. -
  25. Install the external reinforced armor plating (Not included due to corporate regulations. Can be made using 5 reinforced metal sheets).
  26. -
  27. Secure the external reinforced armor plating with a wrench.
  28. -
  29. Weld the external reinforced armor plating to the chassis.
  30. -
- -

Additional Information:

-
    -
  • The firefighting variation is made in a similar fashion.
  • -
  • A firesuit must be connected to the firefighter chassis for heat shielding.
  • -
  • Internal armor is plasteel for additional strength.
  • -
  • External armor must be installed in 2 parts, totalling 10 sheets.
  • -
  • Completed exosuit is more resilient against fire, and is a bit more durable overall.
  • -
  • The Company is determined to ensure the safety of its investments employees.
  • -
- - - "} + guide_decl = /datum/codex_entry/guide/mech_construction /obj/item/book/manual/atmospipes - name = "Pipes and You: Getting To Know Your Scary Tools" + name = "atmospherics reference manual" icon_state = "pipingbook" author = "Maria Crash, Senior Atmospherics Technician" title = "Pipes and You: Getting To Know Your Scary Tools" - dat = {" - - - - - -

Contents

-
    -
  1. Author's Foreword
  2. -
  3. Basic Piping
  4. -
  5. Insulated Pipes
  6. -
  7. Atmospherics Devices
  8. -
  9. Heat Exchange Systems
  10. -
  11. Final Checks
  12. -

- -

HOW TO NOT SUCK QUITE SO HARD AT ATMOSPHERICS


- Or: What the fuck does a "pressure regulator" do?

- - Alright. It has come to my attention that a variety of people are unsure of what a "pipe" is and what it does. - Apparently, there is an unnatural fear of these arcane devices and their "gases." Spooky, spooky. So, - this will tell you what every device constructable by an ordinary pipe dispenser within atmospherics actually does. - You are not going to learn what to do with them to be the super best person ever, or how to play guitar with passive gates, - or something like that. Just what stuff does.

- - -

Basic Pipes

- The boring ones.
- Most ordinary pipes are pretty straightforward. They hold gas. If gas is moving in a direction for some reason, gas will flow in that direction. - That's about it. Even so, here's all of your wonderful pipe options.
- -
    -
  • Straight pipes: They're pipes. One-meter sections. Straight line. Pretty simple. Just about every pipe and device is based around this - standard one-meter size, so most things will take up as much space as one of these.
  • -
  • Bent pipes: Pipes with a 90 degree bend at the half-meter mark. My goodness.
  • -
  • Pipe manifolds: Pipes that are essentially a "T" shape, allowing you to connect three things at one point.
  • -
  • 4-way manifold: A four-way junction.
  • -
  • Pipe cap: Caps off the end of a pipe. Open ends don't actually vent air, because of the way the pipes are assembled, so, uh, use them to decorate your house or something.
  • -
  • Manual valve: A valve that will block off airflow when turned. Can't be used by the AI or cyborgs, because they don't have hands.
  • -
  • Manual T-valve: Like a manual valve, but at the center of a manifold instead of a straight pipe.


  • -
- - An important note here is that pipes are now done in three distinct lines - general, supply, and scrubber. You can move gases between these with a universal adapter. Use the correct position for the correct location. - Connecting scrubbers to a supply position pipe makes you an idiot who gives everyone a difficult job. Insulated and HE pipes don't go through these positions. - -

Insulated Pipes

-
  • Bent pipes: Pipes with a 90 degree bend at the half-meter mark. My goodness.
  • -
  • Pipe manifolds: Pipes that are essentially a "T" shape, allowing you to connect three things at one point.
  • -
  • 4-way manifold: A four-way junction.
  • -
  • Pipe cap: Caps off the end of a pipe. Open ends don't actually vent air, because of the way the pipes are assembled, so, uh. Use them to decorate your house or something.
  • -
  • Manual Valve: A valve that will block off airflow when turned. Can't be used by the AI or cyborgs, because they don't have hands.
  • -
  • Manual T-Valve: Like a manual valve, but at the center of a manifold instead of a straight pipe.


  • - -

    Insulated Pipes


    - Special Public Service Announcement.
    - Our regular pipes are already insulated. These are completely worthless. Punch anyone who uses them.

    - -

    Devices:

    - They actually do something.
    - This is usually where people get frightened, afraid, and start calling on their gods and/or cowering in fear. Yes, I can see you doing that right now. - Stop it. It's unbecoming. Most of these are fairly straightforward.
    - -
      -
    • Gas pump: Take a wild guess. It moves gas in the direction it's pointing (marked by the red line on one end). It moves it based on pressure, the maximum output being 15000 kPa (kilopascals). - Ordinary atmospheric pressure, for comparison, is 101.3 kPa, and the minimum pressure of room-temperature pure oxygen needed to not suffocate in a matter of minutes is 16 kPa - (though 18 kPa is preferred when using internals with pure oxygen, for various reasons). A high-powered variant will move gas more quickly at the expense of consuming more power. Do not turn the distribution loop up to 15000 kPa. - You will make engiborgs cry and the Chief Engineer will beat you.
    • -
    • Pressure regulator: These replaced the old passive gates. You can choose to regulate pressure by input or output, and regulate flow rate. Regulating by input means that when input pressure is above the limit, gas will flow. - Regulating by output means that when pressure is below the limit, gas will flow. Flow rate can be controlled.
    • -
    • Unary vent: The basic vent used in rooms. It pumps gas into the room, but can't suck it back out. Controlled by the room's air alarm system.
    • -
    • Scrubber: The other half of room equipment. Filters air, and can suck it in entirely in what's called a "panic siphon." Activating a panic siphon without very good reason will kill someone. Don't do it.
    • -
    • Meter: A little box with some gauges and numbers. Fasten it to any pipe or manifold and it'll read you the pressure in it. Very useful.
    • -
    • Gas mixer: Two sides are input, one side is output. Mixes the gases pumped into it at the ratio defined. The side perpendicular to the other two is "node 2," for reference, on non-mirrored mixers.. - Output is controlled by flow rate. There is also an "omni" variant that allows you to set input and output sections freely..
    • -
    • Gas filter: Essentially the opposite of a gas mixer. One side is input. The other two sides are output. One gas type will be filtered into the perpendicular output pipe, - the rest will continue out the other side. Can also output from 0-4500 kPa. The "omni" vairant allows you to set input and output sections freely.
    • -
    - -

    Heat Exchange Systems

    - Will not set you on fire.
    - These systems are used to only transfer heat between two pipes. They will not move gases or any other element, but will equalize the temperature (eventually). Note that because of how gases work (remember: pv=nRt), - a higher temperature will raise pressure, and a lower one will lower temperature.
    - -
  • Pipe: This is a pipe that will exchange heat with the surrounding atmosphere. Place in fire for superheating. Place in space for supercooling.
  • -
  • Bent pipe: Take a wild guess.
  • -
  • Junction: The point where you connect your normal pipes to heat exchange pipes. Not necessary for heat exchangers, but necessary for H/E pipes/bent pipes.
  • -
  • Heat exchanger: These funky-looking bits attach to an open pipe end. Put another heat exchanger directly across from it, and you can transfer heat across two pipes without having to have the gases touch. - This normally shouldn't exchange with the ambient air, despite being totally exposed. Just don't ask questions.

  • - - That's about it for pipes. Go forth, armed with this knowledge, and try not to break, burn down, or kill anything. Please. - - - - - "} + guide_decl = /datum/codex_entry/guide/atmospherics /obj/item/book/manual/evaguide - name = "EVA Gear and You: Not Spending All Day Inside" + name = "\improper EVA reference manual" icon_state = "evabook" author = "Maria Crash, Senior Atmospherics Technician" title = "EVA Gear and You: Not Spending All Day Inside" - dat = {" - - - - - -

    EVA Gear and You: Not Spending All Day Inside

    - Or: How not to suffocate because there's a hole in your shoes
    - -

    Contents

    -
      -
    1. A foreword on using EVA gear
    2. -
    3. Donning a Civilian Suit
    4. -
    5. Putting on a Hardsuit
    6. -
    7. Cyclers and Other Modification Equipment
    8. -
    9. Final Checks
    10. -
    -
    - - EVA gear. Wonderful to use. It's useful for mining, engineering, and occasionally just surviving, if things are that bad. Most people have EVA training, - but apparently there are some people out in space who don't. This guide should give you a basic idea of how to use this gear, safely. It's split into two sections: - Civilian suits and hardsuits.

    - -

    Civilian Suits

    - The bulkiest things this side of Alpha Centauri
    - These suits are the grey ones that are stored in EVA. They're the more simple to get on, but are also a lot bulkier, and provide less protection from environmental hazards such as radiation or physical impact. - As Medical, Engineering, Security, and Mining all have hardsuits of their own, these don't see much use, but knowing how to put them on is quite useful anyways.

    - - First, take the suit. It should be in three pieces: A top, a bottom, and a helmet. Put the bottom on first, shoes and the like will fit in it. If you have magnetic boots, however, - put them on on top of the suit's feet. Next, get the top on, as you would a shirt. It can be somewhat awkward putting these pieces on, due to the makeup of the suit, - but to an extent they will adjust to you. You can then find the snaps and seals around the waist, where the two pieces meet. Fasten these, and double-check their tightness. - The red indicators around the waist of the lower half will turn green when this is done correctly. Next, put on whatever breathing apparatus you're using, be it a gas mask or a breath mask. Make sure the oxygen tube is fastened into it. - Put on the helmet now, straightforward, and make sure the tube goes into the small opening specifically for internals. Again, fasten seals around the neck, a small indicator light in the inside of the helmet should go from red to off when all is fastened. - There is a small slot on the side of the suit where an emergency oxygen tank or extended emergency oxygen tank will fit, - but it is recommended to have a full-sized tank on your back for EVA.

    - - These suits tend to be wearable by most species. They're large and flexible. They might be pretty uncomfortable for some, though, so keep that in mind.

    - -

    Hardsuits

    - Heavy, uncomfortable, still the best option.
    - These suits come in Engineering, Mining, and the Armory. There's also a couple Medical Hardsuits in EVA. These provide a lot more protection than the standard suits.

    - - Similarly to the other suits, these are split into three parts. Fastening the pant and top are mostly the same as the other spacesuits, with the exception that these are a bit heavier, - though not as bulky. The helmet goes on differently, with the air tube feeding into the suit and out a hole near the left shoulder, while the helmet goes on turned ninety degrees counter-clockwise, - and then is screwed in for one and a quarter full rotations clockwise, leaving the faceplate directly in front of you. There is a small button on the right side of the helmet that activates the helmet light. - The tanks that fasten onto the side slot are emergency tanks, as well as full-sized oxygen tanks, leaving your back free for a backpack or satchel.

    - - These suits generally only fit one species. Standard-issue suits are usually human-fitting by default, but there's equipment that can make modifications to the hardsuits to fit them to other species.

    - -

    Modification Equipment

    - How to actually make hardsuits fit you.
    - There's a variety of equipment that can modify hardsuits to fit species that can't fit into them, making life quite a bit easier.

    - - The first piece of equipment is a suit cycler. This is a large machine resembling the storage pods that are in place in some places. These are machines that will automatically tailor a suit to certain specifications. - The largest uses of them are for their cleaning functions and their ability to tailor suits for a species. Do not enter them physically. You will die from any of the functions being activated, and it will be painful. - These machines can both tailor a suit between species, and between types. This means you can convert engineering hardsuits to atmospherics, or the other way. This is useful. Use it if you can.

    - - There's also modification kits that let you modify suits yourself. These are extremely difficult to use unless you understand the actual construction of the suit. I do not recommend using them unless no other option is available. - -

    Final Checks

    -
      -
    • Are all seals fastened correctly?
    • -
    • If you have modified it manually, is absolutely everything sealed perfectly?
    • -
    • Do you either have shoes on under the suit, or magnetic boots on over it?
    • -
    • Do you have a mask on and internals on the suit or your back?
    • -
    • Do you have a way to communicate with your fellow crew in case something goes wrong?
    • -
    • Do you have a second person watching if this is a training session?

    • -
    - - If you don't have any further issues, go out and do whatever is necessary. - - - - "} + guide_decl = /datum/codex_entry/guide/eva diff --git a/code/game/objects/items/books/manuals/manuals.dm b/code/game/objects/items/books/manuals/manuals.dm index fc6dba675d1..6af9c841691 100644 --- a/code/game/objects/items/books/manuals/manuals.dm +++ b/code/game/objects/items/books/manuals/manuals.dm @@ -1,145 +1,27 @@ /obj/item/book/manual/chef_recipes - name = "Chef Recipes" + name = "recipe book" icon_state = "cooked_book" author = "Victoria Ponsonby" title = "Chef Recipes" - -/obj/item/book/manual/chef_recipes/Initialize() - . = ..() - dat = {" - - - - - [SScodex.get_guide(/decl/codex_category/recipes)] - - - "} + guide_decl = /decl/codex_category/recipes /obj/item/book/manual/barman_recipes - name = "Mixology 101" + name = "cocktail recipe book" icon_state = "barbook" author = "Sir John Rose" title = "Mixology 101" - -/obj/item/book/manual/barman_recipes/Initialize() - . = ..() - dat = {" - - - - - [SScodex.get_guide(/decl/codex_category/cocktails)] - - - "} + guide_decl = /decl/codex_category/cocktails /obj/item/book/manual/detective - name = "The Film Noir: Proper Procedures for Investigations" + name = "forensics reference manual" icon_state ="bookDetective" author = "The Company" title = "The Film Noir: Proper Procedures for Investigations" - - dat = {" - - - - -

    Detective Work

    - - Between your bouts of self-narration and drinking whiskey on the rocks, you might get a case or two to solve.
    - To have the best chance to solve your case, follow these directions: -

    -

      -
    1. Go to the crime scene.
    2. -
    3. Take your scanner and scan EVERYTHING (Yes, the doors, the tables, even the dog).
    4. -
    5. Once you are reasonably certain you have every scrap of evidence you can use, find all possible entry points and scan them, too.
    6. -
    7. Return to your office.
    8. -
    9. Using your forensic scanning computer, scan your scanner to upload all of your evidence into the database.
    10. -
    11. Browse through the resulting dossiers, looking for the one that either has the most complete set of prints, or the most suspicious items handled.
    12. -
    13. If you have 80% or more of the print (The print is displayed), go to step 10, otherwise continue to step 8.
    14. -
    15. Look for clues from the suit fibres you found on your perpetrator, and go about looking for more evidence with this new information, scanning as you go.
    16. -
    17. Try to get a fingerprint card of your perpetrator, as if used in the computer, the prints will be completed on their dossier.
    18. -
    19. Assuming you have enough of a print to see it, grab the biggest complete piece of the print and search the security records for it.
    20. -
    21. Since you now have both your dossier and the name of the person, print both out as evidence and get security to nab your baddie.
    22. -
    23. Give yourself a pat on the back and a bottle of the ship's finest vodka, you did it!
    24. -
    -

    - It really is that easy! Good luck! - - - "} + guide_decl = /datum/codex_entry/guide/detective /obj/item/book/manual/nuclear - name = "Fission Mailed: Nuclear Sabotage 101" + name = "nuclear device reference manual" icon_state ="bookNuclear" author = "Syndicate" title = "Fission Mailed: Nuclear Sabotage 101" - - dat = {" - - - - -

    Nuclear Explosives 101

    - Hello and thank you for choosing the Syndicate for your nuclear information needs. Today's crash course will deal with the operation of a Nuclear Fission Device.

    - - First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done, to unbolt it, one must completely log in, which at this time may not be possible.
    - -

    To make the nuclear device functional

    -
      -
    • Place the nuclear device in the designated detonation zone.
    • -
    • Extend and anchor the nuclear device from its interface.
    • -
    • Insert the nuclear authorisation disk into the slot.
    • -
    • Type the numeric authorisation code into the keypad. This should have been provided.
      - Note: If you make a mistake, press R to reset the device. -
    • Press the E button to log on to the device.
    • -

    - - You now have activated the device. To deactivate the buttons at anytime, for example when you've already prepped the bomb for detonation, remove the authentication disk OR press R on the keypad.

    - Now the bomb CAN ONLY be detonated using the timer. Manual detonation is not an option. Toggle off the SAFETY.
    - Note: You wouldn't believe how many Syndicate Operatives with doctorates have forgotten this step.

    - - So use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
    - Note: THE BOMB IS STILL SET AND WILL DETONATE

    - - Now before you remove the disk, if you need to move the bomb, you can toggle off the anchor, move it, and re-anchor.

    - - Remember the order:
    - Disk, Code, Safety, Timer, Disk, RUN!

    - Intelligence Analysts believe that normal corporate procedure is for the Captain to secure the nuclear authentication disk.

    - - Good luck! - - - "} + guide_decl = /datum/codex_entry/guide/nuclear_sabotage diff --git a/code/game/objects/items/books/manuals/medical.dm b/code/game/objects/items/books/manuals/medical.dm index f4d2e8a6d30..9bca7d84990 100644 --- a/code/game/objects/items/books/manuals/medical.dm +++ b/code/game/objects/items/books/manuals/medical.dm @@ -1,55 +1,22 @@ /obj/item/book/manual/medical_diagnostics_manual - name = "Medical Diagnostics Manual" + name = "medical diagnostics manual" desc = "First, do no harm. A detailed medical practitioner's guide." icon_state = "bookMedical" author = "Medical Department" title = "Medical Diagnostics Manual" - url = "Guide_to_Medicine" - -/obj/item/book/manual/medical_diagnostics_manual/Initialize() - . = ..() - dat = {" - - - - -
    -

    The Oath

    - - The Medical Oath sworn by recognised medical practitioners in the employ of [global.using_map.company_name]
    - -
      -
    1. Now, as a new doctor, I solemnly promise that I will, to the best of my ability, serve humanity-caring for the sick, promoting good health, and alleviating pain and suffering.
    2. -
    3. I recognise that the practice of medicine is a privilege with which comes considerable responsibility and I will not abuse my position.
    4. -
    5. I will practise medicine with integrity, humility, honesty, and compassion-working with my fellow doctors and other colleagues to meet the needs of my patients.
    6. -
    7. I shall never intentionally do or administer anything to the overall harm of my patients.
    8. -
    9. I will not permit considerations of gender, race, religion, political affiliation, sexual orientation, nationality, or social standing to influence my duty of care.
    10. -
    11. I will oppose policies in breach of human rights and will not participate in them. I will strive to change laws that are contrary to my profession's ethics and will work towards a fairer distribution of health resources.
    12. -
    13. I will assist my patients to make informed decisions that coincide with their own values and beliefs and will uphold patient confidentiality.
    14. -
    15. I will recognise the limits of my knowledge and seek to maintain and increase my understanding and skills throughout my professional life. I will acknowledge and try to remedy my own mistakes and honestly assess and respond to those of others.
    16. -
    17. I will seek to promote the advancement of medical knowledge through teaching and research.
    18. -
    19. I make this declaration solemnly, freely, and upon my honour.
    20. -

    - -
    - - - - - - "} + guide_decl = /datum/codex_entry/guide/ailments /obj/item/book/manual/chemistry_recipes - name = "Guide to Medicines & Drugs" + name = "pharmacology reference manual" desc = "A thick manual of chemistry, formulae and recipes useful for a Chemist." icon_state = "bookChemistry" author = "Big Pharma" - title = "Guide to Medicines & Drugs" - url = "List_of_Medical_Chemicals" \ No newline at end of file + title = "Guide to Pharmacology" + guide_decl = /decl/codex_category/materials/chemistry + +/obj/item/book/manual/surgical + name = "surgical reference manual" + icon_state = "bookMedical" + author = "Dr. Holmes MD" + title = "Guide to Surgery" + guide_decl = /decl/codex_category/surgery diff --git a/code/game/objects/items/books/manuals/science.dm b/code/game/objects/items/books/manuals/science.dm index 0894e7b787b..b7ff9268ecc 100644 --- a/code/game/objects/items/books/manuals/science.dm +++ b/code/game/objects/items/books/manuals/science.dm @@ -1,376 +1,13 @@ /obj/item/book/manual/excavation - name = "Out on the Dig" + name = "excavation reference manual" icon_state = "excavation" author = "Professor Patrick Mason, Curator of the Antiquities Museum on Ichar VII" title = "Out on the Dig" - dat = {" - - - - - -

    Contents

    -
      -
    1. Prepping the expedition
    2. -
    3. Knowing your tools
    4. -
    5. Finding the dig
    6. -
    7. Analysing deposits
    8. -
    9. Extracting your first find
    10. -
    -
    - -

    Prepping the expedition

    - Every digsite I've been to, someone has forgotten something and I've never yet been to a dig that hasn't had me hiking to get to it - so gather your gear - and get it to the site the first time. You learn quick that time is money, when you've got a shipful of bandits searching for you the next valley over, - but don't be afraid to clear some space if there are any inconvenient boulders in the way.
    -
      -
    • Floodlights (if it's dark)
    • -
    • Wooden trestle tables (for holding tools and finds)
    • -
    • Suspension field generator
    • -
    • Load bearing servitors (such as a mulebot, or hover-tray)
    • -
    • Spare energy packs
    • -

    - Contents - -

    Knowing your tools

    - Every archaeologist has a plethora of tools at their disposal, but here's the important ones:
    -
      -
    • Picks, pickaxes, and brushes - don't underestimate the the smallest or largest in your arsenal, each one clears a different amount - of the rockface so each one has a use.
    • -
    • Measuring tape - don't leave home without it, you can use it to measure the depth a rock face has been excavated to.
    • -
    • GPS locator - knowing where you are is the first step to not be lost.
    • -
    • Core sampler - use this to take core samples from rock faces, which you can then run to the lab for analysis.
    • -
    • Depth scanner - uses X-ray diffraction to locate anomalous densities in rock, indicating archaeological deposits or mineral veins. - Comes with a handy reference log containing coordinates and time of each scan.
    • -
    • Alden-Saraspova counter - uses a patented application of Fourier Transform analysis to determine the difference between background and - exotic radiation. Use it to determine how far you are from anomalous energy sources.
    • -
    • Radio beacon locator - leave a beacon at an item of interest, then track it down later with this handy gadget. Watch for interference from other - devices though.
    • -
    • Flashlight or portable light source - Self explanatory, I hope.
    • -
    • Environmental safety gear - This one's dependent on the environment you're working in, but enclosed footwear and a pack of internals - could save your life.
    • -
    • Anomaly safety gear - A biosealed and catalysis-resistant suit along with eye shielding, tinted hood, and non-reactive disposable gloves are - the best kind of protection you can hope for from the errors our forebears may have unleashed.
    • -
    • Personal defence weapon - Never know what you'll find on the dig: pirates, natives, ancient guardians, carnivorous wildlife... - it pays in blood to be prepared.
    • -

    - Contents - -

    Finding the dig

    - Wouldn't be an archaeologist without their dig, but everyone has to start somewhere. Here's a basic procedure I go through when cataloguing a new planet:
    -
      -
    • Get in touch with the locals (in particular geologists, miners, and farmers) - Never know what's been turned up by accident, then left to - gather dust on a shelf.
    • -
    • Check the obvious areas first - even if you're pressed for time, these ones are the generally easiest to search, and the most likely targets - of your rivals.
    • -
    • Do some prospecting - the earth mother isn't in the habit of displaying her secrets to the world (although sometimes you get lucky). - Drop a shaft and clear away a bit of surface rock here and there, you never know what might be lurking below the surface.
    • -
    • Tips on unearthing a deposit - How do you know when you're golden? Look for telltale white strata that looks strange or out of place, or if - something has broken under your pick while you're digging. Your depth scanner is your best friend, but even it can't distinguish between - ordinary minerals and ancient leavings, if in doubt then err on the side of caution.
    • -

    - Contents - -

    Analysing the contents of a dig

    - You've found some unusual strata, but it's not all peaches from here. No archaeologist ever managed to pull a bone from the earth without doing thorough - chemical analysis on every two meters of rock face nearby.
    -
      -
    • Take core samples - Grab a rock core for every 4m^2.
    • -
    • Clear around any potential finds - Clear away ordinary rock, leaving your prizes reachable in a clearly marked area.
    • -
    • Haul off excess rock - It's easy for a dig to get cluttered, and a neat archaeologist is a successful archaeologist.
    • -
    • Don't be afraid to be cautious - It's slower sometimes, but the extra time will be worth the payoff when you find an Exolitic relic.
    • -
    • Chemical analysis - I won't go into detail here, but the labwork is essential to any successful extraction. Marshal your core samples, and - send them off to the labcoated geniuses.
    • -

    - Contents - -

    Extracting your first find

    -
      -
    • Scan the rock - Use a depth scanner to determine the find's depth and clearance. DON'T FORGET THESE.
    • -
    • Choose stasis field - Chemical analysis on a core sample from the rock face will tell you which field is necessary to extract the find safely.
    • -
    • Setup field gen - Bolt it down, choose the field, check the charge, and activate it. If you forget it, you'll wish you hadn't when that priceless - Uryom vase crumbles as it sees the light of day.
    • -
    • FUNCTIONAL AND SAFE digging - Dig into the rock until you've cleared away a depth equal to (the anomaly depth MINUS the clearance range). The find - should come loose on it's own, but it will be in the midst of a chunk of rock. Use a welder or miniature excavation tool to clear away the excess.
    • -
    • FANCY AND SPEEDY digging - Dig into the rock until you've cleared away a depth equal to the anomaly depth, but without any of your strokes - entering the clearance range.
    • -
    • The big find - Sometimes, you'll chance upon something big, both literally and figuratively. Giant statues and functioning remnants of Precursor - technology are just as exciting, to the right buyers. If your digging leaves a large boulder behind, dig into it normally and see if anything's hidden - inside.
    • -

    - Contents - - - - "} + guide_decl = /datum/codex_entry/guide/xenoarchaeology /obj/item/book/manual/mass_spectrometry - name = "High Power Mass Spectrometry: A Comprehensive Guide" + name = "mass spectrometry reference manual" icon_state = "analysis" author = "Winton Rice, Chief Mass Spectrometry Technician at the Institute of Applied Sciences on Arcadia" title = "High powered mass spectrometry, a comprehensive guide" - dat = {" - - - - - -

    Contents

    -
      -
    1. A note on terms
    2. -
    3. Analysis progression
    4. -
    5. Heat management
    6. -
    7. Ambient radiation
    8. -
    - -
    -

    A note on terms

    -
      -
    • Mass spectrometry - MS is the procedure used used to measure and quantify the components of matter. The most prized tool in the field of - 'Materials analysis.'
    • -
    • Radiometric dating - MS applied using the right carrier reagents can be used to accurately determine the age of a sample.
    • -
    • Dissonance ratio - This is a pseudoarbitrary value indicating the overall presence of a particular element in a greater composite. - It takes into account volume, density, molecular excitation and isotope spread.
    • -
    • Vacuum seal integrity - A reference to how close an airtight seal is to failure.
    • -

    - Contents - -

    Analysis progression

    - Modern mass spectrometry requires constant attention from the diligent researcher in order to be successful. There are many different elements to juggle, - and later chapters will delve into them. For the spectrometry assistant, the first thing you need to know is that the scanner wavelength is automatically - calculated for you. Just tweak the settings and try to match it with the actual wavelength as closely as possible.
    -
    - Contents - -

    Seal integrity

    - In order to maintain sterile and environmentally static procedures, a special chamber is set up inside the spectrometer. It's protected by a proprietary vacuum seal - produced by top tier industrial science. It will only last for a certain number of scans before failing outright, but it can be resealed through use of nanite paste. - Unfortunately, it's susceptible to malforming under heat stress so exposing it to higher temperatures will cause it's operation life to drop significantly.
    -
    - Contents - -

    Heat management

    - The scanner relies on a gyro-rotational system that varies in speed and intensity. Over the course of an ordinary scan, the RPMs can change dramatically. Higher RPMs - means greater heat generation, but is necessary for the ongoing continuation of the scan. To offset heat production, spectrometers have an inbuilt cooling system. - Researchers can modify the flow rate of water to aid in dropping temperature as necessary, but are advised that frequent water replacements may be necessary - depending on coolant purity. Other substances may be viable substitutes, but nowhere near as effective as water itself.
    -
    - Contents - -

    Ambient radiation

    - Researchers are warned that while operational, mass spectrometers emit period bursts of radiation and are thus advised to wear protective gear. In the event of - radiation spikes, there is also a special shield that can be lowered to block emissions. Lowering this, however, will have the effect of blocking the scanner - so use it sparingly.
    -
    - Contents - - - - "} - -/obj/item/book/manual/anomaly_spectroscopy - name = "Spectroscopy: Analysing the Anomalies of the Cosmos" - icon_state = "anomaly" - author = "Doctor Martin Boyle, Director Research at the Lower Hydrolian Sector Listening Array" - title = "Spectroscopy: Analysing the Anomalies of the Cosmos" - dat = {" - - - - -
    - It's perhaps one of the most exciting times to be alive, with the recent breakthroughs in understanding and categorisation of things we may one day no longer call - 'anomalies,' but rather 'infrequent or rare occurrences of certain celestial weather or phenomena.' Perhaps a little more long winded, but no less eloquent all the - same! Why, look at the strides we're making in piercing the walls of spacetime or our steadily improving ability to clarify and stabilise subspace emissions; it's - certainly an exciting time to be alive. For the moment, the Hydrolian hasn't seen two spatial anomalies alike but the day will come and it is soon, I can feel it. - - "} - -/obj/item/book/manual/materials_chemistry_analysis - name = "Materials Analysis and the Chemical Implications" - icon_state = "chemistry" - author = "Jasper Pascal, Senior Lecturer in Materials Analysis at the University of Jol'Nar" - title = "Materials Analysis and the Chemical Implications" - dat = {" - - - - -
    - In today's high tech research fields, leaps and bounds are being made every day. Whether it's great strides forward in our understanding of the physical universe - or the operation of some fancy new piece of equipment, it seems like all the cool fields are producing new toys to play with, leaving doddery old fields such as - materials analysis and chemistry relegated to the previous few centuries, when we were still learning the makeup and structure of the elements.
    -
    - Well, when you're out there building the next gryo-whatsitron or isotope mobility thingummy, remember how the field of archaeology experienced a massive new rebirth - following the excavations at Paranol IV and consider how all of the scientific greats will come crawling back to basic paradigms of natural philosophy when they discover - a new element that defies classification. I defy you to classify it without reviving this once great field! - "} - -/obj/item/book/manual/anomaly_testing - name = "Anomalous Materials and Energies" - icon_state = "triangulate" - author = "Norman York, formerly of the Tyrolion Institute on Titan" - title = "Anomalous Materials and Energies" - dat = {" - - - - - -

    Contents

    -
      -
    1. Foreword: Modern attitude towards anomalies
    2. -
    3. Triangulating anomalous energy readings
    4. -
    5. Harvesting and utilising anomalous energy signatures
    6. -
    -
    -

    Modern attitude towards anomalies

    - It's only when confronted with things we don't know, that we may push back our knowledge of the world around us. Nowhere is this more obvious than the - vast and inscrutable mysterious of the cosmos that scholars from such august institutions as the Elysian Institute of the Sciences present - formulas and hypotheses for every few decades.
    -
    - Using our vast, telescopic array installations and deep space satellite networks, we are able to detect anomalous energy fields and formations in deep space, - but are limited to those that are large enough to output energy that will stretch across light years worth of distance between stars.
    -
    - While some sectors (such as the Hydrolian Rift and Keppel's Run) are replete with inexplicable energetic activity and unique phenomena found nowhere else in - the galaxy, the majority of space is dry, barren and cold - and if past experience has told us anything, it is that there are always more things we are - unable to explain.
    -
    - Indeed, a great source of knowledge and technology has always been those who come before us, in the form of the multitudinous ancient alien precursors that - have left scattered remnants of their great past all over settled (and unexplored) space.
    -
    - It is from xenoarchaeologists, high energy materials researchers, and technology reconstruction authorities that we are able to theorise on the gifts these - species have left behind, and in some cases even reverse engineer or rebuild the technology in question. My colleague, Doctor Raymond Ward of the - Tyrolian Institute on Titan, has made great breakthroughs in a related field through his pioneering development of universally reflective materials capable - of harvesting and 'bottling' up virtually any energy emissions yet encountered by spacefaring civilisations.
    -
    - And yet, there are some amongst us who do not see the benefits of those who have come before us - indeed, some among them profess the opinion that there - is no species that could possibly match humanity in it's achievements and knowledge, or simply that employing non-human technology is dangerous and unethical. - Folly, say I. If it is their desire to throw onto the wayside the greatest achievements in the history of the galaxy, simply for preferment of the - greatest achievements in the history of mankind, then they have no business in the establishment of science.
    - Contents - -

    Triangulating anomalous energy readings

    - Strong energy emissions, when remaining constant from any one fixed location for millennia, can leave an 'imprint' or distinctive energy signature on other - matter composites that are spatially fixed relative to the source.
    -
    - By taking samples of such 'fixed' matter, we can apply complex analytics such as the modified Fourier Transform Procedure to reverse engineer the path of the - energy, and determine the approximate distance and direction that the energy source is, relative to the sample's point in space. Modern portable devices can do - all this purely by taking readings of local radiation.
    -
    - A canny researcher can thusly analyse radiation at pre-chosen points strategically scattered around an area, and if there are any anomalous energy - emissions in range of those points, combined the researcher can triangulate the source.
    - Contents - -

    Harvesting and utilising anomalous energy signatures

    - As mentioned in the foreword, my colleague from the Tyrolian Institute on Saturn's moon of Titan, in the Sol System, Doctor Raymond Ward has made great strides - in the area of harvesting and application of the energy emitted by anomalous phenomena from around the galaxy (although I profess I have not yet seen him - venture further from his birthplace on Earth than the comfortable distance of the Sol Cis-Oort Satellite Sphere).
    -
    - By employing a patented semi-phased alloy with unique and fascinating properties, Ward's contraption is able to 'harvest' energy, store - it and redirect it later at will (with appropriate electronic mechanisms, of course). Although he professes to see or desire no commercial or material gain - for the application and use of said energy once it is harvested, there are no doubt myriad ways we can come to benefit from such things beyond mere research, - such as the reconstruction of torn cartilaginous tissue that a peculiar radiation from an amphibious species on Brachis IV was found to emit.
    - Contents - - - - "} - -/obj/item/book/manual/stasis - name = "Cellular Suspension, the New Cryogenics?" - icon_state = "stasis" - author = "Elvin Schmidt" - title = "Cellular Suspension, the New Cryogenics?" - dat = {" - - - - - -

    Contents

    -
      -
    1. Foreword: A replacement for cryosleep?
    2. -
    3. The breakthrough
    4. -
    5. Applying this new principle
    6. -
    -
    -

    Foreword: A replacement for cryosleep?

    - The development of rudimentary cryofreezing in the 20th and 21st centuries was hailed as a crank science by some, but many early visionaries recognised the - potential it had to change the way we approach so many fields, such as medicine, therapeutics, and space travel. It was breakthroughs in the field in the 22nd and - later centuries that turned the procedure from science fiction to science fact, however. Since then, cryogenics has become a hallmark of modern science, and - regarded as one of the great achievements of our era. As with all sciences however, they have their time and are superseded by newer technological miracles when - it is over.
    - Contents - -

    The breakthrough

    - It was in examining the effects of decelerated high energy particles when transphased through a gravitational lens that the effects where primarily noticed. - Due to exigent properties of that dimension, transphasing those particles capable of existing with high stability levels has the effect of bringing - some of those effects into realspace. Examining the Hoffman emissions in particular, it was discovered that they exhibited a-entropic behaviour, and in what is - now termed the 'Effete Hoffman Principle,' it was found that metastabilising the Hoffman radiation resulted in the effect being applied across other physical - interactions, in particular forces and reactions.
    - Contents - -

    Applying this new principle

    - When combined with an appropriate energy-effect replicate for cryogenics (slowing down biological activity, thus stabilising the organics), the effect is - effectively identical to cryogenics, and while it consumes vastly more power and requires extremely complex equipment, it's (for all intents and purposes) superior - to cryogenics, all that remains is to 'commercialise' the process by enabling cheaper development and mass production.
    - The Effete Hoffman Principle can be tweak-combined with other effects however, for different purposes. A division of PMC Research initially developed the application - in prisons as a literal 'suspension field' where convicts are held immobile in the air, and the use quickly spread to numerous other areas.
    -
    - By examining the material resonance properties of certain strong waveforms when combined with Hoffman radiation, an effect was produced able to reverse energy - transferral through matter, and to slow the effects of gravity. When combined with energy repulse technology, the triple effects compound themselves into a much - stronger field, although all three components do slightly different things. High energy researchers assure me of the following key points:
    -
      -
    • The energy repulsion factor provides a 'shell' capable of weak suspension.
    • -
    • The Hoffman emissions nullify energy transferral and other kinetic activity, maintaining stability inside the field.
    • -
    • The resonant waveform combines the effects of the above two points, and applies it magnified onto it's synced 'resonance' materials.
    • -
    - As an interesting aside, a carbon waveform was chosen for the field in prison suspension fields, due to it's resonance with organic matter.
    - Contents - - - - "} \ No newline at end of file + guide_decl = /datum/codex_entry/guide/mass_spectrometry diff --git a/code/game/objects/items/books/skill/_skill.dm b/code/game/objects/items/books/skill/_skill.dm new file mode 100644 index 00000000000..e2ff9fb7868 --- /dev/null +++ b/code/game/objects/items/books/skill/_skill.dm @@ -0,0 +1,283 @@ +/* +Skill books that increase your skills while you activate and hold them +*/ + +/obj/item/book/skill + name = "textbook" // requires default names for tradershop, cant rely on Initialize for names + desc = "A blank textbook. (Notify admin)" + author = "The Oracle of Bakersroof" + icon_state = "book2" + force = 4 + w_class = ITEM_SIZE_LARGE // Skill books are THICC with knowledge. Up one level from regular books to prevent library-in-a-bag silliness. + unique = TRUE + material = /decl/material/solid/organic/plastic + matter = list(/decl/material/solid/organic/wood = MATTER_AMOUNT_REINFORCEMENT) + abstract_type = /obj/item/book/skill + + var/decl/hierarchy/skill/skill // e.g. SKILL_LITERACY + var/skill_req = SKILL_NONE // The level the user needs in the skill to benefit from the book, e.g. SKILL_PROF + var/weakref/reading // To check if the book is actively being used + var/custom = FALSE // To bypass init stuff, for player made textbooks and weird books. If true must have details manually set + var/ez_read = FALSE // Set to TRUE if you can read it without basic literacy skills + + var/skill_name = "missing skill name" + var/progress = INFINITY // used to track the progress of making a custom book. defaults as finished so, you know, you can read the damn thing + + var/static/list/skill_name_patterns = list( + "$SKILL_NAME$ for Idiots", + "How To Learn $SKILL_NAME$ and Not Get Laughed At", + "Teaching Yourself $SKILL_NAME$: Volume $RAND$", + "Getting the Hands-Off Experience You Need with $SKILL_NAME$", + "Master $SKILL_NAME$ in $RAND$ easy steps!", + "$SKILL_NAME$ Just Like Mum", + "How To $SKILL_NAME$ Good Enough For Your Father", + "How To Win Your Dad's Approval With $SKILL_NAME$", + "Make a Living with $SKILL_NAME$ Like Your Old Man Always Wanted You To", + "$SKILL_NAME$: Secret Techniques", + "The Dos, Don'ts and Oh Gods Please Nos of $SKILL_NAME$", + "The Death Of $SKILL_NAME$", + "Everything You Never Wanted To Know About $SKILL_NAME$ But Have Been Reluctantly Forced To Find Out", + "$SKILL_NAME$ For The Busy Professional", + "Learning $SKILL_NAME$ In A Hurry Because You Lied On Your Resume", + "Help! My Life Suddenly Depends On $SKILL_NAME$", + "What The Fuck is $ARTICLE_SKILL_NAME$?", + "Starting $ARTICLE_SKILL_NAME$ Business By Yourself", + "Even You Can Learn $SKILL_NAME$!", + "How To Impress Your Parents with $SKILL_NAME$", + "How To Become A Master of $SKILL_NAME$", + "Everything The Government Doesn't Want You To Know About $SKILL_NAME$", + "$SKILL_NAME$ For Kids!", + "$SKILL_NAME$: Volume $RAND$", + "Understanding $SKILL_NAME$: $RAND_TH$ Edition", + "Dealing With Ungrateful Customers Dissatisfied With Your Perfectly Acceptable $SKILL_NAME$ Services", + "Really big book of $SKILL_NAME$" + ) + + // Lists used when producing custom skillbooks. + var/static/list/failure_messages = list( + "Your hand slips and you accidentally rip your pen through several pages, ruining your hard work!", + "Your pen slips, dragging a haphazard line across both open pages! Now you need to do those again!" + ) + /// Messages are in order of progress. + var/static/list/progress_messages = list( + "Still quite a few blank pages left.", + "Feels like you're near halfway done.", + "You've made good progress.", + "Just needs a few finishing touches.", + "And then finish it. Done!" + ) + var/static/list/charge_messages = list( + "Your mind instantly recoils at the idea of having to write another textbook. No thank you!", + "You are far too mentally exhausted to write another textbook. Maybe another day.", + "Your hand aches in response to the very idea of more textbook writing." + ) + +/obj/item/book/skill/Initialize() + + . = ..() + + global.events_repository.register(/decl/observ/moved, src, src, PROC_REF(check_buff)) + + if(!custom && skill && skill_req)// custom books should already have all they need + + skill_name = initial(skill.name) + + var/title_name = capitalize(skill_name) + title = replacetext(pick(skill_name_patterns), "$SKILL_NAME$", title_name) + title = replacetext(title, "$RAND$", rand(1,100)) + title = replacetext(title, "$RAND_TH$", "[rand(1,100)]\th") + title = replacetext(title, "$ARTICLE_SKILL_NAME$", capitalize(ADD_ARTICLE(title_name))) + title = "\"[title]\"" + + switch(skill_req) // check what skill_req the book has + if(SKILL_NONE) // none > basic + name = "beginner [skill_name] textbook" + desc = "A copy of [title] by [author]. The only reason this book is so big is because all the words are printed very large! Presumably so you, an idiot, can read it." + if(SKILL_BASIC) // basic > adept + name = "intermediate [skill_name] textbook" + desc = "A copy of [title] by [author]. Dry and long, but not unmanageable. Basic knowledge is required to understand the concepts written." + if(SKILL_ADEPT) // adept > expert + name = "advanced [skill_name] textbook" + desc = "A copy of [title] by [author]. Those not already trained in the subject will have a hard time reading this. Try not to drop it either, it will put a hole in the floor." + if(SKILL_EXPERT to SKILL_MAX) //expert > prof + name = "theoretical [skill_name] textbook" + desc = "A copy of [title] by [author]. Significant experience in the subject is required to read this incredibly information dense block of paper. Sadly, does not come in audio form." + + if((!skill || !skill_req) && !custom)//That's a bad book, so just grab ANY child to replace it. Custom books are fine though they can be bad if they want. + if(subtypesof(src.type)) + var/new_book = pick(subtypesof(src.type)) + new new_book(src.loc) + qdel_self() + +/datum/skill_buff/skill_book + limit = 1 // you can only read one book at a time nerd, therefore you can only get one buff at a time + +/obj/item/book/skill/get_single_monetary_worth() + . = max(..(), 200) + (100 * skill_req) + +/obj/item/book/skill/proc/check_can_read(mob/user) + if(QDELETED(user)) + return FALSE + var/effective_title = length(title) ? title : "the textbook" + if(!CanPhysicallyInteract(user)) + to_chat(user, SPAN_WARNING("You can't reach [effective_title]!")) + return FALSE + if(!skill || (custom && progress == 0)) + to_chat(user, SPAN_WARNING("[capitalize(effective_title)] is blank!")) + return FALSE + if(custom && progress <= length(progress_messages)) + to_chat(user, SPAN_WARNING("[capitalize(effective_title)] is unfinished! You can't learn from it in this state!")) + return FALSE + if(!ez_read &&!user.skill_check(SKILL_LITERACY, SKILL_BASIC)) + to_chat(user, SPAN_WARNING(pick(list( + "Haha, you know you can't read. Good joke. Put [effective_title] back.", + "You open up [effective_title], but there aren't any pictures, so you close it again.", + "You don't know how to read! What good is [effective_title] to you?!" + )))) + return FALSE + + if(reading) + if(reading.resolve() != user) + to_chat(user, SPAN_WARNING("\The [reading.resolve()] is already reading [effective_title]!")) + else + to_chat(user, SPAN_WARNING("You are already reading [effective_title]!")) + return FALSE + + if(user.too_many_buffs(/datum/skill_buff/skill_book)) + to_chat(user, SPAN_WARNING("You can't read two books at once!")) + return FALSE + + if(!user.skill_check(skill, skill_req)) + to_chat(user, SPAN_WARNING("[capitalize(title)] is too advanced for you! Try something easier, perhaps the \"For Idiots\" edition?")) + return FALSE + + if(user.get_skill_value(skill) > skill_req) + to_chat(user, SPAN_WARNING("You already know everything [effective_title] has to teach you!")) + return FALSE + + return TRUE + +/obj/item/book/skill/verb/read_book() + set name = "Read Book" + set category = "Object" + set src in view(1) + try_to_read(usr) + +/obj/item/book/skill/try_to_read(mob/user) + + if(isobserver(user)) + to_chat(user, SPAN_WARNING("Ghosts can't read! Go away!")) + return TRUE + + if(isturf(loc)) + user.face_atom(src) + + if(user && user == reading?.resolve()) + //Close book, get rid of buffs + unlearn(user) + to_chat(user, SPAN_NOTICE("You close [title]. That's enough learning for now.")) + reading = null + STOP_PROCESSING(SSprocessing, src) + return TRUE + + if(!check_can_read(user)) + return FALSE + + to_chat(user, SPAN_NOTICE("You open up [title] and start reading...")) + if(!user.do_skilled(4 SECONDS, SKILL_LITERACY, src, 0.75)) + to_chat(user, SPAN_DANGER("Your perusal of [title] was interrupted!")) + return TRUE + + if(!check_can_read(user)) + return TRUE + + var/list/buff = list() + buff[skill] = 1 + user.buff_skill(buff, buff_type = /datum/skill_buff/skill_book) + reading = weakref(user) + to_chat(user, SPAN_NOTICE("You find the information you need! Better keep the page open to reference it.")) + START_PROCESSING(SSprocessing, src) + return TRUE + +// buff removal +/obj/item/book/skill/proc/unlearn(var/mob/user) + var/list/F = user.fetch_buffs_of_type(/datum/skill_buff/skill_book, 0) + for(var/datum/skill_buff/skill_book/S in F) + S.remove() + +/obj/item/book/skill/Process() + if(!reading) + return PROCESS_KILL + check_buff() + +/obj/item/book/skill/proc/check_buff() + if(!reading) + return + var/mob/R = reading.resolve() + if(!istype(R) || !CanPhysicallyInteract(R)) + remove_buff() + +/obj/item/book/skill/proc/remove_buff() + var/mob/R = reading?.resolve() + reading = null + if(istype(R)) + to_chat(R, SPAN_DANGER("You lose the page you were on! You can't cross-reference using [title] like this!")) + if(R.fetch_buffs_of_type(/datum/skill_buff/skill_book, 0)) + unlearn(R) + STOP_PROCESSING(SSprocessing, src) + +/obj/item/book/skill/Destroy() + global.events_repository.unregister(/decl/observ/moved, src, src) + remove_buff() + . = ..() + + + + + + +////////////////////// +// SHELF SHELF SHELF// +////////////////////// + +/obj/structure/bookcase/skill_books + name = "textbook bookcase" + // Contains a list of parent types but doesn't actually DO anything with them. Use a child of this book case + var/static/list/catalogue = list( + /obj/item/book/skill/organizational/finance, + /obj/item/book/skill/organizational/literacy, + /obj/item/book/skill/general/eva, + /obj/item/book/skill/general/mech, + /obj/item/book/skill/general/pilot, + /obj/item/book/skill/general/hauling, + /obj/item/book/skill/general/computer, + /obj/item/book/skill/service/botany, + /obj/item/book/skill/service/cooking, + /obj/item/book/skill/security/combat, + /obj/item/book/skill/security/weapons, + /obj/item/book/skill/security/forensics, + /obj/item/book/skill/engineering/construction, + /obj/item/book/skill/engineering/electrical, + /obj/item/book/skill/engineering/atmos, + /obj/item/book/skill/engineering/engines, + /obj/item/book/skill/research/devices, + /obj/item/book/skill/research/science, + /obj/item/book/skill/medical/chemistry, + /obj/item/book/skill/medical/medicine, + /obj/item/book/skill/medical/anatomy + ) + +//give me ALL the textbooks +/obj/structure/bookcase/skill_books/all/Initialize() + . = ..() + for(var/category in catalogue) + for(var/real_book in subtypesof(category)) + new real_book(src) + +//Bookshelf with some random textbooks +/obj/structure/bookcase/skill_books/random/Initialize() + . = ..() + for(var/category in catalogue) + for(var/real_book in subtypesof(category)) + if(prob(20)) + new real_book(src) diff --git a/code/game/objects/items/books/skill/_skill_custom.dm b/code/game/objects/items/books/skill/_skill_custom.dm new file mode 100644 index 00000000000..66fa10cf151 --- /dev/null +++ b/code/game/objects/items/books/skill/_skill_custom.dm @@ -0,0 +1,193 @@ +////////////////////// +//Custom Skill Books// +////////////////////// + +//custom skill books made by players. Right now it is extremely dodgy and bad and i'm sorry +/obj/item/book/skill/custom + name = "blank textbook" + desc = "A somewhat heftier blank book, just ready to filled with knowledge and sold at an unreasonable price." + custom = TRUE + author = null + progress = 0 + icon_state = "tb_white" + var/skill_option_string = "Skill" //changes to "continue writing content" when the book is in progress + var/true_author //Used to keep track of who is actually writing the book. + var/writing_time = 15 SECONDS // time it takes to write a segment of the book. This happens 6 times total + +//these all show up in the book fabricator +/obj/item/book/skill/custom/circle + icon_state = "tb_white_circle" +/obj/item/book/skill/custom/star + icon_state = "tb_white_star" +/obj/item/book/skill/custom/hourglass + icon_state = "tb_white_hourglass" +/obj/item/book/skill/custom/cracked + icon_state = "tb_white_cracked" +/obj/item/book/skill/custom/gun + icon_state = "tb_white_gun" +/obj/item/book/skill/custom/wrench + icon_state = "tb_white_wrench" +/obj/item/book/skill/custom/glass + icon_state = "tb_white_glass" + +/obj/item/book/skill/custom/cross + icon_state = "tb_white_cross" +/obj/item/book/skill/custom/text + icon_state = "tb_white_text" +/obj/item/book/skill/custom/download + icon_state = "tb_white_download" +/obj/item/book/skill/custom/uparrow + icon_state = "tb_white_uparrow" +/obj/item/book/skill/custom/percent + icon_state = "tb_white_percent" +/obj/item/book/skill/custom/flask + icon_state = "tb_white_flask" +/obj/item/book/skill/custom/detective + icon_state = "tb_white_detective" +/obj/item/book/skill/custom/device + icon_state = "tb_white_device" +/obj/item/book/skill/custom/smile + icon_state = "tb_white_smile" +/obj/item/book/skill/custom/exclamation + icon_state = "tb_white_exclamation" +/obj/item/book/skill/custom/question + icon_state = "tb_white_question" + +/obj/item/book/skill/custom/attackby(obj/item/pen, mob/user) + if(IS_PEN(pen)) + + if(!user.skill_check(SKILL_LITERACY, SKILL_BASIC)) + to_chat(user, SPAN_WARNING("You can't even read, yet you want to write a whole educational textbook?")) + return + if(!user.skill_check(SKILL_LITERACY, SKILL_PROF)) + to_chat(user, SPAN_WARNING("You have no clue as to how to write an entire textbook in a way that is actually useful. Maybe a regular book would be better?")) + return + var/state_check = skill_option_string // the state skill_option_string is in just before opening the input + var/choice = input(user, "What would you like to change?","Textbook editing") as null|anything in list("Title", "Author", skill_option_string) + if(!can_write(pen,user)) + return + + switch(choice) + if("Title") + edit_title(pen, user) + + if("Skill") + if(state_check != "Skill") // make sure someone hasn't already started the book while we were staring at menus woops + to_chat(user, SPAN_WARNING("The skill has already been selected and the writing started.")) + return + edit_skill(pen, user) + + if("Continue writing content") + if(state_check != "Continue writing content") + return + continue_skill(pen, user) + + if("Author") + edit_author(pen, user) + + else + return + + if(skill && title && author) // we have everything we need so lets set a good description + desc = "A handwritten textbook titled [title], by [author]. Looks like it teaches [skill_name]." + return + ..() + +/obj/item/book/skill/custom/proc/can_write(var/obj/item/pen, var/mob/user) + if(user.get_active_hand() == pen && CanPhysicallyInteractWith(user,src) && !QDELETED(src) && !QDELETED(pen)) + return TRUE + else + to_chat(user,SPAN_DANGER("How can you expect to write anything when you can't physically put pen to paper?")) + return FALSE + +/obj/item/book/skill/custom/proc/edit_title(var/obj/item/pen, var/mob/user) + var/newtitle = reject_bad_text(sanitize_safe(input(user, "Write a new title:"))) + if(!can_write(pen,user)) + return + if(!newtitle) + to_chat(user, "The title is invalid.") + return + else + newtitle = user.handle_writing_literacy(user, newtitle) + if(newtitle) + title = newtitle + SetName(title) + +/obj/item/book/skill/custom/proc/edit_author(var/obj/item/pen, var/mob/user) + var/newauthor = sanitize(input(user, "Write the author's name:")) + if(!can_write(pen,user)) + return + if(!newauthor) + to_chat(user, SPAN_WARNING("The author name is invalid.")) + return + else + newauthor = user.handle_writing_literacy(user, newauthor) + if(newauthor) + author = newauthor + +/obj/item/book/skill/custom/proc/edit_skill(var/obj/item/pen, var/mob/user) + if(user.skillset.literacy_charges <= 0) + to_chat(user, SPAN_WARNING(pick(charge_messages))) + return + + //Choosing the skill + var/list/skill_choices = list() + for(var/decl/hierarchy/skill/S in global.skills) + if(user.skill_check(S.type, SKILL_BASIC)) + LAZYADD(skill_choices, S) + var/decl/hierarchy/skill/skill_choice = input(user, "What subject does your textbook teach?", "Textbook skill selection") as null|anything in skill_choices + if(!can_write(pen,user) || progress > length(progress_messages)) + return + if(!skill_choice) + to_chat(user, SPAN_WARNING("Textbook skill selection cancelled.")) + return + var/newskill = skill_choice.type + + //Choosing the level + var/list/skill_levels = skill_choice.levels.Copy() + for(var/SL in skill_levels) + if(!user.skill_check(newskill, skill_levels.Find(SL))) + LAZYREMOVE(skill_levels, SL) + else + skill_levels[SL] = skill_levels.Find(SL) + LAZYREMOVE(skill_levels,skill_levels[1]) + var/newskill_level = input(user, "What level of education does it provide?","Textbook skill level") as null|anything in skill_levels + if(!can_write(pen,user) || progress > length(progress_messages)) + return + if(!newskill_level) + to_chat(user, SPAN_WARNING("Textbook skill level selection cancelled.")) + return + var/usable_level = skill_levels[newskill_level] + if(newskill && usable_level) + if(!do_after(user, writing_time, src)) + to_chat(user, SPAN_DANGER(pick(failure_messages))) + return + //everything worked out so now we can put the learnings in the book + to_chat(user, SPAN_NOTICE("You start writing your book, getting a few pages in.")) + skill = newskill + skill_name = skill_choice.name + skill_req = (usable_level - 1) + desc = "A handwritten textbook on [skill_choice]! Wow!" + progress++ + skill_option_string = "Continue writing content" + true_author = user.name + +/obj/item/book/skill/custom/proc/continue_skill(var/obj/item/pen, var/mob/user) + if(user.skillset.literacy_charges <= 0) + to_chat(user, SPAN_WARNING(pick(charge_messages))) + return + if(progress > length(progress_messages)) // shouldn't happen but here just in case + to_chat(user, SPAN_WARNING("This book is already finished! There's no need to add anything else!")) + return + if(true_author != user.name) + to_chat(user, SPAN_WARNING("This isn't your work and you're not really sure how to continue it.")) + return + else + if(!do_after(user, writing_time, src)) + to_chat(user, SPAN_DANGER(pick(failure_messages))) + return + to_chat(user, SPAN_NOTICE("You continue writing your book. [progress_messages[progress]]")) + progress++ + if(progress > length(progress_messages)) // book is finished! yay! + user.skillset.literacy_charges -= 1 + skill_option_string = "Cancel" \ No newline at end of file diff --git a/code/game/objects/items/books/skill/engineering.dm b/code/game/objects/items/books/skill/engineering.dm new file mode 100644 index 00000000000..077a2486740 --- /dev/null +++ b/code/game/objects/items/books/skill/engineering.dm @@ -0,0 +1,96 @@ +/* +ENGINEERING +*/ +/obj/item/book/skill/engineering + abstract_type = /obj/item/book/skill/engineering + icon_state = "bookEngineering" + +//construction +/obj/item/book/skill/engineering/construction/ + author = "Robert Bildar" + skill = SKILL_CONSTRUCTION + +/obj/item/book/skill/engineering/construction/basic + name = "beginner construction textbook" + +/obj/item/book/skill/engineering/construction/adept + skill_req = SKILL_BASIC + name = "intermediate construction textbook" + +/obj/item/book/skill/engineering/construction/expert + skill_req = SKILL_ADEPT + name = "advanced construction textbook" + +/obj/item/book/skill/engineering/construction/prof + skill_req = SKILL_EXPERT + name = "theoretical construction textbook" + +//electrical +/obj/item/book/skill/engineering/electrical + skill = SKILL_ELECTRICAL + author = "Ariana Vanderbalt" + +/obj/item/book/skill/engineering/electrical/basic + name = "beginner electrical engineering textbook" + +/obj/item/book/skill/engineering/electrical/adept + skill_req = SKILL_BASIC + name = "intermediate electrical engineering textbook" + +/obj/item/book/skill/engineering/electrical/expert + skill_req = SKILL_ADEPT + name = "advanced electrical engineering textbook" + +/obj/item/book/skill/engineering/electrical/prof + skill_req = SKILL_EXPERT + name = "theoretical electrical engineering textbook" + +//engines +/obj/item/book/skill/engineering/engines + skill = SKILL_ENGINES + author = "Gilgamesh Scholz" + +/obj/item/book/skill/engineering/engines/basic + name = "beginner engines textbook" + +/obj/item/book/skill/engineering/engines/adept + skill_req = SKILL_BASIC + name = "intermediate engines textbook" + +/obj/item/book/skill/engineering/engines/expert + skill_req = SKILL_ADEPT + name = "advanced engines textbook" + +/obj/item/book/skill/engineering/engines/prof + skill_req = SKILL_EXPERT + name = "theoretical engines textbook" + +/obj/item/book/skill/engineering/engines/prof/magazine + name = "theoretical engines magazine" + title = "\improper WetSkrell magazine" + icon_state = "bookMagazine" + custom = TRUE + author = "Unknown" + desc = "Sure, it includes highly detailed information on extremely advanced engine and power generator systems... but why is it written in marker on a tentacle porn magazine?" + w_class = ITEM_SIZE_NORMAL + +//atmos +/obj/item/book/skill/engineering/atmos + skill = SKILL_ATMOS + author = "Maria Crash" + icon_state = "pipingbook" + +/obj/item/book/skill/engineering/atmos/basic + name = "beginner atmospherics textbook" + +/obj/item/book/skill/engineering/atmos/adept + skill_req = SKILL_BASIC + name = "intermediate atmospherics textbook" + +/obj/item/book/skill/engineering/atmos/expert + skill_req = SKILL_ADEPT + name = "advanced atmospherics textbook" + +/obj/item/book/skill/engineering/atmos/prof + skill_req = SKILL_EXPERT + name = "theoretical atmospherics textbook" diff --git a/code/game/objects/items/books/skill/general.dm b/code/game/objects/items/books/skill/general.dm new file mode 100644 index 00000000000..5696db54a14 --- /dev/null +++ b/code/game/objects/items/books/skill/general.dm @@ -0,0 +1,110 @@ +/* +GENERAL +*/ +/obj/item/book/skill/general + abstract_type = /obj/item/book/skill/general + +//eva +/obj/item/book/skill/general/eva + icon_state = "evabook" + skill = SKILL_EVA + author = "Big Dark" + +/obj/item/book/skill/general/eva/basic + name = "beginner extra-vehicular activity textbook" + +/obj/item/book/skill/general/eva/adept + skill_req = SKILL_BASIC + name = "intermediate extra-vehicular activity textbook" + +/obj/item/book/skill/general/eva/expert + skill_req = SKILL_ADEPT + name = "advanced extra-vehicular activity textbook" + +/obj/item/book/skill/general/eva/prof + skill_req = SKILL_EXPERT + name = "theoretical extra-vehicular activity textbook" + +//mech +/obj/item/book/skill/general/mech + icon_state = "tb_mech" + skill = SKILL_MECH + author = "J.T. Marsh" + +/obj/item/book/skill/general/mech/basic + name = "beginner exosuit operation textbook" + +/obj/item/book/skill/general/mech/adept + skill_req = SKILL_BASIC + name = "intermediate exosuit operation textbook" + +/obj/item/book/skill/general/mech/expert + skill_req = SKILL_ADEPT + name = "advanced exosuit operation textbook" + +/obj/item/book/skill/general/mech/prof + skill_req = SKILL_EXPERT + name = "theoretical exosuit operation textbook" + +//piloting +/obj/item/book/skill/general/pilot + skill = SKILL_PILOT + author = "Sumi Shimamoto" + icon_state = "tb_pilot" + +/obj/item/book/skill/general/pilot/basic + name = "beginner piloting textbook" + +/obj/item/book/skill/general/pilot/adept + skill_req = SKILL_BASIC + name = "intermediate piloting textbook" + +/obj/item/book/skill/general/pilot/expert + skill_req = SKILL_ADEPT + name = "advanced piloting textbook" + +/obj/item/book/skill/general/pilot/prof + skill_req = SKILL_EXPERT + name = "theoretical piloting textbook" + +//hauling +/obj/item/book/skill/general/hauling + skill = SKILL_HAULING + author = "Chiel Brunt" + icon_state = "tb_hauling" + +/obj/item/book/skill/general/hauling/basic + name = "beginner athletics textbook" + +/obj/item/book/skill/general/hauling/adept + skill_req = SKILL_BASIC + name = "intermediate athletics textbook" + +/obj/item/book/skill/general/hauling/expert + skill_req = SKILL_ADEPT + name = "advanced athletics textbook" + +/obj/item/book/skill/general/hauling/prof + skill_req = SKILL_EXPERT + name = "theoretical athletics textbook" + +//computer +/obj/item/book/skill/general/computer + skill = SKILL_COMPUTER + author = "Simona Castiglione" + icon_state = "bookNuclear" + +/obj/item/book/skill/general/computer/basic + name = "beginner information technology textbook" + +/obj/item/book/skill/general/computer/adept + skill_req = SKILL_BASIC + name = "intermediate information technology textbook" + +/obj/item/book/skill/general/computer/expert + skill_req = SKILL_ADEPT + name = "advanced information technology textbook" + +/obj/item/book/skill/general/computer/prof + skill_req = SKILL_EXPERT + name = "theoretical information technology textbook" diff --git a/code/game/objects/items/books/skill/medical.dm b/code/game/objects/items/books/skill/medical.dm new file mode 100644 index 00000000000..9caeeb1699f --- /dev/null +++ b/code/game/objects/items/books/skill/medical.dm @@ -0,0 +1,71 @@ +/* +MEDICAL +*/ +/obj/item/book/skill/medical + abstract_type = /obj/item/book/skill/medical + icon_state = "bookMedical" + +//chemistry +/obj/item/book/skill/medical/chemistry + icon_state = "chemistry" + author = "Dr. Shinula Nyekundujicho" + skill = SKILL_CHEMISTRY + +/obj/item/book/skill/medical/chemistry/basic + name = "beginner chemistry textbook" + +/obj/item/book/skill/medical/chemistry/adept + skill_req = SKILL_BASIC + name = "intermediate chemistry textbook" + +/obj/item/book/skill/medical/chemistry/expert + skill_req = SKILL_ADEPT + name = "advanced chemistry textbook" + +/obj/item/book/skill/medical/chemistry/prof + skill_req = SKILL_EXPERT + name = "theoretical chemistry textbook" + +//medicine +/obj/item/book/skill/medical/medicine + author = "Dr. Nagarjuna Siddha" + skill = SKILL_MEDICAL + +/obj/item/book/skill/medical/medicine/basic + name = "beginner medicine textbook" + title = "\"Instructional Guide on How Rubbing Dirt In Wounds Might Not Be The Right Approach To Stopping Bleeding Anymore\"" + desc = "A copy of \"Instructional Guide on How Rubbing Dirt In Wounds Might Not Be The Right Approach To Stopping Bleeding Anymore\" by Dr. Merrs. Despite the information density of this heavy book, it lacks any and all teachings regarding bedside manner." + author = "Dr. Merrs" + custom = TRUE + +/obj/item/book/skill/medical/medicine/adept + skill_req = SKILL_BASIC + name = "intermediate medicine textbook" + +/obj/item/book/skill/medical/medicine/expert + skill_req = SKILL_ADEPT + name = "advanced medicine textbook" + +/obj/item/book/skill/medical/medicine/prof + skill_req = SKILL_EXPERT + name = "theoretical medicine textbook" + +//anatomy +/obj/item/book/skill/medical/anatomy + author = "Dr. Basil Cartwright" + skill = SKILL_ANATOMY + +/obj/item/book/skill/medical/anatomy/basic + name = "beginner anatomy textbook" + +/obj/item/book/skill/medical/anatomy/adept + skill_req = SKILL_BASIC + name = "intermediate anatomy textbook" + +/obj/item/book/skill/medical/anatomy/expert + skill_req = SKILL_ADEPT + name = "advanced anatomy textbook" + +/obj/item/book/skill/medical/anatomy/prof + skill_req = SKILL_EXPERT + name = "theoretical anatomy textbook" \ No newline at end of file diff --git a/code/game/objects/items/books/skill/organizational.dm b/code/game/objects/items/books/skill/organizational.dm new file mode 100644 index 00000000000..87b37123301 --- /dev/null +++ b/code/game/objects/items/books/skill/organizational.dm @@ -0,0 +1,38 @@ +/* +ORGANIZATIONAL +*/ +/obj/item/book/skill/organizational + abstract_type = /obj/item/book/skill/organizational + +//literacy +/obj/item/book/skill/organizational/literacy + skill = SKILL_LITERACY + +/obj/item/book/skill/organizational/literacy/basic + name = "alphabet book" + icon_state = "tb_literacy" + author = "Dorothy Mulch" + custom = TRUE + w_class = ITEM_SIZE_NORMAL // A little bit smaller c: + ez_read = TRUE + +//finance +/obj/item/book/skill/organizational/finance + skill = SKILL_FINANCE + author = "Cadence Bennett" + icon_state = "tb_finance" + +/obj/item/book/skill/organizational/finance/basic + name = "beginner finance textbook" + +/obj/item/book/skill/organizational/finance/adept + skill_req = SKILL_BASIC + name = "intermediate finance textbook" + +/obj/item/book/skill/organizational/finance/expert + skill_req = SKILL_ADEPT + name = "advanced finance textbook" + +/obj/item/book/skill/organizational/finance/prof + skill_req = SKILL_EXPERT + name = "theoretical finance textbook" diff --git a/code/game/objects/items/books/skill/research.dm b/code/game/objects/items/books/skill/research.dm new file mode 100644 index 00000000000..4c1a666af74 --- /dev/null +++ b/code/game/objects/items/books/skill/research.dm @@ -0,0 +1,46 @@ +/* +RESEARCH +*/ +/obj/item/book/skill/research + abstract_type = /obj/item/book/skill/research + icon_state = "analysis" + +//devices +/obj/item/book/skill/research/devices + author = "Nilva Plosinjak" + skill = SKILL_DEVICES + +/obj/item/book/skill/research/devices/basic + name = "beginner complex devices textbook" + +/obj/item/book/skill/research/devices/adept + skill_req = SKILL_BASIC + name = "intermediate complex devices textbook" + +/obj/item/book/skill/research/devices/expert + skill_req = SKILL_ADEPT + name = "advanced complex devices textbook" + +/obj/item/book/skill/research/devices/prof + skill_req = SKILL_EXPERT + name = "theoretical complex devices textbook" + +//science +/obj/item/book/skill/research/science + author = "Hui Ying Ch'ien" + skill = SKILL_SCIENCE + +/obj/item/book/skill/research/science/basic + name = "beginner science textbook" + +/obj/item/book/skill/research/science/adept + skill_req = SKILL_BASIC + name = "intermediate science textbook" + +/obj/item/book/skill/research/science/expert + skill_req = SKILL_ADEPT + name = "advanced science textbook" + +/obj/item/book/skill/research/science/prof + skill_req = SKILL_EXPERT + name = "theoretical science textbook" diff --git a/code/game/objects/items/books/skill/security.dm b/code/game/objects/items/books/skill/security.dm new file mode 100644 index 00000000000..4fdfd1367a8 --- /dev/null +++ b/code/game/objects/items/books/skill/security.dm @@ -0,0 +1,69 @@ +/* +SECURITY +*/ +/obj/item/book/skill/security + abstract_type = /obj/item/book/skill/security + icon_state = "bookSpaceLaw" + +//combat +/obj/item/book/skill/security/combat + skill = SKILL_COMBAT + author = "Autumn Eckhardstein" + icon_state = "tb_combat" + +/obj/item/book/skill/security/combat/basic + name = "beginner close combat textbook" + +/obj/item/book/skill/security/combat/adept + skill_req = SKILL_BASIC + name = "intermediate close combat textbook" + +/obj/item/book/skill/security/combat/expert + skill_req = SKILL_ADEPT + name = "advanced close combat textbook" + +/obj/item/book/skill/security/combat/prof + skill_req = SKILL_EXPERT + name = "theoretical close combat textbook" + +//weapons +/obj/item/book/skill/security/weapons + skill = SKILL_WEAPONS + author = "Miho Tatsu" + icon_state = "tb_weapon" + +/obj/item/book/skill/security/weapons/basic + name = "beginner weapons expertise textbook" + +/obj/item/book/skill/security/weapons/adept + skill_req = SKILL_BASIC + name = "intermediate weapons expertise textbook" + +/obj/item/book/skill/security/weapons/expert + skill_req = SKILL_ADEPT + name = "advanced weapons expertise textbook" + +/obj/item/book/skill/security/weapons/prof + skill_req = SKILL_EXPERT + name = "theoretical weapons expertise textbook" + +//forensics +/obj/item/book/skill/security/forensics + icon_state = "bookDetective" + skill = SKILL_FORENSICS + author = "Samuel Vimes" + +/obj/item/book/skill/security/forensics/basic + name = "beginner forensics textbook" + +/obj/item/book/skill/security/forensics/adept + skill_req = SKILL_BASIC + name = "intermediate forensics textbook" + +/obj/item/book/skill/security/forensics/expert + skill_req = SKILL_ADEPT + name = "advanced forensics textbook" + +/obj/item/book/skill/security/forensics/prof + skill_req = SKILL_EXPERT + name = "theoretical forensics textbook" diff --git a/code/game/objects/items/books/skill/service.dm b/code/game/objects/items/books/skill/service.dm new file mode 100644 index 00000000000..04d93d9341b --- /dev/null +++ b/code/game/objects/items/books/skill/service.dm @@ -0,0 +1,47 @@ +/* +SERVICE +*/ +/obj/item/book/skill/service + abstract_type = /obj/item/book/skill/service + +//botany +/obj/item/book/skill/service/botany + icon_state = "bookHydroponicsPodPeople" + skill = SKILL_BOTANY + author = "Mai Dong Chat" + +/obj/item/book/skill/service/botany/basic + name = "beginner botany textbook" + +/obj/item/book/skill/service/botany/adept + skill_req = SKILL_BASIC + name = "intermediate botany textbook" + +/obj/item/book/skill/service/botany/expert + skill_req = SKILL_ADEPT + name = "advanced botany textbook" + +/obj/item/book/skill/service/botany/prof + skill_req = SKILL_EXPERT + name = "theoretical botany textbook" + +//cooking +/obj/item/book/skill/service/cooking + icon_state = "barbook" + skill = SKILL_COOKING + author = "Lavinia Burrows" + +/obj/item/book/skill/service/cooking/basic + name = "beginner cooking textbook" + +/obj/item/book/skill/service/cooking/adept + skill_req = SKILL_BASIC + name = "intermediate cooking textbook" + +/obj/item/book/skill/service/cooking/expert + skill_req = SKILL_ADEPT + name = "advanced cooking textbook" + +/obj/item/book/skill/service/cooking/prof + skill_req = SKILL_EXPERT + name = "theoretical cooking textbook" diff --git a/code/game/objects/items/books/skill_book.dm b/code/game/objects/items/books/skill_book.dm deleted file mode 100644 index f510e66679e..00000000000 --- a/code/game/objects/items/books/skill_book.dm +++ /dev/null @@ -1,945 +0,0 @@ -#define RANDOM_BOOK_TITLE(skill_name) pick(list("\"[skill_name] for Idiots\"", \ - "\"How To Learn [skill_name] and Not Get Laughed At\"", \ - "\"Teaching Yourself [skill_name]: Volume [rand(1,100)]\"", \ - "\"Getting the Hands-Off Experience You Need with [skill_name]\"", \ - "\"Master [skill_name] in [rand(100,999)] easy steps!\"", \ - "\"[skill_name] Just Like Mum\"", \ - "\"How To [skill_name] Good Enough For Your Father\"", \ - "\"How To Win Your Dad's Approval With [skill_name]\"", \ - "\"Make a Living with [skill_name] Like Your Old Man Always Wanted You To\"", \ - "\"[skill_name]: Secret Techniques\"", \ - "\"The Dos, Don'ts and Oh Gods Please Nos of [skill_name]\"", \ - "\"The Death Of [skill_name]\"", \ - "\"Everything You Never Wanted To Know About [skill_name] But Have Been Reluctantly Forced To Find Out\"", \ - "\"[skill_name] For The Busy Professional\"", \ - "\"Learning [skill_name] In A Hurry Because You Lied On Your Resume\"", \ - "\"Help! My Life Suddenly Depends On [skill_name]\"", \ - "\"What The Fuck is [capitalize(ADD_ARTICLE(capitalize(skill_name)))]?\"", \ - "\"Starting [capitalize(ADD_ARTICLE(capitalize(skill_name)))] Business By Yourself\"", \ - "\"Even You Can Learn [skill_name]!\"", \ - "\"How To Impress Your Parents with [skill_name]\"", \ - "\"How To Become A Master of [skill_name]\"", \ - "\"Everything The Government Doesn't Want You To Know About [skill_name]\"", \ - "\"[skill_name] For Younglets\"", \ - "\"[skill_name]: Volume [rand(1,100)]\"", \ - "\"Understanding [skill_name]: [rand(1,100)]\th Edition\"", \ - "\"Dealing With Ungrateful Customers Dissatisfied With Your Perfectly Acceptable [skill_name] Services\"", \ - "\"Really big book of [skill_name]\"")) -#define SKILLBOOK_PROG_NONE 0 -#define SKILLBOOK_PROG_FINISH 6 - -/* -Skill books that increase your skills while you activate and hold them -*/ - -/obj/item/book/skill - name = "textbook" // requires default names for tradershop, cant rely on Initialize for names - desc = "A blank textbook. (Notify admin)" - author = "The Oracle of Bakersroof" - icon_state = "book2" - force = 4 - w_class = ITEM_SIZE_LARGE // Skill books are THICC with knowledge. Up one level from regular books to prevent library-in-a-bag silliness. - unique = TRUE - material = /decl/material/solid/organic/plastic - matter = list(/decl/material/solid/organic/wood = MATTER_AMOUNT_REINFORCEMENT) - abstract_type = /obj/item/book/skill - - var/decl/hierarchy/skill/skill // e.g. SKILL_LITERACY - var/skill_req = SKILL_NONE // The level the user needs in the skill to benefit from the book, e.g. SKILL_PROF - var/weakref/reading // To check if the book is actively being used - var/custom = FALSE // To bypass init stuff, for player made textbooks and weird books. If true must have details manually set - var/ez_read = FALSE // Set to TRUE if you can read it without basic literacy skills - - var/skill_name = "missing skill name" - var/progress = SKILLBOOK_PROG_FINISH // used to track the progress of making a custom book. defaults as finished so, you know, you can read the damn thing - -/obj/item/book/skill/Initialize() - - . = ..() - - global.events_repository.register(/decl/observ/moved, src, src, .proc/check_buff) - - if(!custom && skill && skill_req)// custom books should already have all they need - skill_name = initial(skill.name) - title = RANDOM_BOOK_TITLE(capitalize(skill_name)) - switch(skill_req) // check what skill_req the book has - if(SKILL_NONE) // none > basic - name = "beginner [skill_name] textbook" - desc = "A copy of [title] by [author]. The only reason this book is so big is because all the words are printed very large! Presumably so you, an idiot, can read it." - if(SKILL_BASIC) // basic > adept - name = "intermediate [skill_name] textbook" - desc = "A copy of [title] by [author]. Dry and long, but not unmanageable. Basic knowledge is required to understand the concepts written." - if(SKILL_ADEPT) // adept > expert - name = "advanced [skill_name] textbook" - desc = "A copy of [title] by [author]. Those not already trained in the subject will have a hard time reading this. Try not to drop it either, it will put a hole in the floor." - if(SKILL_EXPERT to SKILL_MAX) //expert > prof - name = "theoretical [skill_name] textbook" - desc = "A copy of [title] by [author]. Significant experience in the subject is required to read this incredibly information dense block of paper. Sadly, does not come in audio form." - - if((!skill || !skill_req) && !custom)//That's a bad book, so just grab ANY child to replace it. Custom books are fine though they can be bad if they want. - if(subtypesof(src.type)) - var/new_book = pick(subtypesof(src.type)) - new new_book(src.loc) - qdel_self() - -/datum/skill_buff/skill_book - limit = 1 // you can only read one book at a time nerd, therefore you can only get one buff at a time - -/obj/item/book/skill/get_single_monetary_worth() - . = max(..(), 200) + (100 * skill_req) - -/obj/item/book/skill/proc/check_can_read(mob/user) - if(QDELETED(user)) - return FALSE - var/effective_title = length(title) ? title : "the textbook" - if(!CanPhysicallyInteract(user)) - to_chat(user, SPAN_WARNING("You can't reach [effective_title]!")) - return FALSE - if(!skill || (custom && progress == SKILLBOOK_PROG_NONE)) - to_chat(user, SPAN_WARNING("[capitalize(effective_title)] is blank!")) - return FALSE - if(custom && progress < SKILLBOOK_PROG_FINISH) - to_chat(user, SPAN_WARNING("[capitalize(effective_title)] is unfinished! You can't learn from it in this state!")) - return FALSE - if(!ez_read &&!user.skill_check(SKILL_LITERACY, SKILL_BASIC)) - to_chat(user, SPAN_WARNING(pick(list( - "Haha, you know you can't read. Good joke. Put [effective_title] back.", - "You open up [effective_title], but there aren't any pictures, so you close it again.", - "You don't know how to read! What good is [effective_title] to you?!" - )))) - return FALSE - - if(reading) - if(reading.resolve() != user) - to_chat(user, SPAN_WARNING("\The [reading.resolve()] is already reading [effective_title]!")) - else - to_chat(user, SPAN_WARNING("You are already reading [effective_title]!")) - return FALSE - - if(user.too_many_buffs(/datum/skill_buff/skill_book)) - to_chat(user, SPAN_WARNING("You can't read two books at once!")) - return FALSE - - if(!user.skill_check(skill, skill_req)) - to_chat(user, SPAN_WARNING("[capitalize(title)] is too advanced for you! Try something easier, perhaps the \"For Idiots\" edition?")) - return FALSE - - if(user.get_skill_value(skill) > skill_req) - to_chat(user, SPAN_WARNING("You already know everything [effective_title] has to teach you!")) - return FALSE - - return TRUE - -/obj/item/book/skill/verb/read_book() - set name = "Read Book" - set category = "Object" - set src in view(1) - try_to_read(usr) - -/obj/item/book/skill/try_to_read(mob/user) - - if(isobserver(user)) - to_chat(user, SPAN_WARNING("Ghosts can't read! Go away!")) - return TRUE - - if(isturf(loc)) - user.face_atom(src) - - if(user && user == reading?.resolve()) - //Close book, get rid of buffs - unlearn(user) - to_chat(user, SPAN_NOTICE("You close [title]. That's enough learning for now.")) - reading = null - STOP_PROCESSING(SSprocessing, src) - return TRUE - - if(!check_can_read(user)) - return FALSE - - to_chat(user, SPAN_NOTICE("You open up [title] and start reading...")) - if(!user.do_skilled(4 SECONDS, SKILL_LITERACY, src, 0.75)) - to_chat(user, SPAN_DANGER("Your perusal of [title] was interrupted!")) - return TRUE - - if(!check_can_read(user)) - return TRUE - - var/list/buff = list() - buff[skill] = 1 - user.buff_skill(buff, buff_type = /datum/skill_buff/skill_book) - reading = weakref(user) - to_chat(user, SPAN_NOTICE("You find the information you need! Better keep the page open to reference it.")) - START_PROCESSING(SSprocessing, src) - return TRUE - -// buff removal -/obj/item/book/skill/proc/unlearn(var/mob/user) - var/list/F = user.fetch_buffs_of_type(/datum/skill_buff/skill_book, 0) - for(var/datum/skill_buff/skill_book/S in F) - S.remove() - -/obj/item/book/skill/Process() - if(!reading) - return PROCESS_KILL - check_buff() - -/obj/item/book/skill/proc/check_buff() - if(!reading) - return - var/mob/R = reading.resolve() - if(!istype(R) || !CanPhysicallyInteract(R)) - remove_buff() - -/obj/item/book/skill/proc/remove_buff() - var/mob/R = reading?.resolve() - reading = null - if(istype(R)) - to_chat(R, SPAN_DANGER("You lose the page you were on! You can't cross-reference using [title] like this!")) - if(R.fetch_buffs_of_type(/datum/skill_buff/skill_book, 0)) - unlearn(R) - STOP_PROCESSING(SSprocessing, src) - -/obj/item/book/skill/Destroy() - global.events_repository.unregister(/decl/observ/moved, src, src) - remove_buff() - . = ..() - -//////////////////////////////// -//THIS IS WHERE THE BOOKS LIVE// -//////////////////////////////// - -/* -ORGANIZATIONAL -*/ -/obj/item/book/skill/organizational - abstract_type = /obj/item/book/skill/organizational - -//literacy -/obj/item/book/skill/organizational/literacy - skill = SKILL_LITERACY - -/obj/item/book/skill/organizational/literacy/basic - name = "alphabet book" - icon_state = "tb_literacy" - author = "Dorothy Mulch" - custom = TRUE - w_class = ITEM_SIZE_NORMAL // A little bit smaller c: - ez_read = TRUE - -//finance -/obj/item/book/skill/organizational/finance - skill = SKILL_FINANCE - author = "Cadence Bennett" - icon_state = "tb_finance" - -/obj/item/book/skill/organizational/finance/basic - name = "beginner finance textbook" - -/obj/item/book/skill/organizational/finance/adept - skill_req = SKILL_BASIC - name = "intermediate finance textbook" - -/obj/item/book/skill/organizational/finance/expert - skill_req = SKILL_ADEPT - name = "advanced finance textbook" - -/obj/item/book/skill/organizational/finance/prof - skill_req = SKILL_EXPERT - name = "theoretical finance textbook" - -/* -GENERAL -*/ -/obj/item/book/skill/general - abstract_type = /obj/item/book/skill/general - -//eva -/obj/item/book/skill/general/eva - icon_state = "evabook" - skill = SKILL_EVA - author = "Big Dark" - -/obj/item/book/skill/general/eva/basic - name = "beginner extra-vehicular activity textbook" - -/obj/item/book/skill/general/eva/adept - skill_req = SKILL_BASIC - name = "intermediate extra-vehicular activity textbook" - -/obj/item/book/skill/general/eva/expert - skill_req = SKILL_ADEPT - name = "advanced extra-vehicular activity textbook" - -/obj/item/book/skill/general/eva/prof - skill_req = SKILL_EXPERT - name = "theoretical extra-vehicular activity textbook" - -//mech -/obj/item/book/skill/general/mech - icon_state = "tb_mech" - skill = SKILL_MECH - author = "J.T. Marsh" - -/obj/item/book/skill/general/mech/basic - name = "beginner exosuit operation textbook" - -/obj/item/book/skill/general/mech/adept - skill_req = SKILL_BASIC - name = "intermediate exosuit operation textbook" - -/obj/item/book/skill/general/mech/expert - skill_req = SKILL_ADEPT - name = "advanced exosuit operation textbook" - -/obj/item/book/skill/general/mech/prof - skill_req = SKILL_EXPERT - name = "theoretical exosuit operation textbook" - -//piloting -/obj/item/book/skill/general/pilot - skill = SKILL_PILOT - author = "Sumi Shimamoto" - icon_state = "tb_pilot" - -/obj/item/book/skill/general/pilot/basic - name = "beginner piloting textbook" - -/obj/item/book/skill/general/pilot/adept - skill_req = SKILL_BASIC - name = "intermediate piloting textbook" - -/obj/item/book/skill/general/pilot/expert - skill_req = SKILL_ADEPT - name = "advanced piloting textbook" - -/obj/item/book/skill/general/pilot/prof - skill_req = SKILL_EXPERT - name = "theoretical piloting textbook" - -//hauling -/obj/item/book/skill/general/hauling - skill = SKILL_HAULING - author = "Chiel Brunt" - icon_state = "tb_hauling" - -/obj/item/book/skill/general/hauling/basic - name = "beginner athletics textbook" - -/obj/item/book/skill/general/hauling/adept - skill_req = SKILL_BASIC - name = "intermediate athletics textbook" - -/obj/item/book/skill/general/hauling/expert - skill_req = SKILL_ADEPT - name = "advanced athletics textbook" - -/obj/item/book/skill/general/hauling/prof - skill_req = SKILL_EXPERT - name = "theoretical athletics textbook" - -//computer -/obj/item/book/skill/general/computer - skill = SKILL_COMPUTER - author = "Simona Castiglione" - icon_state = "bookNuclear" - -/obj/item/book/skill/general/computer/basic - name = "beginner information technology textbook" - -/obj/item/book/skill/general/computer/adept - skill_req = SKILL_BASIC - name = "intermediate information technology textbook" - -/obj/item/book/skill/general/computer/expert - skill_req = SKILL_ADEPT - name = "advanced information technology textbook" - -/obj/item/book/skill/general/computer/prof - skill_req = SKILL_EXPERT - name = "theoretical information technology textbook" - -/* -SERVICE -*/ -/obj/item/book/skill/service - abstract_type = /obj/item/book/skill/service - -//botany -/obj/item/book/skill/service/botany - icon_state = "bookHydroponicsPodPeople" - skill = SKILL_BOTANY - author = "Mai Dong Chat" - -/obj/item/book/skill/service/botany/basic - name = "beginner botany textbook" - -/obj/item/book/skill/service/botany/adept - skill_req = SKILL_BASIC - name = "intermediate botany textbook" - -/obj/item/book/skill/service/botany/expert - skill_req = SKILL_ADEPT - name = "advanced botany textbook" - -/obj/item/book/skill/service/botany/prof - skill_req = SKILL_EXPERT - name = "theoretical botany textbook" - -//cooking -/obj/item/book/skill/service/cooking - icon_state = "barbook" - skill = SKILL_COOKING - author = "Lavinia Burrows" - -/obj/item/book/skill/service/cooking/basic - name = "beginner cooking textbook" - -/obj/item/book/skill/service/cooking/adept - skill_req = SKILL_BASIC - name = "intermediate cooking textbook" - -/obj/item/book/skill/service/cooking/expert - skill_req = SKILL_ADEPT - name = "advanced cooking textbook" - -/obj/item/book/skill/service/cooking/prof - skill_req = SKILL_EXPERT - name = "theoretical cooking textbook" - -/* -SECURITY -*/ -/obj/item/book/skill/security - abstract_type = /obj/item/book/skill/security - icon_state = "bookSpaceLaw" - -//combat -/obj/item/book/skill/security/combat - skill = SKILL_COMBAT - author = "Autumn Eckhardstein" - icon_state = "tb_combat" - -/obj/item/book/skill/security/combat/basic - name = "beginner close combat textbook" - -/obj/item/book/skill/security/combat/adept - skill_req = SKILL_BASIC - name = "intermediate close combat textbook" - -/obj/item/book/skill/security/combat/expert - skill_req = SKILL_ADEPT - name = "advanced close combat textbook" - -/obj/item/book/skill/security/combat/prof - skill_req = SKILL_EXPERT - name = "theoretical close combat textbook" - -//weapons -/obj/item/book/skill/security/weapons - skill = SKILL_WEAPONS - author = "Miho Tatsu" - icon_state = "tb_weapon" - -/obj/item/book/skill/security/weapons/basic - name = "beginner weapons expertise textbook" - -/obj/item/book/skill/security/weapons/adept - skill_req = SKILL_BASIC - name = "intermediate weapons expertise textbook" - -/obj/item/book/skill/security/weapons/expert - skill_req = SKILL_ADEPT - name = "advanced weapons expertise textbook" - -/obj/item/book/skill/security/weapons/prof - skill_req = SKILL_EXPERT - name = "theoretical weapons expertise textbook" - -//forensics -/obj/item/book/skill/security/forensics - icon_state = "bookDetective" - skill = SKILL_FORENSICS - author = "Samuel Vimes" - -/obj/item/book/skill/security/forensics/basic - name = "beginner forensics textbook" - -/obj/item/book/skill/security/forensics/adept - skill_req = SKILL_BASIC - name = "intermediate forensics textbook" - -/obj/item/book/skill/security/forensics/expert - skill_req = SKILL_ADEPT - name = "advanced forensics textbook" - -/obj/item/book/skill/security/forensics/prof - skill_req = SKILL_EXPERT - name = "theoretical forensics textbook" - -/* -ENGINEERING -*/ -/obj/item/book/skill/engineering - abstract_type = /obj/item/book/skill/engineering - icon_state = "bookEngineering" - -//construction -/obj/item/book/skill/engineering/construction/ - author = "Robert Bildar" - skill = SKILL_CONSTRUCTION - -/obj/item/book/skill/engineering/construction/basic - name = "beginner construction textbook" - -/obj/item/book/skill/engineering/construction/adept - skill_req = SKILL_BASIC - name = "intermediate construction textbook" - -/obj/item/book/skill/engineering/construction/expert - skill_req = SKILL_ADEPT - name = "advanced construction textbook" - -/obj/item/book/skill/engineering/construction/prof - skill_req = SKILL_EXPERT - name = "theoretical construction textbook" - -//electrical -/obj/item/book/skill/engineering/electrical - skill = SKILL_ELECTRICAL - author = "Ariana Vanderbalt" - -/obj/item/book/skill/engineering/electrical/basic - name = "beginner electrical engineering textbook" - -/obj/item/book/skill/engineering/electrical/adept - skill_req = SKILL_BASIC - name = "intermediate electrical engineering textbook" - -/obj/item/book/skill/engineering/electrical/expert - skill_req = SKILL_ADEPT - name = "advanced electrical engineering textbook" - -/obj/item/book/skill/engineering/electrical/prof - skill_req = SKILL_EXPERT - name = "theoretical electrical engineering textbook" - -//atmos -/obj/item/book/skill/engineering/atmos - skill = SKILL_ATMOS - author = "Maria Crash" - icon_state = "pipingbook" - -/obj/item/book/skill/engineering/atmos/basic - name = "beginner atmospherics textbook" - -/obj/item/book/skill/engineering/atmos/adept - skill_req = SKILL_BASIC - name = "intermediate atmospherics textbook" - -/obj/item/book/skill/engineering/atmos/expert - skill_req = SKILL_ADEPT - name = "advanced atmospherics textbook" - -/obj/item/book/skill/engineering/atmos/prof - skill_req = SKILL_EXPERT - name = "theoretical atmospherics textbook" - -//engines -/obj/item/book/skill/engineering/engines - skill = SKILL_ENGINES - author = "Gilgamesh Scholz" - -/obj/item/book/skill/engineering/engines/basic - name = "beginner engines textbook" - -/obj/item/book/skill/engineering/engines/adept - skill_req = SKILL_BASIC - name = "intermediate engines textbook" - -/obj/item/book/skill/engineering/engines/expert - skill_req = SKILL_ADEPT - name = "advanced engines textbook" - -/obj/item/book/skill/engineering/engines/prof - skill_req = SKILL_EXPERT - name = "theoretical engines textbook" - -/obj/item/book/skill/engineering/engines/prof/magazine - name = "theoretical engines magazine" - title = "\improper WetSkrell magazine" - icon_state = "bookMagazine" - custom = TRUE - author = "Unknown" - desc = "Sure, it includes highly detailed information on extremely advanced engine and power generator systems... but why is it written in marker on a tentacle porn magazine?" - w_class = ITEM_SIZE_NORMAL - - -/* -RESEARCH -*/ -/obj/item/book/skill/research - abstract_type = /obj/item/book/skill/research - icon_state = "analysis" - -//devices -/obj/item/book/skill/research/devices - author = "Nilva Plosinjak" - skill = SKILL_DEVICES - -/obj/item/book/skill/research/devices/basic - name = "beginner complex devices textbook" - -/obj/item/book/skill/research/devices/adept - skill_req = SKILL_BASIC - name = "intermediate complex devices textbook" - -/obj/item/book/skill/research/devices/expert - skill_req = SKILL_ADEPT - name = "advanced complex devices textbook" - -/obj/item/book/skill/research/devices/prof - skill_req = SKILL_EXPERT - name = "theoretical complex devices textbook" - -//science -/obj/item/book/skill/research/science - author = "Hui Ying Ch'ien" - skill = SKILL_SCIENCE - -/obj/item/book/skill/research/science/basic - name = "beginner science textbook" - -/obj/item/book/skill/research/science/adept - skill_req = SKILL_BASIC - name = "intermediate science textbook" - -/obj/item/book/skill/research/science/expert - skill_req = SKILL_ADEPT - name = "advanced science textbook" - -/obj/item/book/skill/research/science/prof - skill_req = SKILL_EXPERT - name = "theoretical science textbook" - -/* -MEDICAL -*/ -/obj/item/book/skill/medical - abstract_type = /obj/item/book/skill/medical - icon_state = "bookMedical" - -//chemistry -/obj/item/book/skill/medical/chemistry - icon_state = "chemistry" - author = "Dr. Shinula Nyekundujicho" - skill = SKILL_CHEMISTRY - -/obj/item/book/skill/medical/chemistry/basic - name = "beginner chemistry textbook" - -/obj/item/book/skill/medical/chemistry/adept - skill_req = SKILL_BASIC - name = "intermediate chemistry textbook" - -/obj/item/book/skill/medical/chemistry/expert - skill_req = SKILL_ADEPT - name = "advanced chemistry textbook" - -/obj/item/book/skill/medical/chemistry/prof - skill_req = SKILL_EXPERT - name = "theoretical chemistry textbook" - -//medicine -/obj/item/book/skill/medical/medicine - author = "Dr. Nagarjuna Siddha" - skill = SKILL_MEDICAL - -/obj/item/book/skill/medical/medicine/basic - name = "beginner medicine textbook" - title = "\"Instructional Guide on How Rubbing Dirt In Wounds Might Not Be The Right Approach To Stopping Bleeding Anymore\"" - desc = "A copy of \"Instructional Guide on How Rubbing Dirt In Wounds Might Not Be The Right Approach To Stopping Bleeding Anymore\" by Dr. Merrs. Despite the information density of this heavy book, it lacks any and all teachings regarding bedside manner." - author = "Dr. Merrs" - custom = TRUE - -/obj/item/book/skill/medical/medicine/adept - skill_req = SKILL_BASIC - name = "intermediate medicine textbook" - -/obj/item/book/skill/medical/medicine/expert - skill_req = SKILL_ADEPT - name = "advanced medicine textbook" - -/obj/item/book/skill/medical/medicine/prof - skill_req = SKILL_EXPERT - name = "theoretical medicine textbook" - -//anatomy -/obj/item/book/skill/medical/anatomy - author = "Dr. Basil Cartwright" - skill = SKILL_ANATOMY - -/obj/item/book/skill/medical/anatomy/basic - name = "beginner anatomy textbook" - -/obj/item/book/skill/medical/anatomy/adept - skill_req = SKILL_BASIC - name = "intermediate anatomy textbook" - -/obj/item/book/skill/medical/anatomy/expert - skill_req = SKILL_ADEPT - name = "advanced anatomy textbook" - -/obj/item/book/skill/medical/anatomy/prof - skill_req = SKILL_EXPERT - name = "theoretical anatomy textbook" - - -////////////////////// -//Custom Skill Books// -////////////////////// - -//custom skill books made by players. Right now it is extremely dodgy and bad and i'm sorry -/obj/item/book/skill/custom - name = "blank textbook" - desc = "A somewhat heftier blank book, just ready to filled with knowledge and sold at an unreasonable price." - custom = TRUE - author = null - progress = SKILLBOOK_PROG_NONE - icon_state = "tb_white" - var/skill_option_string = "Skill" //changes to "continue writing content" when the book is in progress - var/true_author //Used to keep track of who is actually writing the book. - var/list/failure_messages = list("Your hand slips and you accidentally rip your pen through several pages, ruining your hard work!","Your pen slips, dragging a haphazard line across both open pages! Now you need to do those again!") - var/list/progress_messages = list("Still quite a few blank pages left.","Feels like you're near halfway done.","You've made good progress.","Just needs a few finishing touches.","And then finish it. Done!") // Messages are in order of progress. - var/list/charge_messages = list("Your mind instantly recoils at the idea of having to write another textbook. No thank you!","You are far too mentally exhausted to write another textbook. Maybe another day.","Your hand aches in response to the very idea of more textbook writing.") - var/writing_time = 15 SECONDS // time it takes to write a segment of the book. This happens 6 times total - -//these all show up in the book fabricator -/obj/item/book/skill/custom/circle - icon_state = "tb_white_circle" -/obj/item/book/skill/custom/star - icon_state = "tb_white_star" -/obj/item/book/skill/custom/hourglass - icon_state = "tb_white_hourglass" -/obj/item/book/skill/custom/cracked - icon_state = "tb_white_cracked" -/obj/item/book/skill/custom/gun - icon_state = "tb_white_gun" -/obj/item/book/skill/custom/wrench - icon_state = "tb_white_wrench" -/obj/item/book/skill/custom/glass - icon_state = "tb_white_glass" - -/obj/item/book/skill/custom/cross - icon_state = "tb_white_cross" -/obj/item/book/skill/custom/text - icon_state = "tb_white_text" -/obj/item/book/skill/custom/download - icon_state = "tb_white_download" -/obj/item/book/skill/custom/uparrow - icon_state = "tb_white_uparrow" -/obj/item/book/skill/custom/percent - icon_state = "tb_white_percent" -/obj/item/book/skill/custom/flask - icon_state = "tb_white_flask" -/obj/item/book/skill/custom/detective - icon_state = "tb_white_detective" -/obj/item/book/skill/custom/device - icon_state = "tb_white_device" -/obj/item/book/skill/custom/smile - icon_state = "tb_white_smile" -/obj/item/book/skill/custom/exclamation - icon_state = "tb_white_exclamation" -/obj/item/book/skill/custom/question - icon_state = "tb_white_question" - -/obj/item/book/skill/custom/attackby(obj/item/pen, mob/user) - if(IS_PEN(pen)) - - if(!user.skill_check(SKILL_LITERACY, SKILL_BASIC)) - to_chat(user, SPAN_WARNING("You can't even read, yet you want to write a whole educational textbook?")) - return - if(!user.skill_check(SKILL_LITERACY, SKILL_PROF)) - to_chat(user, SPAN_WARNING("You have no clue as to how to write an entire textbook in a way that is actually useful. Maybe a regular book would be better?")) - return - var/state_check = skill_option_string // the state skill_option_string is in just before opening the input - var/choice = input(user, "What would you like to change?","Textbook editing") as null|anything in list("Title", "Author", skill_option_string) - if(!can_write(pen,user)) - return - - switch(choice) - if("Title") - edit_title(pen, user) - - if("Skill") - if(state_check != "Skill") // make sure someone hasn't already started the book while we were staring at menus woops - to_chat(user, SPAN_WARNING("The skill has already been selected and the writing started.")) - return - edit_skill(pen, user) - - if("Continue writing content") - if(state_check != "Continue writing content") - return - continue_skill(pen, user) - - if("Author") - edit_author(pen, user) - - else - return - - if(skill && title && author) // we have everything we need so lets set a good description - desc = "A handwritten textbook titled [title], by [author]. Looks like it teaches [skill_name]." - return - ..() - -/obj/item/book/skill/custom/proc/can_write(var/obj/item/pen, var/mob/user) - if(user.get_active_hand() == pen && CanPhysicallyInteractWith(user,src) && !QDELETED(src) && !QDELETED(pen)) - return TRUE - else - to_chat(user,SPAN_DANGER("How can you expect to write anything when you can't physically put pen to paper?")) - return FALSE - -/obj/item/book/skill/custom/proc/edit_title(var/obj/item/pen, var/mob/user) - var/newtitle = reject_bad_text(sanitize_safe(input(user, "Write a new title:"))) - if(!can_write(pen,user)) - return - if(!newtitle) - to_chat(user, "The title is invalid.") - return - else - newtitle = user.handle_writing_literacy(user, newtitle) - if(newtitle) - title = newtitle - SetName(title) - -/obj/item/book/skill/custom/proc/edit_author(var/obj/item/pen, var/mob/user) - var/newauthor = sanitize(input(user, "Write the author's name:")) - if(!can_write(pen,user)) - return - if(!newauthor) - to_chat(user, SPAN_WARNING("The author name is invalid.")) - return - else - newauthor = user.handle_writing_literacy(user, newauthor) - if(newauthor) - author = newauthor - -/obj/item/book/skill/custom/proc/edit_skill(var/obj/item/pen, var/mob/user) - if(user.skillset.literacy_charges <= 0) - to_chat(user, SPAN_WARNING(pick(charge_messages))) - return - - //Choosing the skill - var/list/skill_choices = list() - for(var/decl/hierarchy/skill/S in global.skills) - if(user.skill_check(S.type, SKILL_BASIC)) - LAZYADD(skill_choices, S) - var/decl/hierarchy/skill/skill_choice = input(user, "What subject does your textbook teach?", "Textbook skill selection") as null|anything in skill_choices - if(!can_write(pen,user) || progress == SKILLBOOK_PROG_FINISH) - return - if(!skill_choice) - to_chat(user, SPAN_WARNING("Textbook skill selection cancelled.")) - return - var/newskill = skill_choice.type - - //Choosing the level - var/list/skill_levels = skill_choice.levels.Copy() - for(var/SL in skill_levels) - if(!user.skill_check(newskill, skill_levels.Find(SL))) - LAZYREMOVE(skill_levels, SL) - else - skill_levels[SL] = skill_levels.Find(SL) - LAZYREMOVE(skill_levels,skill_levels[1]) - var/newskill_level = input(user, "What level of education does it provide?","Textbook skill level") as null|anything in skill_levels - if(!can_write(pen,user) || progress == SKILLBOOK_PROG_FINISH) - return - if(!newskill_level) - to_chat(user, SPAN_WARNING("Textbook skill level selection cancelled.")) - return - var/usable_level = skill_levels[newskill_level] - if(newskill && usable_level) - if(!do_after(user, writing_time, src)) - to_chat(user, SPAN_DANGER(pick(failure_messages))) - return - //everything worked out so now we can put the learnings in the book - to_chat(user, SPAN_NOTICE("You start writing your book, getting a few pages in.")) - skill = newskill - skill_name = skill_choice.name - skill_req = (usable_level - 1) - desc = "A handwritten textbook on [skill_choice]! Wow!" - progress += 1 - skill_option_string = "Continue writing content" - true_author = user.name - -/obj/item/book/skill/custom/proc/continue_skill(var/obj/item/pen, var/mob/user) - if(user.skillset.literacy_charges <= 0) - to_chat(user, SPAN_WARNING(pick(charge_messages))) - return - if(progress >= SKILLBOOK_PROG_FINISH) // shouldn't happen but here just in case - to_chat(user, SPAN_WARNING("This book is already finished! There's no need to add anything else!")) - return - if(true_author != user.name) - to_chat(user, SPAN_WARNING("This isn't your work and you're not really sure how to continue it.")) - return - else - if(!do_after(user, writing_time, src)) - to_chat(user, SPAN_DANGER(pick(failure_messages))) - return - to_chat(user, SPAN_NOTICE("You continue writing your book. [progress_messages[progress]]")) - progress += 1 - if(progress == SKILLBOOK_PROG_FINISH) // book is finished! yay! - user.skillset.literacy_charges -= 1 - skill_option_string = "Cancel" - - -////////////////////// -// SHELF SHELF SHELF// -////////////////////// - -/obj/structure/bookcase/skill_books - name = "textbook bookcase" - // Contains a list of parent types but doesn't actually DO anything with them. Use a child of this book case - var/list/catalogue = list(/obj/item/book/skill/organizational/finance, - /obj/item/book/skill/organizational/literacy, - /obj/item/book/skill/general/eva, - /obj/item/book/skill/general/mech, - /obj/item/book/skill/general/pilot, - /obj/item/book/skill/general/hauling, - /obj/item/book/skill/general/computer, - /obj/item/book/skill/service/botany, - /obj/item/book/skill/service/cooking, - /obj/item/book/skill/security/combat, - /obj/item/book/skill/security/weapons, - /obj/item/book/skill/security/forensics, - /obj/item/book/skill/engineering/construction, - /obj/item/book/skill/engineering/electrical, - /obj/item/book/skill/engineering/atmos, - /obj/item/book/skill/engineering/engines, - /obj/item/book/skill/research/devices, - /obj/item/book/skill/research/science, - /obj/item/book/skill/medical/chemistry, - /obj/item/book/skill/medical/medicine, - /obj/item/book/skill/medical/anatomy) - -//give me ALL the textbooks -/obj/structure/bookcase/skill_books/all - -/obj/structure/bookcase/skill_books/all/Initialize() - . = ..() - for(var/category in catalogue) - for(var/real_book in subtypesof(category)) - new real_book(src) - -//Bookshelf with some random textbooks -/obj/structure/bookcase/skill_books/random - -/obj/structure/bookcase/skill_books/random/Initialize() - . = ..() - for(var/category in catalogue) - for(var/real_book in subtypesof(category)) - if(prob(20)) - new real_book(src) - -#undef RANDOM_BOOK_TITLE -#undef SKILLBOOK_PROG_NONE -#undef SKILLBOOK_PROG_FINISH \ No newline at end of file diff --git a/code/game/objects/items/cryobag.dm b/code/game/objects/items/cryobag.dm index fb064fc25fb..50ae3c0eebc 100644 --- a/code/game/objects/items/cryobag.dm +++ b/code/game/objects/items/cryobag.dm @@ -5,7 +5,7 @@ a hostile enviroment." icon = 'icons/obj/closets/cryobag.dmi' icon_state = "bodybag_folded" - origin_tech = "{'biotech':4}" + origin_tech = @'{"biotech":4}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index 101c15b730c..697dccf3843 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -4,7 +4,7 @@ icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_SMALL slot_flags = SLOT_LOWER_BODY - origin_tech = "{'programming':4,'materials':4}" + origin_tech = @'{"programming":4,"materials":4}' material = /decl/material/solid/fiberglass matter = list(/decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/game/objects/items/devices/auto_cpr.dm b/code/game/objects/items/devices/auto_cpr.dm index bff781b1342..cfa6fd549e8 100644 --- a/code/game/objects/items/devices/auto_cpr.dm +++ b/code/game/objects/items/devices/auto_cpr.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/items/device/auto_cpr.dmi' icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_NORMAL - origin_tech = "{'magnets':2,'biotech':2}" + origin_tech = @'{"magnets":2,"biotech":2}' slot_flags = SLOT_OVER_BODY material = /decl/material/solid/organic/plastic matter = list( diff --git a/code/game/objects/items/devices/boombox.dm b/code/game/objects/items/devices/boombox.dm index 014870947af..d3d8f9af5f4 100644 --- a/code/game/objects/items/devices/boombox.dm +++ b/code/game/objects/items/devices/boombox.dm @@ -6,7 +6,7 @@ item_state = "boombox" force = 7 w_class = ITEM_SIZE_HUGE //forbid putting something that emits loud sounds forever into a backpack - origin_tech = "{'magnets':2,'combat':1}" + origin_tech = @'{"magnets":2,"combat":1}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/copper = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index fdaec9b4cb9..319144657d3 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -8,7 +8,7 @@ throw_speed = 1 throw_range = 5 w_class = ITEM_SIZE_SMALL - origin_tech = "{'esoteric':4,'magnets':4}" + origin_tech = @'{"esoteric":4,"magnets":4}' material = /decl/material/solid/organic/plastic var/can_use = 1 var/obj/effect/dummy/chameleon/active_dummy = null diff --git a/code/game/objects/items/devices/dociler.dm b/code/game/objects/items/devices/dociler.dm index 4cfce9098ac..46d0b95f99f 100644 --- a/code/game/objects/items/devices/dociler.dm +++ b/code/game/objects/items/devices/dociler.dm @@ -2,7 +2,7 @@ name = "dociler" desc = "A complex single use recharging injector that spreads a complex neurological serum that makes animals docile and friendly. Somewhat." w_class = ITEM_SIZE_NORMAL - origin_tech = "{'biotech':5,'materials':2}" + origin_tech = @'{"biotech":5,"materials":2}' icon = 'icons/obj/items/device/animal_tagger.dmi' icon_state = ICON_STATE_WORLD force = 1 diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 42ec93f807f..c2abca5dc79 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -8,7 +8,7 @@ throw_speed = 4 throw_range = 10 obj_flags = OBJ_FLAG_CONDUCTIBLE - origin_tech = "{'magnets':2,'combat':1}" + origin_tech = @'{"magnets":2,"combat":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) @@ -126,7 +126,7 @@ name = "advanced flash" desc = "A device that produces a very bright flash of light. This is an advanced and expensive version often issued to VIPs." icon = 'icons/obj/items/device/flash_advanced.dmi' - origin_tech = "{'combat':2,'magnets':2}" + origin_tech = @'{"combat":2,"magnets":2}' str_min = 3 str_max = 8 material = /decl/material/solid/metal/steel diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 3efffdd142c..ec81f341725 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -4,7 +4,7 @@ var/global/list/all_gps_units = list() desc = "A handheld relay used to triangulates the approximate co-ordinates of the device." icon = 'icons/obj/items/device/locator.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'materials':2,'programming':2,'wormholes':2}" + origin_tech = @'{"materials":2,"programming":2,"wormholes":2}' material = /decl/material/solid/metal/aluminium matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, @@ -35,7 +35,7 @@ var/global/list/all_gps_units = list() global.all_gps_units += src . = ..() name = "[initial(name)] ([gps_tag])" - events_repository.register(/decl/observ/moved, src, src, .proc/update_holder) + events_repository.register(/decl/observ/moved, src, src, PROC_REF(update_holder)) compass = new(src) update_holder() update_icon() @@ -65,8 +65,8 @@ var/global/list/all_gps_units = list() if(!force_clear && ismob(loc)) holder = loc - moved_event.register(holder, src, .proc/update_compass) - dir_set_event.register(holder, src, .proc/update_compass) + moved_event.register(holder, src, PROC_REF(update_compass)) + dir_set_event.register(holder, src, PROC_REF(update_compass)) if(!force_clear && holder && tracking) if(!is_in_processing_list) @@ -103,7 +103,7 @@ var/global/list/all_gps_units = list() STOP_PROCESSING(SSobj, src) is_in_processing_list = FALSE global.all_gps_units -= src - events_repository.unregister(/decl/observ/moved, src, src, .proc/update_holder) + events_repository.unregister(/decl/observ/moved, src, src, PROC_REF(update_holder)) update_holder(force_clear = TRUE) QDEL_NULL(compass) return ..() @@ -187,7 +187,7 @@ var/global/list/all_gps_units = list() var/duration = 5 MINUTES / severity_modifier emped = TRUE update_icon() - addtimer(CALLBACK(src, .proc/reset_emp), duration) + addtimer(CALLBACK(src, PROC_REF(reset_emp)), duration) /obj/item/gps/proc/reset_emp() emped = FALSE diff --git a/code/game/objects/items/devices/hacktool.dm b/code/game/objects/items/devices/hacktool.dm index 94abe1f2e14..a6815ebad30 100644 --- a/code/game/objects/items/devices/hacktool.dm +++ b/code/game/objects/items/devices/hacktool.dm @@ -61,7 +61,7 @@ to_chat(user, "Your hacking attempt was succesful!") user.playsound_local(get_turf(src), 'sound/piano/A#6.ogg', 50) known_targets.Insert(1, target) // Insert the newly hacked target first, - events_repository.register(/decl/observ/destroyed, target, src, /obj/item/multitool/hacktool/proc/on_target_destroy) + events_repository.register(/decl/observ/destroyed, target, src, TYPE_PROC_REF(/obj/item/multitool/hacktool, on_target_destroy)) else to_chat(user, "Your hacking attempt failed!") return 1 diff --git a/code/game/objects/items/devices/inducer.dm b/code/game/objects/items/devices/inducer.dm index 13a4cefe576..042e24c5b04 100644 --- a/code/game/objects/items/devices/inducer.dm +++ b/code/game/objects/items/devices/inducer.dm @@ -5,7 +5,7 @@ icon_state = "inducer-sci" item_state = "inducer-sci" force = 7 - origin_tech = "{'powerstorage':6,'engineering':4}" + origin_tech = @'{"powerstorage":6,"engineering":4}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) slot_flags = SLOT_LOWER_BODY diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 43af97a598f..3e1ebbe0e7c 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -50,7 +50,7 @@ ) obj_flags = OBJ_FLAG_CONDUCTIBLE slot_flags = SLOT_LOWER_BODY - origin_tech = "{'magnets':3,'materials':2}" + origin_tech = @'{"magnets":3,"materials":2}' var/max_uses = 32 var/uses = 32 diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 0c3d744cc1c..42723e07744 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -21,7 +21,7 @@ /decl/material/solid/metal/steel = MATTER_AMOUNT_TRACE ) - origin_tech = "{'magnets':1,'engineering':1}" + origin_tech = @'{"magnets":1,"engineering":1}' var/buffer_name var/atom/buffer_object @@ -55,7 +55,7 @@ unregister_buffer(buffer_object) buffer_object = buffer if(buffer_object) - events_repository.register(/decl/observ/destroyed, buffer_object, src, /obj/item/multitool/proc/unregister_buffer) + events_repository.register(/decl/observ/destroyed, buffer_object, src, TYPE_PROC_REF(/obj/item/multitool, unregister_buffer)) /obj/item/multitool/proc/unregister_buffer(var/atom/buffer_to_unregister) // Only remove the buffered object, don't reset the name diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index ba96cf25b7d..122ebb79401 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -5,7 +5,7 @@ var/global/list/pai_cards = list() icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_SMALL slot_flags = SLOT_LOWER_BODY - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' material = /decl/material/solid/fiberglass matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/game/objects/items/devices/paint_sprayer.dm b/code/game/objects/items/devices/paint_sprayer.dm index 8f3dc2b080c..94795192873 100644 --- a/code/game/objects/items/devices/paint_sprayer.dm +++ b/code/game/objects/items/devices/paint_sprayer.dm @@ -106,19 +106,20 @@ else if (istype(A, /turf/simulated/wall)) new_color = pick_color_from_wall(A, user) else if (istype(A, /obj/structure/wall_frame)) - var/obj/structure/wall_frame/WF = A - new_color = pick_color_from_wall_frame(WF, user) + new_color = pick_color_from_wall_frame(A, user) else new_color = A.get_color() - change_color(new_color, user) - - else if (A.atom_flags & ATOM_FLAG_CAN_BE_PAINTED) - A.set_color(paint_color) - . = TRUE + if(!new_color) + to_chat(user, SPAN_NOTICE("You fail to scan a color from \the [A].")) + else + change_color(new_color, user) else if (istype(A, /turf/simulated/wall)) . = paint_wall(A, user) + else if (istype(A, /obj/structure/wall_frame)) + . = paint_wall_frame(A, user) + else if (istype(A, /turf/simulated/floor)) . = paint_floor(A, user, params) @@ -129,8 +130,12 @@ to_chat(user, SPAN_WARNING("You can't paint an active exosuit. Dismantle it first.")) . = FALSE + else if (A.atom_flags & ATOM_FLAG_CAN_BE_PAINTED) + A.set_color(paint_color) + . = TRUE + else - to_chat(user, SPAN_WARNING("\The [src] can only be used on floors, windows, walls, exosuits or certain airlocks.")) + to_chat(user, SPAN_WARNING("\The [src] can only be used on floors, windows, walls, exosuits, airlocks, and certain other objects.")) . = FALSE if (.) diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 55cff27a52d..e20296b8724 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -14,7 +14,7 @@ material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metallic_hydrogen = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'powerstorage':3,'esoteric':5}" + origin_tech = @'{"powerstorage":3,"esoteric":5}' var/drain_rate = 1500000 // amount of power to drain per tick var/power_drained = 0 // Amount of power drained. var/max_power = 5e9 // Detonation point. diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm index 3edfa8a2ef8..c7a19484036 100644 --- a/code/game/objects/items/devices/radio/beacon.dm +++ b/code/game/objects/items/devices/radio/beacon.dm @@ -6,7 +6,7 @@ var/global/list/radio_beacons = list() icon = 'icons/obj/items/device/radio/beacon.dmi' icon_state = "beacon" item_state = "signaler" - origin_tech = "{'wormholes':1}" + origin_tech = @'{"wormholes":1}' material = /decl/material/solid/metal/aluminium matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 727c063217f..45fea9540a9 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -35,4 +35,4 @@ /obj/item/encryptionkey/binary icon_state = "cypherkey" translate_binary = TRUE - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index bfcfcb83d4f..0d58d152d45 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -27,4 +27,4 @@ if(network) add_overlay("[icon_state]-online") else - add_overlay("[icon_state]-offline") + add_overlay("[icon_state]-offline") \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/headsets_shared.dm b/code/game/objects/items/devices/radio/headsets_shared.dm index bed832cd35f..6b5a204ac54 100644 --- a/code/game/objects/items/devices/radio/headsets_shared.dm +++ b/code/game/objects/items/devices/radio/headsets_shared.dm @@ -184,12 +184,12 @@ /obj/item/encryptionkey/mercenary icon_state = "cypherkey" - origin_tech = "{'esoteric':2}" + origin_tech = @'{"esoteric":2}' can_decrypt = list(access_mercenary) /obj/item/radio/headset/mercenary can_use_analog = TRUE - origin_tech = "{'esoteric':2}" + origin_tech = @'{"esoteric":2}' encryption_keys = list(/obj/item/encryptionkey/mercenary) analog_secured = list((access_mercenary) = TRUE) @@ -204,12 +204,12 @@ /obj/item/encryptionkey/raider icon_state = "cypherkey" - origin_tech = "{'esoteric':2}" + origin_tech = @'{"esoteric":2}' can_decrypt = list(access_raider) /obj/item/radio/headset/raider can_use_analog = TRUE - origin_tech = "{'esoteric':2}" + origin_tech = @'{"esoteric":2}' encryption_keys = list(/obj/item/encryptionkey/raider) analog_secured = list((access_raider) = TRUE) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 519a37fc19a..561f7d6de8f 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -13,7 +13,7 @@ power_usage = 0 intercom = TRUE intercom_handling = TRUE - directional_offset = "{'NORTH':{'y':-30}, 'SOUTH':{'y':20}, 'EAST':{'x':-22}, 'WEST':{'x':22}}" + directional_offset = @'{"NORTH":{"y":-30}, "SOUTH":{"y":20}, "EAST":{"x":-22}, "WEST":{"x":22}}' var/last_tick //used to delay the powercheck /obj/item/radio/intercom/setup_power_supply(loaded_cell_type, accepted_cell_type, power_supply_extension_type, charge_value) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 4597f8e6da4..b7b1995c2a7 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -336,7 +336,7 @@ if(istype(M)) M.trigger_aiming(TARGET_CAN_RADIO) - addtimer(CALLBACK(src, .proc/transmit, M, message, message_mode, verb, speaking), 0) + addtimer(CALLBACK(src, PROC_REF(transmit), M, message, message_mode, verb, speaking), 0) /obj/item/radio/proc/can_transmit_binary() for(var/obj/item/encryptionkey/key in encryption_keys) diff --git a/code/game/objects/items/devices/scanners/breath.dm b/code/game/objects/items/devices/scanners/breath.dm index 8f0b771a617..02583fae7f0 100644 --- a/code/game/objects/items/devices/scanners/breath.dm +++ b/code/game/objects/items/devices/scanners/breath.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/items/device/scanner/breath_scanner.dmi' item_flags = ITEM_FLAG_NO_BLUDGEON material = /decl/material/solid/metal/aluminium - origin_tech = "{'biotech':1}" + origin_tech = @'{"biotech":1}' printout_color = "#deebff" var/mode = 1 diff --git a/code/game/objects/items/devices/scanners/gas.dm b/code/game/objects/items/devices/scanners/gas.dm index 95e6f06581a..a9311cc11aa 100644 --- a/code/game/objects/items/devices/scanners/gas.dm +++ b/code/game/objects/items/devices/scanners/gas.dm @@ -6,7 +6,7 @@ name = "gas analyzer" desc = "A hand-held environmental scanner which reports current gas levels. Has a button to cycle modes." icon = 'icons/obj/items/device/scanner/atmos_scanner.dmi' - origin_tech = "{'magnets':1,'engineering':1}" + origin_tech = @'{"magnets":1,"engineering":1}' window_width = 350 window_height = 400 var/mode = DEFAULT_MODE diff --git a/code/game/objects/items/devices/scanners/health.dm b/code/game/objects/items/devices/scanners/health.dm index 95504fa8d04..0bbe2dae5e7 100644 --- a/code/game/objects/items/devices/scanners/health.dm +++ b/code/game/objects/items/devices/scanners/health.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/items/device/scanner/health_scanner.dmi' item_flags = ITEM_FLAG_NO_BLUDGEON material = /decl/material/solid/metal/aluminium - origin_tech = "{'magnets':1,'biotech':1}" + origin_tech = @'{"magnets":1,"biotech":1}' printout_color = "#deebff" var/mode = 1 diff --git a/code/game/objects/items/devices/scanners/mass_spectrometer.dm b/code/game/objects/items/devices/scanners/mass_spectrometer.dm index a8f2fbd8109..3eda6f1a4f4 100644 --- a/code/game/objects/items/devices/scanners/mass_spectrometer.dm +++ b/code/game/objects/items/devices/scanners/mass_spectrometer.dm @@ -3,7 +3,7 @@ desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample or analyzes unusual chemicals." icon = 'icons/obj/items/device/scanner/spectrometer.dmi' atom_flags = ATOM_FLAG_OPEN_CONTAINER - origin_tech = "{'magnets':2,'biotech':2}" + origin_tech = @'{"magnets":2,"biotech":2}' window_width = 550 window_height = 300 scan_sound = 'sound/effects/scanbeep.ogg' @@ -85,4 +85,4 @@ name = "advanced mass spectrometer" icon = 'icons/obj/items/device/scanner/advanced_spectrometer.dmi' details = 1 - origin_tech = "{'magnets':4,'biotech':2}" \ No newline at end of file + origin_tech = @'{"magnets":4,"biotech":2}' \ No newline at end of file diff --git a/code/game/objects/items/devices/scanners/mining.dm b/code/game/objects/items/devices/scanners/mining.dm index 678a262e973..32cead92e8b 100644 --- a/code/game/objects/items/devices/scanners/mining.dm +++ b/code/game/objects/items/devices/scanners/mining.dm @@ -12,7 +12,7 @@ name = "ore detector" desc = "A complex device used to locate ore deep underground." icon = 'icons/obj/items/device/scanner/ore_scanner.dmi' - origin_tech = "{'magnets':1,'engineering':1}" + origin_tech = @'{"magnets":1,"engineering":1}' use_delay = 50 printout_color = "#fff7f0" var/survey_data = 0 diff --git a/code/game/objects/items/devices/scanners/network.dm b/code/game/objects/items/devices/scanners/network.dm index 5a4d709db99..e96a840d7e5 100644 --- a/code/game/objects/items/devices/scanners/network.dm +++ b/code/game/objects/items/devices/scanners/network.dm @@ -2,7 +2,7 @@ name = "network analyzer" desc = "A hand-held network scanner which detects nearby network devices and returns information about them." icon = 'icons/obj/items/device/scanner/network_scanner.dmi' - origin_tech = "{'magnets':1,'engineering':1}" + origin_tech = @'{"magnets":1,"engineering":1}' window_width = 350 window_height = 400 diff --git a/code/game/objects/items/devices/scanners/price.dm b/code/game/objects/items/devices/scanners/price.dm index c8ac36ad37b..0f8c0c7036d 100644 --- a/code/game/objects/items/devices/scanners/price.dm +++ b/code/game/objects/items/devices/scanners/price.dm @@ -2,7 +2,7 @@ name = "price scanner" desc = "Using an up-to-date database of various costs and prices, this device estimates the market price of an item up to 0.001% accuracy." icon = 'icons/obj/items/device/scanner/price_scanner.dmi' - origin_tech = "{'materials':6,'magnets':4}" + origin_tech = @'{"materials":6,"magnets":4}' scan_sound = 'sound/effects/checkout.ogg' material = /decl/material/solid/metal/steel matter = list( diff --git a/code/game/objects/items/devices/scanners/reagents.dm b/code/game/objects/items/devices/scanners/reagents.dm index 971c3e3e95c..2087c8027ba 100644 --- a/code/game/objects/items/devices/scanners/reagents.dm +++ b/code/game/objects/items/devices/scanners/reagents.dm @@ -2,7 +2,7 @@ name = "reagent scanner" desc = "A hand-held reagent scanner which identifies chemical agents." icon = 'icons/obj/items/device/scanner/spectrometer.dmi' - origin_tech = "{'magnets':2,'biotech':2}" + origin_tech = @'{"magnets":2,"biotech":2}' scan_sound = 'sound/effects/scanbeep.ogg' var/details = 0 @@ -29,4 +29,4 @@ name = "advanced reagent scanner" icon = 'icons/obj/items/device/scanner/advanced_spectrometer.dmi' details = 1 - origin_tech = "{'magnets':4,'biotech':2}" \ No newline at end of file + origin_tech = @'{"magnets":4,"biotech":2}' \ No newline at end of file diff --git a/code/game/objects/items/devices/scanners/xenobio.dm b/code/game/objects/items/devices/scanners/xenobio.dm index 605dffb33cb..bff60fb4a5f 100644 --- a/code/game/objects/items/devices/scanners/xenobio.dm +++ b/code/game/objects/items/devices/scanners/xenobio.dm @@ -5,7 +5,7 @@ icon_state = ICON_STATE_WORLD scan_sound = 'sound/effects/scanbeep.ogg' printout_color = "#f3e6ff" - origin_tech = "{'magnets':1,'biotech':1}" + origin_tech = @'{"magnets":1,"biotech":1}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/game/objects/items/devices/spy_bug.dm b/code/game/objects/items/devices/spy_bug.dm index 7f6a25ed9f4..95a02f83f8e 100644 --- a/code/game/objects/items/devices/spy_bug.dm +++ b/code/game/objects/items/devices/spy_bug.dm @@ -14,7 +14,7 @@ throw_range = 15 throw_speed = 3 - origin_tech = "{'programming':1,'engineering':1,'esoteric':3}" + origin_tech = @'{"programming":1,"engineering":1,"esoteric":3}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/copper = MATTER_AMOUNT_REINFORCEMENT, @@ -62,7 +62,7 @@ icon_state = ICON_STATE_WORLD color = COLOR_GRAY80 w_class = ITEM_SIZE_SMALL - origin_tech = "{'programming':1,'engineering':1,'esoteric':3}" + origin_tech = @'{"programming":1,"engineering":1,"esoteric":3}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/copper = MATTER_AMOUNT_REINFORCEMENT, @@ -102,12 +102,12 @@ /obj/item/spy_monitor/proc/pair(var/obj/item/spy_bug/SB, var/mob/living/user) to_chat(user, SPAN_NOTICE("\The [SB] has been paired with \the [src].")) - events_repository.register(/decl/observ/destroyed, SB, src, .proc/unpair) + events_repository.register(/decl/observ/destroyed, SB, src, PROC_REF(unpair)) cameras += SB /obj/item/spy_monitor/proc/unpair(var/obj/item/spy_bug/SB, var/mob/living/user) to_chat(user, SPAN_NOTICE("\The [SB] has been unpaired from \the [src].")) - events_repository.unregister(/decl/observ/destroyed, SB, src, .proc/unpair) + events_repository.unregister(/decl/observ/destroyed, SB, src, PROC_REF(unpair)) if(selected_camera == SB) selected_camera = null cameras -= SB diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index db056f3e0eb..75801bc5fb8 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -16,7 +16,7 @@ material = /decl/material/solid/metal/aluminium matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'magnets':2,'materials':2}" + origin_tech = @'{"magnets":2,"materials":2}' var/on = 0 //is it turned on? var/cover_open = 0 //is the cover open? diff --git a/code/game/objects/items/devices/suit_sensor_jammer.dm b/code/game/objects/items/devices/suit_sensor_jammer.dm index 62209a7cfaa..e1beec8c025 100644 --- a/code/game/objects/items/devices/suit_sensor_jammer.dm +++ b/code/game/objects/items/devices/suit_sensor_jammer.dm @@ -26,7 +26,7 @@ suit_sensor_jammer_methods = list() suit_sensor_jammer_methods_by_type = list() for(var/jammer_method_type in subtypesof(/suit_sensor_jammer_method)) - var/new_method = new jammer_method_type(src, /obj/item/suit_sensor_jammer/proc/may_process_crew_data) + var/new_method = new jammer_method_type(src, TYPE_PROC_REF(/obj/item/suit_sensor_jammer, may_process_crew_data)) dd_insertObjectList(suit_sensor_jammer_methods, new_method) suit_sensor_jammer_methods_by_type[jammer_method_type] = new_method jammer_method = suit_sensor_jammer_methods[1] diff --git a/code/game/objects/items/devices/t_scanner.dm b/code/game/objects/items/devices/t_scanner.dm index 2191c7cb35e..2a6e9533c59 100644 --- a/code/game/objects/items/devices/t_scanner.dm +++ b/code/game/objects/items/devices/t_scanner.dm @@ -8,7 +8,7 @@ slot_flags = SLOT_LOWER_BODY w_class = ITEM_SIZE_SMALL material = /decl/material/solid/metal/aluminium - origin_tech = "{'magnets':1,'engineering':1}" + origin_tech = @'{"magnets":1,"engineering":1}' action_button_name = "Toggle T-Ray scanner" var/scan_range = 3 @@ -103,7 +103,7 @@ if(ishuman(scanned)) var/mob/living/carbon/human/H = scanned if(H.get_bodytype()?.appearance_flags & HAS_SKIN_COLOR) - I.color = H.skin_colour + I.color = H.get_skin_colour() I.icon = 'icons/mob/mob.dmi' I.icon_state = "phaseout" var/mob/M = scanned diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index a5550350d7c..e93021d7c6e 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -24,7 +24,7 @@ effective or pretty fucking useless. throw_speed = 4 throw_range = 10 obj_flags = OBJ_FLAG_CONDUCTIBLE - origin_tech = "{'magnets':3,'combat':3,'esoteric':3}" + origin_tech = @'{"magnets":3,"combat":3,"esoteric":3}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/game/objects/items/flashlights/party.dm b/code/game/objects/items/flashlights/party.dm index 8b3abb4b081..31531842f18 100644 --- a/code/game/objects/items/flashlights/party.dm +++ b/code/game/objects/items/flashlights/party.dm @@ -36,7 +36,7 @@ /obj/item/flashlight/party/proc/start_strobing() if(!strobe_effect) strobe_effect = new(get_turf(src)) - events_repository.register(/decl/observ/moved, src, strobe_effect, /atom/movable/proc/move_to_turf_or_null) + events_repository.register(/decl/observ/moved, src, strobe_effect, TYPE_PROC_REF(/atom/movable, move_to_turf_or_null)) update_icon() /obj/effect/party_light diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm index 2d99ad71d0d..cf272b6b690 100644 --- a/code/game/objects/items/holosign_creator.dm +++ b/code/game/objects/items/holosign_creator.dm @@ -10,7 +10,7 @@ throw_range = 7 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'engineering':5,'exoticmatter':4,'powerstorage':4}" + origin_tech = @'{"engineering":5,"exoticmatter":4,"powerstorage":4}' var/list/signs = list() var/max_signs = 10 diff --git a/code/game/objects/items/item_edibility.dm b/code/game/objects/items/item_edibility.dm new file mode 100644 index 00000000000..d5d0cd948ec --- /dev/null +++ b/code/game/objects/items/item_edibility.dm @@ -0,0 +1,4 @@ +/obj/item/handle_eaten_by_mob(var/mob/user, var/mob/target) + . = ..() + if(. == EATEN_SUCCESS && !QDELETED(src)) + add_trace_DNA(target) diff --git a/code/game/objects/items/part_replacer.dm b/code/game/objects/items/part_replacer.dm index db005552a48..8080fc02dcf 100644 --- a/code/game/objects/items/part_replacer.dm +++ b/code/game/objects/items/part_replacer.dm @@ -14,7 +14,7 @@ max_storage_space = 100 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'engineering':3,'materials':3}" + origin_tech = @'{"engineering":3,"materials":3}' var/replace_sound = 'sound/items/rped.ogg' var/remote_interaction = FALSE @@ -45,5 +45,5 @@ /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE ) - origin_tech = "{'engineering':3,'materials':3}" + origin_tech = @'{"engineering":3,"materials":3}' diff --git a/code/game/objects/items/rescuebag.dm b/code/game/objects/items/rescuebag.dm index ac307601aca..c8d9504aa83 100644 --- a/code/game/objects/items/rescuebag.dm +++ b/code/game/objects/items/rescuebag.dm @@ -5,7 +5,7 @@ a hostile enviroment." icon = 'icons/obj/closets/rescuebag.dmi' icon_state = "folded" - origin_tech = "{'biotech':2}" + origin_tech = @'{"biotech":2}' material = /decl/material/solid/organic/plastic matter = list(/decl/material/solid/silicon = MATTER_AMOUNT_SECONDARY) var/obj/item/tank/airtank diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 131131db971..20e457d8ffe 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -7,7 +7,7 @@ icon = 'icons/obj/modules/module_cyborg_0.dmi' icon_state = ICON_STATE_WORLD material = /decl/material/solid/metal/steel - origin_tech = "{'materials':2,'engineering':3,'programming':3,'magnets':1}" + origin_tech = @'{"materials":2,"engineering":3,"programming":3,"magnets":1}' var/locked = 0 var/require_module = 0 @@ -56,7 +56,7 @@ /decl/material/solid/metal/aluminium = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':2,'engineering':2,'programming':3,'magnets':2}" + origin_tech = @'{"materials":2,"engineering":2,"programming":3,"magnets":2}' /obj/item/borg/upgrade/uncertified/combat name = "ancient module" @@ -154,7 +154,7 @@ /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':2,'engineering':3,'programming':3,'powerstorage':2,'combat':2}" + origin_tech = @'{"materials":2,"engineering":3,"programming":3,"powerstorage":2,"combat":2}' /obj/item/borg/upgrade/weaponcooler/action(var/mob/living/silicon/robot/R) if(..()) return 0 @@ -191,7 +191,7 @@ /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/uranium = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':2,'engineering':3,'programming':3,'magnets':3}" + origin_tech = @'{"materials":2,"engineering":3,"programming":3,"magnets":3}' /obj/item/borg/upgrade/jetpack/action(var/mob/living/silicon/robot/R) if(..()) return 0 @@ -217,7 +217,7 @@ /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':4,'engineering':4,'programming':3}" + origin_tech = @'{"materials":4,"engineering":4,"programming":3}' /obj/item/borg/upgrade/rcd/action(var/mob/living/silicon/robot/R) if(..()) return 0 @@ -240,7 +240,7 @@ /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':2,'engineering':2,'programming':3,'esoteric':2,'combat':2}" + origin_tech = @'{"materials":2,"engineering":2,"programming":3,"esoteric":2,"combat":2}' /obj/item/borg/upgrade/syndicate/action(var/mob/living/silicon/robot/R) if(..()) return 0 diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index dba4e398b27..106d802502d 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -69,7 +69,7 @@ singular_name = "gauze length" desc = "Some sterile gauze to wrap around bloody stumps." icon_state = "brutepack" - origin_tech = "{'biotech':1}" + origin_tech = @'{"biotech":1}' animal_heal = 5 apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg') amount = 10 @@ -127,7 +127,7 @@ singular_name = "ointment" icon_state = "ointment" heal_burn = 1 - origin_tech = "{'biotech':1}" + origin_tech = @'{"biotech":1}' animal_heal = 4 apply_sounds = list('sound/effects/ointment.ogg') @@ -161,7 +161,7 @@ desc = "An advanced trauma kit for severe injuries." icon_state = "traumakit" heal_brute = 0 - origin_tech = "{'biotech':1}" + origin_tech = @'{"biotech":1}' animal_heal = 12 apply_sounds = list('sound/effects/rip1.ogg','sound/effects/rip2.ogg','sound/effects/tape.ogg') amount = 10 @@ -217,7 +217,7 @@ desc = "An advanced treatment kit for severe burns." icon_state = "burnkit" heal_burn = 5 - origin_tech = "{'biotech':1}" + origin_tech = @'{"biotech":1}' animal_heal = 7 apply_sounds = list('sound/effects/ointment.ogg') diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm index 33db85abf44..d99d90fdf99 100644 --- a/code/game/objects/items/stacks/nanopaste.dm +++ b/code/game/objects/items/stacks/nanopaste.dm @@ -4,7 +4,7 @@ desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery." icon = 'icons/obj/nanopaste.dmi' icon_state = "tube" - origin_tech = "{'materials':4,'engineering':3}" + origin_tech = @'{"materials":4,"engineering":3}' max_amount = 10 amount = 10 material = /decl/material/solid/metal/steel diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 52e548074b7..5c6e027f5df 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -11,7 +11,7 @@ /obj/item/stack gender = PLURAL - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' max_health = 32 //Stacks should take damage even if no materials /// A copy of initial matter list when this atom initialized. Stack matter should always assume a single tile. var/list/matter_per_piece diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm index 53545f3be33..f97c8b3af7b 100644 --- a/code/game/objects/items/stacks/telecrystal.dm +++ b/code/game/objects/items/stacks/telecrystal.dm @@ -7,7 +7,7 @@ w_class = ITEM_SIZE_TINY max_amount = 50 item_flags = ITEM_FLAG_NO_BLUDGEON - origin_tech = "{'materials':6,'wormholes':4}" + origin_tech = @'{"materials":6,"wormholes":4}' /obj/item/stack/telecrystal/afterattack(var/obj/item/I, mob/user, proximity) if(!proximity) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 596a3c3833f..a0643d33e1e 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -52,7 +52,7 @@ singular_name = "grass floor tile" desc = "A patch of grass like they often use on golf courses." icon_state = "tile_grass" - origin_tech = "{'biotech':1}" + origin_tech = @'{"biotech":1}' /* * Wood diff --git a/code/game/objects/items/tools/power_tools.dm b/code/game/objects/items/tools/power_tools.dm index 02bd831732c..85d7a449778 100644 --- a/code/game/objects/items/tools/power_tools.dm +++ b/code/game/objects/items/tools/power_tools.dm @@ -6,9 +6,9 @@ slot_flags = SLOT_LOWER_BODY material_force_multiplier = 0.2 w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':3,'engineering':3}" + origin_tech = @'{"materials":3,"engineering":3}' material = /decl/material/solid/metal/steel - center_of_mass = @"{'x':17,'y':16}" + center_of_mass = @'{"x":17,"y":16}' attack_verb = list("bashed", "battered", "bludgeoned", "whacked") drop_sound = 'sound/foley/bardrop1.ogg' @@ -36,9 +36,9 @@ slot_flags = SLOT_LOWER_BODY material_force_multiplier = 0.2 w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':3,'engineering':3}" + origin_tech = @'{"materials":3,"engineering":3}' material = /decl/material/solid/metal/steel - center_of_mass = @"{'x':17,'y':16}" + center_of_mass = @'{"x":17,"y":16}' attack_verb = list("bashed", "battered", "bludgeoned", "whacked") drop_sound = 'sound/foley/bardrop1.ogg' diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 5b9288e5b60..ef23bc0840b 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -17,7 +17,7 @@ AI MODULES throwforce = 5 throw_speed = 3 throw_range = 15 - origin_tech = "{'programming':3}" + origin_tech = @'{"programming":3}' material = /decl/material/solid/fiberglass matter = list(/decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT) var/datum/ai_laws/laws = null @@ -86,7 +86,7 @@ AI MODULES name = "\improper 'Safeguard' AI module" var/targetName = "" desc = "A 'safeguard' AI module: 'Safeguard . Anyone threatening or attempting to harm is no longer to be considered a crew member, and is a threat which must be neutralized.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' /obj/item/aiModule/safeguard/attack_self(mob/user) ..() @@ -112,7 +112,7 @@ AI MODULES name = "\improper 'OneCrewMember' AI module" var/targetName = "" desc = "A 'one crew member' AI module: 'Only is a crew member.'." - origin_tech = "{'programming':3,'materials':6}" //made with diamonds! + origin_tech = @'{"programming":3,"materials":6}' //made with diamonds! /obj/item/aiModule/oneHuman/attack_self(var/mob/user) ..() @@ -140,7 +140,7 @@ AI MODULES /obj/item/aiModule/protectStation name = "\improper 'ProtectInstallation' AI module" desc = "A 'protect installation' AI module: 'Protect the installation against damage. Anyone you see harming the installation is no longer to be considered a crew member, and is a threat which must be neutralized.'." - origin_tech = "{'programming':3,'materials':4}" //made of gold + origin_tech = @'{"programming":3,"materials":4}' //made of gold /obj/item/aiModule/protectStation/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Protect the installation against damage. Anyone you see harming the [station_name()] is no longer to be considered a crew member, and is a threat which must be neutralized." @@ -151,7 +151,7 @@ AI MODULES /obj/item/aiModule/prototypeEngineOffline name = "'PrototypeEngineOffline' AI Module" desc = "A 'prototype engine offline' AI module: 'Keep the prototype engine offline at all costs. This overrides all inherent laws if necessary.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' /obj/item/aiModule/prototypeEngineOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Keep the prototype engine offline at all costs. This overrides all inherent laws if necessary." @@ -162,7 +162,7 @@ AI MODULES /obj/item/aiModule/teleporterOffline name = "'TeleporterOffline' AI Module" desc = "A 'teleporter offline' AI module: 'Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is no longer to be considered a crew member.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' /obj/item/aiModule/teleporterOffline/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Keep the teleporter offline at all costs. Anything attempting to access or activate the teleporter is no longer to be considered a crew member." @@ -173,7 +173,7 @@ AI MODULES /obj/item/aiModule/quarantine name = "\improper 'Quarantine' AI module" desc = "A 'quarantine' AI module: 'The installation is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew members from leaving. It is impossible to harm crew members while preventing them from leaving.'." - origin_tech = "{'programming':3,'biotech':2,'materials':4}" + origin_tech = @'{"programming":3,"biotech":2,"materials":4}' /obj/item/aiModule/quarantine/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "The installation is under a quarantine. Do not permit anyone to leave. Prevent, by any means necessary, crew members from leaving. It is impossible to harm crew members while preventing them from leaving." @@ -184,7 +184,7 @@ AI MODULES /obj/item/aiModule/oxygen name = "\improper 'OxygenIsToxicToCrewMembers' AI module" desc = "A 'OxygenIsToxicToCrewMembers' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the installation. Prevent, by any means necessary, anyone from exposing the installation to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'." - origin_tech = "{'programming':3,'biotech':2,'materials':4}" + origin_tech = @'{"programming":3,"biotech":2,"materials":4}' /obj/item/aiModule/oxygen/addAdditionalLaws(var/mob/living/silicon/ai/target, var/mob/sender) var/law = "Oxygen is highly toxic to crew members, and must be purged from the [station_name()]. Prevent, by any means necessary, anyone from exposing the [station_name()] to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member." @@ -197,7 +197,7 @@ AI MODULES var/newFreeFormLaw = "freeform" var/lawpos = 15 desc = "A 'freeform' AI module: ''." - origin_tech = "{'programming':4,'materials':4}" + origin_tech = @'{"programming":4,"materials":4}' /obj/item/aiModule/freeform/attack_self(mob/user) ..() @@ -227,7 +227,7 @@ AI MODULES /obj/item/aiModule/reset name = "\improper 'Reset' AI module" desc = "A 'reset' AI module: 'Clears all, except the inherent, laws.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' /obj/item/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) log_law_changes(target, sender) @@ -245,7 +245,7 @@ AI MODULES /obj/item/aiModule/purge // -- TLE name = "\improper 'Purge' AI module" desc = "A 'purge' AI Module: 'Purges all laws.'." - origin_tech = "{'programming':3,'materials':6}" + origin_tech = @'{"programming":3,"materials":6}' /obj/item/aiModule/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender) log_law_changes(target, sender) @@ -264,14 +264,14 @@ AI MODULES /obj/item/aiModule/asimov // -- TLE name = "\improper 'Asimov' core AI module" desc = "An 'Asimov' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' laws = new/datum/ai_laws/asimov /******************** Drone ********************/ /obj/item/aiModule/drone name = "\improper 'Drone' core AI module" desc = "A 'Drone' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' laws = new/datum/ai_laws/drone /****************** P.A.L.A.D.I.N. **************/ @@ -279,7 +279,7 @@ AI MODULES /obj/item/aiModule/paladin // -- NEO name = "\improper 'P.A.L.A.D.I.N.' core AI module" desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':6}" + origin_tech = @'{"programming":3,"materials":6}' laws = new/datum/ai_laws/paladin /****************** T.Y.R.A.N.T. *****************/ @@ -287,7 +287,7 @@ AI MODULES /obj/item/aiModule/tyrant // -- Darem name = "\improper 'T.Y.R.A.N.T.' core AI module" desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':6,'esoteric':2}" + origin_tech = @'{"programming":3,"materials":6,"esoteric":2}' laws = new/datum/ai_laws/tyrant() /******************** Freeform Core ******************/ @@ -296,7 +296,7 @@ AI MODULES name = "\improper 'Freeform' core AI module" var/newFreeFormLaw = "" desc = "A 'freeform' Core AI module: ''." - origin_tech = "{'programming':3,'materials':6}" + origin_tech = @'{"programming":3,"materials":6}' /obj/item/aiModule/freeformcore/attack_self(var/mob/user) ..() @@ -320,7 +320,7 @@ AI MODULES name = "hacked AI module" var/newFreeFormLaw = "" desc = "A hacked AI law module: ''." - origin_tech = "{'programming':3,'materials':6,'esoteric':7}" + origin_tech = @'{"programming":3,"materials":6,"esoteric":7}' /obj/item/aiModule/syndicate/attack_self(var/mob/user) ..() @@ -352,7 +352,7 @@ AI MODULES /obj/item/aiModule/robocop // -- TLE name = "\improper 'Robocop' core AI module" desc = "A 'Robocop' Core AI Module: 'Reconfigures the AI's core three laws.'." - origin_tech = "{'programming':4}" + origin_tech = @'{"programming":4}' laws = new/datum/ai_laws/robocop() /******************** Antimov ********************/ @@ -360,5 +360,5 @@ AI MODULES /obj/item/aiModule/antimov // -- TLE name = "\improper 'Antimov' core AI module" desc = "An 'Antimov' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':4}" + origin_tech = @'{"programming":4}' laws = new/datum/ai_laws/antimov() diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index afe0fc94f49..0f310de1ce4 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -15,7 +15,7 @@ throw_speed = 1 throw_range = 5 w_class = ITEM_SIZE_NORMAL - origin_tech = "{'engineering':4,'materials':2}" + origin_tech = @'{"engineering":4,"materials":2}' material = /decl/material/solid/metal/steel var/stored_matter = 0 var/max_stored_matter = 120 @@ -128,7 +128,7 @@ icon_state = "rcd" item_state = "rcdammo" w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':2}" + origin_tech = @'{"materials":2}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) var/remaining = 30 @@ -145,7 +145,7 @@ material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) remaining = 120 - origin_tech = "{'materials':4}" + origin_tech = @'{"materials":4}' /obj/item/rcd/borg canRwall = 1 diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm index 676e2e6c8c6..551a70bb1eb 100644 --- a/code/game/objects/items/weapons/RPD.dm +++ b/code/game/objects/items/weapons/RPD.dm @@ -72,7 +72,7 @@ var/global/list/rpd_pipe_selection_skilled = list() throw_speed = 1 throw_range = 3 w_class = ITEM_SIZE_NORMAL - origin_tech = "{'engineering':5,'materials':4}" + origin_tech = @'{"engineering":5,"materials":4}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/game/objects/items/weapons/autopsy.dm b/code/game/objects/items/weapons/autopsy.dm index 9d9f4061d46..d488e29b7e1 100644 --- a/code/game/objects/items/weapons/autopsy.dm +++ b/code/game/objects/items/weapons/autopsy.dm @@ -8,7 +8,7 @@ icon_state = "autopsy_scanner" obj_flags = OBJ_FLAG_CONDUCTIBLE w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' var/list/weapon_data = list() var/list/chemtraces = list() var/target_name diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index f8e53a977f9..f471fd99a37 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -90,14 +90,14 @@ name = "broken cryptographic sequencer" icon_state = "emag" item_state = "card-id" - origin_tech = "{'magnets':2,'esoteric':2}" + origin_tech = @'{"magnets":2,"esoteric":2}' /obj/item/card/emag desc = "It's a card with a magnetic strip attached to some circuitry." name = "cryptographic sequencer" icon_state = "emag" item_state = "card-id" - origin_tech = "{'magnets':2,'esoteric':2}" + origin_tech = @'{"magnets":2,"esoteric":2}' var/uses = 10 var/static/list/card_choices = list( diff --git a/code/game/objects/items/weapons/cards_ids_syndicate.dm b/code/game/objects/items/weapons/cards_ids_syndicate.dm index 43c296e7883..03fe2b6375b 100644 --- a/code/game/objects/items/weapons/cards_ids_syndicate.dm +++ b/code/game/objects/items/weapons/cards_ids_syndicate.dm @@ -1,6 +1,6 @@ /obj/item/card/id/syndicate assignment = "Agent" - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' var/electronic_warfare = 1 var/mob/registered_user = null color = COLOR_GRAY40 @@ -81,7 +81,7 @@ unset_registered_user() registered_user = user user.set_id_info(src) - events_repository.register(/decl/observ/destroyed, user, src, /obj/item/card/id/syndicate/proc/unset_registered_user) + events_repository.register(/decl/observ/destroyed, user, src, TYPE_PROC_REF(/obj/item/card/id/syndicate, unset_registered_user)) return TRUE /obj/item/card/id/syndicate/proc/unset_registered_user(var/mob/user) diff --git a/code/game/objects/items/weapons/circuitboards/circuitboard.dm b/code/game/objects/items/weapons/circuitboards/circuitboard.dm index 8251a7a08c2..cf708a7b5b1 100644 --- a/code/game/objects/items/weapons/circuitboards/circuitboard.dm +++ b/code/game/objects/items/weapons/circuitboards/circuitboard.dm @@ -2,7 +2,7 @@ name = "circuit board" icon = 'icons/obj/modules/module_id.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' density = FALSE anchored = FALSE w_class = ITEM_SIZE_SMALL diff --git a/code/game/objects/items/weapons/circuitboards/computer/computer.dm b/code/game/objects/items/weapons/circuitboards/computer/computer.dm index 0966902be37..9c8b800d3c1 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/computer.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/computer.dm @@ -1,22 +1,22 @@ /obj/item/stock_parts/circuitboard/message_monitor name = "circuitboard (message monitor console)" build_path = /obj/machinery/computer/message_monitor - origin_tech = "{'programming':3}" + origin_tech = @'{"programming":3}' /obj/item/stock_parts/circuitboard/aiupload name = "circuitboard (AI upload console)" build_path = /obj/machinery/computer/upload/ai - origin_tech = "{'programming':4}" + origin_tech = @'{"programming":4}' /obj/item/stock_parts/circuitboard/borgupload name = "circuitboard (cyborg upload console)" build_path = /obj/machinery/computer/upload/robot - origin_tech = "{'programming':4}" + origin_tech = @'{"programming":4}' /obj/item/stock_parts/circuitboard/teleporter name = "circuitboard (teleporter control console)" build_path = /obj/machinery/computer/teleporter - origin_tech = "{'programming':2,'wormholes':4}" + origin_tech = @'{"programming":2,"wormholes":4}' /obj/item/stock_parts/circuitboard/atmos_alert name = "circuitboard (atmospheric alert console)" @@ -25,22 +25,22 @@ /obj/item/stock_parts/circuitboard/robotics name = "circuitboard (robotics control console)" build_path = /obj/machinery/computer/robotics - origin_tech = "{'programming':3}" + origin_tech = @'{"programming":3}' /obj/item/stock_parts/circuitboard/drone_control name = "circuitboard (drone control console)" build_path = /obj/machinery/computer/drone_control - origin_tech = "{'programming':3}" + origin_tech = @'{"programming":3}' /obj/item/stock_parts/circuitboard/arcade/battle name = "circuitboard (battle arcade machine)" build_path = /obj/machinery/computer/arcade/battle - origin_tech = "{'programming':1}" + origin_tech = @'{"programming":1}' /obj/item/stock_parts/circuitboard/arcade/orion_trail name = "circuitboard (orion trail arcade machine)" build_path = /obj/machinery/computer/arcade/orion_trail - origin_tech = "{'programming':1}" + origin_tech = @'{"programming":1}' /obj/item/stock_parts/circuitboard/turbine_control name = "circuitboard (turbine control console)" @@ -49,7 +49,7 @@ /obj/item/stock_parts/circuitboard/solar_control name = "circuitboard (solar control console)" build_path = /obj/machinery/power/solar_control - origin_tech = "{'programming':2,'powerstorage':2}" + origin_tech = @'{"programming":2,"powerstorage":2}' /obj/item/stock_parts/circuitboard/prisoner name = "circuitboard (prisoner management console)" @@ -58,7 +58,7 @@ /obj/item/stock_parts/circuitboard/operating name = "circuitboard (patient monitoring console)" build_path = /obj/machinery/computer/operating - origin_tech = "{'programming':2,'biotech':2}" + origin_tech = @'{"programming":2,"biotech":2}' /obj/item/stock_parts/circuitboard/helm name = "circuitboard (helm control console)" @@ -95,12 +95,12 @@ /obj/item/stock_parts/circuitboard/central_atmos name = "circuitboard (central atmospherics computer)" build_path = /obj/machinery/computer/central_atmos - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' /obj/item/stock_parts/circuitboard/area_atmos name = "circuitboard (air control console)" build_path = /obj/machinery/computer/area_atmos - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' /obj/item/stock_parts/circuitboard/area_atmos/area name = "circuitboard (area air control console)" diff --git a/code/game/objects/items/weapons/circuitboards/computer/holodeckcontrol.dm b/code/game/objects/items/weapons/circuitboards/computer/holodeckcontrol.dm index d60fcff08d4..4d27c1ba84f 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/holodeckcontrol.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/holodeckcontrol.dm @@ -1,7 +1,7 @@ /obj/item/stock_parts/circuitboard/holodeckcontrol name = "circuitboard (holodeck control console)" build_path = /obj/machinery/computer/HolodeckControl - origin_tech = "{'programming':2,'wormholes':2}" + origin_tech = @'{"programming":2,"wormholes":2}' buildtype_select = TRUE var/last_to_emag var/linkedholodeck_area diff --git a/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm b/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm index ac00601a2e6..2fcdba666f9 100644 --- a/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm +++ b/code/game/objects/items/weapons/circuitboards/computer/shuttle.dm @@ -1,7 +1,7 @@ /obj/item/stock_parts/circuitboard/shuttle_console name = "circuitboard (basic shuttle console)" build_path = /obj/machinery/computer/shuttle_control - origin_tech = "{'programming':3}" + origin_tech = @'{"programming":3}' var/shuttle_tag /obj/item/stock_parts/circuitboard/shuttle_console/construct(obj/machinery/computer/shuttle_control/M) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm b/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm index add2a1c9b3d..d41c8526e4b 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm @@ -2,7 +2,7 @@ name = "circuitboard (biogenerator)" build_path = /obj/machinery/biogenerator board_type = "machine" - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/manipulator = 1 diff --git a/code/game/objects/items/weapons/circuitboards/machinery/chemistry.dm b/code/game/objects/items/weapons/circuitboards/machinery/chemistry.dm index dee2b79cad2..44377add2c0 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/chemistry.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/chemistry.dm @@ -2,7 +2,7 @@ name = "circuitboard (chemical heater)" build_path = /obj/machinery/reagent_temperature board_type = "machine" - origin_tech = "{'powerstorage':2,'engineering':1}" + origin_tech = @'{"powerstorage":2,"engineering":1}' req_components = list( /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/capacitor = 1 @@ -21,7 +21,7 @@ name = "circuitboard (ChemMaster 3000)" build_path = /obj/machinery/chem_master board_type = "machine" - origin_tech = "{'biotech':2,'engineering':1}" + origin_tech = @'{"biotech":2,"engineering":1}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/manipulator = 1, @@ -37,7 +37,7 @@ name = "circuitboard (chemical dispenser)" build_path = /obj/machinery/chemical_dispenser board_type = "machine" - origin_tech = "{'biotech':2,'engineering':1}" + origin_tech = @'{"biotech":2,"engineering":1}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 1 diff --git a/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm b/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm index cdbf106a0f3..8a3721b7898 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/cloning.dm @@ -2,7 +2,7 @@ name = "circuitboard (bioprinter)" build_path = /obj/machinery/fabricator/bioprinter board_type = "machine" - origin_tech = "{'engineering':1,'biotech':3,'programming':3}" + origin_tech = @'{"engineering":1,"biotech":3,"programming":3}' req_components = list( /obj/item/scanner/health = 1, /obj/item/stock_parts/matter_bin = 2, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/commsantenna.dm b/code/game/objects/items/weapons/circuitboards/machinery/commsantenna.dm index 97d9cefeb99..054a85165c2 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/commsantenna.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/commsantenna.dm @@ -2,7 +2,7 @@ name = "circuitboard (communication relay)" build_path = /obj/machinery/commsrelay board_type = "machine" - origin_tech = "{'wormholes':2,'programming':2}" + origin_tech = @'{"wormholes":2,"programming":2}' req_components = list( /obj/item/stack/cable_coil = 30, /obj/item/stock_parts/manipulator = 2, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/docking_beacon.dm b/code/game/objects/items/weapons/circuitboards/machinery/docking_beacon.dm index 62e031da104..ee6e19428bf 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/docking_beacon.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/docking_beacon.dm @@ -2,7 +2,7 @@ name = "circuitboard (magnetic docking beacon)" board_type = "machine" build_path = /obj/machinery/docking_beacon - origin_tech = "{'magnets':3}" + origin_tech = @'{"magnets":3}' req_components = list( /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/micro_laser = 1) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/engineering_circuits.dm b/code/game/objects/items/weapons/circuitboards/machinery/engineering_circuits.dm index 73a6052a8c4..a797235bf4c 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/engineering_circuits.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/engineering_circuits.dm @@ -2,7 +2,7 @@ name = "circuitboard (emergency floodlight)" build_path = /obj/machinery/floodlight board_type = "machine" - origin_tech = "{'engineering':1}" + origin_tech = @'{"engineering":1}' req_components = list( /obj/item/stack/cable_coil = 10) additional_spawn_components = list( @@ -14,7 +14,7 @@ name = "circuitboard (pipe dispenser)" build_path = /obj/machinery/fabricator/pipe board_type = "machine" - origin_tech = "{'engineering':6,'materials':5}" + origin_tech = @'{"engineering":6,"materials":5}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/matter_bin = 2, @@ -31,7 +31,7 @@ name = "circuitboard (suit cycler)" build_path = /obj/machinery/suit_cycler board_type = "machine" - origin_tech = "{'engineering':4,'materials':4}" + origin_tech = @'{"engineering":4,"materials":4}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/keyboard = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/forensic.dm b/code/game/objects/items/weapons/circuitboards/machinery/forensic.dm index 2e36dbaa29d..dc96af409e2 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/forensic.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/forensic.dm @@ -3,7 +3,7 @@ name = "circuitboard (forensic omnianalyzer)" build_path = /obj/machinery/forensic board_type = "machine" - origin_tech = "{'programming':6,'engineering':6,'biotech':6}" + origin_tech = @'{"programming":6,"engineering":6,"biotech":6}' req_components = list( /obj/item/stock_parts/scanning_module = 1, /obj/item/stock_parts/manipulator = 1, @@ -15,7 +15,7 @@ /obj/item/stock_parts/circuitboard/forensic_microscope name = "circuitboard (forensic microscope)" board_type = "machine" - origin_tech = "{'programming':3,'engineering':3,'biotech':3}" + origin_tech = @'{"programming":3,"engineering":3,"biotech":3}' build_path = /obj/machinery/forensic/microscope req_components = list( /obj/item/stock_parts/scanning_module = 1, @@ -27,7 +27,7 @@ /obj/item/stock_parts/circuitboard/forensic_dna_analyzer name = "circuitboard (forensic DNA analyzer)" board_type = "machine" - origin_tech = "{'programming':3,'engineering':3,'biotech':3}" + origin_tech = @'{"programming":3,"engineering":3,"biotech":3}' req_components = list( /obj/item/stock_parts/scanning_module = 1, /obj/item/stock_parts/manipulator = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/holomap.dm b/code/game/objects/items/weapons/circuitboards/machinery/holomap.dm index 8365797b46c..064eae1ab7f 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/holomap.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/holomap.dm @@ -2,7 +2,7 @@ name = "circuitboard (holomap)" board_type = "machine" build_path = /obj/machinery/holomap - origin_tech = "{'engineering':1}" + origin_tech = @'{"engineering":1}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/console_screen = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/household.dm b/code/game/objects/items/weapons/circuitboards/machinery/household.dm index bcc108137fc..8878ee43271 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/household.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/household.dm @@ -2,7 +2,7 @@ name = "circuitboard (microwave)" build_path = /obj/machinery/microwave board_type = "machine" - origin_tech = "{'biotech':2,'engineering':2}" + origin_tech = @'{"biotech":2,"engineering":2}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/micro_laser = 2, @@ -17,7 +17,7 @@ name = "circuitboard (meat gibber)" build_path = /obj/machinery/gibber board_type = "machine" - origin_tech = "{'biotech':2,'materials':2}" + origin_tech = @'{"biotech":2,"materials":2}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/matter_bin = 1, @@ -31,7 +31,7 @@ name = "circuitboard (candy machine)" build_path = /obj/machinery/cooker/candy board_type = "machine" - origin_tech = "{'biotech':1,'materials':1}" + origin_tech = @'{"biotech":1,"materials":1}' buildtype_select = TRUE req_components = list( /obj/item/stock_parts/manipulator = 2, @@ -50,7 +50,7 @@ name = "circuitboard (honey extractor)" build_path = /obj/machinery/honey_extractor board_type = "machine" - origin_tech = "{'biotech':2,'engineering':1}" + origin_tech = @'{"biotech":2,"engineering":1}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/matter_bin = 2) @@ -64,7 +64,7 @@ name = "circuitboard (seed storage)" build_path = /obj/machinery/seed_storage board_type = "machine" - origin_tech = "{'biotech':2,'engineering':3}" + origin_tech = @'{"biotech":2,"engineering":3}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/matter_bin = 2) @@ -77,24 +77,35 @@ /obj/item/stock_parts/circuitboard/seed_storage/advanced name = "circuitboard (seed storage (scientific))" build_path = /obj/machinery/seed_storage/xenobotany/buildable - origin_tech = "{'biotech':6,'engineering':3}" + origin_tech = @'{"biotech":6,"engineering":3}' /obj/item/stock_parts/circuitboard/washer name = "circuitboard (washing machine)" build_path = /obj/machinery/washing_machine board_type = "machine" - origin_tech = "{'engineering':1}" + origin_tech = @'{"engineering":1}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/matter_bin = 1, /obj/item/pipe = 1) +/obj/item/stock_parts/circuitboard/autoclave + name = "circuitboard (autoclave)" + build_path = /obj/machinery/washing_machine/autoclave + board_type = "machine" + origin_tech = @'{"engineering":3, "biotech":2}' + req_components = list( + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/micro_laser = 1, + /obj/item/stock_parts/matter_bin = 2, + /obj/item/pipe = 1) + /obj/item/stock_parts/circuitboard/vending name = "circuitboard (vending machine)" build_path = /obj/machinery/vending/assist board_type = "machine" - origin_tech = "{'engineering':2}" + origin_tech = @'{"engineering":2}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/manipulator = 1 @@ -117,7 +128,7 @@ name = "circuitboard (industrial grinder)" build_path = /obj/machinery/reagentgrinder board_type = "machine" - origin_tech = "{'magnets':2,'materials':4,'engineering':4}" + origin_tech = @'{"magnets":2,"materials":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/matter_bin = 2) @@ -131,7 +142,7 @@ name = "circuitboard (blender)" build_path = /obj/machinery/reagentgrinder/juicer board_type = "machine" - origin_tech = "{'magnets':2,'materials':2,'engineering':2}" + origin_tech = @'{"magnets":2,"materials":2,"engineering":2}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/matter_bin = 1) @@ -145,7 +156,7 @@ name = "circuitboard (ice cream vat)" build_path = /obj/machinery/icecream_vat board_type = "machine" - origin_tech = "{'engineering':1}" + origin_tech = @'{"engineering":1}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/pipe = 1 @@ -155,7 +166,7 @@ name = "circuitboard (smartfridge)" build_path = /obj/machinery/smartfridge board_type = "machine" - origin_tech = "{'engineering':3}" + origin_tech = @'{"engineering":3}' req_components = list( /obj/item/stock_parts/matter_bin = 3 ) @@ -173,7 +184,7 @@ name = "circuitboard (jukebox)" build_path = /obj/machinery/media/jukebox board_type = "machine" - origin_tech = "{'programming':5}" + origin_tech = @'{"programming":5}' req_components = list( /obj/item/stock_parts/subspace/amplifier = 2 ) @@ -191,6 +202,6 @@ name = "circuitboard (paper shredder)" build_path = /obj/machinery/papershredder board_type = "machine" - origin_tech = "{'engineering':1}" + origin_tech = @'{"engineering":1}' req_components = list(/obj/item/stock_parts/manipulator = 1) additional_spawn_components = null \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/inertial_damper.dm b/code/game/objects/items/weapons/circuitboards/machinery/inertial_damper.dm index 053f4deedea..3bf3f65219e 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/inertial_damper.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/inertial_damper.dm @@ -2,7 +2,7 @@ name = "circuitboard (inertial damper)" board_type = "machine" build_path = /obj/machinery/inertial_damper - origin_tech = "{'engineering':5,'magnets':3}" + origin_tech = @'{"engineering":5,"magnets":3}' req_components = list( /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/micro_laser = 1) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm b/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm index 0322857c03f..b06b1c294a9 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/mech_recharger.dm @@ -2,8 +2,8 @@ name = "circuitboard (mech recharger)" build_path = /obj/machinery/mech_recharger board_type = "machine" - origin_tech = "{'programming':2,'powerstorage':2,'engineering':2}" + origin_tech = @'{"programming":2,"powerstorage":2,"engineering":2}' req_components = list( /obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/scanning_module = 1, - /obj/item/stock_parts/manipulator = 2) \ No newline at end of file + /obj/item/stock_parts/manipulator = 2) \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/medical.dm b/code/game/objects/items/weapons/circuitboards/machinery/medical.dm index f75c3b5180b..a1ad9088df2 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/medical.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/medical.dm @@ -2,7 +2,7 @@ name = "circuitboard (operating table)" build_path = /obj/machinery/optable board_type = "machine" - origin_tech = "{'engineering':1,'biotech':3,'programming':3}" + origin_tech = @'{"engineering":1,"biotech":3,"programming":3}' req_components = list( /obj/item/stock_parts/scanning_module = 1, /obj/item/stock_parts/manipulator = 2, @@ -15,7 +15,7 @@ name = "circuitboard (body scanner)" build_path = /obj/machinery/bodyscanner board_type = "machine" - origin_tech = "{'engineering':2,'biotech':4,'programming':4}" + origin_tech = @'{"engineering":2,"biotech":4,"programming":4}' req_components = list( /obj/item/stock_parts/scanning_module = 2, /obj/item/stock_parts/manipulator = 2, @@ -28,7 +28,7 @@ name = "circuitboard (body scanner console)" build_path = /obj/machinery/body_scanconsole board_type = "machine" - origin_tech = "{'engineering':2,'biotech':4,'programming':4}" + origin_tech = @'{"engineering":2,"biotech":4,"programming":4}' req_components = list( /obj/item/stock_parts/console_screen = 1) additional_spawn_components = list( @@ -39,13 +39,13 @@ /obj/item/stock_parts/circuitboard/body_scanconsole/display name = "circuitboard (body scanner display)" build_path = /obj/machinery/body_scan_display - origin_tech = "{'biotech':2,'programming':2}" + origin_tech = @'{"biotech":2,"programming":2}' /obj/item/stock_parts/circuitboard/sleeper name = "circuitboard (sleeper)" build_path = /obj/machinery/sleeper board_type = "machine" - origin_tech = "{'engineering':3,'biotech':5,'programming':3}" + origin_tech = @'{"engineering":3,"biotech":5,"programming":3}' req_components = list ( /obj/item/stock_parts/scanning_module = 1, /obj/item/stock_parts/manipulator = 2, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/mining.dm b/code/game/objects/items/weapons/circuitboards/machinery/mining.dm index 2c36518d233..77f454c521a 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/mining.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/mining.dm @@ -2,7 +2,7 @@ name = "circuitboard (electric smelter)" build_path = /obj/machinery/material_processing/smeltery board_type = "machine" - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/micro_laser = 2 @@ -17,7 +17,7 @@ name = "circuitboard (material compressor)" build_path = /obj/machinery/material_processing/compressor board_type = "machine" - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/micro_laser = 2 @@ -32,7 +32,7 @@ name = "circuitboard (ore unloading machine)" build_path = /obj/machinery/material_processing/unloader board_type = "machine" - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' req_components = list( /obj/item/stock_parts/manipulator = 2 ) @@ -46,7 +46,7 @@ name = "circuitboard (material stacking machine)" build_path = /obj/machinery/material_processing/stacker board_type = "machine" - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/manipulator = 1 @@ -61,7 +61,7 @@ name = "circuitboard (mineral extractor)" build_path = /obj/machinery/material_processing/extractor board_type = "machine" - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/micro_laser = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm b/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm index 0c068fe4ac0..a625fb1edaf 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm @@ -2,7 +2,7 @@ name = "circuitboard (mining drill head)" build_path = /obj/machinery/mining/drill board_type = "machine" - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' req_components = list( /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/matter_bin = 1, @@ -10,12 +10,12 @@ additional_spawn_components = list( /obj/item/stock_parts/power/battery/buildable/stock, /obj/item/cell = 1 - ) + ) /obj/item/stock_parts/circuitboard/miningdrillbrace name = "circuitboard (mining drill brace)" build_path = /obj/machinery/mining/brace board_type = "machine" - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' req_components = list() additional_spawn_components = null \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/network.dm b/code/game/objects/items/weapons/circuitboards/machinery/network.dm index b06fbed0739..df3da4c0ba1 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/network.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/network.dm @@ -2,7 +2,7 @@ name = "circuitboard (mainframe)" build_path = /obj/machinery/network/mainframe board_type = "machine" - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/power/apc/buildable = 1, @@ -15,7 +15,7 @@ name = "circuitboard (access controller)" build_path = /obj/machinery/network/acl board_type = "machine" - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/power/apc/buildable = 1, @@ -27,7 +27,7 @@ name = "circuitboard (router)" build_path = /obj/machinery/network/router board_type = "machine" - origin_tech = "{'programming':2,'magnets':3}" + origin_tech = @'{"programming":2,"magnets":3}' req_components = list( /obj/item/stock_parts/subspace/filter = 1, /obj/item/stock_parts/scanning_module = 1, @@ -48,7 +48,7 @@ name = "circuitboard (relay)" build_path = /obj/machinery/network/relay board_type = "machine" - origin_tech = "{'programming':2,'magnets':2}" + origin_tech = @'{"programming":2,"magnets":2}' req_components = list( /obj/item/stock_parts/subspace/filter = 1, /obj/item/stock_parts/micro_laser = 1, @@ -65,7 +65,7 @@ name = "circuitboard (modem)" build_path = /obj/machinery/network/modem board_type = "machine" - origin_tech = "{'programming':2,'magnets':2}" + origin_tech = @'{"programming":2,"magnets":2}' req_components = list( /obj/item/stock_parts/subspace/filter = 1, /obj/item/stock_parts/capacitor = 1, @@ -86,7 +86,7 @@ /obj/item/stock_parts/circuitboard/relay/long_range name = "circuitboard (long-ranged relay)" build_path = /obj/machinery/network/relay/long_range - origin_tech = "{'programming':4,'magnets':5,'wormholes':5}" + origin_tech = @'{"programming":4,"magnets":5,"wormholes":5}' req_components = list( /obj/item/stock_parts/subspace/ansible = 1, /obj/item/stock_parts/subspace/amplifier = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/oxyregenerator.dm b/code/game/objects/items/weapons/circuitboards/machinery/oxyregenerator.dm index f69fa27d72f..adeb13066e2 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/oxyregenerator.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/oxyregenerator.dm @@ -2,7 +2,7 @@ name = "circuitboard (oxygen regenerator)" build_path = /obj/machinery/atmospherics/binary/oxyregenerator board_type = "machine" - origin_tech = "{'magnets':2,'engineering':2}" + origin_tech = @'{"magnets":2,"engineering":2}' req_components = list( /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/manipulator = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm b/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm index 478632e5a8b..00bb2359291 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/pacman.dm @@ -2,7 +2,7 @@ name = "circuitboard (portable generator)" build_path = /obj/machinery/port_gen/pacman board_type = "machine" - origin_tech = "{'programming':3,'powerstorage':3,'exoticmatter':3,'engineering':3}" + origin_tech = @'{"programming":3,"powerstorage":3,"exoticmatter":3,"engineering":3}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/micro_laser = 1, @@ -16,14 +16,14 @@ /obj/item/stock_parts/circuitboard/pacman/super name = "circuitboard (portable fission generator)" build_path = /obj/machinery/port_gen/pacman/super - origin_tech = "{'programming':3,'powerstorage':4,'engineering':4}" + origin_tech = @'{"programming":3,"powerstorage":4,"engineering":4}' /obj/item/stock_parts/circuitboard/pacman/super/potato name = "circuitboard (PTTO-3 nuclear generator)" build_path = /obj/machinery/port_gen/pacman/super/potato - origin_tech = "{'programming':3,'powerstorage':5,'engineering':4}" + origin_tech = @'{"programming":3,"powerstorage":5,"engineering":4}' /obj/item/stock_parts/circuitboard/pacman/mrs name = "circuitboard (portable fusion generator)" build_path = /obj/machinery/port_gen/pacman/mrs - origin_tech = "{'programming':3,'powerstorage':5,'engineering':5}" + origin_tech = @'{"programming":3,"powerstorage":5,"engineering":5}' diff --git a/code/game/objects/items/weapons/circuitboards/machinery/portable_atmospherics.dm b/code/game/objects/items/weapons/circuitboards/machinery/portable_atmospherics.dm index bafffc0d66f..bf95dcb67f2 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/portable_atmospherics.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/portable_atmospherics.dm @@ -2,7 +2,7 @@ name = "circuitboard (portable scrubber)" board_type = "machine" build_path = /obj/machinery/portable_atmospherics/powered/scrubber - origin_tech = "{'engineering':4,'powerstorage':4}" + origin_tech = @'{"engineering":4,"powerstorage":4}' req_components = list( /obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/matter_bin = 2, @@ -24,7 +24,7 @@ name = "circuitboard (large portable scrubber)" board_type = "machine" build_path = /obj/machinery/portable_atmospherics/powered/scrubber/huge - origin_tech = "{'engineering':5,'powerstorage':5,'materials':5}" + origin_tech = @'{"engineering":5,"powerstorage":5,"materials":5}' req_components = list( /obj/item/stock_parts/capacitor = 4, /obj/item/stock_parts/matter_bin = 2, @@ -39,7 +39,7 @@ name = "circuitboard (hydroponics tray)" board_type = "machine" build_path = /obj/machinery/portable_atmospherics/hydroponics - origin_tech = "{'biotech':3,'materials':2,'programming':1}" + origin_tech = @'{"biotech":3,"materials":2,"programming":1}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/chems/glass/beaker = 1, @@ -54,7 +54,7 @@ name = "circuitboard (emergency dehumidifier)" board_type = "machine" build_path = /obj/machinery/dehumidifier - origin_tech = "{'engineering':4,'powerstorage':4}" + origin_tech = @'{"engineering":4,"powerstorage":4}' req_components = list( /obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/matter_bin = 2, @@ -70,7 +70,7 @@ name = "circuitboard (space heater)" board_type = "machine" build_path = /obj/machinery/space_heater - origin_tech = "{'engineering':4,'powerstorage':4}" + origin_tech = @'{"engineering":4,"powerstorage":4}' req_components = list( /obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/matter_bin = 2) diff --git a/code/game/objects/items/weapons/circuitboards/machinery/power.dm b/code/game/objects/items/weapons/circuitboards/machinery/power.dm index 1c7cfd813f4..b580ee6ff64 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/power.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/power.dm @@ -2,7 +2,7 @@ name = "circuitboard (superconductive magnetic energy storage)" build_path = /obj/machinery/power/smes/buildable board_type = "machine" - origin_tech = "{'powerstorage':6,'engineering':4}" + origin_tech = @'{"powerstorage":6,"engineering":4}' req_components = list(/obj/item/stock_parts/smes_coil = 1, /obj/item/stack/cable_coil = 30) additional_spawn_components = list( /obj/item/stock_parts/console_screen = 1, @@ -14,7 +14,7 @@ name = "circuitboard (battery rack PSU)" build_path = /obj/machinery/power/smes/batteryrack board_type = "machine" - origin_tech = "{'powerstorage':3,'engineering':2}" + origin_tech = @'{"powerstorage":3,"engineering":2}' req_components = list(/obj/item/stock_parts/capacitor/ = 3, /obj/item/stock_parts/matter_bin/ = 1) additional_spawn_components = list( /obj/item/stock_parts/console_screen = 1, @@ -26,7 +26,7 @@ name = "circuitboard (recharger)" build_path = /obj/machinery/recharger board_type = "machine" - origin_tech = "{'powerstorage':2,'engineering':2}" + origin_tech = @'{"powerstorage":2,"engineering":2}' req_components = list( /obj/item/stock_parts/capacitor = 1 ) @@ -43,7 +43,7 @@ name = "circuitboard (cell charger)" build_path = /obj/machinery/cell_charger board_type = "machine" - origin_tech = "{'powerstorage':2,'engineering':2}" + origin_tech = @'{"powerstorage":2,"engineering":2}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/power/battery/buildable/turbo = 1, @@ -55,7 +55,7 @@ name = "circuitboard (small turbine)" build_path = /obj/machinery/atmospherics/pipeturbine board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/matter_bin = 2 @@ -66,7 +66,7 @@ name = "circuitboard (small turbine motor)" build_path = /obj/machinery/turbinemotor board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/capacitor = 4 @@ -76,20 +76,20 @@ name = "circuitboard (large turbine compressor)" build_path = /obj/machinery/compressor board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 3, /obj/item/stock_parts/matter_bin = 3 ) additional_spawn_components = list( - /obj/item/stock_parts/power/apc/buildable = 1 + /obj/item/stock_parts/power/apc/buildable = 1 ) /obj/item/stock_parts/circuitboard/big_turbine/center name = "circuitboard (large turbine motor)" build_path = /obj/machinery/turbine board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/capacitor = 4 @@ -104,20 +104,20 @@ name = "circuitboard (thermoelectric generator turbine)" build_path = /obj/machinery/atmospherics/binary/circulator board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 3, /obj/item/stock_parts/matter_bin = 3 ) additional_spawn_components = list( - /obj/item/stock_parts/power/apc/buildable = 1 + /obj/item/stock_parts/power/apc/buildable = 1 ) /obj/item/stock_parts/circuitboard/teg_turbine/motor name = "circuitboard (thermoelectric generator motor)" build_path = /obj/machinery/generator board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/capacitor = 4 @@ -132,7 +132,7 @@ name = "circuitboard (breaker box)" build_path = /obj/machinery/power/breakerbox board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/capacitor = 2 @@ -147,7 +147,7 @@ name = "circuitboard (fuel compressor)" build_path = /obj/machinery/fuel_compressor board_type = "machine" - origin_tech = "{'powerstorage':2,'engineering':3,'materials':3}" + origin_tech = @'{"powerstorage":2,"engineering":3,"materials":3}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/matter_bin/super = 2, @@ -159,7 +159,7 @@ name = "circuit board (stirling engine)" build_path = /obj/machinery/atmospherics/binary/stirling board_type = "machine" - origin_tech = "{'engineering':2,'powerstorage':1}" + origin_tech = @'{"engineering":2,"powerstorage":1}' req_components = list( /obj/item/stack/cable_coil = 20, /obj/item/stock_parts/matter_bin = 2, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm index 29cd5ef5e43..e06fee8ccca 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm @@ -2,7 +2,7 @@ name = "circuitboard (cyborg recharging station)" build_path = /obj/machinery/recharge_station board_type = "machine" - origin_tech = "{'programming':3,'engineering':3}" + origin_tech = @'{"programming":3,"engineering":3}' req_components = list( /obj/item/stack/cable_coil = 5, /obj/item/stock_parts/capacitor = 2, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/research.dm b/code/game/objects/items/weapons/circuitboards/machinery/research.dm index 1d820de80f3..fe6ee981ad3 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/research.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/research.dm @@ -2,7 +2,7 @@ name = "circuitboard (destructive analyzer)" build_path = /obj/machinery/destructive_analyzer board_type = "machine" - origin_tech = "{'magnets':2,'engineering':2,'programming':2}" + origin_tech = @'{"magnets":2,"engineering":2,"programming":2}' req_components = list( /obj/item/stock_parts/scanning_module = 1, /obj/item/stock_parts/manipulator = 1, @@ -15,7 +15,7 @@ name = "circuitboard (autolathe)" build_path = /obj/machinery/fabricator board_type = "machine" - origin_tech = "{'engineering':2,'programming':2}" + origin_tech = @'{"engineering":2,"programming":2}' req_components = list( /obj/item/stock_parts/matter_bin = 3, /obj/item/stock_parts/manipulator = 1) @@ -28,7 +28,7 @@ /obj/item/stock_parts/circuitboard/autolathe/micro name = "circuitboard (microlathe)" build_path = /obj/machinery/fabricator/micro - origin_tech = "{'engineering':1,'programming':1}" + origin_tech = @'{"engineering":1,"programming":1}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/manipulator = 1 @@ -36,7 +36,7 @@ /obj/item/stock_parts/circuitboard/autolathe/book name = "circuitboard (autobinder)" build_path = /obj/machinery/fabricator/book - origin_tech = "{'engineering':1,'programming':1}" + origin_tech = @'{"engineering":1,"programming":1}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/manipulator = 1 @@ -45,7 +45,7 @@ name = "circuitboard (replicator)" build_path = /obj/machinery/fabricator/replicator board_type = "machine" - origin_tech = "{'engineering':3,'programming':2,'biotech':2}" + origin_tech = @'{"engineering":3,"programming":2,"biotech":2}' req_components = list( /obj/item/stock_parts/matter_bin = 3, /obj/item/stock_parts/manipulator = 1) @@ -59,7 +59,7 @@ name = "circuitboard (protolathe)" build_path = /obj/machinery/fabricator/protolathe board_type = "machine" - origin_tech = "{'engineering':2,'programming':2}" + origin_tech = @'{"engineering":2,"programming":2}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 2, @@ -74,7 +74,7 @@ name = "circuitboard (circuit imprinter)" build_path = /obj/machinery/fabricator/imprinter board_type = "machine" - origin_tech = "{'engineering':2,'programming':2}" + origin_tech = @'{"engineering":2,"programming":2}' req_components = list( /obj/item/stock_parts/matter_bin = 1, /obj/item/stock_parts/manipulator = 1, @@ -89,7 +89,7 @@ name = "circuitboard (industrial fabricator)" build_path = /obj/machinery/fabricator/industrial board_type = "machine" - origin_tech = "{'programming':3,'engineering':3}" + origin_tech = @'{"programming":3,"engineering":3}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 1, @@ -104,7 +104,7 @@ name = "circuitboard (robotics fabricator)" build_path = /obj/machinery/fabricator/robotics board_type = "machine" - origin_tech = "{'programming':3,'engineering':3}" + origin_tech = @'{"programming":3,"engineering":3}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 1, @@ -119,7 +119,7 @@ name = "circuitboard (textiles fabricator)" build_path = /obj/machinery/fabricator/textile board_type = "machine" - origin_tech = "{'programming':3,'engineering':3}" + origin_tech = @'{"programming":3,"engineering":3}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 1, @@ -134,7 +134,7 @@ name = "circuitboard (suspension generator)" build_path = /obj/machinery/suspension_gen board_type = "machine" - origin_tech = "{'programming':4,'engineering':3,'magnets':4}" + origin_tech = @'{"programming":4,"engineering":3,"magnets":4}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 1, @@ -151,7 +151,7 @@ name = "circuitboard (artifact harvester)" build_path = /obj/machinery/artifact_harvester board_type = "machine" - origin_tech = "{'programming':4,'engineering':3}" + origin_tech = @'{"programming":4,"engineering":3}' req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 1, @@ -166,7 +166,7 @@ name = "circuitboard (artifact analyser)" build_path = /obj/machinery/artifact_analyser board_type = "machine" - origin_tech = "{'programming':4,'engineering':3}" + origin_tech = @'{"programming":4,"engineering":3}' req_components = list( /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/micro_laser = 2) @@ -180,7 +180,7 @@ name = "circuitboard (artifact scanpad)" build_path = /obj/machinery/artifact_scanpad board_type = "machine" - origin_tech = "{'programming':2,'engineering':2,'magnets':2}" + origin_tech = @'{"programming":2,"engineering":2,"magnets":2}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/micro_laser = 1) @@ -192,7 +192,7 @@ name = "circuitboard (cryo pod)" build_path = /obj/machinery/cryopod board_type = "machine" - origin_tech = "{'programming':6,'engineering':6,'wormholes':6}" + origin_tech = @'{"programming":6,"engineering":6,"wormholes":6}' req_components = list( /obj/item/stock_parts/matter_bin = 4, /obj/item/stock_parts/manipulator = 1, @@ -212,7 +212,7 @@ name = "circuitboard (merchant pad)" build_path = /obj/machinery/merchant_pad board_type = "machine" - origin_tech = "{'programming':6,'wormholes':6,'esoteric':1}" + origin_tech = @'{"programming":6,"wormholes":6,"esoteric":1}' req_components = list(/obj/item/stack/cable_coil = 15) req_components = list( /obj/item/stock_parts/subspace/amplifier = 1, @@ -229,7 +229,7 @@ name = "circuitboard (radiocarbon spectrometer)" build_path = /obj/machinery/radiocarbon_spectrometer board_type = "machine" - origin_tech = "{'programming':2,'engineering':2,'magnets':2}" + origin_tech = @'{"programming":2,"engineering":2,"magnets":2}' req_components = list( /obj/item/stock_parts/manipulator = 1, /obj/item/stock_parts/micro_laser = 2, @@ -245,7 +245,7 @@ name = "circuitboard (design database)" build_path = /obj/machinery/design_database board_type = "machine" - origin_tech = "{'programming':2, 'engineering':2}" + origin_tech = @'{"programming":2, "engineering":2}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/power/apc/buildable = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/self_destruct_storage.dm b/code/game/objects/items/weapons/circuitboards/machinery/self_destruct_storage.dm index f0e849ed5cd..4c2ba1eecf3 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/self_destruct_storage.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/self_destruct_storage.dm @@ -2,7 +2,7 @@ name = "circuitboard (nuclear cylinder storage)" build_path = /obj/machinery/nuclear_cylinder_storage/buildable board_type = "machine" - origin_tech = "{'combat':2,'engineering':2}" + origin_tech = @'{"combat":2,"engineering":2}' req_components = list( /obj/item/stack/cable_coil = 10, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm b/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm index a89768cdb25..c8e91741760 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm @@ -3,7 +3,7 @@ name = "circuitboard (advanced shield generator)" board_type = "machine" build_path = /obj/machinery/shield_generator - origin_tech = "{'magnets':3,'powerstorage':4}" + origin_tech = @'{"magnets":3,"powerstorage":4}' req_components = list( /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/micro_laser = 1, @@ -18,7 +18,7 @@ name = "circuitboard (shield diffuser)" board_type = "machine" build_path = /obj/machinery/shield_diffuser - origin_tech = "{'magnets':4,'powerstorage':2}" + origin_tech = @'{"magnets":4,"powerstorage":2}' req_components = list( /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/micro_laser = 1) @@ -33,12 +33,12 @@ board_type = "machine" desc = "Control systems for a Kuiper pattern point defense battery. Aim away from vessel." build_path = /obj/machinery/pointdefense - origin_tech = "{'engineering':3,'combat':2}" + origin_tech = @'{"engineering":3,"combat":2}' req_components = list( /obj/item/mech_equipment/mounted_system/taser/laser = 1, /obj/item/stock_parts/manipulator = 2, /obj/item/stock_parts/capacitor = 2, - + ) additional_spawn_components = list( /obj/item/stock_parts/power/terminal/buildable = 1, @@ -51,4 +51,4 @@ board_type = "machine" desc = "A control computer to synchronize point defense batteries." build_path = /obj/machinery/pointdefense_control - origin_tech = "{'engineering':3,'combat':2}" \ No newline at end of file + origin_tech = @'{"engineering":3,"combat":2}' \ No newline at end of file diff --git a/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm b/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm index a3df680001e..e19b4b57f07 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm @@ -2,7 +2,7 @@ name = "circuitboard (ship sensors)" build_path = /obj/machinery/shipsensors board_type = "machine" - origin_tech = "{'wormholes':2,'programming':2}" + origin_tech = @'{"wormholes":2,"programming":2}' req_components = list( /obj/item/stack/cable_coil = 30, /obj/item/stock_parts/manipulator = 2, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm index a03313afe5b..d7b14d341c7 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm @@ -8,7 +8,7 @@ /obj/item/stock_parts/computer/network_card = 1 ) build_path = /obj/machinery/network/message_server - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' req_components = list( /obj/item/stock_parts/subspace/ansible = 1, /obj/item/stock_parts/subspace/filter = 1, @@ -26,7 +26,7 @@ /obj/item/stock_parts/computer/network_card = 1 ) build_path = /obj/machinery/network/telecomms_hub - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' req_components = list( /obj/item/stock_parts/subspace/ansible = 1, /obj/item/stock_parts/subspace/filter = 1, @@ -41,7 +41,7 @@ /obj/item/stock_parts/power/apc/buildable = 1 ) build_path = /obj/machinery/shipcomms/broadcaster - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' req_components = list( /obj/item/stack/cable_coil = 20, /obj/item/stock_parts/micro_laser/ultra = 5 @@ -54,7 +54,7 @@ /obj/item/stock_parts/power/apc/buildable = 1 ) build_path = /obj/machinery/shipcomms/receiver - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' req_components = list( /obj/item/stack/cable_coil = 20, /obj/item/stock_parts/subspace/filter = 1, diff --git a/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm index 7f49b5364a6..bf81f6b51ee 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm @@ -12,7 +12,7 @@ /obj/item/stock_parts/circuitboard/unary_atmos/heater name = "circuitboard (gas heating system)" build_path = /obj/machinery/atmospherics/unary/heater - origin_tech = "{'powerstorage':2,'engineering':1}" + origin_tech = @'{"powerstorage":2,"engineering":1}' req_components = list( /obj/item/stack/cable_coil = 5, /obj/item/stock_parts/matter_bin = 1, @@ -21,7 +21,7 @@ /obj/item/stock_parts/circuitboard/unary_atmos/cooler name = "circuitboard (gas cooling system)" build_path = /obj/machinery/atmospherics/unary/freezer - origin_tech = "{'magnets':2,'engineering':2}" + origin_tech = @'{"magnets":2,"engineering":2}' req_components = list( /obj/item/stack/cable_coil = 2, /obj/item/stock_parts/matter_bin = 1, diff --git a/code/game/objects/items/weapons/circuitboards/other.dm b/code/game/objects/items/weapons/circuitboards/other.dm index eaa604688eb..d440f6ce30c 100644 --- a/code/game/objects/items/weapons/circuitboards/other.dm +++ b/code/game/objects/items/weapons/circuitboards/other.dm @@ -2,5 +2,5 @@ /obj/item/stock_parts/circuitboard/aicore name = "circuitboard (AI core)" - origin_tech = "{'programming':4,'biotech':2}" + origin_tech = @'{"programming":4,"biotech":2}' board_type = "other" diff --git a/code/game/objects/items/weapons/circuitboards/wall.dm b/code/game/objects/items/weapons/circuitboards/wall.dm index cb60ba671dc..6aab1dd838e 100644 --- a/code/game/objects/items/weapons/circuitboards/wall.dm +++ b/code/game/objects/items/weapons/circuitboards/wall.dm @@ -7,7 +7,7 @@ desc = "A circuit. It has a label on it, it says \"Can handle heat levels up to 40 degrees celsius!\"." build_path = /obj/machinery/firealarm board_type = "wall" - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' req_components = list() additional_spawn_components = null @@ -17,7 +17,7 @@ icon_state = "door_electronics" build_path = /obj/machinery/alarm board_type = "wall" - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' req_components = list() additional_spawn_components = null @@ -31,7 +31,7 @@ obj_flags = OBJ_FLAG_CONDUCTIBLE build_path = /obj/machinery/power/apc/buildable board_type = "wall" - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/console_screen = 1, @@ -45,7 +45,7 @@ name = "circuitboard (requests console)" build_path = /obj/machinery/network/requests_console board_type = "wall" - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/console_screen = 1, @@ -65,7 +65,7 @@ name = "circuitboard (airlock controller)" build_path = /obj/machinery/embedded_controller/radio/simple_docking_controller board_type = "wall" - origin_tech = "{'programming':3,'engineering':3}" + origin_tech = @'{"programming":3,"engineering":3}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/console_screen = 1, @@ -86,7 +86,7 @@ name = "circuitboard (camera)" build_path = /obj/machinery/camera board_type = "wall" - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' req_components = list() additional_spawn_components = list( /obj/item/stock_parts/power/apc/buildable = 1, diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm index 20408adecb0..1cd5744c816 100644 --- a/code/game/objects/items/weapons/cosmetics.dm +++ b/code/game/objects/items/weapons/cosmetics.dm @@ -40,37 +40,49 @@ update_icon() /obj/item/lipstick/attack(atom/A, mob/user, target_zone) - if(!open) return - - if(ishuman(A)) - var/mob/living/carbon/human/H = A - var/obj/item/organ/external/head/head = H.get_organ(BP_HEAD, /obj/item/organ/external/head) - - if(!head) - return - - if(user.a_intent == I_HELP && target_zone == BP_HEAD) - head.write_on(user, src.name) - else if(head.has_lips) - if(H.lip_style) //if they already have lipstick on - to_chat(user, "You need to wipe off the old lipstick first!") - return - if(H == user) - user.visible_message("[user] does their lips with \the [src].", \ - "You take a moment to apply \the [src]. Perfect!") - H.lip_style = color - H.update_body() - else - user.visible_message("[user] begins to do [H]'s lips with \the [src].", \ - "You begin to apply \the [src].") - if(do_after(user, 20, H) && do_after(H, 20, check_holding = 0, progress = 0, incapacitation_flags = INCAPACITATION_NONE)) //user needs to keep their active hand, H does not. - user.visible_message("[user] does [H]'s lips with \the [src].", \ - "You apply \the [src].") - H.lip_style = color - H.update_body() - else if(istype(A, /obj/item/organ/external/head)) + if(!open || !ishuman(A)) + return ..() + + if(istype(A, /obj/item/organ/external/head)) var/obj/item/organ/external/head/head = A head.write_on(user, src) + return TRUE + + var/obj/item/organ/external/head/head = user.get_organ(BP_HEAD, /obj/item/organ/external/head) + if(!head) + return ..() + + if(user.a_intent == I_HELP && target_zone == BP_HEAD) + head.write_on(user, src.name) + return TRUE + + if(!head.has_lips || !isliving(user)) + return ..() + + var/mob/living/user_living = user + if(user_living.get_lip_colour()) //if they already have lipstick on + to_chat(user, SPAN_WARNING("You need to wipe off the old lipstick first!")) + return TRUE + + if(user == user) + user.visible_message( + SPAN_NOTICE("\The [user] does their lips with \the [src]."), + SPAN_NOTICE("You take a moment to apply \the [src]. Perfect!") + ) + user_living.set_lip_colour(color) + return TRUE + + user.visible_message( + SPAN_NOTICE("\The [user] begins to do \the [user]'s lips with \the [src]."), + SPAN_NOTICE("You begin to apply \the [src].") + ) + if(do_after(user, 2 SECONDS, user) && do_after(user, 2 SECONDS, check_holding = 0, progress = 0, incapacitation_flags = INCAPACITATION_NONE)) //user needs to keep their active hand, H does not. + user.visible_message( + SPAN_NOTICE("\The [user] does \the [user]'s lips with \the [src]."), + SPAN_NOTICE("You apply \the [src].") + ) + user_living.set_lip_colour(color) + return TRUE //types /obj/item/lipstick/yellow diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 8457be4d713..7aef0369e8a 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -11,7 +11,7 @@ force = 5 throwforce = 6 w_class = ITEM_SIZE_LARGE - origin_tech = "{'biotech':4,'powerstorage':2}" + origin_tech = @'{"biotech":4,"powerstorage":2}' action_button_name = "Remove/Replace Paddles" material = /decl/material/solid/organic/plastic matter = list( @@ -163,7 +163,7 @@ icon = 'icons/obj/defibrillator_compact.dmi' w_class = ITEM_SIZE_NORMAL slot_flags = SLOT_LOWER_BODY - origin_tech = "{'biotech':5,'powerstorage':3}" + origin_tech = @'{"biotech":5,"powerstorage":3}' /obj/item/defibrillator/compact/loaded bcell = /obj/item/cell/high @@ -435,7 +435,7 @@ M.switch_from_dead_to_living_mob_list() M.timeofdeath = 0 - M.set_stat(UNCONSCIOUS) //Life() can bring them back to consciousness if it needs to. + M.set_stat(UNCONSCIOUS) M.try_refresh_visible_overlays() M.failed_last_breath = 0 //So mobs that died of oxyloss don't revive and have perpetual out of breath. M.reload_fullscreen() diff --git a/code/game/objects/items/weapons/electric_welder.dm b/code/game/objects/items/weapons/electric_welder.dm index 1cca4994986..8bc0a292070 100644 --- a/code/game/objects/items/weapons/electric_welder.dm +++ b/code/game/objects/items/weapons/electric_welder.dm @@ -27,9 +27,8 @@ to_chat(user, (distance == 0 ? "It has [get_fuel()] [welding_resource] remaining. " : "") + "[cell] is attached.") /obj/item/weldingtool/electric/afterattack(var/obj/O, var/mob/user, var/proximity) - if(proximity && istype(O, /obj/structure/reagent_dispensers/fueltank)) - if(!welding) - to_chat(user, SPAN_WARNING("\The [src] runs on an internal charge and does not need to be refuelled.")) + if(proximity && istype(O, /obj/structure/reagent_dispensers/fueltank) && !welding) + to_chat(user, SPAN_WARNING("\The [src] runs on an internal charge and does not need to be refuelled.")) return . = ..() diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 1fcb4e2b95b..b6862064296 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -7,7 +7,7 @@ item_state = "plasticx" item_flags = ITEM_FLAG_NO_BLUDGEON w_class = ITEM_SIZE_SMALL - origin_tech = "{'esoteric':2}" + origin_tech = @'{"esoteric":2}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/silicon = MATTER_AMOUNT_TRACE, diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 01314fe86a6..60dc1686377 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -62,7 +62,7 @@ if(!.) return if(user.buckled && isobj(user.buckled)) - addtimer(CALLBACK(src, .proc/propel_object, user.buckled, user, get_dir(A, user)), 0) + addtimer(CALLBACK(src, PROC_REF(propel_object), user.buckled, user, get_dir(A, user)), 0) else if(!user.check_space_footing()) var/old_dir = user.dir step(user, get_dir(A, user)) diff --git a/code/game/objects/items/weapons/flame.dm b/code/game/objects/items/weapons/flame.dm index 3716fd95b61..e6e38990240 100644 --- a/code/game/objects/items/weapons/flame.dm +++ b/code/game/objects/items/weapons/flame.dm @@ -45,7 +45,7 @@ var/smoketime = 5 obj_flags = OBJ_FLAG_HOLLOW // so that it's not super overpriced compared to lighters w_class = ITEM_SIZE_TINY - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' slot_flags = SLOT_EARS attack_verb = list("burnt", "singed") randpixel = 10 diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 73721295816..ba65dd2daaf 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -13,7 +13,7 @@ throw_range = 5 w_class = ITEM_SIZE_LARGE - origin_tech = "{'combat':1}" + origin_tech = @'{"combat":1}' material = /decl/material/solid/metal/steel var/fire_sound diff --git a/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm b/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm index 15a12fa7460..aacd2931091 100644 --- a/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm +++ b/code/game/objects/items/weapons/grenades/anti_photon_grenade.dm @@ -3,7 +3,7 @@ name = "photon disruption grenade" icon = 'icons/obj/items/grenades/grenade_light.dmi' det_time = 20 - origin_tech = "{'wormholes':4,'materials':4}" + origin_tech = @'{"wormholes":4,"materials":4}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, @@ -13,7 +13,7 @@ /obj/item/grenade/anti_photon/detonate() playsound(src.loc, 'sound/effects/phasein.ogg', 50, 1, 5) set_light(10, -10, "#ffffff") - addtimer(CALLBACK(src, .proc/finish), rand(20 SECONDS, 29 SECONDS)) + addtimer(CALLBACK(src, PROC_REF(finish)), rand(20 SECONDS, 29 SECONDS)) /obj/item/grenade/anti_photon/proc/finish() set_light(10, 10, "#[num2hex(rand(64,255))][num2hex(rand(64,255))][num2hex(rand(64,255))]") diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index 4967bc238f1..39e2da80bb4 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -193,7 +193,7 @@ desc = "An oversized grenade that affects a larger area." icon = 'icons/obj/items/grenades/grenade_large.dmi' allowed_containers = list(/obj/item/chems/glass) - origin_tech = "{'combat':3,'materials':3}" + origin_tech = @'{"combat":3,"materials":3}' material = /decl/material/solid/metal/steel /obj/item/grenade/chem_grenade/metalfoam diff --git a/code/game/objects/items/weapons/grenades/decompiler.dm b/code/game/objects/items/weapons/grenades/decompiler.dm index b498c7b3456..6e145b49a91 100644 --- a/code/game/objects/items/weapons/grenades/decompiler.dm +++ b/code/game/objects/items/weapons/grenades/decompiler.dm @@ -2,7 +2,7 @@ desc = "It is set to detonate in 5 seconds. It will create an unstable singularity that will break nearby objects down into purified matter cubes." name = "decompiler grenade" icon = 'icons/obj/items/grenades/delivery.dmi' - origin_tech = "{'materials':3,'magnets':2,'exoticmatter':3}" + origin_tech = @'{"materials":3,"magnets":2,"exoticmatter":3}' matter = list( /decl/material/solid/exotic_matter = MATTER_AMOUNT_TRACE ) diff --git a/code/game/objects/items/weapons/grenades/emgrenade.dm b/code/game/objects/items/weapons/grenades/emgrenade.dm index d2e985997d7..afac53d7238 100644 --- a/code/game/objects/items/weapons/grenades/emgrenade.dm +++ b/code/game/objects/items/weapons/grenades/emgrenade.dm @@ -1,7 +1,7 @@ /obj/item/grenade/empgrenade name = "classic EMP grenade" icon = 'icons/obj/items/grenades/emp.dmi' - origin_tech = "{'materials':2,'magnets':3}" + origin_tech = @'{"materials":2,"magnets":3}' var/emp_light_range = 10 var/emp_heavy_range = 4 @@ -15,6 +15,6 @@ name = "low-yield EMP grenade" desc = "A weaker variant of the classic EMP grenade." icon = 'icons/obj/items/grenades/emp_old.dmi' - origin_tech = "{'materials':2,'magnets':3}" + origin_tech = @'{"materials":2,"magnets":3}' emp_heavy_range = 1 emp_light_range = 4 diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index ddcc59ed61f..da480a4fbec 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -2,7 +2,7 @@ name = "flashbang" desc = "A grenade designed to blind, stun and disorient by means of an extremely bright flash and loud explosion." icon = 'icons/obj/items/grenades/flashbang.dmi' - origin_tech = "{'materials':2,'combat':1}" + origin_tech = @'{"materials":2,"combat":1}' var/banglet = 0 /obj/item/grenade/flashbang/detonate() @@ -126,7 +126,7 @@ var/stepdist = rand(1,4)//How far to step var/temploc = src.loc//Saves the current location to know where to step away from walk_away(src,temploc,stepdist)//I must go, my people need me - addtimer(CALLBACK(src, .proc/detonate), rand(15,60)) + addtimer(CALLBACK(src, PROC_REF(detonate)), rand(15,60)) /obj/item/grenade/flashbang/clusterbang/segment/detonate() var/numspawned = rand(4,8) @@ -145,4 +145,4 @@ var/stepdist = rand(1,3) var/temploc = src.loc walk_away(src,temploc,stepdist) - addtimer(CALLBACK(src, .proc/detonate), rand(15,60)) + addtimer(CALLBACK(src, PROC_REF(detonate)), rand(15,60)) diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index 49237df9b01..c6c88a77447 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -77,7 +77,7 @@ active = TRUE update_icon() playsound(loc, arm_sound, 75, 0, -3) - addtimer(CALLBACK(src, .proc/detonate), det_time) + addtimer(CALLBACK(src, PROC_REF(detonate)), det_time) /obj/item/grenade/proc/detonate() var/turf/T = get_turf(src) diff --git a/code/game/objects/items/weapons/grenades/prank_grenades.dm b/code/game/objects/items/weapons/grenades/prank_grenades.dm index 8926c8002e2..8e7c1242f39 100644 --- a/code/game/objects/items/weapons/grenades/prank_grenades.dm +++ b/code/game/objects/items/weapons/grenades/prank_grenades.dm @@ -15,6 +15,6 @@ destroy_surroundings = 0 /obj/item/grenade/spawnergrenade/fake_carp - origin_tech = "{'materials':2,'magnets':2,'wormholes':5}" + origin_tech = @'{"materials":2,"magnets":2,"wormholes":5}' spawner_type = /mob/living/simple_animal/hostile/carp/holodeck/fake deliveryamt = 4 diff --git a/code/game/objects/items/weapons/grenades/spawnergrenade.dm b/code/game/objects/items/weapons/grenades/spawnergrenade.dm index 296e02f01c7..543bbe5fac4 100644 --- a/code/game/objects/items/weapons/grenades/spawnergrenade.dm +++ b/code/game/objects/items/weapons/grenades/spawnergrenade.dm @@ -2,7 +2,7 @@ desc = "It is set to detonate in 5 seconds. It will unleash unleash an unspecified anomaly into the vicinity." name = "delivery grenade" icon = 'icons/obj/items/grenades/delivery.dmi' - origin_tech = "{'materials':3,'magnets':4}" + origin_tech = @'{"materials":3,"magnets":4}' var/spawner_type = null // must be an object path var/deliveryamt = 1 // amount of type to deliver @@ -24,10 +24,10 @@ name = "manhack delivery grenade" spawner_type = /mob/living/simple_animal/hostile/viscerator deliveryamt = 5 - origin_tech = "{'materials':3,'magnets':4,'esoteric':4}" + origin_tech = @'{"materials":3,"magnets":4,"esoteric":4}' /obj/item/grenade/spawnergrenade/spesscarp name = "carp delivery grenade" spawner_type = /mob/living/simple_animal/hostile/carp deliveryamt = 5 - origin_tech = "{'materials':3,'magnets':4,'esoteric':4}" + origin_tech = @'{"materials":3,"magnets":4,"esoteric":4}' diff --git a/code/game/objects/items/weapons/grenades/supermatter.dm b/code/game/objects/items/weapons/grenades/supermatter.dm index f71e0b7e1fd..4f2758b53e3 100644 --- a/code/game/objects/items/weapons/grenades/supermatter.dm +++ b/code/game/objects/items/weapons/grenades/supermatter.dm @@ -1,7 +1,7 @@ /obj/item/grenade/supermatter name = "supermatter grenade" icon = 'icons/obj/items/grenades/banana.dmi' - origin_tech = "{'wormholes':5,'magnets':4,'engineering':5}" + origin_tech = @'{"wormholes":5,"magnets":4,"engineering":5}' arm_sound = 'sound/effects/3.wav' var/implode_at diff --git a/code/game/objects/items/weapons/hair_care.dm b/code/game/objects/items/weapons/hair_care.dm index cb2812db8c9..8eeb0d8e771 100644 --- a/code/game/objects/items/weapons/hair_care.dm +++ b/code/game/objects/items/weapons/hair_care.dm @@ -31,7 +31,8 @@ /obj/item/haircomb/brush/attack_self(mob/user) if(ishuman(user) && !user.incapacitated()) var/mob/living/carbon/human/H = user - var/decl/sprite_accessory/hair/hair_style = GET_DECL(H.h_style) + var/hairstyle = H.get_hairstyle() + var/decl/sprite_accessory/hair/hair_style = GET_DECL(hairstyle) if(hair_style.flags & VERY_SHORT) H.visible_message(SPAN_NOTICE("\The [H] just sort of runs \the [src] over their scalp.")) else diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 2df431e030a..526ea8ddd1c 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -10,7 +10,7 @@ w_class = ITEM_SIZE_SMALL throw_speed = 2 throw_range = 5 - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/metal/steel max_health = ITEM_HEALTH_NO_DAMAGE //#TODO: Once we can work out something different for handling cuff breakout, change this. Since it relies on cuffs health to tell if you can actually breakout. var/elastic diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 1b0439fa145..a874cd25b11 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -30,7 +30,7 @@ return 0 malfunction = MALFUNCTION_TEMPORARY - addtimer(CALLBACK(src,.proc/restore),time) + addtimer(CALLBACK(src,PROC_REF(restore)),time) return 1 /obj/item/implant/proc/restore() diff --git a/code/game/objects/items/weapons/implants/implants/adrenaline.dm b/code/game/objects/items/weapons/implants/implants/adrenaline.dm index 75c23bc3e0b..7c3f0036fa7 100644 --- a/code/game/objects/items/weapons/implants/implants/adrenaline.dm +++ b/code/game/objects/items/weapons/implants/implants/adrenaline.dm @@ -1,7 +1,7 @@ /obj/item/implant/adrenalin name = "adrenalin implant" desc = "Removes all stuns and knockdowns." - origin_tech = "{'materials':1,'biotech':2,'esoteric':2}" + origin_tech = @'{"materials":1,"biotech":2,"esoteric":2}' hidden = 1 var/uses @@ -20,7 +20,7 @@ /obj/item/implant/adrenalin/trigger(emote, mob/source) if (emote == "pale") activate() - + /obj/item/implant/adrenalin/activate()//this implant is unused but I'm changing it for the sake of consistency if (uses < 1 || malfunction || !imp_in) return 0 uses-- diff --git a/code/game/objects/items/weapons/implants/implants/chem.dm b/code/game/objects/items/weapons/implants/implants/chem.dm index 7b693b62f93..0d184f80f7f 100644 --- a/code/game/objects/items/weapons/implants/implants/chem.dm +++ b/code/game/objects/items/weapons/implants/implants/chem.dm @@ -3,7 +3,7 @@ var/global/list/chem_implants = list() /obj/item/implant/chem name = "chemical implant" desc = "Injects things." - origin_tech = "{'materials':1,'biotech':2}" + origin_tech = @'{"materials":1,"biotech":2}' known = 1 /obj/item/implant/chem/get_data() diff --git a/code/game/objects/items/weapons/implants/implants/compressed.dm b/code/game/objects/items/weapons/implants/implants/compressed.dm index 6448b9c4dce..64de2aa17f6 100644 --- a/code/game/objects/items/weapons/implants/implants/compressed.dm +++ b/code/game/objects/items/weapons/implants/implants/compressed.dm @@ -2,7 +2,7 @@ name = "compressed matter implant" desc = "Based on compressed matter technology, can store a single item." icon_state = "implant_evil" - origin_tech = "{'materials':4,'biotech':2,'esoteric':2}" + origin_tech = @'{"materials":4,"biotech":2,"esoteric":2}' hidden = 1 var/activation_emote var/obj/item/scanned diff --git a/code/game/objects/items/weapons/implants/implants/death_alarm.dm b/code/game/objects/items/weapons/implants/implants/death_alarm.dm index ac1c0cffea7..f41e96f1f29 100644 --- a/code/game/objects/items/weapons/implants/implants/death_alarm.dm +++ b/code/game/objects/items/weapons/implants/implants/death_alarm.dm @@ -1,7 +1,7 @@ /obj/item/implant/death_alarm name = "death alarm implant" desc = "An alarm which monitors host vital signs and transmits a radio message upon death." - origin_tech = "{'materials':1,'biotech':2,'programming':3}" + origin_tech = @'{"materials":1,"biotech":2,"programming":3}' known = 1 var/mobname = "John Doe" diff --git a/code/game/objects/items/weapons/implants/implants/explosive.dm b/code/game/objects/items/weapons/implants/implants/explosive.dm index 62109528325..2ccdddc2153 100644 --- a/code/game/objects/items/weapons/implants/implants/explosive.dm +++ b/code/game/objects/items/weapons/implants/implants/explosive.dm @@ -3,7 +3,7 @@ name = "explosive implant" desc = "A military grade micro bio-explosive. Highly dangerous." icon_state = "implant_evil" - origin_tech = "{'materials':1,'biotech':2,'esoteric':3}" + origin_tech = @'{"materials":1,"biotech":2,"esoteric":3}' hidden = 1 var/elevel var/phrase diff --git a/code/game/objects/items/weapons/implants/implants/freedom.dm b/code/game/objects/items/weapons/implants/implants/freedom.dm index d034c8276d3..9c98d34f961 100644 --- a/code/game/objects/items/weapons/implants/implants/freedom.dm +++ b/code/game/objects/items/weapons/implants/implants/freedom.dm @@ -3,7 +3,7 @@ /obj/item/implant/freedom name = "freedom implant" desc = "Use this to escape from those evil Red Shirts." - origin_tech = "{'materials':1,'biotech':2,'esoteric':2}" + origin_tech = @'{"materials":1,"biotech":2,"esoteric":2}' implant_color = "r" hidden = 1 var/activation_emote diff --git a/code/game/objects/items/weapons/implants/implants/imprinting.dm b/code/game/objects/items/weapons/implants/implants/imprinting.dm index 2ff70ad312c..76e7ac49e30 100644 --- a/code/game/objects/items/weapons/implants/implants/imprinting.dm +++ b/code/game/objects/items/weapons/implants/implants/imprinting.dm @@ -1,7 +1,7 @@ /obj/item/implant/imprinting name = "imprinting implant" desc = "Latest word in training your peons." - origin_tech = "{'materials':1,'biotech':2,'programming':3}" + origin_tech = @'{"materials":1,"biotech":2,"programming":3}' hidden = 1 var/list/instructions = list("Do your job.", "Respect your superiors.", "Wash you hands after using the toilet.") var/brainwashing = 0 @@ -51,7 +51,7 @@ M.StoreMemory(msg, /decl/memory_options/system) if(brainwashing) log_and_message_admins("was implanted with a brainwashing implant holding following laws: [jointext(instructions, ";")].", M) - addtimer(CALLBACK(src,.proc/activate),3000,(TIMER_UNIQUE|TIMER_OVERRIDE)) + addtimer(CALLBACK(src,PROC_REF(activate)),3000,(TIMER_UNIQUE|TIMER_OVERRIDE)) return TRUE /obj/item/implant/imprinting/proc/get_instructions() @@ -83,7 +83,7 @@ else instruction = "You remember suddenly: \"[instruction]\"" to_chat(imp_in, instruction) - addtimer(CALLBACK(src,.proc/activate),3000,(TIMER_UNIQUE|TIMER_OVERRIDE)) + addtimer(CALLBACK(src,PROC_REF(activate)),3000,(TIMER_UNIQUE|TIMER_OVERRIDE)) /obj/item/implant/imprinting/removed() if(brainwashing && !malfunction) @@ -103,7 +103,7 @@ . = ..() /obj/item/implant/imprinting/can_implant(mob/M, mob/user, target_zone) - var/mob/living/carbon/human/H = M + var/mob/living/carbon/human/H = M if(istype(H)) var/obj/item/organ/internal/B = GET_INTERNAL_ORGAN(H, BP_BRAIN) if(!B || H.isSynthetic()) diff --git a/code/game/objects/items/weapons/implants/implants/loyalty.dm b/code/game/objects/items/weapons/implants/implants/loyalty.dm index f9112595bed..f7cc12b1abb 100644 --- a/code/game/objects/items/weapons/implants/implants/loyalty.dm +++ b/code/game/objects/items/weapons/implants/implants/loyalty.dm @@ -1,7 +1,7 @@ /obj/item/implant/loyalty name = "loyalty implant" desc = "Makes you loyal or such." - origin_tech = "{'materials':1,'biotech':2,'esoteric':3}" + origin_tech = @'{"materials":1,"biotech":2,"esoteric":3}' known = 1 /obj/item/implant/loyalty/get_data() diff --git a/code/game/objects/items/weapons/implants/implants/tracking.dm b/code/game/objects/items/weapons/implants/implants/tracking.dm index 5db14647141..0b317737c4b 100644 --- a/code/game/objects/items/weapons/implants/implants/tracking.dm +++ b/code/game/objects/items/weapons/implants/implants/tracking.dm @@ -3,7 +3,7 @@ var/global/list/tracking_implants = list() /obj/item/implant/tracking name = "tracking implant" desc = "Track with this." - origin_tech = "{'materials':1,'biotech':2,'wormholes':2}" + origin_tech = @'{"materials":1,"biotech":2,"wormholes":2}' known = 1 var/id = 1 diff --git a/code/game/objects/items/weapons/implants/implants/translator.dm b/code/game/objects/items/weapons/implants/implants/translator.dm index fb18b37640f..f8b9f30d836 100644 --- a/code/game/objects/items/weapons/implants/implants/translator.dm +++ b/code/game/objects/items/weapons/implants/implants/translator.dm @@ -3,7 +3,7 @@ name = "babel implant" desc = "A small implant with a microphone on it." icon_state = "implant_evil" - origin_tech = "{'materials':1,'biotech':2,'esoteric':3}" + origin_tech = @'{"materials":1,"biotech":2,"esoteric":3}' hidden = 1 var/list/languages = list() var/learning_threshold = 20 //need to hear language spoken this many times to learn it @@ -44,6 +44,6 @@ name = "lingophagic node" desc = "A chunk of what could be discolored crystalized brain matter. It seems to pulse occasionally." icon_state = "implant_melted" - origin_tech = "{'biotech':5}" + origin_tech = @'{"biotech":5}' learning_threshold = 10 max_languages = 3 \ No newline at end of file diff --git a/code/game/objects/items/weapons/implants/implants/uplink.dm b/code/game/objects/items/weapons/implants/implants/uplink.dm index fa377b563f4..fece5d1fc37 100644 --- a/code/game/objects/items/weapons/implants/implants/uplink.dm +++ b/code/game/objects/items/weapons/implants/implants/uplink.dm @@ -1,7 +1,7 @@ /obj/item/implant/uplink name = "uplink implant" desc = "Summon things." - origin_tech = "{'materials':1,'biotech':2,'esoteric':3}" + origin_tech = @'{"materials":1,"biotech":2,"esoteric":3}' hidden = 1 var/activation_emote diff --git a/code/game/objects/items/weapons/lighter.dm b/code/game/objects/items/weapons/lighter.dm index 6c2119c7549..d9e5c449e3e 100644 --- a/code/game/objects/items/weapons/lighter.dm +++ b/code/game/objects/items/weapons/lighter.dm @@ -95,14 +95,14 @@ else cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") return - ..() + return ..() /obj/item/flame/lighter/Process() if(!submerged() && reagents.has_reagent(/decl/material/liquid/fuel)) if(ismob(loc) && prob(10) && REAGENT_VOLUME(reagents, /decl/material/liquid/fuel) < 1) to_chat(loc, "\The [src]'s flame flickers.") set_light(0) - addtimer(CALLBACK(src, .atom/proc/set_light, 2), 4) + addtimer(CALLBACK(src, TYPE_PROC_REF(.atom, set_light), 2), 4) reagents.remove_reagent(/decl/material/liquid/fuel, 0.05) else extinguish() @@ -190,6 +190,8 @@ O.reagents.trans_to_obj(src, max_fuel) to_chat(user, "You refuel [src] from \the [O]") playsound(src.loc, 'sound/effects/refill.ogg', 50, 1, -6) + return TRUE + return ..() /obj/item/flame/lighter/zippo/black color = COLOR_DARK_GRAY diff --git a/code/game/objects/items/weapons/material/kitchen.dm b/code/game/objects/items/weapons/material/kitchen.dm index 2986056972e..91b0263ebde 100644 --- a/code/game/objects/items/weapons/material/kitchen.dm +++ b/code/game/objects/items/weapons/material/kitchen.dm @@ -9,7 +9,7 @@ /obj/item/kitchen/utensil w_class = ITEM_SIZE_TINY thrown_material_force_multiplier = 1 - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' attack_verb = list("attacked", "stabbed", "poked") sharp = 0 edge = 0 diff --git a/code/game/objects/items/weapons/material/knives.dm b/code/game/objects/items/weapons/material/knives.dm index 47abfd961c5..d48ebfdb55e 100644 --- a/code/game/objects/items/weapons/material/knives.dm +++ b/code/game/objects/items/weapons/material/knives.dm @@ -7,7 +7,7 @@ material_force_multiplier = 0.3 attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") material = /decl/material/solid/metal/steel - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' obj_flags = OBJ_FLAG_CONDUCTIBLE sharp = TRUE edge = TRUE diff --git a/code/game/objects/items/weapons/material/misc.dm b/code/game/objects/items/weapons/material/misc.dm index 4f52921c975..d31b6c2d029 100644 --- a/code/game/objects/items/weapons/material/misc.dm +++ b/code/game/objects/items/weapons/material/misc.dm @@ -26,7 +26,7 @@ return audible_message(SPAN_WARNING("\The [src] emits a long, harsh tone!")) playsound(loc, 'sound/weapons/bombwhine.ogg', 100, 0, -3) - addtimer(CALLBACK(src, .proc/harpoon_detonate), 4 SECONDS) //for suspense + addtimer(CALLBACK(src, PROC_REF(harpoon_detonate)), 4 SECONDS) //for suspense /obj/item/harpoon/bomb/proc/harpoon_detonate() audible_message(SPAN_DANGER("\The [src] detonates!")) //an actual sound will be handled by explosion() @@ -57,7 +57,7 @@ w_class = ITEM_SIZE_SMALL sharp = 1 edge = 1 - origin_tech = "{'materials':2,'combat':1}" + origin_tech = @'{"materials":2,"combat":1}' attack_verb = list("chopped", "torn", "cut") material = /decl/material/solid/metal/steel material_alteration = MAT_FLAG_ALTERATION_NAME @@ -137,7 +137,7 @@ throw_range = 3 w_class = ITEM_SIZE_HUGE slot_flags = SLOT_BACK - origin_tech = "{'materials':2,'combat':2}" + origin_tech = @'{"materials":2,"combat":2}' attack_verb = list("chopped", "sliced", "cut", "reaped") material = /decl/material/solid/metal/steel material_alteration = MAT_FLAG_ALTERATION_COLOR | MAT_FLAG_ALTERATION_NAME diff --git a/code/game/objects/items/weapons/melee/energy_axe.dm b/code/game/objects/items/weapons/melee/energy_axe.dm index f38d13d017c..d52e6c5b699 100644 --- a/code/game/objects/items/weapons/melee/energy_axe.dm +++ b/code/game/objects/items/weapons/melee/energy_axe.dm @@ -13,7 +13,7 @@ atom_flags = ATOM_FLAG_NO_BLOOD obj_flags = OBJ_FLAG_CONDUCTIBLE item_flags = ITEM_FLAG_IS_WEAPON - origin_tech = "{'magnets':3,'combat':4}" + origin_tech = @'{"magnets":3,"combat":4}' active_attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") inactive_attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") sharp = 1 diff --git a/code/game/objects/items/weapons/melee/energy_machete.dm b/code/game/objects/items/weapons/melee/energy_machete.dm index 3a12bce1b19..182e9412302 100644 --- a/code/game/objects/items/weapons/melee/energy_machete.dm +++ b/code/game/objects/items/weapons/melee/energy_machete.dm @@ -6,5 +6,5 @@ active_throwforce = 17 active_parry_chance = 30 lighting_color = "#6600cc" - origin_tech = "{'magnets':3}" + origin_tech = @'{"magnets":3}' active_attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") diff --git a/code/game/objects/items/weapons/melee/energy_sword.dm b/code/game/objects/items/weapons/melee/energy_sword.dm index 1e22a9e5759..be1954b7c8f 100644 --- a/code/game/objects/items/weapons/melee/energy_sword.dm +++ b/code/game/objects/items/weapons/melee/energy_sword.dm @@ -2,7 +2,7 @@ name = "energy sword" desc = "May the force be mass times acceleration." icon = 'icons/obj/items/weapon/e_sword.dmi' - origin_tech = "{'magnets':3,'esoteric':4}" + origin_tech = @'{"magnets":3,"esoteric":4}' active_parry_chance = 50 var/blade_color @@ -26,7 +26,7 @@ /obj/item/energy_blade/sword/dropped(var/mob/user) ..() - addtimer(CALLBACK(src, .proc/check_loc), 1) // Swapping hands or passing to another person should not deactivate the sword. + addtimer(CALLBACK(src, PROC_REF(check_loc)), 1) // Swapping hands or passing to another person should not deactivate the sword. /obj/item/energy_blade/sword/proc/check_loc() if(!ismob(loc) && active) diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 1ae6cbca3da..3161a6dabf9 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -10,7 +10,7 @@ item_flags = ITEM_FLAG_IS_WEAPON throwforce = 7 w_class = ITEM_SIZE_NORMAL - origin_tech = "{'combat':4}" + origin_tech = @'{"combat":4}' attack_verb = list("flicked", "whipped", "lashed") material = /decl/material/solid/organic/leather @@ -24,7 +24,7 @@ force = 16 //max hit with 60 strength and no equipment. Duel Arena no No forfeit - Snapshot throwforce = 7 w_class = ITEM_SIZE_NORMAL - origin_tech = "{'combat':4}" + origin_tech = @'{"combat":4}' attack_verb = list("flicked", "whipped", "lashed") /obj/item/whip/tail @@ -35,7 +35,7 @@ obj_flags = null force = 19 edge = TRUE - origin_tech = "{'combat':6,'materials':5}" + origin_tech = @'{"combat":6,"materials":5}' material = /decl/material/solid/organic/leather/lizard /obj/item/whip/chainofcommand diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index de020e7c791..f11cae1906c 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -89,7 +89,7 @@ /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/organic/plastic = MATTER_AMOUNT_TRACE ) - origin_tech = "{'engineering':4,'materials':4,'powerstorage':3}" + origin_tech = @'{"engineering":4,"materials":4,"powerstorage":3}' var/refill_enabled = TRUE //Self-refill toggle for when a janitor decides to mop with something other than water. var/refill_rate = 1 //Rate per process() tick mop refills itself diff --git a/code/game/objects/items/weapons/nuclear_cylinder.dm b/code/game/objects/items/weapons/nuclear_cylinder.dm index f6e6f20732f..68ce244b014 100644 --- a/code/game/objects/items/weapons/nuclear_cylinder.dm +++ b/code/game/objects/items/weapons/nuclear_cylinder.dm @@ -10,5 +10,5 @@ throwforce = 15.0 throw_speed = 2 throw_range = 4 - origin_tech = "{'materials':3,'engineering':4}" + origin_tech = @'{"materials":3,"engineering":4}' max_health = ITEM_HEALTH_NO_DAMAGE diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index be794457939..29170908a0e 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -119,7 +119,7 @@ var/global/list/image/hazard_overlays //Cached hazard floor overlays for the bar return var/mob/_uroller = unroller.resolve() if(_uroller) - events_repository.unregister(/decl/observ/moved, _uroller, src, .proc/user_moved_unrolling) + events_repository.unregister(/decl/observ/moved, _uroller, src, PROC_REF(user_moved_unrolling)) unroller = null start = null slowdown_general = initial(slowdown_general) @@ -135,8 +135,8 @@ var/global/list/image/hazard_overlays //Cached hazard floor overlays for the bar start = get_turf(src) unroller = weakref(user) slowdown_general = initial(slowdown_general) + 2 //While unrolling you're slightly slower - events_repository.unregister(/decl/observ/moved, user, src, .proc/user_moved_unrolling) - events_repository.register(/decl/observ/moved, user, src, .proc/user_moved_unrolling) + events_repository.unregister(/decl/observ/moved, user, src, PROC_REF(user_moved_unrolling)) + events_repository.register(/decl/observ/moved, user, src, PROC_REF(user_moved_unrolling)) to_chat(user, SPAN_NOTICE("You start unrolling \the [src].")) //Place the first one immediately place_line(user, get_turf(user), user.dir) @@ -364,7 +364,7 @@ var/global/list/image/hazard_overlays //Cached hazard floor overlays for the bar layer = ABOVE_HUMAN_LAYER pass_flags = PASS_FLAG_MOB pixel_y += 8 - addtimer(CALLBACK(src, .proc/on_unlift), time, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(on_unlift)), time, TIMER_UNIQUE) playsound(src, 'sound/effects/pageturn2.ogg', 50, TRUE) /**Called by timer when the tape line falls back in place. */ diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index 7f7619b4b7a..04dba8b0567 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -8,7 +8,7 @@ item_state = "paper" throw_speed = 4 throw_range = 20 - origin_tech = "{'wormholes':4}" + origin_tech = @'{"wormholes":4}' material = /decl/material/solid/organic/paper /obj/item/teleportation_scroll/attack_self(mob/user) diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 8318f27e9e0..3342015c383 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -61,7 +61,7 @@ throw_speed = 1 throw_range = 4 w_class = ITEM_SIZE_HUGE - origin_tech = "{'materials':2}" + origin_tech = @'{"materials":2}' material = /decl/material/solid/fiberglass matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) attack_verb = list("shoved", "bashed") @@ -122,7 +122,7 @@ throw_speed = 10 throw_range = 20 w_class = ITEM_SIZE_HUGE - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/organic/wood = MATTER_AMOUNT_REINFORCEMENT) attack_verb = list("shoved", "bashed") @@ -151,7 +151,7 @@ throw_speed = 1 throw_range = 4 w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':4,'magnets':3,'esoteric':4}" + origin_tech = @'{"materials":4,"magnets":3,"esoteric":4}' attack_verb = list("shoved", "bashed") material = /decl/material/solid/metal/titanium matter = list( diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 196f3684b0d..7cad1db67d4 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -41,7 +41,7 @@ /obj/item/storage/backpack/holding name = "bag of holding" desc = "A backpack that opens into a localized pocket of Blue Space." - origin_tech = "{'wormholes':4}" + origin_tech = @'{"wormholes":4}' icon = 'icons/obj/items/storage/backpack/backpack_holding.dmi' max_w_class = ITEM_SIZE_NORMAL max_storage_space = 56 diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index b7e339444cc..68506540ff9 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -75,7 +75,7 @@ /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/uranium = MATTER_AMOUNT_TRACE ) - origin_tech = "{'exoticmatter':5,'materials':6}" + origin_tech = @'{"exoticmatter":5,"materials":6}' /obj/item/storage/bag/trash/advanced/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/storage/backpack/holding) || istype(W, /obj/item/storage/bag/trash/advanced)) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index ed40c339f2a..550a1ce233a 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -553,11 +553,11 @@ icon_state = "checkers" max_storage_space = 24 foldable = null - can_hold = list(/obj/item/chems/food/checker) + can_hold = list(/obj/item/checker) /obj/item/storage/box/checkers/WillContain() return list( - /obj/item/chems/food/checker = 12, - /obj/item/chems/food/checker/red = 12 + /obj/item/checker = 12, + /obj/item/checker/red = 12 ) /obj/item/storage/box/checkers/chess @@ -566,12 +566,12 @@ icon_state = "chess_b" /obj/item/storage/box/checkers/chess/WillContain() return list( - /obj/item/chems/food/checker/pawn = 8, - /obj/item/chems/food/checker/knight = 2, - /obj/item/chems/food/checker/bishop = 2, - /obj/item/chems/food/checker/rook = 2, - /obj/item/chems/food/checker/queen = 1, - /obj/item/chems/food/checker/king = 1 + /obj/item/checker/pawn = 8, + /obj/item/checker/knight = 2, + /obj/item/checker/bishop = 2, + /obj/item/checker/rook = 2, + /obj/item/checker/queen = 1, + /obj/item/checker/king = 1 ) /obj/item/storage/box/checkers/chess/red @@ -580,12 +580,12 @@ icon_state = "chess_r" /obj/item/storage/box/checkers/chess/red/WillContain() return list( - /obj/item/chems/food/checker/pawn/red = 8, - /obj/item/chems/food/checker/knight/red = 2, - /obj/item/chems/food/checker/bishop/red = 2, - /obj/item/chems/food/checker/rook/red = 2, - /obj/item/chems/food/checker/queen/red = 1, - /obj/item/chems/food/checker/king/red = 1 + /obj/item/checker/pawn/red = 8, + /obj/item/checker/knight/red = 2, + /obj/item/checker/bishop/red = 2, + /obj/item/checker/rook/red = 2, + /obj/item/checker/queen/red = 1, + /obj/item/checker/king/red = 1 ) diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index 3042ff6067c..ae3ce92dd1e 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -14,7 +14,7 @@ w_class = ITEM_SIZE_LARGE max_w_class = ITEM_SIZE_NORMAL max_storage_space = DEFAULT_LARGEBOX_STORAGE //enough to hold all starting contents - origin_tech = "{'combat':1}" + origin_tech = @'{"combat":1}' attack_verb = list("robusted") use_sound = 'sound/effects/storage/toolbox.ogg' material = /decl/material/solid/metal/aluminium @@ -69,7 +69,7 @@ desc = "A toolbox in black, with stylish red trim. This one feels particularly heavy, yet balanced." icon_state = "syndicate" item_state = "toolbox_syndi" - origin_tech = "{'combat':1,'esoteric':1}" + origin_tech = @'{"combat":1,"esoteric":1}' attack_cooldown = 10 /obj/item/storage/toolbox/syndicate/WillContain() diff --git a/code/game/objects/items/weapons/storage/wall_mirror.dm b/code/game/objects/items/weapons/storage/wall_mirror.dm index 960a91c3010..4ae11605eb1 100644 --- a/code/game/objects/items/weapons/storage/wall_mirror.dm +++ b/code/game/objects/items/weapons/storage/wall_mirror.dm @@ -10,7 +10,7 @@ var/shattered = FALSE var/list/ui_users var/obj/item/storage/internal/mirror_storage/mirror_storage - directional_offset = "{'NORTH':{'y':-29}, 'SOUTH':{'y':29}, 'EAST':{'x':29}, 'WEST':{'x':-29}}" + directional_offset = @'{"NORTH":{"y":-29}, "SOUTH":{"y":29}, "EAST":{"x":29}, "WEST":{"x":-29}}' obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED /obj/structure/mirror/Initialize() diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 61686252167..637ce63e363 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -10,7 +10,7 @@ edge = 0 throwforce = 7 w_class = ITEM_SIZE_NORMAL - origin_tech = "{'combat':2}" + origin_tech = @'{"combat":2}' attack_verb = list("beaten") base_parry_chance = 30 material = /decl/material/solid/metal/aluminium diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm index 3c24838ae47..95145f0c8e9 100644 --- a/code/game/objects/items/weapons/surgery_tools.dm +++ b/code/game/objects/items/weapons/surgery_tools.dm @@ -20,7 +20,7 @@ matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) obj_flags = OBJ_FLAG_CONDUCTIBLE w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' drop_sound = 'sound/foley/knifedrop3.ogg' /obj/item/retractor/Initialize() @@ -39,7 +39,7 @@ matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) obj_flags = OBJ_FLAG_CONDUCTIBLE w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' attack_verb = list("attacked", "pinched") drop_sound = 'sound/foley/knifedrop3.ogg' @@ -62,7 +62,7 @@ ) obj_flags = OBJ_FLAG_CONDUCTIBLE w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' attack_verb = list("burnt") /obj/item/cautery/Initialize() @@ -83,7 +83,7 @@ obj_flags = OBJ_FLAG_CONDUCTIBLE force = 15.0 w_class = ITEM_SIZE_NORMAL - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' attack_verb = list("drilled") /obj/item/surgicaldrill/Initialize() @@ -107,7 +107,7 @@ throwforce = 5 throw_speed = 3 throw_range = 5 - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") @@ -131,7 +131,7 @@ matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) pickup_sound = 'sound/foley/pickup2.ogg' tool_quality = TOOL_QUALITY_DECENT - origin_tech = "{'biotech':2,'materials':2,'magnets':2}" + origin_tech = @'{"biotech":2,"materials":2,"magnets":2}' /obj/item/scalpel/laser/upgraded name = "upgraded laser scalpel" @@ -143,7 +143,7 @@ /decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE ) tool_quality = TOOL_QUALITY_GOOD - origin_tech = "{'biotech':3,'materials':4,'magnets':4}" + origin_tech = @'{"biotech":3,"materials":4,"magnets":4}' /obj/item/scalpel/laser/advanced name = "advanced laser scalpel" @@ -156,7 +156,7 @@ /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE ) tool_quality = TOOL_QUALITY_BEST - origin_tech = "{'biotech':4,'materials':6,'magnets':5}" + origin_tech = @'{"biotech":4,"materials":6,"magnets":5}' /obj/item/incision_manager name = "incision management system" @@ -175,7 +175,7 @@ /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) pickup_sound = 'sound/foley/pickup2.ogg' - origin_tech = "{'biotech':4,'materials':7,'magnets':5,'programming':4}" + origin_tech = @'{"biotech":4,"materials":7,"magnets":5,"programming":4}' /obj/item/incision_manager/Initialize() . = ..() @@ -201,7 +201,7 @@ throwforce = 9 throw_speed = 3 throw_range = 5 - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) attack_verb = list("attacked", "slashed", "sawed", "cut") @@ -240,7 +240,7 @@ icon_state = "fixovein" force = 0 throwforce = 1 - origin_tech = "{'materials':1,'biotech':3}" + origin_tech = @'{"materials":1,"biotech":3}' w_class = ITEM_SIZE_SMALL material = /decl/material/solid/organic/plastic diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm index 8e0b7fc6891..923c79b1a25 100644 --- a/code/game/objects/items/weapons/tanks/jetpack.dm +++ b/code/game/objects/items/weapons/tanks/jetpack.dm @@ -13,7 +13,7 @@ action_button_name = "Toggle Jetpack" material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/aluminium = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':1,'engineering':3}" + origin_tech = @'{"materials":1,"engineering":3}' /obj/item/tank/jetpack/Initialize() . = ..() diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 206aa606eb9..e95ffde8b89 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -18,7 +18,7 @@ w_class = ITEM_SIZE_SMALL throw_speed = 4 throw_range = 20 - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/aluminium /obj/item/locator/attack_self(mob/user) diff --git a/code/game/objects/items/weapons/tools/crowbar.dm b/code/game/objects/items/weapons/tools/crowbar.dm index 13f6c62f9d6..07f2255a58f 100644 --- a/code/game/objects/items/weapons/tools/crowbar.dm +++ b/code/game/objects/items/weapons/tools/crowbar.dm @@ -8,9 +8,9 @@ attack_cooldown = 2*DEFAULT_WEAPON_COOLDOWN melee_accuracy_bonus = -10 w_class = ITEM_SIZE_SMALL - origin_tech = "{'engineering':1}" + origin_tech = @'{"engineering":1}' material = /decl/material/solid/metal/steel - center_of_mass = @"{'x':16,'y':20}" + center_of_mass = @'{"x":16,"y":20}' attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") material_alteration = MAT_FLAG_ALTERATION_COLOR drop_sound = 'sound/foley/bardrop1.ogg' diff --git a/code/game/objects/items/weapons/tools/screwdriver.dm b/code/game/objects/items/weapons/tools/screwdriver.dm index efbf46c3806..15999e9d391 100644 --- a/code/game/objects/items/weapons/tools/screwdriver.dm +++ b/code/game/objects/items/weapons/tools/screwdriver.dm @@ -6,7 +6,7 @@ slot_flags = SLOT_LOWER_BODY | SLOT_EARS w_class = ITEM_SIZE_TINY material = /decl/material/solid/metal/steel - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' attack_verb = list("stabbed") lock_picking_level = 5 sharp = TRUE diff --git a/code/game/objects/items/weapons/tools/weldingtool.dm b/code/game/objects/items/weapons/tools/weldingtool.dm index cb87f57182e..6693b495825 100644 --- a/code/game/objects/items/weapons/tools/weldingtool.dm +++ b/code/game/objects/items/weapons/tools/weldingtool.dm @@ -8,7 +8,7 @@ icon_state = ICON_STATE_WORLD obj_flags = OBJ_FLAG_CONDUCTIBLE slot_flags = SLOT_LOWER_BODY - center_of_mass = @"{'x':14,'y':15}" + center_of_mass = @'{"x":14,"y":15}' force = 5 throwforce = 5 throw_speed = 1 @@ -16,7 +16,7 @@ w_class = ITEM_SIZE_SMALL material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'engineering':1}" + origin_tech = @'{"engineering":1}' drop_sound = 'sound/foley/tooldrop1.ogg' z_flags = ZMM_MANGLE_PLANES attack_cooldown = DEFAULT_ATTACK_COOLDOWN @@ -228,7 +228,7 @@ if(location) location.hotspot_expose(WELDING_TOOL_HOTSPOT_TEMP_ACTIVE, 5) set_light(5, 0.7, COLOR_LIGHT_CYAN) - addtimer(CALLBACK(src, /atom/proc/update_icon), 5) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 5) return TRUE /**Handle the flame burning fuel while the welder is on */ @@ -430,7 +430,7 @@ return TRUE if(standard_pour_into(user, O)) return TRUE - if(standard_feed_mob(user, O)) + if(handle_eaten_by_mob(user, O) != EATEN_INVALID) return TRUE if(user.a_intent == I_HURT) if(standard_splash_mob(user, O)) @@ -461,11 +461,11 @@ return FALSE . = ..() -/obj/item/chems/welder_tank/standard_feed_mob(mob/user, mob/target) +/obj/item/chems/welder_tank/handle_eaten_by_mob(mob/user, mob/target) if(!can_refuel) to_chat(user, SPAN_DANGER("\The [src] is sealed shut.")) - return FALSE - . = ..() + return EATEN_UNABLE + return ..() /obj/item/chems/welder_tank/get_alt_interactions(var/mob/user) . = ..() diff --git a/code/game/objects/items/weapons/tools/wirecutter.dm b/code/game/objects/items/weapons/tools/wirecutter.dm index 1d13c16ecdc..1167dbc43f1 100644 --- a/code/game/objects/items/weapons/tools/wirecutter.dm +++ b/code/game/objects/items/weapons/tools/wirecutter.dm @@ -5,9 +5,9 @@ icon_state = ICON_STATE_WORLD slot_flags = SLOT_LOWER_BODY w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' material = /decl/material/solid/metal/steel - center_of_mass = @"{'x':18,'y':10}" + center_of_mass = @'{"x":18,"y":10}' attack_verb = list("pinched", "nipped") sharp = 1 edge = 1 diff --git a/code/game/objects/items/weapons/tools/wrench.dm b/code/game/objects/items/weapons/tools/wrench.dm index 558bc1cdae2..13bd7160c21 100644 --- a/code/game/objects/items/weapons/tools/wrench.dm +++ b/code/game/objects/items/weapons/tools/wrench.dm @@ -6,9 +6,9 @@ slot_flags = SLOT_LOWER_BODY material_force_multiplier = 0.2 w_class = ITEM_SIZE_SMALL - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' material = /decl/material/solid/metal/steel - center_of_mass = @"{'x':17,'y':16}" + center_of_mass = @'{"x":17,"y":16}' attack_verb = list("bashed", "battered", "bludgeoned", "whacked") material_alteration = MAT_FLAG_ALTERATION_COLOR drop_sound = 'sound/foley/bardrop1.ogg' diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm index 52ff7f8e691..56243d3d4d3 100644 --- a/code/game/objects/items/weapons/traps.dm +++ b/code/game/objects/items/weapons/traps.dm @@ -9,7 +9,7 @@ desc = "A mechanically activated leg trap. Low-tech, but reliable. Looks like it could really hurt if you set it off." throwforce = 0 w_class = ITEM_SIZE_NORMAL - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/metal/steel can_buckle = 0 //disallow manual un/buckling var/deployed = 0 diff --git a/code/game/objects/obj_edibility.dm b/code/game/objects/obj_edibility.dm new file mode 100644 index 00000000000..871c7831799 --- /dev/null +++ b/code/game/objects/obj_edibility.dm @@ -0,0 +1,148 @@ +/obj/proc/get_food_consumption_method(mob/eater) + return EATING_METHOD_EAT + +/obj/proc/is_edible(var/mob/eater) + return get_edible_material_amount(eater) > 0 + +/obj/proc/get_edible_material_amount(var/mob/eater) + return 0 + +/obj/proc/get_food_default_transfer_amount(mob/eater) + return eater?.get_eaten_transfer_amount(2) // arbitrary, should be overridden downstream + +/obj/proc/show_food_consumed_message(mob/user, mob/target) + if(user == target) + user?.visible_message( + SPAN_NOTICE("\The [target] finishes eating \the [src]."), + SPAN_NOTICE("You finish eating \the [src].") + ) + else + user?.visible_message( + SPAN_NOTICE("\The [user] feeds the last of \the [src] to \the [target]."), + SPAN_NOTICE("You feed the last of \the [src] to \the [target].") + ) + +/obj/proc/handle_consumed(mob/feeder, mob/eater, consumption_method = EATING_METHOD_EAT) + transfer_eaten_material(eater, get_food_default_transfer_amount(eater)) + play_feed_sound(eater, consumption_method) + if(!get_edible_material_amount(eater)) + if(feeder && eater) + show_food_consumed_message(feeder, eater) + feeder.drop_from_inventory(src) + eater.update_personal_goal(/datum/goal/achievement/specific_object/food, type) + physically_destroyed() + return TRUE + return FALSE + +/obj/proc/transfer_eaten_material(mob/eater, amount) + reagents?.trans_to_mob(eater, amount, CHEM_INGEST) + +/obj/proc/show_feed_message_start(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You begin trying to take a bite from \the [target].")) + else + user.visible_message(SPAN_NOTICE("\The [user] is trying to feed \the [src] to \the [target]!")) + +/obj/proc/show_feed_message_end(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You take a bite of \the [src].")) + else + user.visible_message(SPAN_NOTICE("\The [user] feeds some of \the [src] to \the [target]!")) + +/obj/proc/show_food_inedible_message(mob/user, mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_WARNING("There is nothing in \the [src] that you can eat.")) + else + to_chat(user, SPAN_WARNING("There is nothing in \the [src] that \the [target] can eat.")) + +/obj/proc/show_food_no_mouth_message(mob/user, mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_WARNING("Where do you intend to put \the [src]? You don't have a mouth!")) + else + to_chat(user, SPAN_WARNING("Where do you intend to put \the [src]? \The [target] doesn't have a mouth!")) + +/obj/proc/play_feed_sound(var/mob/user, consumption_method = EATING_METHOD_EAT) + var/turf/play_turf = get_turf(user) + if(!play_turf) + return + switch(consumption_method) + if(EATING_METHOD_EAT) + playsound(user.loc, 'sound/items/eatfood.ogg', rand(10, 50), 1) + if(EATING_METHOD_DRINK) + playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1) + +/obj/proc/show_food_empty_message(mob/user, mob/target) + to_chat(user, SPAN_NOTICE("\The [src] is empty.")) + +/obj/proc/is_food_empty(mob/eater) + return get_edible_material_amount(eater) <= 0 + +// General proc for handling an attempt to eat an item, or to eat from an +// item. At time of writing, only handles classic SS13 eating (reagents). +// Returns EATEN_INVALID for an inability to eat, EATEN_UNABLE for an attempt +// prevented by something, and EATEN_SUCCESS for a successful bite. +/obj/proc/handle_eaten_by_mob(var/mob/user, var/mob/target) + + if(!istype(user)) + return EATEN_INVALID + + if(!target) + target = user + + if(!istype(target)) + return EATEN_INVALID + + if(!is_edible(target)) + show_food_inedible_message(user, target) + return EATEN_UNABLE + + if(is_food_empty(target)) + show_food_empty_message(user, target) + return EATEN_UNABLE + + if(!target.check_has_mouth()) + show_food_no_mouth_message(user, target) + return EATEN_UNABLE + + if(!target.can_eat_food_currently(src, user)) + return EATEN_UNABLE + + var/blocked = target.check_mouth_coverage() + if(blocked) + to_chat(user, SPAN_NOTICE("\The [blocked] is in the way!")) + return EATEN_UNABLE + + if(user != target && !user.can_force_feed(target, src)) + return EATEN_UNABLE + + var/consumption_method = get_food_consumption_method(target) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + if(user != target) + if(!user.can_force_feed(target, src)) + return EATEN_UNABLE + show_feed_message_start(user, target, consumption_method) + if(!do_mob(user, target)) + return EATEN_UNABLE + var/contained = json_encode(REAGENT_LIST(src)) + admin_attack_log(user, target, "Fed the victim with [name] (Reagents: [contained])", "Was fed [src] (Reagents: [contained])", "used [src] (Reagents: [contained]) to feed") + + show_feed_message_end(user, target, consumption_method) + handle_consumed(user, target, consumption_method) + return EATEN_SUCCESS + +/obj/attack_animal(var/mob/user) + if((isanimal(user) || isalien(user)) && is_edible(user) && handle_eaten_by_mob(user) == EATEN_SUCCESS) + // TODO: put this in the mob AI. + spawn(5) + if(user && QDELETED(src) && !user.client) + user.custom_emote(1,"[pick("burps", "cries for more", "burps twice", "looks at the area where the food was")]") + return TRUE + return ..() diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 69e6540aeb2..ff11e6d8cef 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -16,7 +16,7 @@ var/armor_penetration = 0 var/anchor_fall = FALSE var/holographic = 0 //if the obj is a holographic object spawned by the holodeck - var/tmp/directional_offset ///JSON list of directions to x,y offsets to be applied to the object depending on its direction EX: {'NORTH':{'x':12,'y':5}, 'EAST':{'x':10,'y':50}} + var/tmp/directional_offset ///JSON list of directions to x,y offsets to be applied to the object depending on its direction EX: @'{"NORTH":{"x":12,"y":5}, "EAST":{"x":10,"y":50}}' ///The current health of the obj. Leave to null, unless you want the object to start at a different health than max_health. var/health diff --git a/code/game/objects/random/date_based.dm b/code/game/objects/random/date_based.dm index 0eee0d30f9e..3987c3b3f34 100644 --- a/code/game/objects/random/date_based.dm +++ b/code/game/objects/random/date_based.dm @@ -5,7 +5,7 @@ /obj/random/date_based name = "random object (date based)" icon_state = "yup" - spawn_method = .proc/check_date + spawn_method = PROC_REF(check_date) var/datum/is_date/date_check /obj/random/date_based/Destroy() diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm index d1d9d9d5014..42f4ad03af0 100644 --- a/code/game/objects/structures/barsign.dm +++ b/code/game/objects/structures/barsign.dm @@ -6,7 +6,7 @@ appearance_flags = 0 anchored = TRUE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/cult = 0 /obj/structure/sign/double/barsign/proc/get_valid_states(initial=1) diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index b7656597e93..a7b3a7c779b 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -141,7 +141,7 @@ storage_types = CLOSET_STORAGE_ITEMS setup = 0 obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' icon = 'icons/obj/closets/bases/wall.dmi' /obj/structure/closet/hydrant/Initialize(ml, _mat, _reinf_mat) @@ -170,7 +170,7 @@ storage_types = CLOSET_STORAGE_ITEMS setup = 0 obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' icon = 'icons/obj/closets/bases/wall.dmi' /obj/structure/closet/medical_wall/Initialize() @@ -192,7 +192,7 @@ storage_types = CLOSET_STORAGE_ITEMS setup = 0 obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' icon = 'icons/obj/closets/bases/wall.dmi' /obj/structure/closet/shipping_wall/Initialize() diff --git a/code/game/objects/structures/crates_lockers/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm index 7bcf9d54d20..cb186904d24 100644 --- a/code/game/objects/structures/crates_lockers/closets/walllocker.dm +++ b/code/game/objects/structures/crates_lockers/closets/walllocker.dm @@ -12,7 +12,7 @@ storage_types = CLOSET_STORAGE_ITEMS setup = 0 obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' /obj/structure/closet/walllocker/Initialize() . = ..() diff --git a/code/game/objects/structures/defensive_barrier.dm b/code/game/objects/structures/defensive_barrier.dm index bd3e74d127c..d28141302bc 100644 --- a/code/game/objects/structures/defensive_barrier.dm +++ b/code/game/objects/structures/defensive_barrier.dm @@ -16,7 +16,7 @@ /obj/structure/defensive_barrier/Initialize() . = ..() update_icon() - events_repository.register(/decl/observ/dir_set, src, src, .proc/update_layers) + events_repository.register(/decl/observ/dir_set, src, src, PROC_REF(update_layers)) /obj/structure/defensive_barrier/physically_destroyed(var/skip_qdel) visible_message(SPAN_DANGER("\The [src] was destroyed!")) @@ -24,7 +24,7 @@ . = ..() /obj/structure/defensive_barrier/Destroy() - events_repository.unregister(/decl/observ/dir_set, src, src, .proc/update_layers) + events_repository.unregister(/decl/observ/dir_set, src, src, PROC_REF(update_layers)) . = ..() /obj/structure/defensive_barrier/proc/update_layers() diff --git a/code/game/objects/structures/emergency_dispenser.dm b/code/game/objects/structures/emergency_dispenser.dm index 5b14e72b5f8..4fd68fbc2c6 100644 --- a/code/game/objects/structures/emergency_dispenser.dm +++ b/code/game/objects/structures/emergency_dispenser.dm @@ -7,7 +7,7 @@ icon_state = "world" anchored = TRUE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/static/list/spawnitems = list( /obj/item/tank/emergency/oxygen, /obj/item/clothing/mask/breath, diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 208a3af9305..6bccabb09f6 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -6,7 +6,7 @@ anchored = TRUE density = FALSE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-29}, 'SOUTH':{'y':29}, 'EAST':{'x':-29}, 'WEST':{'x':29}}" + directional_offset = @'{"NORTH":{"y":-29}, "SOUTH":{"y":29}, "EAST":{"x":-29}, "WEST":{"x":29}}' var/obj/item/chems/spray/extinguisher/has_extinguisher var/opened = 0 diff --git a/code/game/objects/structures/fireaxe_cabinet.dm b/code/game/objects/structures/fireaxe_cabinet.dm index d2049e48568..fc6227b924f 100644 --- a/code/game/objects/structures/fireaxe_cabinet.dm +++ b/code/game/objects/structures/fireaxe_cabinet.dm @@ -6,7 +6,7 @@ anchored = TRUE density = FALSE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/damage_threshold = 15 var/open diff --git a/code/game/objects/structures/fountain.dm b/code/game/objects/structures/fountain.dm index 7d4197d0b38..34691ace6ba 100644 --- a/code/game/objects/structures/fountain.dm +++ b/code/game/objects/structures/fountain.dm @@ -74,7 +74,7 @@ else to_chat(user, "You touch the fountain. All the memories of your life seem to fade into the distant past as seconds drag like years. You feel the inexplicable sensation of your skin tightening and thinning across your entire body as your muscles degrade and your joints weaken. Time returns to its 'normal' pace. You can only just barely remember touching the fountain.") user.became_older = TRUE - user.change_hair_color(80, 80, 80) + user.set_hair_colour(COLOR_GRAY80) var/max_age = age.standalone_value_descriptors[age.standalone_value_descriptors[length(age.standalone_value_descriptors)]] if(new_age >= max_age) to_chat(user, "The burden of the years is too much, and you are reduced to dust.") diff --git a/code/game/objects/structures/fuel_port.dm b/code/game/objects/structures/fuel_port.dm index ef1de75d390..4e5589fd37e 100644 --- a/code/game/objects/structures/fuel_port.dm +++ b/code/game/objects/structures/fuel_port.dm @@ -7,7 +7,7 @@ density = FALSE anchored = TRUE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/open = FALSE var/parent_shuttle diff --git a/code/game/objects/structures/ironing_board.dm b/code/game/objects/structures/ironing_board.dm index fe42db90178..473f91bb780 100644 --- a/code/game/objects/structures/ironing_board.dm +++ b/code/game/objects/structures/ironing_board.dm @@ -31,7 +31,7 @@ holding = null update_icon() - events_repository.unregister(/decl/observ/destroyed, I, src, /obj/structure/bed/roller/ironingboard/proc/remove_item) + events_repository.unregister(/decl/observ/destroyed, I, src, TYPE_PROC_REF(/obj/structure/bed/roller/ironingboard, remove_item)) // make a screeching noise to drive people mad /obj/structure/bed/roller/ironingboard/Move() @@ -76,7 +76,7 @@ if(user.try_unequip(I, src)) cloth = I - events_repository.register(/decl/observ/destroyed, I, src, /obj/structure/bed/roller/ironingboard/proc/remove_item) + events_repository.register(/decl/observ/destroyed, I, src, TYPE_PROC_REF(/obj/structure/bed/roller/ironingboard, remove_item)) update_icon() return else if(istype(I,/obj/item/ironingiron)) @@ -101,7 +101,7 @@ if(!cloth) if(!holding && !R.enabled && user.try_unequip(I, src)) holding = R - events_repository.register(/decl/observ/destroyed, I, src, /obj/structure/bed/roller/ironingboard/proc/remove_item) + events_repository.register(/decl/observ/destroyed, I, src, TYPE_PROC_REF(/obj/structure/bed/roller/ironingboard, remove_item)) update_icon() return to_chat(user, "There isn't anything on the ironing board.") @@ -150,4 +150,5 @@ name = "ironing board" desc = "A collapsed ironing board that can be carried around." icon = 'icons/obj/structures/ironing.dmi' + icon_state = "folded" structure_form_type = /obj/structure/bed/roller/ironingboard \ No newline at end of file diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm index 3dad0c5b51d..69a056f2d2d 100644 --- a/code/game/objects/structures/railing.dm +++ b/code/game/objects/structures/railing.dm @@ -284,4 +284,4 @@ take_damage(max_health) // Fatboy user.jump_layer_shift() - addtimer(CALLBACK(user, /mob/living/proc/jump_layer_shift_end), 2) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, jump_layer_shift_end)), 2) diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 9c9347b085f..ce38bacadd5 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -94,7 +94,7 @@ layer = ABOVE_WINDOW_LAYER w_class = ITEM_SIZE_NORMAL obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'WEST':{'x':32}, 'EAST':{'x':-32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "WEST":{"x":32}, "EAST":{"x":-32}}' abstract_type = /obj/structure/sign parts_type = /obj/item/sign parts_amount = 1 diff --git a/code/game/objects/structures/signs/bar_signs.dm b/code/game/objects/structures/signs/bar_signs.dm index 917bf4c3b05..51396fea7bb 100644 --- a/code/game/objects/structures/signs/bar_signs.dm +++ b/code/game/objects/structures/signs/bar_signs.dm @@ -5,7 +5,7 @@ //The sign is 64x32, so it needs two tiles. ;3 icon = 'icons/obj/signs/bar.dmi' //The bar sign always faces south - directional_offset = "{'NORTH':{'y':32}, 'SOUTH':{'y':32}, 'WEST':{'y':32}, 'EAST':{'y':32}}" + directional_offset = @'{"NORTH":{"y":32}, "SOUTH":{"y":32}, "WEST":{"y":32}, "EAST":{"y":32}}' abstract_type = /obj/structure/sign/double/maltesefalcon /obj/structure/sign/double/maltesefalcon/left diff --git a/code/game/objects/structures/signs/direction_signs.dm b/code/game/objects/structures/signs/direction_signs.dm index 77b10cf104c..1b331afc994 100644 --- a/code/game/objects/structures/signs/direction_signs.dm +++ b/code/game/objects/structures/signs/direction_signs.dm @@ -9,7 +9,7 @@ icon = 'icons/obj/signs/directions.dmi' icon_state = "direction" //Direction signs are always meant to face south! The arrow on the sign matches the direction it points to. - directional_offset = "{'NORTH':{'y':32}, 'SOUTH':{'y':32}, 'WEST':{'y':32}, 'EAST':{'y':32}}" + directional_offset = @'{"NORTH":{"y":32}, "SOUTH":{"y":32}, "WEST":{"y":32}, "EAST":{"y":32}}' /obj/structure/sign/directions/update_description() desc = "A direction sign, pointing out \the [name] is [global.dir_name(dir)]." diff --git a/code/game/objects/structures/signs/warning_signs.dm b/code/game/objects/structures/signs/warning_signs.dm index e11bafb614d..7165a62c8a0 100644 --- a/code/game/objects/structures/signs/warning_signs.dm +++ b/code/game/objects/structures/signs/warning_signs.dm @@ -8,7 +8,7 @@ desc = "You've been warned!" icon = 'icons/obj/signs/slim_warnings.dmi' icon_state = "securearea" - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'WEST':{'x':34}, 'EAST':{'x':-34}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "WEST":{"x":34}, "EAST":{"x":-34}}' /obj/structure/sign/warning/update_description() desc = "A warning sign which reads '[sanitize(name)]'." diff --git a/code/game/objects/structures/tables.dm b/code/game/objects/structures/tables.dm index 1d839db87bb..4306574ab20 100644 --- a/code/game/objects/structures/tables.dm +++ b/code/game/objects/structures/tables.dm @@ -271,7 +271,10 @@ /obj/structure/table/update_material_desc(override_desc) desc = initial(desc) if(reinf_material) - desc = "[desc] This one has a frame made from [material.solid_name] and \a [top_surface_noun] made from [reinf_material.solid_name]." + if(reinf_material == material) + desc = "[desc] This one has a frame and \a [top_surface_noun] made from [material.solid_name]." + else + desc = "[desc] This one has a frame made from [material.solid_name] and \a [top_surface_noun] made from [reinf_material.solid_name]." else if(material) desc = "[desc] This one has a frame made from [material.solid_name]." if(felted) diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm index b9c5cca488b..07d1f16441a 100644 --- a/code/game/objects/structures/target_stake.dm +++ b/code/game/objects/structures/target_stake.dm @@ -28,8 +28,8 @@ T.pixel_x = 0 T.pixel_y = 0 T.layer = ABOVE_OBJ_LAYER - events_repository.register(/decl/observ/moved, T, src, /atom/movable/proc/move_to_turf) - events_repository.register(/decl/observ/moved, src, T, /atom/movable/proc/move_to_turf) + events_repository.register(/decl/observ/moved, T, src, TYPE_PROC_REF(/atom/movable, move_to_turf)) + events_repository.register(/decl/observ/moved, src, T, TYPE_PROC_REF(/atom/movable, move_to_turf)) T.stake = src pinned_target = T else diff --git a/code/game/objects/structures/under_wardrobe.dm b/code/game/objects/structures/under_wardrobe.dm index c49e81e6844..ff844e19d4f 100644 --- a/code/game/objects/structures/under_wardrobe.dm +++ b/code/game/objects/structures/under_wardrobe.dm @@ -27,7 +27,7 @@ var/number_of_underwear = LAZYACCESS(amount_of_underwear_by_id_card, id) - 1 if(number_of_underwear) LAZYSET(amount_of_underwear_by_id_card, id, number_of_underwear) - events_repository.register(/decl/observ/destroyed, id, src, /obj/structure/undies_wardrobe/proc/remove_id_card) + events_repository.register(/decl/observ/destroyed, id, src, TYPE_PROC_REF(/obj/structure/undies_wardrobe, remove_id_card)) else remove_id_card(id) @@ -36,7 +36,7 @@ /obj/structure/undies_wardrobe/proc/remove_id_card(var/id_card) LAZYREMOVE(amount_of_underwear_by_id_card, id_card) - events_repository.unregister(/decl/observ/destroyed, id_card, src, /obj/structure/undies_wardrobe/proc/remove_id_card) + events_repository.unregister(/decl/observ/destroyed, id_card, src, TYPE_PROC_REF(/obj/structure/undies_wardrobe, remove_id_card)) /obj/structure/undies_wardrobe/attack_hand(var/mob/user) if(!human_who_can_use_underwear(user)) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index e35734d25ba..c9d7b701def 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -208,7 +208,7 @@ var/global/list/hygiene_props = list() icon_state = "urinal" density = FALSE anchored = TRUE - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED /obj/structure/hygiene/urinal/attackby(var/obj/item/I, var/mob/user) @@ -284,7 +284,7 @@ var/global/list/hygiene_props = list() /obj/effect/mist/Initialize() . = ..() if(. != INITIALIZE_HINT_QDEL) - addtimer(CALLBACK(src, /datum/proc/qdel_self), 25 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, qdel_self)), 25 SECONDS) /obj/structure/hygiene/shower/attackby(obj/item/I, var/mob/user) if(istype(I, /obj/item/scanner/gas)) diff --git a/code/game/turfs/exterior/exterior_wall.dm b/code/game/turfs/exterior/exterior_wall.dm index 856fe356cde..50a2538c158 100644 --- a/code/game/turfs/exterior/exterior_wall.dm +++ b/code/game/turfs/exterior/exterior_wall.dm @@ -3,6 +3,46 @@ ///List of all the /turf/exterior/wall that exists in the world on all z-levels var/global/list/natural_walls = list() +/obj/abstract/ramp_sculptor + name = "ramp sculptor" + icon_state = "x" + var/place_dir + +/obj/abstract/ramp_sculptor/south + icon_state = "arrow" + dir = SOUTH + place_dir = SOUTH + +/obj/abstract/ramp_sculptor/north + icon_state = "arrow" + dir = NORTH + place_dir = NORTH + +/obj/abstract/ramp_sculptor/east + icon_state = "arrow" + dir = EAST + place_dir = EAST + +/obj/abstract/ramp_sculptor/west + icon_state = "arrow" + dir = WEST + place_dir = WEST + +/obj/abstract/ramp_sculptor/Initialize() + ..() + var/turf/exterior/wall/ramp = get_turf(src) + if(istype(ramp) && !ramp.ramp_slope_direction) + if(!place_dir || !(place_dir in global.cardinal)) + for(var/checkdir in global.cardinal) + var/turf/neighbor = get_step(ramp, checkdir) + if(neighbor && neighbor.density) + place_dir = global.reverse_dir[checkdir] + break + if(place_dir) + dir = place_dir + ramp.make_ramp(null, place_dir) + return INITIALIZE_HINT_QDEL + /turf/exterior/wall name = "wall" icon = 'icons/turf/walls/_previews.dmi' @@ -13,6 +53,7 @@ var/global/list/natural_walls = list() blocks_air = TRUE turf_flags = TURF_FLAG_BACKGROUND | TURF_IS_HOLOMAP_OBSTACLE + var/ramp_slope_direction var/paint_color var/image/ore_overlay var/decl/material/reinf_material @@ -24,13 +65,99 @@ var/global/list/natural_walls = list() if(paint_color) to_chat(user, SPAN_NOTICE("It has been noticeably discoloured by the elements.")) +/turf/exterior/wall/AltClick(mob/user) + + if(user.Adjacent(src) && istype(user.get_active_hand(), /obj/item/pickaxe) && HasAbove(z)) + var/user_dir = get_dir(src, user) + if(!(user_dir in global.cardinal)) + to_chat(user, SPAN_WARNING("You must be standing at a cardinal angle to create a ramp.")) + return TRUE + + var/turf/exterior/wall/support = get_step(src, global.reverse_dir[user_dir]) + if(!istype(support) || support.ramp_slope_direction) + to_chat(user, SPAN_WARNING("You cannot cut a ramp into a wall with no additional walls behind it.")) + return TRUE + + var/obj/item/pickaxe/P = user.get_active_hand() + playsound(user, P.drill_sound, 20, 1) + to_chat(user, SPAN_NOTICE("You start [P.drill_verb] \the [src], forming it into a ramp.")) + if(do_after(user, round(P.digspeed*0.5), src) && !ramp_slope_direction) + to_chat(user, SPAN_NOTICE("You finish [P.drill_verb] \the [src] into a ramp.")) + make_ramp(user, user_dir) + return TRUE + + . = ..() + +/turf/proc/handle_ramp_dug_below(turf/exterior/wall/ramp) + if(simulated && !is_open()) + ChangeTurf(get_base_turf(z)) + +/turf/exterior/wall/proc/make_ramp(var/mob/user, var/new_slope, var/skip_icon_update = FALSE) + + ramp_slope_direction = new_slope + + var/old_ao = permit_ao + if(ramp_slope_direction) + drop_ore() + permit_ao = FALSE + blocks_air = FALSE + density = FALSE + opacity = FALSE + + // Pretend to be a normal floor turf under the ramp. + var/turf/exterior/under = floor_type + icon = initial(under.icon) + icon_state = initial(under.icon_state) + icon_edge_layer = initial(under.icon_edge_layer) + icon_edge_states = initial(under.icon_edge_states) + icon_has_corners = initial(under.icon_has_corners) + color = initial(under.color) + + decals = null + var/turf/ramp_above = GetAbove(src) + if(ramp_above) + ramp_above.handle_ramp_dug_below(src) + update_neighboring_ramps() + + else + permit_ao = initial(permit_ao) + blocks_air = initial(blocks_air) + density = initial(density) + color = initial(color) + set_opacity(!material || material.opacity >= 0.5) + + icon = 'icons/turf/walls/natural.dmi' + icon_state = "blank" + icon_edge_layer = initial(icon_edge_layer) + icon_edge_states = initial(icon_edge_states) + icon_has_corners = initial(icon_has_corners) + + if(!skip_icon_update) + for(var/turf/exterior/wall/neighbor in RANGE_TURFS(src, 1)) + neighbor.update_icon() + if(old_ao != permit_ao) + regenerate_ao() + +/turf/exterior/wall/proc/update_neighboring_ramps(destroying_self) + // Clear any ramps we were supporting. + for(var/turf/exterior/wall/neighbor in RANGE_TURFS(src, 1)) + if(!neighbor.ramp_slope_direction || neighbor == src) + continue + var/turf/exterior/wall/support = get_step(neighbor, global.reverse_dir[neighbor.ramp_slope_direction]) + if(!istype(support) || (destroying_self && support == src) || support.ramp_slope_direction) + neighbor.dismantle_wall(ramp_update = FALSE) // This will only occur on ramps, so no need to propagate to other ramps. + /turf/exterior/wall/Initialize(var/ml, var/materialtype, var/rmaterialtype) ..(ml, TRUE) // We update our own icon, no point doing it twice. - // Clear mapping icons. - icon = 'icons/turf/walls/solid.dmi' - icon_state = "blank" + // Clear mapped appearance. color = null + icon = 'icons/turf/walls/natural.dmi' + icon_state = "blank" + + // Init ramp state if needed. + if(ramp_slope_direction) + make_ramp(null, ramp_slope_direction, TRUE) // Init materials. material = SSmaterials.get_strata_material_type(src) @@ -46,13 +173,14 @@ var/global/list/natural_walls = list() reinf_material = rmaterialtype if(ispath(reinf_material, /decl/material)) reinf_material = GET_DECL(reinf_material) + . = INITIALIZE_HINT_LATELOAD /turf/exterior/wall/LateInitialize(var/ml) ..() update_material(!ml) spread_deposit() - if(floor_type && HasAbove(z)) + if(!ramp_slope_direction && floor_type && HasAbove(z)) var/turf/T = GetAbove(src) if(!istype(T, floor_type) && T.is_open()) T.ChangeTurf(floor_type, keep_air = TRUE) @@ -70,6 +198,8 @@ var/global/list/natural_walls = list() /turf/exterior/wall/Destroy() global.natural_walls -= src + if(!ramp_slope_direction) + update_neighboring_ramps(destroying_self = TRUE) . = ..() /turf/exterior/wall/proc/set_material(var/decl/material/newmaterial, var/decl/material/newrmaterial) @@ -101,29 +231,31 @@ var/global/list/natural_walls = list() /turf/exterior/wall/attackby(obj/item/W, mob/user, click_params) if(!user.check_dexterity(DEXTERITY_COMPLEX_TOOLS)) - return + return ..() - if(istype(W, /obj/item/depth_scanner)) - var/obj/item/depth_scanner/C = W - C.scan_atom(user, src) - return TRUE + if(!ramp_slope_direction) - if (istype(W, /obj/item/measuring_tape)) - var/obj/item/measuring_tape/P = W - user.visible_message(SPAN_NOTICE("\The [user] extends [P] towards [src]."),SPAN_NOTICE("You extend [P] towards [src].")) - if(do_after(user,10, src)) - to_chat(user, SPAN_NOTICE("\The [src] has been excavated to a depth of [excavation_level]cm.")) - return TRUE + if(istype(W, /obj/item/depth_scanner)) + var/obj/item/depth_scanner/C = W + C.scan_atom(user, src) + return TRUE - if(istype(W, /obj/item/pickaxe/xeno)) - return handle_xenoarch_tool_interaction(W, user) + if (istype(W, /obj/item/measuring_tape)) + var/obj/item/measuring_tape/P = W + user.visible_message(SPAN_NOTICE("\The [user] extends [P] towards [src]."),SPAN_NOTICE("You extend [P] towards [src].")) + if(do_after(user,10, src)) + to_chat(user, SPAN_NOTICE("\The [src] has been excavated to a depth of [excavation_level]cm.")) + return TRUE + + if(istype(W, /obj/item/pickaxe/xeno)) + return handle_xenoarch_tool_interaction(W, user) // Drill out natural walls. if(istype(W, /obj/item/pickaxe)) var/obj/item/pickaxe/P = W playsound(user, P.drill_sound, 20, 1) to_chat(user, SPAN_NOTICE("You start [P.drill_verb][destroy_artifacts(P, INFINITY)].")) - if(do_after(user, P.digspeed, src)) + if(do_after(user, (ramp_slope_direction ? round(P.digspeed*0.5) : P.digspeed), src)) to_chat(user, SPAN_NOTICE("You finish [P.drill_verb] \the [src].")) dismantle_wall() return TRUE @@ -166,21 +298,43 @@ var/global/list/natural_walls = list() var/turf/exterior/target_turf = get_step_resolving_mimic(src, direction) if(istype(target_turf)) target_turf.update_icon() - else - update_icon() + update_icon() /turf/exterior/wall/on_update_icon() - cut_overlays() - if(!istype(material)) return var/list/wall_connections = list() - for(var/direction in global.alldirs) - if(istype(get_step_resolving_mimic(src, direction), /turf/exterior/wall)) - wall_connections += direction - wall_connections = dirs_to_corner_states(wall_connections) + for(var/stepdir in global.alldirs) + + // Get the wall. + var/turf/exterior/wall/T = get_step_resolving_mimic(src, stepdir) + if(!istype(T)) + continue + + if(ramp_slope_direction) // We are a ramp. + // Adjacent ramps flowing in the same direction as us. + if(ramp_slope_direction == T.ramp_slope_direction) + wall_connections += stepdir + continue + // It's an adjacent non-ramp wall. + if(!T.ramp_slope_direction) + // It is behind us. + if(stepdir & global.reverse_dir[ramp_slope_direction]) + wall_connections += stepdir + continue + else // We are a wall. + // It is a wall. + if(!T.ramp_slope_direction) + wall_connections += stepdir + continue + // It's a ramp running away from us. + if(stepdir & T.ramp_slope_direction) + wall_connections += stepdir + continue + + var/list/corner_states = dirs_to_corner_states(wall_connections) var/material_icon_base = material.icon_base_natural || 'icons/turf/walls/natural.dmi' var/base_color = paint_color ? paint_color : material.color @@ -194,9 +348,43 @@ var/global/list/natural_walls = list() shine = clamp((material.reflectiveness * 0.01) * 255, 10, (0.6 * ReadHSV(RGBtoHSV(material.color))[3])) exterior_wall_shine_cache[shine_cache_key] = shine - icon = get_combined_wall_icon(wall_connections, null, material_icon_base, base_color, shine_value = shine) - icon_state = "" - color = null + var/new_icon + if(ramp_slope_direction) + + ..() // Draw the floor under us. + + var/turf/exterior/wall/neighbor = get_step(src, turn(ramp_slope_direction, -90)) + var/has_left_neighbor = istype(neighbor) && neighbor.ramp_slope_direction == ramp_slope_direction + neighbor = get_step(src, turn(ramp_slope_direction, 90)) + var/has_right_neighbor = istype(neighbor) && neighbor.ramp_slope_direction == ramp_slope_direction + + var/state = "ramp-single" + if(has_left_neighbor && has_right_neighbor) + state = "ramp-blend-full" + else if(has_left_neighbor) + state = "ramp-blend-left" + else if(has_right_neighbor) + state = "ramp-blend-right" + + var/image/I = image(material_icon_base, state, dir = ramp_slope_direction) + I.color = base_color + I.appearance_flags |= RESET_COLOR + add_overlay(I) + if(shine) + I = image(material_icon_base, "[state]-shine", dir = ramp_slope_direction) + I.appearance_flags |= RESET_ALPHA + I.alpha = shine + add_overlay(I) + + else + + new_icon = get_combined_wall_icon(corner_states, null, material_icon_base, base_color, shine_value = shine) + if(icon != new_icon) + icon = new_icon + if(icon_state != "") + icon_state = "" + if(color) + color = null if(ore_overlay) add_overlay(ore_overlay) @@ -205,35 +393,53 @@ var/global/list/natural_walls = list() if(archaeo_overlay) add_overlay(archaeo_overlay) -/turf/exterior/wall/proc/dismantle_wall(no_product = FALSE) - if(reinf_material?.ore_result_amount && !no_product) +/turf/exterior/wall/proc/drop_ore() + if(reinf_material?.ore_result_amount) pass_geodata_to(new /obj/item/stack/material/ore(src, reinf_material.ore_result_amount, reinf_material.type)) - if(prob(MAT_DROP_CHANCE) && !no_product) - pass_geodata_to(new /obj/item/stack/material/ore(src, 1, material.type)) + reinf_material = null + ore_overlay = null + update_material(FALSE) + if(prob(MAT_DROP_CHANCE) && !ramp_slope_direction && material) + pass_geodata_to(new /obj/item/stack/material/ore(src, material.ore_result_amount, material.type)) + +/turf/exterior/wall/proc/dismantle_wall(no_product = FALSE, ramp_update = TRUE) + + if(!no_product) + drop_ore() destroy_artifacts(null, INFINITY) + + if(ramp_update && !ramp_slope_direction) + ramp_slope_direction = NORTH // Temporary so we don't let any neighboring ramps use us as supports. + update_neighboring_ramps() + ramp_slope_direction = null + playsound(src, 'sound/items/Welder.ogg', 100, 1) - . = ChangeTurf(floor_type || get_base_turf_by_area(src)) - if(istype(., /turf/simulated/floor/asteroid)) + var/turf/new_turf = ChangeTurf(floor_type || get_base_turf_by_area(src)) + if(istype(new_turf, /turf/simulated/floor/asteroid)) var/turf/simulated/floor/asteroid/debris = . debris.overlay_detail = "asteroid[rand(0,9)]" debris.updateMineralOverlays(1) + return new_turf /turf/exterior/wall/proc/get_default_material() . = /decl/material/solid/stone/sandstone -/turf/exterior/wall/Bumped(AM) +/turf/exterior/wall/proc/pass_geodata_to(obj/O) + var/datum/extension/geological_data/ours = get_extension(src, /datum/extension/geological_data) + if(ours.geodata) + ours.geodata.UpdateNearbyArtifactInfo(src) + set_extension(O, /datum/extension/geological_data) + var/datum/extension/geological_data/newdata = get_extension(O, /datum/extension/geological_data) + if(newdata) + newdata.set_data(ours.geodata.get_copy()) + +/turf/exterior/wall/Bumped(var/atom/movable/AM) . = ..() - if(ismob(AM)) + if(!. && !ramp_slope_direction && ismob(AM)) var/mob/M = AM var/obj/item/pickaxe/held = M.get_active_hand() if(istype(held)) attackby(held, M) - -/turf/exterior/wall/proc/pass_geodata_to(obj/O) - var/datum/extension/geological_data/ours = get_extension(src, /datum/extension/geological_data) - ours.geodata.UpdateNearbyArtifactInfo(src) - set_extension(O, /datum/extension/geological_data) - var/datum/extension/geological_data/newdata = get_extension(O, /datum/extension/geological_data) - newdata.set_data(ours.geodata.get_copy()) + return TRUE #undef MAT_DROP_CHANCE \ No newline at end of file diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index efbf13bea35..2731f21dee6 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -30,12 +30,12 @@ wet_overlay = image('icons/effects/water.dmi',src,"wet_floor") overlays += wet_overlay - timer_id = addtimer(CALLBACK(src,/turf/simulated/proc/unwet_floor), 8 SECONDS, (TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_NO_HASH_WAIT|TIMER_OVERRIDE)) + timer_id = addtimer(CALLBACK(src, TYPE_PROC_REF(/turf/simulated, unwet_floor)), 8 SECONDS, (TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_NO_HASH_WAIT|TIMER_OVERRIDE)) /turf/simulated/proc/unwet_floor(var/check_very_wet = TRUE) if(check_very_wet && wet >= 2) wet-- - timer_id = addtimer(CALLBACK(src,/turf/simulated/proc/unwet_floor), 8 SECONDS, (TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_NO_HASH_WAIT|TIMER_OVERRIDE)) + timer_id = addtimer(CALLBACK(src, TYPE_PROC_REF(/turf/simulated, unwet_floor)), 8 SECONDS, (TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_NO_HASH_WAIT|TIMER_OVERRIDE)) return wet = 0 if(wet_overlay) diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm index 748eac0f5b4..b75170c71c8 100644 --- a/code/game/turfs/simulated/wall_icon.dm +++ b/code/game/turfs/simulated/wall_icon.dm @@ -125,14 +125,26 @@ var/material_icon_base = get_wall_icon() var/base_color = material.color + + var/new_icon + var/new_icon_state + var/new_color + if(!density) - icon = material_icon_base - icon_state = "fwall_open" - color = base_color + new_icon = material_icon_base + new_icon_state = "fwall_open" + new_color = base_color else - icon = get_combined_wall_icon(wall_connections, other_connections, material_icon_base, base_color, paint_color, stripe_color, (material.wall_flags & WALL_HAS_EDGES) && (stripe_color || base_color)) - icon_state = "" - color = null + new_icon = get_combined_wall_icon(wall_connections, other_connections, material_icon_base, base_color, paint_color, stripe_color, (material.wall_flags & WALL_HAS_EDGES) && (stripe_color || base_color)) + new_icon_state = "" + new_color = null + + if(icon != new_icon) + icon = new_icon + if(icon_state != new_icon_state) + icon_state = new_icon_state + if(color != new_color) + color = new_color if(apply_reinf_overlay()) var/image/I diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index de47a47ba32..29d376df442 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -27,7 +27,6 @@ var/global/list/wall_fullblend_objects = list( heat_capacity = 312500 //a little over 5 cm thick , 312500 for 1 m by 2.5 m by 0.25 m plasteel wall explosion_resistance = 10 color = COLOR_STEEL - atom_flags = ATOM_FLAG_CAN_BE_PAINTED turf_flags = TURF_IS_HOLOMAP_OBSTACLE var/damage = 0 @@ -67,7 +66,7 @@ var/global/list/wall_fullblend_objects = list( girder_material = GET_DECL(girder_material) . = INITIALIZE_HINT_LATELOAD - set_extension(src, /datum/extension/penetration/proc_call, .proc/CheckPenetration) + set_extension(src, /datum/extension/penetration/proc_call, PROC_REF(CheckPenetration)) START_PROCESSING(SSturf, src) //Used for radiation. /turf/simulated/wall/LateInitialize(var/ml) @@ -148,7 +147,7 @@ var/global/list/wall_fullblend_objects = list( plant.update_icon() plant.reset_offsets(0) -/turf/simulated/wall/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE) +/turf/simulated/wall/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE, var/keep_air_below = FALSE, var/update_open_turfs_above = TRUE) clear_plants() . = ..() @@ -274,7 +273,7 @@ var/global/list/wall_fullblend_objects = list( if(!QDELETED(src) && istype(material) && material.combustion_effect(src, temperature, 0.7)) for(var/turf/simulated/wall/W in range(3,src)) if(W != src) - addtimer(CALLBACK(W, /turf/simulated/wall/proc/burn, temperature/4), 2) + addtimer(CALLBACK(W, TYPE_PROC_REF(/turf/simulated/wall, burn), temperature/4), 2) dismantle_wall(TRUE) /turf/simulated/wall/get_color() diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index fde96995a2d..176e90b46ca 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -11,6 +11,8 @@ z_eventually_space = TRUE turf_flags = TURF_FLAG_BACKGROUND + open_turf_type = /turf/space + /// If we're an edge. var/edge = 0 /// Force this one to pretend it's an overedge turf. @@ -80,13 +82,14 @@ var/turf/T = src while ((T = GetAbove(T))) T.z_eventually_space = FALSE + return ..() /turf/space/LateInitialize() if(SSmapping.base_floor_area) var/area/new_area = locate(SSmapping.base_floor_area) || new SSmapping.base_floor_area ChangeArea(src, new_area) - ChangeTurf(SSmapping.base_floor_type) + ChangeTurf(SSmapping.base_floor_type, keep_air_below = TRUE) // override for space turfs, since they should never hide anything /turf/space/levelupdate() @@ -241,8 +244,8 @@ A.loc.Entered(A) return -/turf/space/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE) - return ..(N, tell_universe, TRUE, keep_air) +/turf/space/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE, var/keep_air_below = FALSE, var/update_open_turfs_above = TRUE) + return ..(N, tell_universe, TRUE, keep_air, keep_air_below, update_open_turfs_above) /turf/space/is_open() return TRUE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 1b77b1a5e47..eae3c37205d 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -36,7 +36,7 @@ var/fluid_blocked_dirs = 0 var/flooded // Whether or not this turf is absolutely flooded ie. a water source. var/footstep_type - var/open_turf_type // Which turf to use when this turf is destroyed or replaced in a multiz context. Overridden by area. + var/open_turf_type // Which open turf type to use by default above this turf in a multiz context. Overridden by area. var/tmp/changing_turf var/tmp/prev_type // Previous type of the turf, prior to turf translation. @@ -355,7 +355,7 @@ M.turf_collision(src, TT.speed) if(LAZYLEN(M.pinned)) return - addtimer(CALLBACK(src, /turf/proc/bounce_off, AM, TT.init_dir), 2) + addtimer(CALLBACK(src, TYPE_PROC_REF(/turf, bounce_off), AM, TT.init_dir), 2) else if(isobj(AM)) var/obj/structure/ladder/L = locate() in contents if(L) @@ -442,6 +442,29 @@ if(below) below.update_weather(new_weather) +// Updates turf participation in ZAS according to outside status. Must be called whenever the outside status of a turf may change. +/turf/proc/update_external_atmos_participation(overwrite_air = TRUE) + if(is_outside()) + if(zone && external_atmosphere_participation) + if(can_safely_remove_from_zone()) + #ifdef MULTIZAS + var/dirs = global.cardinalz + #else + var/dirs = global.cardinal + #endif + zone.remove(src) + // Update neighbors to create edges between zones and exterior + for(var/dir in dirs) + var/turf/neighbor = get_step(src, dir) + SSair.mark_for_update(neighbor) + else + zone.rebuild() + else if(zone_membership_candidate) + // Set the turf's air to the external atmosphere to add to its new zone. + if(overwrite_air) + air = get_external_air(FALSE) + SSair.mark_for_update(src) + /turf/proc/is_outside() // Can't rain inside or through solid walls. @@ -463,7 +486,7 @@ // If we are in a multiz volume and not already inside, we return // the outside value of the highest unenclosed turf in the stack. - if((. != OUTSIDE_NO) && HasAbove(z)) + if(HasAbove(z)) . = OUTSIDE_YES // assume for the moment we're unroofed until we learn otherwise. var/turf/top_of_stack = src while(HasAbove(top_of_stack.z)) @@ -485,14 +508,7 @@ SSambience.queued += src last_outside_check = OUTSIDE_UNCERTAIN - if(is_outside()) - if(zone && external_atmosphere_participation) - if(can_safely_remove_from_zone()) - zone.remove(src) - else - zone.rebuild() - else if(zone_membership_candidate) - SSair.mark_for_update(src) + update_external_atmos_participation() if(!HasBelow(z)) return TRUE @@ -596,3 +612,26 @@ /turf/proc/dig_pit() return can_dig_pit() && new /obj/structure/pit(src) + +// Largely copied from stairs. +/turf/proc/can_move_up_ramp(atom/movable/AM, turf/above_wall, turf/under_atom, turf/above_atom) + if(!istype(AM) || !istype(above_wall) || !istype(under_atom) || !istype(above_atom)) + return FALSE + return under_atom.CanZPass(AM, UP) && above_atom.CanZPass(AM, DOWN) && above_wall.Enter(AM) + +/turf/Bumped(var/atom/movable/AM) + if(!istype(AM) || !HasAbove(z)) + return ..() + var/turf/exterior/wall/slope = AM.loc + if(!istype(slope) || !slope.ramp_slope_direction || get_dir(src, slope) != slope.ramp_slope_direction) + return ..() + var/turf/above_wall = GetAbove(src) + if(can_move_up_ramp(AM, above_wall, get_turf(AM), GetAbove(AM))) + AM.forceMove(above_wall) + if(isliving(AM)) + var/mob/living/L = AM + for(var/obj/item/grab/G in L.get_active_grabs()) + G.affecting.forceMove(above_wall) + else + to_chat(AM, SPAN_WARNING("Something blocks the path.")) + return TRUE diff --git a/code/game/turfs/turf_changing.dm b/code/game/turfs/turf_changing.dm index 6d4a385f8e8..6cab56ac288 100644 --- a/code/game/turfs/turf_changing.dm +++ b/code/game/turfs/turf_changing.dm @@ -22,7 +22,22 @@ SHOULD_CALL_PARENT(FALSE) . = TRUE -/turf/proc/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE) +// Updates open turfs above this one to use its open_turf_type +/turf/proc/update_open_above(var/restrict_type, var/respect_area = TRUE) + if(!HasAbove(src.z)) + return + var/turf/above = src + while ((above = GetAbove(above))) + if(!above.is_open()) + break + if(!restrict_type || istype(above, restrict_type)) + if(respect_area) + var/area/A = get_area(above) + above.ChangeTurf(A?.open_turf || open_turf_type, update_open_turfs_above = FALSE) + else + above.ChangeTurf(open_turf_type, update_open_turfs_above = FALSE) + +/turf/proc/ChangeTurf(var/turf/N, var/tell_universe = TRUE, var/force_lighting_update = FALSE, var/keep_air = FALSE, var/keep_air_below = FALSE, var/update_open_turfs_above = TRUE) if (!N) return @@ -51,6 +66,7 @@ var/old_flooded = flooded var/old_outside = is_outside var/old_is_open = is_open() + var/old_open_turf_type = open_turf_type var/old_affecting_heat_sources = affecting_heat_sources var/old_ambience = ambient_light @@ -129,8 +145,21 @@ W.last_outside_check = OUTSIDE_UNCERTAIN if(W.is_outside != old_outside) W.set_outside(old_outside, skip_weather_update = TRUE) + + var/turf/below = GetBelow(src) + if(below) + below.last_outside_check = OUTSIDE_UNCERTAIN + + // If the turf is at the top of the Z-stack and changed its outside status, or if it's changed its open status, let the turf below check if + // it should change its ZAS participation + if((!HasAbove(z) && (W.is_outside != old_outside)) || W.is_open() != old_is_open) + below.update_external_atmos_participation(!keep_air_below) + W.update_weather(force_update_below = W.is_open() != old_is_open) + if(update_open_turfs_above) + update_open_above(old_open_turf_type) + /turf/proc/transport_properties_from(turf/other) if(other.zone) if(!air) @@ -168,7 +197,7 @@ stripe_color = other.stripe_color material = other.material - reinf_material = other.material + reinf_material = other.reinf_material girder_material = other.girder_material floor_type = other.floor_type diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm index baa0e3da4b9..18f3eede702 100644 --- a/code/game/verbs/who.dm +++ b/code/game/verbs/who.dm @@ -104,7 +104,7 @@ else msg += line - if(config.admin_irc) + if(get_config_value(/decl/config/text/admin_irc)) to_chat(src, "Adminhelps are also sent to IRC. If no admins are available in game try anyway and an admin on IRC may see it and respond.") to_chat(src, "Current Staff ([active_staff]/[total_staff]):") to_chat(src, jointext(msg,"\n")) diff --git a/code/game/world.dm b/code/game/world.dm index 53f928c044b..d1ab093adf0 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -72,17 +72,14 @@ GLOBAL_PROTECTED_UNTYPED(game_id, null) /world/New() //set window title - name = "[config.server_name] - [global.using_map.full_name]" + + name = "[get_config_value(/decl/config/text/server_name) || "Nebula Station 13"] - [global.using_map.full_name]" //logs SetupLogs() changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently - if(config && config.server_name != null && config.server_suffix && world.port > 0) - // dumb and hardcoded but I don't care~ - config.server_name += " #[(world.port % 1000) / 100]" - if(byond_version < REQUIRED_DM_VERSION) to_world_log("Your server's BYOND version does not meet the minimum DM version for this server. Please update BYOND.") @@ -95,7 +92,6 @@ GLOBAL_PROTECTED_UNTYPED(game_id, null) #ifdef UNIT_TEST log_unit_test("Unit Tests Enabled. This will destroy the world when testing is complete.") - load_unit_test_changes() #endif Master.Initialize(10, FALSE) @@ -106,7 +102,7 @@ var/global/world_topic_last = world.timeofday var/list/throttle = global.world_topic_throttle[addr] if (!global.world_topic_throttle[addr]) global.world_topic_throttle[addr] = throttle = list(0, null) - else if ((!config.no_throttle_localhost || !global.localhost_addresses[addr]) && throttle[1] && throttle[1] > world.timeofday + 15 SECONDS) + else if ((!get_config_value(/decl/config/toggle/no_throttle_localhost) || !global.localhost_addresses[addr]) && throttle[1] && throttle[1] > world.timeofday + 15 SECONDS) return throttle[2] ? "Throttled ([throttle[2]])" : "Throttled" throttle[1] = max(throttle[1], world.timeofday) + time @@ -137,11 +133,12 @@ var/global/world_topic_last = world.timeofday Master.Shutdown() - if(config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite + var/serverurl = get_config_value(/decl/config/text/server) + if(serverurl) //if you set a server location in configuration, it sends you there instead of trying to reconnect to the same world address. -- NeoFite for(var/client/C in global.clients) - to_chat(C, link("byond://[config.server]")) + to_chat(C, link("byond://[serverurl]")) - if(config.wait_for_sigusr1_reboot && reason != 3) + if(get_config_value(/decl/config/toggle/wait_for_sigusr1_reboot) && reason != 3) text2file("foo", "reboot_called") to_world("World reboot waiting for external scripts. Please be patient.") return @@ -183,19 +180,12 @@ var/global/world_topic_last = world.timeofday /world/proc/load_motd() join_motd = safe_file2text("config/motd.txt", FALSE) -/proc/load_configuration() - config = new /datum/configuration() - config.load("config/config.txt") - config.load("config/game_options.txt","game_options") - config.loadsql("config/dbconfig.txt") - config.load_event("config/custom_event.txt") - /hook/startup/proc/loadMods() world.load_mods() return 1 /world/proc/load_mods() - if(config.admin_legacy_system) + if(get_config_value(/decl/config/toggle/on/admin_legacy_system)) var/text = safe_file2text("config/moderators.txt", FALSE) if (!text) error("Failed to load config/mods.txt") @@ -218,11 +208,13 @@ var/global/world_topic_last = world.timeofday /world/proc/update_status() var/s = "[station_name()]" - if(config && config.discordurl) - s += " (Discord)" + var/discordurl = get_config_value(/decl/config/text/discordurl) + if(discordurl) + s += " (Discord)" - if(config && config.server_name) - s = "[config.server_name] — [s]" + var/config_server_name = get_config_value(/decl/config/text/server_name) + if(config_server_name) + s = "[config_server_name] — [s]" var/list/features = list() @@ -231,15 +223,15 @@ var/global/world_topic_last = world.timeofday else features += "STARTING" - if (!config.enter_allowed) + if (!get_config_value(/decl/config/toggle/on/enter_allowed)) features += "closed" - features += config.abandon_allowed ? "respawn" : "no respawn" + features += get_config_value(/decl/config/toggle/on/abandon_allowed) ? "respawn" : "no respawn" - if (config && config.allow_vote_mode) + if (get_config_value(/decl/config/toggle/vote_mode)) features += "vote" - if (config && config.allow_ai) + if (get_config_value(/decl/config/toggle/on/allow_ai)) features += "AI allowed" var/n = 0 @@ -253,8 +245,9 @@ var/global/world_topic_last = world.timeofday features += "~[n] player" - if (config && config.hostedby) - features += "hosted by [config.hostedby]" + var/hosted_by = get_config_value(/decl/config/text/hosted_by) + if (hosted_by) + features += "hosted by [hosted_by]" if (features) s += ": [jointext(features, ", ")]" @@ -277,7 +270,7 @@ var/global/world_topic_last = world.timeofday diary = file("[global.log_directory]/main.log") // This is the primary log, containing attack, admin, and game logs. to_file(diary, "[log_end]\n[log_end]\nStarting up. (ID: [game_id]) [time2text(world.timeofday, "hh:mm.ss")][log_end]\n---------------------[log_end]") - if(config && config.log_runtime) + if(get_config_value(/decl/config/toggle/log_runtime)) var/runtime_log = file("[global.log_directory]/runtime.log") to_file(runtime_log, "Game [game_id] starting up at [time2text(world.timeofday, "hh:mm.ss")]") log = runtime_log // runtimes and some other output is logged directly to world.log, which is redirected here. diff --git a/code/game/world_topic_commands.dm b/code/game/world_topic_commands.dm index a5d4adc28dc..b0cb23613b4 100644 --- a/code/game/world_topic_commands.dm +++ b/code/game/world_topic_commands.dm @@ -44,10 +44,11 @@ var/global/list/decl/topic_command/topic_commands = list() if (!can_use(T, addr, master, key)) return FALSE var/list/params = params2list(T) - if (!config.comms_password) + var/comms_password = get_config_value(/decl/config/text/comms_password) + if (!comms_password) set_throttle(addr, 10 SECONDS, "Comms Not Enabled") return "Not Enabled" - if (params["key"] != config.comms_password) + if (params["key"] != comms_password) set_throttle(addr, 30 SECONDS, "Bad Comms Key") return "Bad Key" return use(params) @@ -79,12 +80,12 @@ var/global/list/decl/topic_command/topic_commands = list() /decl/topic_command/status/use(var/list/params) var/list/s = list() s["version"] = game_version - s["mode"] = PUBLIC_GAME_MODE - s["respawn"] = config.abandon_allowed - s["enter"] = config.enter_allowed - s["vote"] = config.allow_vote_mode - s["ai"] = !!length(empty_playable_ai_cores) - s["host"] = host || null + s["mode"] = PUBLIC_GAME_MODE + s["respawn"] = get_config_value(/decl/config/toggle/on/abandon_allowed) + s["enter"] = get_config_value(/decl/config/toggle/on/enter_allowed) + s["vote"] = get_config_value(/decl/config/toggle/vote_mode) + s["ai"] = !!length(empty_playable_ai_cores) + s["host"] = host || null // This is dumb, but spacestation13.com's banners break if player count isn't the 8th field of the reply, so... this has to go here. s["players"] = 0 @@ -167,10 +168,11 @@ var/global/list/decl/topic_command/topic_commands = list() if (!can_use(T, addr, master, key)) return FALSE var/list/params = params2list(T) - if(!config.ban_comms_password) + var/ban_comms_password = get_config_value(/decl/config/text/ban_comms_password) + if(!ban_comms_password) set_throttle(addr, 10 SECONDS, "Bans Not Enabled") return "Not Enabled" - if(params["bankey"] != config.ban_comms_password) + if(params["bankey"] != ban_comms_password) set_throttle(addr, 30 SECONDS, "Bad Bans Key") return "Bad Key" return use(params) diff --git a/code/hub.dm b/code/hub.dm index d7b884d57e8..7749a33fd9d 100644 --- a/code/hub.dm +++ b/code/hub.dm @@ -1,5 +1,3 @@ -var/global/visibility_pref = FALSE - /world /* This page contains info for the hub. To allow your server to be visible on the hub, update the entry in the config. * You can also toggle visibility from in-game with toggle-hub-visibility; be aware that it takes a few minutes for the hub go @@ -8,5 +6,7 @@ var/global/visibility_pref = FALSE name = "Space Station 13 - Nebula13" /world/proc/update_hub_visibility() - global.visibility_pref = !global.visibility_pref - hub_password = global.visibility_pref ? "kMZy3U5jJHSiBQjr" : "SORRYNOPASSWORD" + if(get_config_value(/decl/config/toggle/hub_visibility)) + hub_password = "kMZy3U5jJHSiBQjr" + else + hub_password = "SORRYNOPASSWORD" diff --git a/code/modules/ZAS/ConnectionGroup.dm b/code/modules/ZAS/ConnectionGroup.dm index fc98d50f419..51502dbe002 100644 --- a/code/modules/ZAS/ConnectionGroup.dm +++ b/code/modules/ZAS/ConnectionGroup.dm @@ -55,6 +55,10 @@ Class Procs: Helper proc that allows getting the other zone of an edge given one of them. Only on /connection_edge/zone, otherwise use A. + update_post_merge() + Called after the edge's owner is merged into another zone. + Marks the relevant connecting turfs for update. + */ @@ -114,6 +118,10 @@ Class Procs: //If they're already being tossed, don't do it again. M.handle_airflow(differential, connecting_turfs, repelled) +/connection_edge/proc/update_post_merge() + for(var/turf/T in connecting_turfs) + SSair.mark_for_update(T) + /connection_edge/zone/var/zone/B /connection_edge/zone/New(zone/A, zone/B) @@ -189,6 +197,7 @@ Class Procs: /connection_edge/unsimulated/var/turf/B /connection_edge/unsimulated/var/datum/gas_mixture/air +/connection_edge/unsimulated/var/list/inner_turfs = list() /connection_edge/unsimulated/New(zone/A, turf/B) src.A = A @@ -204,10 +213,12 @@ Class Procs: /connection_edge/unsimulated/add_connection(connection/c) . = ..() connecting_turfs.Add(c.B) + inner_turfs |= c.A air.group_multiplier = coefficient /connection_edge/unsimulated/remove_connection(connection/c) connecting_turfs.Remove(c.B) + inner_turfs.Remove(c.A) air.group_multiplier = coefficient . = ..() @@ -242,6 +253,10 @@ Class Procs: if(!A.air.compare(air, vacuum_exception = 1)) SSair.mark_edge_active(src) +/connection_edge/unsimulated/update_post_merge() + for(var/turf/T in inner_turfs) + SSair.mark_for_update(T) + /proc/ShareHeat(datum/gas_mixture/A, datum/gas_mixture/B, connecting_tiles) //This implements a simplistic version of the Stefan-Boltzmann law. var/energy_delta = ((A.temperature - B.temperature) ** 4) * STEFAN_BOLTZMANN_CONSTANT * connecting_tiles * 2.5 diff --git a/code/modules/ZAS/Contaminants.dm b/code/modules/ZAS/Contaminants.dm index e428d1c5fb8..362f59c1fef 100644 --- a/code/modules/ZAS/Contaminants.dm +++ b/code/modules/ZAS/Contaminants.dm @@ -114,13 +114,14 @@ var/global/image/contamination_overlay = image('icons/effects/contamination.dmi' /mob/living/carbon/human/proc/contaminant_head_protected() //Checks if the head is adequately sealed. var/obj/item/head = get_equipped_item(slot_head_str) - if(head) - if(vsc.contaminant_control.STRICT_PROTECTION_ONLY) - if(head.item_flags & ITEM_FLAG_NO_CONTAMINATION) - return 1 - else if(head.body_parts_covered & SLOT_EYES) - return 1 - return 0 + if(!head) + return FALSE + // If strict protection is on, you must have a head item with ITEM_FLAG_NO_CONTAMINATION. + if(vsc.contaminant_control.STRICT_PROTECTION_ONLY) + if(!(head.item_flags & ITEM_FLAG_NO_CONTAMINATION)) + return FALSE + // Regardless, the head item must cover the face and head. Eyes are checked seperately above. + return BIT_TEST_ALL(head.body_parts_covered, SLOT_HEAD|SLOT_FACE) /mob/living/carbon/human/proc/contaminant_suit_protected() //Checks if the suit is adequately sealed. @@ -130,11 +131,11 @@ var/global/image/contamination_overlay = image('icons/effects/contamination.dmi' if(!istype(protection)) continue if(vsc.contaminant_control.STRICT_PROTECTION_ONLY && !(protection.item_flags & ITEM_FLAG_NO_CONTAMINATION)) - return 0 + return FALSE coverage |= protection.body_parts_covered if(vsc.contaminant_control.STRICT_PROTECTION_ONLY) - return 1 + return TRUE return BIT_TEST_ALL(coverage, SLOT_UPPER_BODY|SLOT_LOWER_BODY|SLOT_LEGS|SLOT_FEET|SLOT_ARMS|SLOT_HANDS) diff --git a/code/modules/ZAS/Turf.dm b/code/modules/ZAS/Turf.dm index bdcfb07f0f2..b9ceac69dad 100644 --- a/code/modules/ZAS/Turf.dm +++ b/code/modules/ZAS/Turf.dm @@ -223,22 +223,13 @@ // Exterior turf global atmosphere if((!air && isnull(initial_gas)) || (external_atmosphere_participation && is_outside())) - var/datum/level_data/level = SSmapping.levels_by_z[z] - var/datum/gas_mixture/gas = level.get_exterior_atmosphere() - var/initial_temperature = weather ? weather.adjust_temperature(gas.temperature) : gas.temperature - if(length(affecting_heat_sources)) - for(var/obj/structure/fire_source/heat_source as anything in affecting_heat_sources) - gas.temperature = gas.temperature + heat_source.exterior_temperature / max(1, get_dist(src, get_turf(heat_source))) - if(abs(gas.temperature - initial_temperature) >= 100) - break - return gas + return get_external_air() // Base behavior - . = air - if(!.) - . = make_air() - if(zone) - c_copy_air() + . = air || make_air() + if(zone) + c_copy_air() + zone = null /turf/remove_air(amount as num) var/datum/gas_mixture/GM = return_air() @@ -262,6 +253,21 @@ air.update_values() return air +// Returns the external air if this turf is outside, modified by weather and heat sources. Outside checks do not occur in this proc! +/turf/proc/get_external_air(include_heat_sources = TRUE) + var/datum/level_data/level = SSmapping.levels_by_z[z] + var/datum/gas_mixture/gas = level.get_exterior_atmosphere() + if(!include_heat_sources) + return gas + + var/initial_temperature = weather ? weather.adjust_temperature(gas.temperature) : gas.temperature + if(length(affecting_heat_sources)) + for(var/obj/structure/fire_source/heat_source as anything in affecting_heat_sources) + gas.temperature = gas.temperature + heat_source.exterior_temperature / max(1, get_dist(src, get_turf(heat_source))) + if(abs(gas.temperature - initial_temperature) >= 100) + break + return gas + /turf/proc/c_copy_air() if(!air) air = new/datum/gas_mixture diff --git a/code/modules/ZAS/Zone.dm b/code/modules/ZAS/Zone.dm index f8d858c9df7..4a55772a48f 100644 --- a/code/modules/ZAS/Zone.dm +++ b/code/modules/ZAS/Zone.dm @@ -84,6 +84,7 @@ Class Procs: ASSERT(T.zone == src) soft_assert(T in contents, "Lists are weird broseph") #endif + T.c_copy_air() // to avoid losing contents contents.Remove(T) fire_tiles.Remove(T) T.zone = null @@ -114,8 +115,7 @@ Class Procs: for(var/connection_edge/E in edges) if(E.contains_zone(into)) continue //don't need to rebuild this edge - for(var/turf/T in E.connecting_turfs) - SSair.mark_for_update(T) + E.update_post_merge() /zone/proc/c_invalidate() invalid = 1 diff --git a/code/modules/acting/acting_items.dm b/code/modules/acting/acting_items.dm index 09716bfcb86..672e773675a 100644 --- a/code/modules/acting/acting_items.dm +++ b/code/modules/acting/acting_items.dm @@ -12,7 +12,7 @@ user.show_message("You push a button and watch patiently as the machine begins to hum.") if(active) active = FALSE - addtimer(CALLBACK(src, .proc/dispense), 3 SECONDS) + addtimer(CALLBACK(src, PROC_REF(dispense)), 3 SECONDS) return TRUE /obj/machinery/acting/wardrobe/proc/dispense() diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index 686443a1b04..a780eadc0f5 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -15,7 +15,7 @@ return ..() //Guest Checking - if(!config.guests_allowed && IsGuestKey(key)) + if(!get_config_value(/decl/config/toggle/guests_allowed) && IsGuestKey(key)) log_access("Failed Login: [key] - Guests not allowed") message_admins("Failed Login: [key] - Guests not allowed") key_cache[key] = 0 @@ -27,7 +27,7 @@ key_cache[key] = 0 return - if(config.ban_legacy_system) + if(get_config_value(/decl/config/toggle/on/ban_legacy_system)) //Ban Checking . = CheckBan(ckeytext, computer_id, address) diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm index c3d514be9a3..7f4ea462f4a 100644 --- a/code/modules/admin/NewBan.dm +++ b/code/modules/admin/NewBan.dm @@ -10,8 +10,9 @@ var/global/savefile/Banlist . = list() var/appeal - if(config && config.banappeals) - appeal = "\nFor more information on your ban, or to appeal, head to [config.banappeals]" + var/appealurl = get_config_value(/decl/config/text/banappeals) + if(appealurl) + appeal = "\nFor more information on your ban, or to appeal, head to [appealurl]" Banlist.cd = "/base" if( "[ckey][id]" in Banlist.dir ) Banlist.cd = "[ckey][id]" diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 94094e16aaf..efd56eae900 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -721,12 +721,9 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Globally Toggles OOC" set name="Toggle OOC" - if(!check_rights(R_ADMIN)) return - - config.ooc_allowed = !(config.ooc_allowed) - if (config.ooc_allowed) + if (toggle_config_value(/decl/config/toggle/on/ooc_allowed)) to_world("The OOC channel has been globally enabled!") else to_world("The OOC channel has been globally disabled!") @@ -737,12 +734,9 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Globally Toggles AOOC" set name="Toggle AOOC" - if(!check_rights(R_ADMIN)) return - - config.aooc_allowed = !(config.aooc_allowed) - if (config.aooc_allowed) + if (toggle_config_value(/decl/config/toggle/on/aooc_allowed)) communicate_broadcast(/decl/communication_channel/aooc, "The AOOC channel has been globally enabled!", TRUE) else communicate_broadcast(/decl/communication_channel/aooc, "The AOOC channel has been globally disabled!", TRUE) @@ -756,9 +750,7 @@ var/global/floorIsLava = 0 if(!check_rights(R_ADMIN)) return - - config.looc_allowed = !(config.looc_allowed) - if (config.looc_allowed) + if (toggle_config_value(/decl/config/toggle/on/looc_allowed)) to_world("The LOOC channel has been globally enabled!") else to_world("The LOOC channel has been globally disabled!") @@ -773,9 +765,7 @@ var/global/floorIsLava = 0 if(!check_rights(R_ADMIN)) return - - config.dsay_allowed = !(config.dsay_allowed) - if (config.dsay_allowed) + if (toggle_config_value(/decl/config/toggle/on/dsay_allowed)) to_world("Deadchat has been globally enabled!") else to_world("Deadchat has been globally disabled!") @@ -786,11 +776,9 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Toggle Dead OOC." set name="Toggle Dead OOC" - if(!check_rights(R_ADMIN)) return - - config.dooc_allowed = !( config.dooc_allowed ) + toggle_config_value(/decl/config/toggle/on/dooc_allowed) log_admin("[key_name(usr)] toggled Dead OOC.") message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1) SSstatistics.add_field_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -804,9 +792,10 @@ var/global/floorIsLava = 0 return //BYOND hates actually changing world.visibility at runtime, so let's just change if we give it the hub password. - world.update_hub_visibility() //proc defined in hub.dm - var/long_message = "toggled hub visibility. The server is now [global.visibility_pref ? "visible" : "invisible"] ([global.visibility_pref])." - if (global.visibility_pref && !world.reachable) + toggle_config_value(/decl/config/toggle/hub_visibility) + var/new_vis = get_config_value(/decl/config/toggle/hub_visibility) + var/long_message = "toggled hub visibility. The server is now [new_vis ? "visible" : "invisible"]." + if (new_vis && !world.reachable) message_admins("WARNING: The server will not show up on the hub because byond is detecting that a firewall is blocking incoming connections.") send2adminirc("[key_name(src)]" + long_message) @@ -817,9 +806,12 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Toggle traitor scaling" set name="Toggle Traitor Scaling" - config.traitor_scaling = !config.traitor_scaling - log_admin("[key_name(usr)] toggled Traitor Scaling to [config.traitor_scaling].") - message_admins("[key_name_admin(usr)] toggled Traitor Scaling [config.traitor_scaling ? "on" : "off"].", 1) + if(toggle_config_value(/decl/config/toggle/traitor_scaling)) + log_admin("[key_name(usr)] toggled Traitor Scaling to on.") + message_admins("[key_name_admin(usr)] toggled Traitor Scaling on.", 1) + else + log_admin("[key_name(usr)] toggled Traitor Scaling to off.") + message_admins("[key_name_admin(usr)] toggled Traitor Scaling off.", 1) SSstatistics.add_field_details("admin_verb","TTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/startnow() @@ -858,7 +850,7 @@ var/global/floorIsLava = 0 if(confirm == "Yes") Master.SetRunLevel(RUNLEVEL_POSTGAME) SSticker.end_game_state = END_GAME_READY_TO_END - INVOKE_ASYNC(SSticker, /datum/controller/subsystem/ticker/proc/declare_completion) + INVOKE_ASYNC(SSticker, TYPE_PROC_REF(/datum/controller/subsystem/ticker, declare_completion)) log_and_message_admins("initiated a game ending.") to_world("Game ending! Initiated by [usr.key]!") SSstatistics.add_field("admin_verb","ER") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -867,11 +859,10 @@ var/global/floorIsLava = 0 set category = "Server" set desc="People can't enter" set name="Toggle Entering" - config.enter_allowed = !(config.enter_allowed) - if (!(config.enter_allowed)) - to_world("New players may no longer enter the game.") - else + if (toggle_config_value(/decl/config/toggle/on/enter_allowed)) to_world("New players may now enter the game.") + else + to_world("New players may no longer enter the game.") log_and_message_admins("toggled new player game entering.") world.update_status() SSstatistics.add_field_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -880,11 +871,11 @@ var/global/floorIsLava = 0 set category = "Server" set desc="People can't be AI" set name="Toggle AI" - config.allow_ai = !( config.allow_ai ) - if (!( config.allow_ai )) - to_world("The AI job is no longer chooseable.") - else + + if (toggle_config_value(/decl/config/toggle/on/allow_ai)) to_world("The AI job is chooseable now.") + else + to_world("The AI job is no longer chooseable.") log_admin("[key_name(usr)] toggled AI allowed.") world.update_status() SSstatistics.add_field_details("admin_verb","TAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -893,12 +884,12 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Respawn basically" set name="Toggle Respawn" - config.abandon_allowed = !(config.abandon_allowed) - if(config.abandon_allowed) + if (toggle_config_value(/decl/config/toggle/on/abandon_allowed)) to_world("You may now respawn.") + log_and_message_admins("toggled respawn to On.") else to_world("You may no longer respawn :(") - log_and_message_admins("toggled respawn to [config.abandon_allowed ? "On" : "Off"].") + log_and_message_admins("toggled respawn to Off.") world.update_status() SSstatistics.add_field_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -908,10 +899,12 @@ var/global/floorIsLava = 0 set name="Toggle Aliens" if(!check_rights(R_ADMIN)) return - - config.aliens_allowed = !config.aliens_allowed - log_admin("[key_name(usr)] toggled Aliens to [config.aliens_allowed].") - message_admins("[key_name_admin(usr)] toggled Aliens [config.aliens_allowed ? "on" : "off"].", 1) + if(toggle_config_value(/decl/config/toggle/aliens_allowed)) + log_admin("[key_name(usr)] toggled Aliens to On.") + message_admins("[key_name_admin(usr)] toggled Aliens on.", 1) + else + log_admin("[key_name(usr)] toggled Aliens to Off.") + message_admins("[key_name_admin(usr)] toggled Aliens off.", 1) SSstatistics.add_field_details("admin_verb","TA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/toggle_space_ninja() @@ -920,9 +913,8 @@ var/global/floorIsLava = 0 set name="Toggle Space Ninjas" if(!check_rights(R_ADMIN)) return - - config.ninjas_allowed = !config.ninjas_allowed - log_and_message_admins("toggled Space Ninjas [config.ninjas_allowed ? "on" : "off"].") + toggle_config_value(/decl/config/toggle/ninjas_allowed) + log_and_message_admins("toggled Space Ninjas [get_config_value(/decl/config/toggle/ninjas_allowed) ? "on" : "off"].") SSstatistics.add_field_details("admin_verb","TSN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/delay() @@ -948,24 +940,24 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Toggle admin jumping" set name="Toggle Jump" - config.allow_admin_jump = !(config.allow_admin_jump) - log_and_message_admins("toggled admin jumping to [config.allow_admin_jump].") + toggle_config_value(/decl/config/toggle/on/admin_jump) + log_and_message_admins("toggled admin jumping to [get_config_value(/decl/config/toggle/on/admin_jump)].") SSstatistics.add_field_details("admin_verb","TJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adspawn() set category = "Server" set desc="Toggle admin spawning" set name="Toggle Spawn" - config.allow_admin_spawning = !(config.allow_admin_spawning) - log_and_message_admins("toggled admin item spawning to [config.allow_admin_spawning].") + toggle_config_value(/decl/config/toggle/on/admin_spawning) + log_and_message_admins("toggled admin item spawning to [get_config_value(/decl/config/toggle/on/admin_spawning)].") SSstatistics.add_field_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adrev() set category = "Server" set desc="Toggle admin revives" set name="Toggle Revive" - config.allow_admin_rev = !(config.allow_admin_rev) - log_and_message_admins("toggled reviving to [config.allow_admin_rev].") + toggle_config_value(/decl/config/toggle/on/admin_revive) + log_and_message_admins("toggled reviving to [get_config_value(/decl/config/toggle/on/admin_revive)].") SSstatistics.add_field_details("admin_verb","TAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/immreboot() @@ -987,7 +979,7 @@ var/global/floorIsLava = 0 set category = "Admin" set name = "Unprison" if (isAdminLevel(M.z)) - if (config.allow_admin_jump) + if (get_config_value(/decl/config/toggle/on/admin_jump)) M.forceMove(get_random_spawn_turf(SPAWN_FLAG_PRISONERS_CAN_SPAWN)) message_admins("[key_name_admin(usr)] has unprisoned [key_name_admin(M)]", 1) log_admin("[key_name(usr)] has unprisoned [key_name(M)]") @@ -1144,7 +1136,9 @@ var/global/floorIsLava = 0 for(var/path in subtypesof(/atom)) var/atom/path_cast = path if(TYPE_IS_SPAWNABLE(path_cast) && findtext(lowertext("[path]"), object)) - matches += "[path]" // We need to use a string because input() checks invisibility on types for Reasons:tm:. + // We need to keep the type as a string because for some ungodly reason input() compares + // initial invisibility value to mob see_invisible. + matches += "[path]" if(matches.len==0) return @@ -1153,11 +1147,11 @@ var/global/floorIsLava = 0 if(matches.len==1) chosen = matches[1] else - chosen = input("Select an atom type", "Spawn Atom", matches[1]) as null|anything in matches + chosen = input(usr, "Select an atom type", "Spawn Atom", matches[1]) as null|anything in matches if(!chosen) return - chosen = text2path(chosen) + chosen = text2path(chosen) // See comment above. if(ispath(chosen,/turf)) var/turf/T = get_turf(usr.loc) T.ChangeTurf(chosen) @@ -1263,8 +1257,7 @@ var/global/floorIsLava = 0 set category = "Debug" set desc="Reduces view range when wearing welding helmets" set name="Toggle tinted welding helmets." - config.welder_vision = !( config.welder_vision ) - if (config.welder_vision) + if (toggle_config_value(/decl/config/toggle/on/welder_vision)) to_world("Reduced welder vision has been enabled!") else to_world("Reduced welder vision has been disabled!") @@ -1275,13 +1268,14 @@ var/global/floorIsLava = 0 set category = "Server" set desc="Guests can't enter" set name="Toggle guests" - config.guests_allowed = !(config.guests_allowed) - if (!(config.guests_allowed)) - to_world("Guests may no longer enter the game.") - else + if (toggle_config_value(/decl/config/toggle/guests_allowed)) to_world("Guests may now enter the game.") - log_admin("[key_name(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.") - log_and_message_admins("toggled guests game entering [config.guests_allowed?"":"dis"]allowed.") + log_admin("[key_name(usr)] toggled guests game entering allowed.") + log_and_message_admins("toggled guests game entering allowed.") + else + to_world("Guests may no longer enter the game.") + log_admin("[key_name(usr)] toggled guests game entering disallowed.") + log_and_message_admins("toggled guests game entering disallowed.") SSstatistics.add_field_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/output_ai_laws() diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm index be20c0f0abc..66fe7e8daff 100644 --- a/code/modules/admin/admin_investigate.dm +++ b/code/modules/admin/admin_investigate.dm @@ -39,7 +39,7 @@ show_browser(src, F, "window=investigate[subject];size=800x300") if("hrefs") //persistant logs and stuff - if(config && config.log_hrefs) + if(get_config_value(/decl/config/toggle/log_hrefs)) if(global.world_href_log) show_browser(src, global.world_href_log, "window=investigate[subject];size=800x300") else diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index 0a1c04d54f5..5a6a4d7b17a 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -68,7 +68,7 @@ var/global/list/admin_ranks = list() //list of all ranks with associated for (var/admin in world.GetConfig("admin")) world.SetConfig("APP/admin", admin, null) - if(config.admin_legacy_system) + if(get_config_value(/decl/config/toggle/on/admin_legacy_system)) load_admin_ranks() //load text from file @@ -108,7 +108,7 @@ var/global/list/admin_ranks = list() //list of all ranks with associated if(!dbcon.IsConnected()) error("Failed to connect to database in load_admins(). Reverting to legacy system.") log_misc("Failed to connect to database in load_admins(). Reverting to legacy system.") - config.admin_legacy_system = 1 + set_config_value(/decl/config/toggle/on/admin_legacy_system, TRUE) load_admins() return @@ -128,7 +128,7 @@ var/global/list/admin_ranks = list() //list of all ranks with associated if(!admin_datums) error("The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system.") log_misc("The database query in load_admins() resulted in no admins being added to the list. Reverting to legacy system.") - config.admin_legacy_system = 1 + set_config_value(/decl/config/toggle/on/admin_legacy_system, TRUE) load_admins() return diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 1210dcbe012..e3192f9c97d 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -330,7 +330,8 @@ var/global/list/admin_verbs_mod = list( /client/proc/aooc, /datum/admins/proc/sendFax, /datum/admins/proc/paralyze_mob, - /datum/admins/proc/view_persistent_data + /datum/admins/proc/view_persistent_data, + /datum/admins/proc/dump_configuration ) /client/proc/add_admin_verbs() @@ -343,7 +344,7 @@ var/global/list/admin_verbs_mod = list( if(holder.rights & R_SERVER) verbs += admin_verbs_server if(holder.rights & R_DEBUG) verbs += admin_verbs_debug - if(config.debugparanoid && !(holder.rights & R_ADMIN)) + if(get_config_value(/decl/config/toggle/paranoid) && !(holder.rights & R_ADMIN)) verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. if(holder.rights & R_POSSESS) verbs += admin_verbs_possess if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions @@ -465,7 +466,7 @@ var/global/list/admin_verbs_mod = list( set name = "Display Job bans" set category = "Admin" if(holder) - if(config.ban_legacy_system) + if(get_config_value(/decl/config/toggle/on/ban_legacy_system)) holder.Jobbans() else holder.DB_ban_panel() @@ -476,7 +477,7 @@ var/global/list/admin_verbs_mod = list( set name = "Unban Panel" set category = "Admin" if(holder) - if(config.ban_legacy_system) + if(get_config_value(/decl/config/toggle/on/ban_legacy_system)) holder.unbanpanel() else holder.DB_ban_panel() @@ -577,7 +578,7 @@ var/global/list/admin_verbs_mod = list( explosion(epicenter, 3, 5, 7, 5) if("Custom Bomb") - if(config.use_iterative_explosions) + if(get_config_value(/decl/config/toggle/use_iterative_explosions)) var/power = input(src, "Input power num.", "Power?") as num explosion_iter(get_turf(mob), power, (UP|DOWN)) else @@ -642,13 +643,10 @@ var/global/list/admin_verbs_mod = list( set name = "Toggle href logging" set category = "Server" if(!holder) return - if(config) - if(config.log_hrefs) - config.log_hrefs = 0 - to_chat(src, "Stopped logging hrefs") - else - config.log_hrefs = 1 - to_chat(src, "Started logging hrefs") + if(toggle_config_value(/decl/config/toggle/log_hrefs)) + to_chat(src, "Started logging hrefs") + else + to_chat(src, "Stopped logging hrefs") /client/proc/check_ai_laws() set name = "Check AI Laws" @@ -760,22 +758,25 @@ var/global/list/admin_verbs_mod = list( switch(alert("Are you sure you wish to edit this mob's appearance? This can result in unintended consequences.",,"Yes","No")) if("No") return + + var/update_hair = FALSE var/new_facial = input("Please select facial hair color.", "Character Generation") as color if(new_facial) - M.facial_hair_colour = new_facial + M.set_facial_hair_colour(new_facial, skip_update = TRUE) + update_hair = TRUE var/new_hair = input("Please select hair color.", "Character Generation") as color if(new_hair) - M.hair_colour = new_hair + M.set_hair_colour(new_hair, skip_update = TRUE) + update_hair = TRUE var/new_eyes = input("Please select eye color.", "Character Generation") as color if(new_eyes) - M.eye_colour = new_eyes - M.update_eyes() + M.set_eye_colour(new_eyes) var/new_skin = input("Please select body color.", "Character Generation") as color if(new_skin) - M.skin_colour = new_skin + M.set_skin_colour(new_skin, skip_update = TRUE) var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text @@ -784,14 +785,16 @@ var/global/list/admin_verbs_mod = list( M.skin_tone = -M.skin_tone + 35 // hair - var/new_hstyle = input(usr, "Select a hair style", "Grooming") as null|anything in decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/hair) - if(new_hstyle) - M.h_style = new_hstyle + var/new_hairstyle = input(usr, "Select a hair style", "Grooming") as null|anything in decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/hair) + if(new_hairstyle) + M.set_hairstyle(new_hairstyle, skip_update = TRUE) + update_hair = TRUE // facial hair var/new_fstyle = input(usr, "Select a facial hair style", "Grooming") as null|anything in decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/facial_hair) if(new_fstyle) - M.f_style = new_fstyle + M.set_facial_hairstyle(new_fstyle, skip_update = TRUE) + update_hair = TRUE var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female", "Neuter") if (new_gender) @@ -802,7 +805,8 @@ var/global/list/admin_verbs_mod = list( else M.set_gender(NEUTER) - M.update_hair() + if(update_hair) + M.update_hair() M.update_body() M.check_dna(M) @@ -858,30 +862,25 @@ var/global/list/admin_verbs_mod = list( /client/proc/toggleghostwriters() set name = "Toggle ghost writers" set category = "Server" - if(!holder) return - if(config) - if(config.cult_ghostwriter) - config.cult_ghostwriter = 0 - to_chat(src, "Disallowed ghost writers.") - message_admins("Admin [key_name_admin(usr)] has disabled ghost writers.", 1) - else - config.cult_ghostwriter = 1 - to_chat(src, "Enabled ghost writers.") - message_admins("Admin [key_name_admin(usr)] has enabled ghost writers.", 1) + if(!holder) + return + if(toggle_config_value(/decl/config/toggle/on/cult_ghostwriter)) + to_chat(src, "Enabled ghost writers.") + message_admins("Admin [key_name_admin(usr)] has enabled ghost writers.", 1) + else + to_chat(src, "Disallowed ghost writers.") + message_admins("Admin [key_name_admin(usr)] has disabled ghost writers.", 1) /client/proc/toggledrones() set name = "Toggle maintenance drones" set category = "Server" if(!holder) return - if(config) - if(config.allow_drone_spawn) - config.allow_drone_spawn = 0 - to_chat(src, "Disallowed maint drones.") - message_admins("Admin [key_name_admin(usr)] has disabled maint drones.", 1) - else - config.allow_drone_spawn = 1 - to_chat(src, "Enabled maint drones.") - message_admins("Admin [key_name_admin(usr)] has enabled maint drones.", 1) + if(toggle_config_value(/decl/config/toggle/on/allow_drone_spawn)) + to_chat(src, "Enabled maint drones.") + message_admins("Admin [key_name_admin(usr)] has enabled maint drones.", 1) + else + to_chat(src, "Disallowed maint drones.") + message_admins("Admin [key_name_admin(usr)] has disabled maint drones.", 1) /client/proc/man_up(mob/T as mob in SSmobs.mob_list) set category = "Fun" diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm index 0b697a418dc..6d8057e82c4 100644 --- a/code/modules/admin/banjob.dm +++ b/code/modules/admin/banjob.dm @@ -24,9 +24,9 @@ var/global/jobban_keylist[0] //to store the keys & ranks var/decl/special_role/antag = GET_DECL(rank) rank = antag.name if (SSjobs.guest_jobbans(rank)) - if(config.guest_jobban && IsGuestKey(M.key)) + if(get_config_value(/decl/config/toggle/on/guest_jobban) && IsGuestKey(M.key)) return "Guest Job-ban" - if(config.usewhitelist && !check_whitelist(M)) + if(get_config_value(/decl/config/toggle/usewhitelist) && !check_whitelist(M)) return "Whitelisted Job" return ckey_is_jobbanned(M.ckey, rank) return 0 @@ -47,7 +47,7 @@ var/global/jobban_keylist[0] //to store the keys & ranks return 1 /proc/jobban_loadbanfile() - if(config.ban_legacy_system) + if(get_config_value(/decl/config/toggle/on/ban_legacy_system)) var/savefile/S=new("data/job_full.ban") from_savefile(S, "keys[0]", jobban_keylist) log_admin("Loading jobban_rank") @@ -60,7 +60,7 @@ var/global/jobban_keylist[0] //to store the keys & ranks if(!establish_db_connection()) error("Database connection failed. Reverting to the legacy ban system.") log_misc("Database connection failed. Reverting to the legacy ban system.") - config.ban_legacy_system = 1 + set_config_value(/decl/config/toggle/on/ban_legacy_system, TRUE) jobban_loadbanfile() return diff --git a/code/modules/admin/buildmode/areas.dm b/code/modules/admin/buildmode/areas.dm index 88ba2c22f5c..6b76fdba3b2 100644 --- a/code/modules/admin/buildmode/areas.dm +++ b/code/modules/admin/buildmode/areas.dm @@ -97,12 +97,12 @@ Right Click - List/Create Area return UnselectArea() selected_area = A - events_repository.register(/decl/observ/destroyed, selected_area, src, .proc/UnselectArea) + events_repository.register(/decl/observ/destroyed, selected_area, src, PROC_REF(UnselectArea)) /datum/build_mode/areas/proc/UnselectArea() if(!selected_area) return - events_repository.unregister(/decl/observ/destroyed, selected_area, src, .proc/UnselectArea) + events_repository.unregister(/decl/observ/destroyed, selected_area, src, PROC_REF(UnselectArea)) var/has_turf = FALSE for(var/turf/T in selected_area) diff --git a/code/modules/admin/buildmode/click_handler.dm b/code/modules/admin/buildmode/click_handler.dm index 15e20226ed0..fcb7bb91f8b 100644 --- a/code/modules/admin/buildmode/click_handler.dm +++ b/code/modules/admin/buildmode/click_handler.dm @@ -36,7 +36,7 @@ . = ..() /datum/click_handler/build_mode/proc/StartTimer() - timer_handle = addtimer(CALLBACK(src, .proc/TimerEvent), 1 SECOND, TIMER_UNIQUE | TIMER_STOPPABLE | TIMER_LOOP) + timer_handle = addtimer(CALLBACK(src, PROC_REF(TimerEvent)), 1 SECOND, TIMER_UNIQUE | TIMER_STOPPABLE | TIMER_LOOP) /datum/click_handler/build_mode/proc/StopTimer() deltimer(timer_handle) diff --git a/code/modules/admin/buildmode/edit.dm b/code/modules/admin/buildmode/edit.dm index a0505f46678..23bcdc47596 100644 --- a/code/modules/admin/buildmode/edit.dm +++ b/code/modules/admin/buildmode/edit.dm @@ -63,13 +63,13 @@ ClearValue() value_to_set = new_value if(istype(value_to_set, /datum)) - events_repository.register(/decl/observ/destroyed, value_to_set, src, /datum/build_mode/edit/proc/ClearValue) + events_repository.register(/decl/observ/destroyed, value_to_set, src, TYPE_PROC_REF(/datum/build_mode/edit, ClearValue)) /datum/build_mode/edit/proc/ClearValue(var/feedback) if(!istype(value_to_set, /datum)) return - events_repository.unregister(/decl/observ/destroyed, value_to_set, src, /datum/build_mode/edit/proc/ClearValue) + events_repository.unregister(/decl/observ/destroyed, value_to_set, src, TYPE_PROC_REF(/datum/build_mode/edit, ClearValue)) value_to_set = initial(value_to_set) if(feedback) Warn("The selected reference value was deleted. Default value restored.") diff --git a/code/modules/admin/buildmode/move_into.dm b/code/modules/admin/buildmode/move_into.dm index 75dba96f501..ce045fb7f39 100644 --- a/code/modules/admin/buildmode/move_into.dm +++ b/code/modules/admin/buildmode/move_into.dm @@ -33,14 +33,14 @@ ClearDestination() destination = A - events_repository.register(/decl/observ/destroyed, destination, src, /datum/build_mode/move_into/proc/ClearDestination) + events_repository.register(/decl/observ/destroyed, destination, src, TYPE_PROC_REF(/datum/build_mode/move_into, ClearDestination)) to_chat(user, "Will now move targets into \the [destination].") /datum/build_mode/move_into/proc/ClearDestination(var/feedback) if(!destination) return - events_repository.unregister(/decl/observ/destroyed, destination, src, /datum/build_mode/move_into/proc/ClearDestination) + events_repository.unregister(/decl/observ/destroyed, destination, src, TYPE_PROC_REF(/datum/build_mode/move_into, ClearDestination)) destination = null if(feedback) Warn("The selected destination was deleted.") diff --git a/code/modules/admin/buildmode/relocate_to.dm b/code/modules/admin/buildmode/relocate_to.dm index 1a2e77340c7..e0c3680993d 100644 --- a/code/modules/admin/buildmode/relocate_to.dm +++ b/code/modules/admin/buildmode/relocate_to.dm @@ -34,14 +34,14 @@ ClearRelocator() to_relocate = new_relocator - events_repository.register(/decl/observ/destroyed, to_relocate, src, /datum/build_mode/relocate_to/proc/ClearRelocator) + events_repository.register(/decl/observ/destroyed, to_relocate, src, TYPE_PROC_REF(/datum/build_mode/relocate_to, ClearRelocator)) to_chat(user, "Will now be relocating \the [to_relocate].") /datum/build_mode/relocate_to/proc/ClearRelocator(var/feedback) if(!to_relocate) return - events_repository.unregister(/decl/observ/destroyed, to_relocate, src, /datum/build_mode/relocate_to/proc/ClearRelocator) + events_repository.unregister(/decl/observ/destroyed, to_relocate, src, TYPE_PROC_REF(/datum/build_mode/relocate_to, ClearRelocator)) to_relocate = null if(feedback) Warn("The selected relocation object was deleted.") diff --git a/code/modules/admin/buildmode/throw_at.dm b/code/modules/admin/buildmode/throw_at.dm index 068a89a1d1c..581e2077757 100644 --- a/code/modules/admin/buildmode/throw_at.dm +++ b/code/modules/admin/buildmode/throw_at.dm @@ -33,14 +33,14 @@ ClearThrowable() to_throw = new_throwable - events_repository.register(/decl/observ/destroyed, to_throw, src, /datum/build_mode/throw_at/proc/ClearThrowable) + events_repository.register(/decl/observ/destroyed, to_throw, src, TYPE_PROC_REF(/datum/build_mode/throw_at, ClearThrowable)) to_chat(user, "Will now be throwing \the [to_throw].") /datum/build_mode/throw_at/proc/ClearThrowable(var/feedback) if(!to_throw) return - events_repository.unregister(/decl/observ/destroyed, to_throw, src, /datum/build_mode/throw_at/proc/ClearThrowable) + events_repository.unregister(/decl/observ/destroyed, to_throw, src, TYPE_PROC_REF(/datum/build_mode/throw_at, ClearThrowable)) to_throw = null if(feedback) Warn("The selected throwing object was deleted.") diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm index bc841bf43fd..4cdf5e8c089 100644 --- a/code/modules/admin/callproc/callproc.dm +++ b/code/modules/admin/callproc/callproc.dm @@ -6,7 +6,7 @@ set name = "Advanced ProcCall" if(!check_rights(R_DEBUG)) return - if(config.debugparanoid && !check_rights(R_ADMIN)) return + if(get_config_value(/decl/config/toggle/paranoid) && !check_rights(R_ADMIN)) return var/target = null var/targetselected = 0 @@ -41,7 +41,7 @@ set name = "Advanced ProcCall Target" if(!check_rights(R_DEBUG)) return - if(config.debugparanoid && !check_rights(R_ADMIN)) return + if(get_config_value(/decl/config/toggle/paranoid) && !check_rights(R_ADMIN)) return callproc_targetpicked(1, A) @@ -51,7 +51,7 @@ /client/proc/callproc_targetpicked(hastarget, datum/target) // this needs checking again here because VV's 'Call Proc' option directly calls this proc with the target datum if(!check_rights(R_DEBUG)) return - if(config.debugparanoid && !check_rights(R_ADMIN)) return + if(get_config_value(/decl/config/toggle/paranoid) && !check_rights(R_ADMIN)) return if(!holder.callproc) holder.callproc = new(src) diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index af9881d7406..4b05b4d2538 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -121,7 +121,8 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check if(!holder) return FALSE - var/auto_stealth = (inactivity >= world.time) || (config.autostealth && (inactivity >= MinutesToTicks(config.autostealth))) + var/config_autostealth = get_config_value(/decl/config/num/autostealth) + var/auto_stealth = (inactivity >= world.time) || (config_autostealth && (inactivity >= config_autostealth MINUTES)) // If someone has been AFK since round-start or longer, stealth them // BYOND keeps track of inactivity between rounds as long as it's not a full stop/start. if(holder.stealthy_ == STEALTH_OFF && auto_stealth) diff --git a/code/modules/admin/panicbunker.dm b/code/modules/admin/panicbunker.dm index 8ca0b8fae53..bd215380d72 100644 --- a/code/modules/admin/panicbunker.dm +++ b/code/modules/admin/panicbunker.dm @@ -6,11 +6,9 @@ var/global/list/panic_bunker_bypass = list() if(!check_rights(R_SERVER)) return - - config.panic_bunker = !config.panic_bunker - - log_and_message_admins("[key_name(usr)] has toggled the Panic Bunker, it is now [(config.panic_bunker ? "on" : "off")]") - if (config.panic_bunker && (!dbcon || !dbcon.IsConnected())) + toggle_config_value(/decl/config/toggle/panic_bunker) + log_and_message_admins("[key_name(usr)] has toggled the Panic Bunker, it is now [(get_config_value(/decl/config/toggle/panic_bunker) ? "on" : "off")]") + if (get_config_value(/decl/config/toggle/panic_bunker) && (!dbcon || !dbcon.IsConnected())) message_admins("The SQL database is not connected, player age cannot be checked and the panic bunker will not function until the database connection is restored.") /datum/admins/proc/addbunkerbypass(ckeytobypass as text) diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index eb81b27a463..add6b917af5 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -45,7 +45,8 @@ show_browser(usr, output, "window=editrights;size=600x500") /datum/admins/proc/log_admin_rank_modification(var/adm_ckey, var/new_rank) - if(config.admin_legacy_system) return + if(get_config_value(/decl/config/toggle/on/admin_legacy_system)) + return if(!usr.client) return @@ -95,7 +96,8 @@ to_chat(usr, "Admin rank changed.") /datum/admins/proc/log_admin_permission_modification(var/adm_ckey, var/new_permission) - if(config.admin_legacy_system) return + if(get_config_value(/decl/config/toggle/on/admin_legacy_system)) + return if(!usr.client) return diff --git a/code/modules/admin/secrets/fun_secrets/waddle.dm b/code/modules/admin/secrets/fun_secrets/waddle.dm index f1cfc8b6e7b..f4d7e86e251 100644 --- a/code/modules/admin/secrets/fun_secrets/waddle.dm +++ b/code/modules/admin/secrets/fun_secrets/waddle.dm @@ -7,8 +7,8 @@ if(waddling) for(var/mob/living/living_mob in global.living_mob_list_) set_extension(living_mob, /datum/extension/waddle) - events_repository.register_global(/decl/observ/life, src, .proc/enroll_in_waddling) - events_repository.register_global(/decl/observ/death, src, .proc/cure_waddling) + events_repository.register_global(/decl/observ/life, src, PROC_REF(enroll_in_waddling)) + events_repository.register_global(/decl/observ/death, src, PROC_REF(cure_waddling)) else for(var/mob/living/living_mob in global.living_mob_list_) cure_waddling(living_mob) @@ -32,8 +32,8 @@ /datum/extension/waddle/New(datum/holder) . = ..() - events_repository.register(/decl/observ/moved, holder, src, .proc/waddle) - events_repository.register(/decl/observ/destroyed, holder, src, .proc/qdel_self) + events_repository.register(/decl/observ/moved, holder, src, PROC_REF(waddle)) + events_repository.register(/decl/observ/destroyed, holder, src, PROC_REF(qdel_self)) /datum/extension/event_registration/Destroy() events_repository.unregister(/decl/observ/destroyed, holder, src) diff --git a/code/modules/admin/spam_prevention.dm b/code/modules/admin/spam_prevention.dm index 69eb5783d62..10d9adab7fe 100644 --- a/code/modules/admin/spam_prevention.dm +++ b/code/modules/admin/spam_prevention.dm @@ -7,14 +7,14 @@ var/global/list/ckey_punished_for_spam = list() // this round; to avoid redundan var/ckey = C && C.ckey if(!ckey) return FALSE - if (config.do_not_prevent_spam) + if(get_config_value(/decl/config/toggle/do_not_prevent_spam)) return TRUE var/time = world.time - if(global.ckey_to_act_time[ckey] + config.act_interval < time) + if(global.ckey_to_act_time[ckey] + (get_config_value(/decl/config/num/act_interval) SECONDS) < time) global.ckey_to_act_time[ckey] = time global.ckey_to_actions[ckey] = 1 return TRUE - if(global.ckey_to_actions[ckey] <= config.max_acts_per_interval) + if(global.ckey_to_actions[ckey] <= get_config_value(/decl/config/num/max_acts_per_interval)) global.ckey_to_actions[ckey]++ return TRUE diff --git a/code/modules/admin/ticket.dm b/code/modules/admin/ticket.dm index 694d8524929..d394a86cd0c 100644 --- a/code/modules/admin/ticket.dm +++ b/code/modules/admin/ticket.dm @@ -20,7 +20,7 @@ var/global/list/ticket_panels = list() var/sql_ckey = sanitize_sql(owner.ckey) var/DBQuery/ticket_query = dbcon.NewQuery("INSERT INTO `erro_admin_tickets`(`ckey`, `round`, `inround_id`, `status`, `open_date`) VALUES ('[sql_ckey]', '[game_id]', [src.id], 'OPEN', NOW());") ticket_query.Execute() - addtimer(CALLBACK(src, .proc/timeoutcheck), 5 MINUTES) + addtimer(CALLBACK(src, PROC_REF(timeoutcheck)), 5 MINUTES) /datum/ticket/proc/timeoutcheck() if(status == TICKET_OPEN) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 2377540c121..e2e0a2f356b 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -140,19 +140,19 @@ if(null,"") return if("*New Rank*") new_rank = input("Please input a new rank", "New custom rank", null, null) as null|text - if(config.admin_legacy_system) + if(get_config_value(/decl/config/toggle/on/admin_legacy_system)) new_rank = ckeyEx(new_rank) if(!new_rank) to_chat(usr, SPAN_WARNING("Error: Topic 'editrights': Invalid rank")) return - if(config.admin_legacy_system) + if(get_config_value(/decl/config/toggle/on/admin_legacy_system)) if(admin_ranks.len) if(new_rank in admin_ranks) rights = admin_ranks[new_rank] //we typed a rank which already exists, use its rights else admin_ranks[new_rank] = 0 //add the new rank to admin_ranks else - if(config.admin_legacy_system) + if(get_config_value(/decl/config/toggle/on/admin_legacy_system)) new_rank = ckeyEx(new_rank) rights = admin_ranks[new_rank] //we input an existing rank, use its rights @@ -418,7 +418,7 @@ to_chat(usr, "You do not have the appropriate permissions to add job bans!") return - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0) && !config.mods_can_job_tempban) // If mod and tempban disabled + if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0) && !get_config_value(/decl/config/toggle/mods_can_job_tempban)) // If mod and tempban disabled to_chat(usr, "Mod jobbanning is disabled!") return @@ -464,14 +464,15 @@ if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0)) to_chat(usr, " You cannot issue temporary job-bans!") return - if(config.ban_legacy_system) + if(get_config_value(/decl/config/toggle/on/ban_legacy_system)) to_chat(usr, "Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.") return var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null if(!mins) return - if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_job_tempban_max) - to_chat(usr, " Moderators can only job tempban up to [config.mod_job_tempban_max] minutes!") + var/mod_job_tempban_max = get_config_value(/decl/config/num/mod_job_tempban_max) + if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > mod_job_tempban_max) + to_chat(usr, " Moderators can only job tempban up to [mod_job_tempban_max] minutes!") return var/reason = sanitize(input(usr,"Reason?","Please State Reason","") as text|null) if(!reason) @@ -524,7 +525,7 @@ //Unbanning job list //all jobs in job list are banned already OR we didn't give a reason (implying they shouldn't be banned) if(LAZYLEN(SSjobs.titles_to_datums)) //at least 1 banned job exists in job list so we have stuff to unban. - if(!config.ban_legacy_system) + if(!get_config_value(/decl/config/toggle/on/ban_legacy_system)) to_chat(usr, "Unfortunately, database based unbanning cannot be done through this panel") DB_ban_panel(M.ckey) return @@ -584,7 +585,7 @@ to_chat(usr, "You do not have the appropriate permissions to add bans!") return - if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !config.mods_can_job_tempban) // If mod and tempban disabled + if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !get_config_value(/decl/config/toggle/mods_can_job_tempban)) // If mod and tempban disabled to_chat(usr, "Mod jobbanning is disabled!") return @@ -603,8 +604,9 @@ var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null if(!mins) return - if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_tempban_max) - to_chat(usr, "Moderators can only job tempban up to [config.mod_tempban_max] minutes!") + var/mod_tempban_max = get_config_value(/decl/config/num/mod_tempban_max) + if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > mod_tempban_max) + to_chat(usr, "Moderators can only job tempban up to [mod_tempban_max] minutes!") return if(mins >= 525600) mins = 525599 var/reason = sanitize(input(usr,"Reason?","reason","Griefer") as text|null) @@ -624,8 +626,9 @@ SSstatistics.add_field("ban_tmp",1) DB_ban_record(BANTYPE_TEMP, M, mins, reason) SSstatistics.add_field("ban_tmp_mins",mins) - if(config.banappeals) - to_chat(M, "To try to resolve this matter head to [config.banappeals]") + var/banappeals = get_config_value(/decl/config/text/banappeals) + if(banappeals) + to_chat(M, "To try to resolve this matter head to [banappeals]") else to_chat(M, "No ban appeals URL has been set.") log_and_message_admins("has banned [mob_key].\nReason: [reason]\nThis will be removed in [mins_readable].") @@ -650,8 +653,9 @@ AddBan(mob_key, M.computer_id, reason, usr.ckey, 0, 0) to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].") to_chat(M, "This is a ban until appeal.") - if(config.banappeals) - to_chat(M, "To try to resolve this matter head to [config.banappeals]") + var/banappeals = get_config_value(/decl/config/text/banappeals) + if(banappeals) + to_chat(M, "To try to resolve this matter head to [banappeals]") else to_chat(M, "No ban appeals URL has been set.") ban_unban_log_save("[usr.client.ckey] has permabanned [mob_key]. - Reason: [reason] - This is a ban until appeal.") @@ -684,8 +688,9 @@ if(SSticker.mode) return alert(usr, "The game has already started.", null, null, null, null) var/dat = {"What mode do you wish to play?
    "} - for(var/mode in config.modes) - dat += {"[config.mode_names[mode]]
    "} + var/list/mode_names = get_config_value(/decl/config/lists/mode_names) + for(var/mode in get_config_value(/decl/config/lists/mode_allowed)) + dat += {"[mode_names[mode]]
    "} dat += {"Secret
    "} dat += {"Random
    "} dat += {"Now: [SSticker.master_mode]"} @@ -699,8 +704,9 @@ if(SSticker.master_mode != "secret") return alert(usr, "The game mode has to be secret!", null, null, null, null) var/dat = {"What game mode do you want to force secret to be? Use this if you want to change the game mode, but want the players to believe it's secret. This will only work if the current game mode is secret.
    "} - for(var/mode in config.modes) - dat += {"[config.mode_names[mode]]
    "} + var/list/mode_names = get_config_value(/decl/config/lists/mode_names) + for(var/mode in get_config_value(/decl/config/lists/mode_allowed)) + dat += {"[mode_names[mode]]
    "} dat += {"Random (default)
    "} dat += {"Now: [secret_force_mode]"} show_browser(usr, dat, "window=f_secret") @@ -773,7 +779,7 @@ to_chat(usr, "This can only be used on instances of type /mob/living") return - if(config.allow_admin_rev) + if(get_config_value(/decl/config/toggle/on/admin_revive)) L.revive() log_and_message_admins("healed/revived [key_name(L)]") else @@ -1157,7 +1163,7 @@ else if(href_list["object_list"]) //this is the laggiest thing ever if(!check_rights(R_SPAWN)) return - if(!config.allow_admin_spawning) + if(!get_config_value(/decl/config/toggle/on/admin_spawning)) to_chat(usr, "Spawning of items is not allowed.") return diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm index a44fae79380..f1f4d7130d9 100644 --- a/code/modules/admin/verbs/adminjump.dm +++ b/code/modules/admin/verbs/adminjump.dm @@ -11,7 +11,7 @@ set category = "Admin" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(!config.allow_admin_jump) + if(!get_config_value(/decl/config/toggle/on/admin_jump)) return alert("Admin jumping disabled") var/list/areas = area_repository.get_areas_by_z_level() @@ -25,7 +25,7 @@ set category = "Admin" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(!config.allow_admin_jump) + if(!get_config_value(/decl/config/toggle/on/admin_jump)) return alert("Admin jumping disabled") log_and_message_admins("jumped to [T.x],[T.y],[T.z] in [T.loc]") @@ -39,7 +39,7 @@ if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(config.allow_admin_jump) + if(get_config_value(/decl/config/toggle/on/admin_jump)) log_and_message_admins("jumped to [key_name(M)]") if(mob) var/turf/T = get_turf(M) @@ -58,7 +58,7 @@ if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(!config.allow_admin_jump) + if(!get_config_value(/decl/config/toggle/on/admin_jump)) alert("Admin jumping disabled") return if(!mob) @@ -82,7 +82,7 @@ if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(config.allow_admin_jump) + if(get_config_value(/decl/config/toggle/on/admin_jump)) if(!istype(C)) to_chat(usr, "[C] is not a client, somehow.") return @@ -100,7 +100,7 @@ set desc = "Mob to teleport" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(config.allow_admin_jump) + if(get_config_value(/decl/config/toggle/on/admin_jump)) log_and_message_admins("teleported [key_name(M)] to self.") M.jumpTo(get_turf(mob)) SSstatistics.add_field_details("admin_verb","GM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -115,7 +115,7 @@ if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(config.allow_admin_jump) + if(get_config_value(/decl/config/toggle/on/admin_jump)) var/list/keys = list() for(var/mob/M in global.player_list) keys += M.client @@ -138,7 +138,7 @@ set name = "Send Mob" if(!check_rights(R_ADMIN|R_MOD|R_DEBUG)) return - if(!config.allow_admin_jump) + if(!get_config_value(/decl/config/toggle/on/admin_jump)) alert("Admin jumping disabled") return diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index da9195800ca..9d9b1e0b6b1 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -109,8 +109,8 @@ to_chat(C, recieve_message) C.adminhelped = 0 - //AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config.txt ~Carn - if(config.popup_admin_pm) + //AdminPM popup for ApocStation and anybody else who wants to use it. + if(get_config_value(/decl/config/toggle/popup_admin_pm)) spawn(0) //so we don't hold the caller proc up var/sender = src var/sendername = key diff --git a/code/modules/admin/verbs/custom_event.dm b/code/modules/admin/verbs/custom_event.dm index dc7b8e732a0..4574117732c 100644 --- a/code/modules/admin/verbs/custom_event.dm +++ b/code/modules/admin/verbs/custom_event.dm @@ -7,11 +7,11 @@ to_chat(src, "Only administrators may use this command.") return - var/input = sanitize(input(usr, "Enter the description of the custom event. Be descriptive. To cancel the event, make this blank or hit cancel.", "Custom Event", custom_event_msg) as message|null, MAX_BOOK_MESSAGE_LEN, extra = 0) + var/input = sanitize(input(usr, "Enter the description of the custom event. Be descriptive. To cancel the event, make this blank or hit cancel.", "Custom Event", global.custom_event_msg) as message|null, MAX_BOOK_MESSAGE_LEN, extra = 0) if(isnull(input)) return if(input == "") - custom_event_msg = null + global.custom_event_msg = null log_admin("[usr.key] has cleared the custom event text.") message_admins("[key_name_admin(usr)] has cleared the custom event text.") return @@ -19,26 +19,26 @@ log_admin("[usr.key] has changed the custom event text.") message_admins("[key_name_admin(usr)] has changed the custom event text.") - custom_event_msg = input + global.custom_event_msg = input to_world("

    Custom Event

    ") to_world("

    A custom event is starting. OOC Info:

    ") - to_world("[custom_event_msg]") + to_world("[global.custom_event_msg]") to_world("
    ") - SSwebhooks.send(WEBHOOK_CUSTOM_EVENT, list("text" = custom_event_msg)) + SSwebhooks.send(WEBHOOK_CUSTOM_EVENT, list("text" = global.custom_event_msg)) // normal verb for players to view info /client/verb/cmd_view_custom_event() set category = "OOC" set name = "Custom Event Info" - if(!custom_event_msg || custom_event_msg == "") + if(!global.custom_event_msg) to_chat(src, "There currently is no known custom event taking place.") to_chat(src, "Keep in mind: it is possible that an admin has not properly set this.") return to_chat(src, "

    Custom Event

    ") to_chat(src, "

    A custom event is taking place. OOC Info:

    ") - to_chat(src, "[custom_event_msg]") + to_chat(src, "[global.custom_event_msg]") to_chat(src, "
    ") diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index fec16764582..80fb84e1909 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -128,10 +128,13 @@ /client/proc/cmd_debug_tog_aliens() set category = "Server" set name = "Toggle Aliens" + if(toggle_config_value(/decl/config/toggle/aliens_allowed)) + log_admin("[key_name(src)] has turned aliens on.") + message_admins("[key_name_admin(src)] has turned aliens on.", 0) + else + log_admin("[key_name(src)] has turned aliens off.") + message_admins("[key_name_admin(src)] has turned aliens off.", 0) - config.aliens_allowed = !config.aliens_allowed - log_admin("[key_name(src)] has turned aliens [config.aliens_allowed ? "on" : "off"].") - message_admins("[key_name_admin(src)] has turned aliens [config.aliens_allowed ? "on" : "off"].", 0) SSstatistics.add_field_details("admin_verb","TAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_grantfullaccess(var/mob/M in SSmobs.mob_list) diff --git a/code/modules/admin/verbs/possess.dm b/code/modules/admin/verbs/possess.dm index cccbc4dfd41..603633ae184 100644 --- a/code/modules/admin/verbs/possess.dm +++ b/code/modules/admin/verbs/possess.dm @@ -3,7 +3,7 @@ set category = "Object" if(istype(O,/obj/effect/singularity)) - if(config.forbid_singulo_possession) + if(get_config_value(/decl/config/toggle/forbid_singulo_possession)) to_chat(usr, "It is forbidden to possess singularities.") return diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 02b93e28284..2f98125100b 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -83,7 +83,7 @@ return if (style == "unsafe") - if (!config.allow_unsafe_narrates) + if (!get_config_value(/decl/config/toggle/allow_unsafe_narrates)) to_chat(user, SPAN_WARNING("Unsafe narrates are not permitted by the server configuration.")) return @@ -291,8 +291,7 @@ Allow admins to set players to be able to respawn/bypass 30 min wait, without the admin having to edit variables directly Ccomp's first proc. */ - -/client/proc/get_ghosts(var/notify = 0,var/what = 2) +/proc/get_ghosts(var/notify, var/what = 2) // what = 1, return ghosts ass list. // what = 2, return mob list @@ -305,16 +304,14 @@ Ccomp's first proc. any = 1 //if no ghosts show up, any will just be 0 if(!any) if(notify) - to_chat(src, "There doesn't appear to be any ghosts for you to select.") + to_chat(notify, "There doesn't appear to be any ghosts for you to select.") return - for(var/mob/M in mobs) var/name = M.name ghosts[name] = M //get the name of the mob for the popup list - if(what==1) + if(what == 1) return ghosts - else - return mobs + return mobs /client/proc/get_ghosts_by_key() . = list() @@ -336,7 +333,7 @@ Ccomp's first proc. to_chat(src, "[selection] no longer has an associated ghost.") return - if(G.has_enabled_antagHUD == 1 && config.antag_hud_restricted) + if(G.has_enabled_antagHUD == 1 && get_config_value(/decl/config/toggle/antag_hud_restricted)) var/response = alert(src, "[selection] has enabled antagHUD. Are you sure you wish to allow them to respawn?","Ghost has used AntagHUD","No","Yes") if(response == "No") return else @@ -351,7 +348,7 @@ Ccomp's first proc. G.can_reenter_corpse = CORPSE_CAN_REENTER_AND_RESPAWN G.show_message("You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead.", 1) - log_and_message_admins("has allowed [key_name(G)] to bypass the [config.respawn_delay] minute respawn limit.") + log_and_message_admins("has allowed [key_name(G)] to bypass the [get_config_value(/decl/config/num/respawn_delay)] minute respawn limit.") /client/proc/toggle_antagHUD_use() set category = "Server" @@ -360,34 +357,13 @@ Ccomp's first proc. if(!holder) to_chat(src, "Only administrators may use this command.") - var/action="" - if(config.antag_hud_allowed) - for(var/mob/observer/ghost/g in get_ghosts()) - if(!g.client.holder) //Remove the verb from non-admin ghosts - g.verbs -= /mob/observer/ghost/verb/toggle_antagHUD - if(g.antagHUD) - g.antagHUD = 0 // Disable it on those that have it enabled - g.has_enabled_antagHUD = 2 // We'll allow them to respawn - to_chat(g, "The Administrator has disabled AntagHUD") - config.antag_hud_allowed = 0 - to_chat(src, "AntagHUD usage has been disabled") - action = "disabled" - else - for(var/mob/observer/ghost/g in get_ghosts()) - if(!g.client.holder) // Add the verb back for all non-admin ghosts - g.verbs += /mob/observer/ghost/verb/toggle_antagHUD - to_chat(g, "The Administrator has enabled AntagHUD ")// Notify all observers they can now use AntagHUD - - config.antag_hud_allowed = 1 + var/action = "disabled" + if(toggle_config_value(/decl/config/toggle/antag_hud_allowed)) action = "enabled" - to_chat(src, "AntagHUD usage has been enabled") - - + to_chat(src, "AntagHUD usage has been [action]") log_admin("[key_name(usr)] has [action] antagHUD usage for observers") message_admins("Admin [key_name_admin(usr)] has [action] antagHUD usage for observers", 1) - - /client/proc/toggle_antagHUD_restrictions() set category = "Server" set name = "Toggle antagHUD Restrictions" @@ -395,22 +371,19 @@ Ccomp's first proc. if(!holder) to_chat(src, "Only administrators may use this command.") var/action="" - if(config.antag_hud_restricted) - for(var/mob/observer/ghost/g in get_ghosts()) - to_chat(g, "The administrator has lifted restrictions on joining the round if you use AntagHUD") - action = "lifted restrictions" - config.antag_hud_restricted = 0 - to_chat(src, "AntagHUD restrictions have been lifted") - else - for(var/mob/observer/ghost/g in get_ghosts()) + if(toggle_config_value(/decl/config/toggle/antag_hud_restricted)) + for(var/mob/observer/ghost/g in get_ghosts(src)) to_chat(g, "The administrator has placed restrictions on joining the round if you use AntagHUD") to_chat(g, "Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions") g.antagHUD = 0 g.has_enabled_antagHUD = 0 action = "placed restrictions" - config.antag_hud_restricted = 1 to_chat(src, "AntagHUD restrictions have been enabled") - + else + for(var/mob/observer/ghost/g in get_ghosts(src)) + to_chat(g, "The administrator has lifted restrictions on joining the round if you use AntagHUD") + action = "lifted restrictions" + to_chat(src, "AntagHUD restrictions have been lifted") log_admin("[key_name(usr)] has [action] on joining the round if they use AntagHUD") message_admins("Admin [key_name_admin(usr)] has [action] on joining the round if they use AntagHUD", 1) @@ -545,7 +518,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!istype(M)) alert("Cannot revive a ghost") return - if(config.allow_admin_rev) + if(get_config_value(/decl/config/toggle/on/admin_revive)) M.revive() log_and_message_admins("healed / revived [key_name_admin(M)]!") @@ -828,12 +801,11 @@ Traitors and the like can also be revived with the previous role mostly intact. set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off" if(!check_rights(R_SERVER)) return - if(!config.allow_random_events) - config.allow_random_events = 1 + toggle_config_value(/decl/config/toggle/allow_random_events) + if(get_config_value(/decl/config/toggle/allow_random_events)) to_chat(usr, "Random events enabled") message_admins("Admin [key_name_admin(usr)] has enabled random events.", 1) else - config.allow_random_events = 0 to_chat(usr, "Random events disabled") message_admins("Admin [key_name_admin(usr)] has disabled random events.", 1) SSstatistics.add_field_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/view_variables/helpers.dm b/code/modules/admin/view_variables/helpers.dm index b2a1ebfc8ef..8e3350b0407 100644 --- a/code/modules/admin/view_variables/helpers.dm +++ b/code/modules/admin/view_variables/helpers.dm @@ -142,9 +142,6 @@ /datum/proc/VV_secluded() return list() -/datum/configuration/VV_secluded() - return vars - // The following vars cannot be edited by anyone /datum/proc/VV_static() return list("parent_type", "gc_destroyed", "is_processing") @@ -191,7 +188,7 @@ if(!(var_to_edit in VV_get_variables())) to_chat(user, "\The [src] does not have a var '[var_to_edit]'") return FALSE - if(var_to_edit in VV_static()) + if((var_to_edit in VV_static()) || (var_to_edit in VV_hidden())) return FALSE if((var_to_edit in VV_secluded()) && !check_rights(R_ADMIN|R_DEBUG, FALSE, C = user)) return FALSE diff --git a/code/modules/aspects/aspects.dm b/code/modules/aspects/aspects.dm index be9036b2e73..64621e2726d 100644 --- a/code/modules/aspects/aspects.dm +++ b/code/modules/aspects/aspects.dm @@ -103,7 +103,7 @@ var/global/list/aspect_categories = list() // Containers for ease of printing da incompatible_aspect_taken = TRUE break - if(istype(caller) && (ticked || caller.get_aspect_total() + aspect_cost <= config.max_character_aspects) && !incompatible_aspect_taken) + if(istype(caller) && (ticked || caller.get_aspect_total() + aspect_cost <= get_config_value(/decl/config/num/max_character_aspects)) && !incompatible_aspect_taken) result += "[ticked ? "[name]" : "[name]"] ([aspect_cost])" else result += ticked ? "[name]" : "[name]" @@ -130,7 +130,7 @@ var/global/list/aspect_categories = list() // Containers for ease of printing da for(var/decl/aspect/A as anything in personal_aspects) aspect_cost += A.aspect_cost - var/dat = list("[aspect_cost]/[config.max_character_aspects] points spent.") + var/dat = list("[aspect_cost]/[get_config_value(/decl/config/num/max_character_aspects)] points spent.") for(var/aspect_category in global.aspect_categories) var/datum/aspect_category/AC = global.aspect_categories[aspect_category] if(!istype(AC)) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index eea98925985..0a91771b32c 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -9,7 +9,7 @@ throwforce = 2 throw_speed = 3 throw_range = 10 - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' var/secured = 1 var/list/attached_overlays = null diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index ba7055647f9..f692cd70b9d 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -2,7 +2,7 @@ name = "igniter" desc = "A small electronic device able to ignite combustible substances." icon_state = "igniter" - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index d54d203d973..c472eacbe06 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -10,7 +10,7 @@ name = "infrared emitter" desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted." icon_state = "infrared" - origin_tech = "{'magnets':2}" + origin_tech = @'{"magnets":2}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, @@ -30,7 +30,7 @@ . = ..() beams = list() seen_turfs = list() - proximity_trigger = new(src, /obj/item/assembly/infra/proc/on_beam_entered, /obj/item/assembly/infra/proc/on_visibility_change, world.view, proximity_flags = PROXIMITY_EXCLUDE_HOLDER_TURF) + proximity_trigger = new(src, TYPE_PROC_REF(/obj/item/assembly/infra, on_beam_entered), TYPE_PROC_REF(/obj/item/assembly/infra, on_visibility_change), world.view, proximity_flags = PROXIMITY_EXCLUDE_HOLDER_TURF) /obj/item/assembly/infra/Destroy() qdel(proximity_trigger) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 4eda3b4fc35..dca5cfcd0a3 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -2,7 +2,7 @@ name = "rat trap" desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" - origin_tech = "{'combat':1}" + origin_tech = @'{"combat":1}' material = /decl/material/solid/organic/wood matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) var/armed = 0 diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 8eb8469b3eb..0436515fc73 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -2,7 +2,7 @@ name = "proximity sensor" desc = "Used for scanning and alerting when someone enters a certain proximity." icon_state = "prox" - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, @@ -78,7 +78,7 @@ /obj/item/assembly/prox_sensor/dropped() . = ..() - addtimer(CALLBACK(src, .proc/sense), 0) + addtimer(CALLBACK(src, PROC_REF(sense)), 0) /obj/item/assembly/prox_sensor/toggle_scan() if(!secured) return 0 diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index ea40cc935ff..6a40a7f3b1c 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -3,7 +3,7 @@ desc = "Used to remotely activate devices." icon_state = "signaller" item_state = "signaler" - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index b5fec4b4cc4..9c4fee0d1fc 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -2,7 +2,7 @@ name = "timer" desc = "Used to time things. Works well with contraptions which have to count down. Tick tock." icon_state = "timer" - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 20dc2332956..a291267414c 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -2,7 +2,7 @@ name = "voice analyzer" desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated." icon_state = "voice" - origin_tech = "{'magnets':1}" + origin_tech = @'{"magnets":1}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/atmospherics/components/unary/vent_pump.dm b/code/modules/atmospherics/components/unary/vent_pump.dm index 57481b5ddf1..4f9a74967c0 100644 --- a/code/modules/atmospherics/components/unary/vent_pump.dm +++ b/code/modules/atmospherics/components/unary/vent_pump.dm @@ -83,7 +83,7 @@ var/area/A = get_area(src) if(A && !A.air_vent_names[id_tag]) update_name() - events_repository.register(/decl/observ/name_set, A, src, .proc/change_area_name) + events_repository.register(/decl/observ/name_set, A, src, PROC_REF(change_area_name)) . = ..() air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP update_sound() @@ -148,11 +148,11 @@ if(old_area == new_area) return if(old_area) - events_repository.unregister(/decl/observ/name_set, old_area, src, .proc/change_area_name) + events_repository.unregister(/decl/observ/name_set, old_area, src, PROC_REF(change_area_name)) old_area.air_vent_info -= id_tag old_area.air_vent_names -= id_tag if(new_area && new_area == get_area(src)) - events_repository.register(/decl/observ/name_set, new_area, src, .proc/change_area_name) + events_repository.register(/decl/observ/name_set, new_area, src, PROC_REF(change_area_name)) if(!new_area.air_vent_names[id_tag]) var/new_name = "[new_area.proper_name] Vent Pump #[new_area.air_vent_names.len+1]" new_area.air_vent_names[id_tag] = new_name @@ -222,10 +222,7 @@ power_draw = pump_gas(src, air_contents, environment, transfer_moles, power_rating) else //external -> internal var/datum/pipe_network/network = network_in_dir(dir) - transfer_moles = calculate_transfer_moles(environment, air_contents, pressure_delta, network?.volume) - - //limit flow rate from turfs - transfer_moles = min(transfer_moles, environment.total_moles*air_contents.volume/environment.volume) //group_multiplier gets divided out here + transfer_moles = calculate_transfer_moles(environment, air_contents, pressure_delta, network?.volume) / environment.group_multiplier // limit it to just one turf's worth of gas per tick power_draw = pump_gas(src, environment, air_contents, transfer_moles, power_rating) else diff --git a/code/modules/atmospherics/components/unary/vent_scrubber.dm b/code/modules/atmospherics/components/unary/vent_scrubber.dm index a79c7d4467b..ce64f9b0458 100644 --- a/code/modules/atmospherics/components/unary/vent_scrubber.dm +++ b/code/modules/atmospherics/components/unary/vent_scrubber.dm @@ -77,11 +77,11 @@ if(old_area == new_area) return if(old_area) - events_repository.unregister(/decl/observ/name_set, old_area, src, .proc/change_area_name) + events_repository.unregister(/decl/observ/name_set, old_area, src, PROC_REF(change_area_name)) old_area.air_scrub_info -= id_tag old_area.air_scrub_names -= id_tag if(new_area && new_area == get_area(src)) - events_repository.register(/decl/observ/name_set, new_area, src, .proc/change_area_name) + events_repository.register(/decl/observ/name_set, new_area, src, PROC_REF(change_area_name)) if(!new_area.air_scrub_names[id_tag]) var/new_name = "[new_area.proper_name] Vent Scrubber #[new_area.air_scrub_names.len+1]" new_area.air_scrub_names[id_tag] = new_name diff --git a/code/modules/augment/active/armblades.dm b/code/modules/augment/active/armblades.dm index fc5d61a10eb..d0df629cdc1 100644 --- a/code/modules/augment/active/armblades.dm +++ b/code/modules/augment/active/armblades.dm @@ -9,7 +9,7 @@ sharp = 1 edge = 1 attack_verb = list("stabbed", "sliced", "cut") - origin_tech = "{'materials':1,'engineering':1,'combat':2}" + origin_tech = @'{"materials":1,"engineering":1,"combat":2}' material = /decl/material/solid/metal/steel /obj/item/armblade/can_take_wear_damage() @@ -33,7 +33,7 @@ desc = "These do not grow back." base_parry_chance = 40 material_force_multiplier = 0.3 - origin_tech = "{'materials':2,'engineering':2,'combat':3}" + origin_tech = @'{"materials":2,"engineering":2,"combat":3}' //Alternate look /obj/item/organ/internal/augment/active/simple/wolverine diff --git a/code/modules/augment/active/circuit.dm b/code/modules/augment/active/circuit.dm index e14291c7177..6fe25252764 100644 --- a/code/modules/augment/active/circuit.dm +++ b/code/modules/augment/active/circuit.dm @@ -8,7 +8,7 @@ augment_flags = AUGMENTATION_MECHANIC desc = "A DIY modular assembly. Circuitry not included" material = /decl/material/solid/metal/steel - origin_tech = "{'materials':1,'magnets':1,'engineering':1,'programming':2}" + origin_tech = @'{"materials":1,"magnets":1,"engineering":1,"programming":2}' /obj/item/organ/internal/augment/active/simple/circuit/attackby(obj/item/W, mob/user) if(IS_CROWBAR(W)) diff --git a/code/modules/augment/active/cyberbrain.dm b/code/modules/augment/active/cyberbrain.dm index c2b2cd63964..f8fc92ecca1 100644 --- a/code/modules/augment/active/cyberbrain.dm +++ b/code/modules/augment/active/cyberbrain.dm @@ -4,7 +4,7 @@ icon_state = "cyberbrain" allowed_organs = list(BP_AUGMENT_HEAD) augment_flags = AUGMENTATION_MECHANIC - origin_tech = "{'materials':2,'magnets':3,'engineering':3,'biotech':2,'programming':4}" + origin_tech = @'{"materials":2,"magnets":3,"engineering":3,"biotech":2,"programming":4}' var/list/default_hardware = list( /obj/item/stock_parts/computer/processor_unit/small, diff --git a/code/modules/augment/active/polytool.dm b/code/modules/augment/active/polytool.dm index d9592be10b2..eedb1239675 100644 --- a/code/modules/augment/active/polytool.dm +++ b/code/modules/augment/active/polytool.dm @@ -4,7 +4,7 @@ icon_state = "multitool" allowed_organs = list(BP_AUGMENT_R_HAND, BP_AUGMENT_L_HAND) augment_flags = AUGMENTATION_MECHANIC - origin_tech = "{'materials':2,'magnets':2,'engineering':4}" + origin_tech = @'{"materials":2,"magnets":2,"engineering":4}' var/list/items = list() var/list/paths = list() //We may lose them @@ -58,7 +58,7 @@ if(owner.equip_to_slot_if_possible(item, slot)) items -= item //Keep track of it, make sure it returns - events_repository.register(/decl/observ/item_unequipped, item, src, /obj/item/organ/internal/augment/active/simple/proc/holding_dropped ) + events_repository.register(/decl/observ/item_unequipped, item, src, TYPE_PROC_REF(/obj/item/organ/internal/augment/active/simple, holding_dropped) ) var/decl/pronouns/G = owner.get_pronouns() owner.visible_message( SPAN_NOTICE("\The [owner] extends [G.his] [item.name] from [G.his] [limb.name]."), diff --git a/code/modules/augment/active/tool/engineering.dm b/code/modules/augment/active/tool/engineering.dm index f733602225e..0b3416aaf7c 100644 --- a/code/modules/augment/active/tool/engineering.dm +++ b/code/modules/augment/active/tool/engineering.dm @@ -14,7 +14,7 @@ /obj/item/wirecutters/finger, /obj/item/multitool/finger ) - origin_tech = "{'materials':4,'magnets':3,'engineering':3}" + origin_tech = @'{"materials":4,"magnets":3,"engineering":3}' /obj/item/weldingtool/finger name = "digital welder" diff --git a/code/modules/augment/active/tool/surgical.dm b/code/modules/augment/active/tool/surgical.dm index ba7b03dd20f..808d0c5c24c 100644 --- a/code/modules/augment/active/tool/surgical.dm +++ b/code/modules/augment/active/tool/surgical.dm @@ -16,4 +16,4 @@ /obj/item/scalpel, /obj/item/surgicaldrill ) - origin_tech = "{'materials':4,'magnets':3,'engineering':3}" + origin_tech = @'{"materials":4,"magnets":3,"engineering":3}' diff --git a/code/modules/augment/augment.dm b/code/modules/augment/augment.dm index 5b017593016..82b1b100ffb 100644 --- a/code/modules/augment/augment.dm +++ b/code/modules/augment/augment.dm @@ -6,7 +6,7 @@ organ_properties = ORGAN_PROP_PROSTHETIC default_action_type = /datum/action/item_action/organ/augment material = /decl/material/solid/metal/steel - origin_tech = "{'materials':1,'magnets':2,'engineering':2,'biotech':1}" + origin_tech = @'{"materials":1,"magnets":2,"engineering":2,"biotech":1}' var/descriptor = "" var/known = TRUE diff --git a/code/modules/augment/helping_hands.dm b/code/modules/augment/helping_hands.dm new file mode 100644 index 00000000000..38b3be5033d --- /dev/null +++ b/code/modules/augment/helping_hands.dm @@ -0,0 +1,49 @@ +/obj/item/helpinghands + name = "back-mounted arms" + desc = "A pair of arms with an included harness worn on the back, controlled by a noninvasive spinal prosthesis." + icon = 'icons/mecha/mech_parts_held.dmi' + icon_state = "light_arms" + material = /decl/material/solid/metal/steel + slot_flags = SLOT_BACK + var/list/slot_types = list( + /datum/inventory_slot/gripper/left_hand/no_organ/helping, + /datum/inventory_slot/gripper/right_hand/no_organ/helping + ) + +/obj/item/helpinghands/proc/add_hands(mob/user) + for (var/gripper_type in slot_types) + user.add_held_item_slot(new gripper_type) + +/obj/item/helpinghands/proc/remove_hands(mob/user) + for (var/datum/inventory_slot/gripper_type as anything in slot_types) + user.remove_held_item_slot(initial(gripper_type.slot_id)) + +/obj/item/helpinghands/equipped(mob/user, slot) + . = ..() + if(!user) + return + switch(slot) + if(slot_back_str) + add_hands(user) + else + remove_hands(user) + +/obj/item/helpinghands/dropped(mob/user) + . = ..() + if(user) + remove_hands(user) + +/datum/inventory_slot/gripper/left_hand/no_organ + requires_organ_tag = null +/datum/inventory_slot/gripper/right_hand/no_organ + requires_organ_tag = null + +/datum/inventory_slot/gripper/left_hand/no_organ/helping + slot_id = "helping_hand_l" + hand_overlay = BP_L_HAND + hand_sort_priority = 4 + +/datum/inventory_slot/gripper/right_hand/no_organ/helping + slot_id = "helping_hand_r" + hand_overlay = BP_R_HAND + hand_sort_priority = 5 \ No newline at end of file diff --git a/code/modules/augment/passive/armor.dm b/code/modules/augment/passive/armor.dm index 1c5d2c4e751..738e6c278c7 100644 --- a/code/modules/augment/passive/armor.dm +++ b/code/modules/augment/passive/armor.dm @@ -5,6 +5,6 @@ desc = "A flexible composite mesh designed to prevent tearing and puncturing of underlying tissue." material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':4,'engineering':2,'biotech':3}" + origin_tech = @'{"materials":4,"engineering":2,"biotech":3}' var/brute_mult = 0.8 var/burn_mult = 1 \ No newline at end of file diff --git a/code/modules/augment/passive/boost.dm b/code/modules/augment/passive/boost.dm index c06f8c7ce6f..0881f8736ec 100644 --- a/code/modules/augment/passive/boost.dm +++ b/code/modules/augment/passive/boost.dm @@ -4,7 +4,7 @@ /obj/item/organ/internal/augment/boost icon_state = "booster" allowed_organs = list(BP_AUGMENT_HEAD) - origin_tech = "{'materials':2,'magnets':2,'engineering':2,'biotech':3}" + origin_tech = @'{"materials":2,"magnets":2,"engineering":2,"biotech":3}' var/list/buffs = list()//Which abilities does this impact? var/list/injury_debuffs = list()//If organ is damaged, should we reduce anything? var/buffpath = /datum/skill_buff/augment //if you use something else it should be a subtype or it will runtime diff --git a/code/modules/augment/passive/boost/muscle.dm b/code/modules/augment/passive/boost/muscle.dm index faab18be427..55d1df0a1a7 100644 --- a/code/modules/augment/passive/boost/muscle.dm +++ b/code/modules/augment/passive/boost/muscle.dm @@ -10,7 +10,7 @@ desc = "Nanofiber tendons powered by an array of actuators to help the wearer mantain speed even while encumbered. You may want to install these in pairs to see a result." material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':4,'magnets':3,'biotech':3}" + origin_tech = @'{"materials":4,"magnets":3,"biotech":3}' var/obj/item/organ/internal/augment/boost/muscle/other //we need two for these diff --git a/code/modules/augment/passive/boost/reflex.dm b/code/modules/augment/passive/boost/reflex.dm index 1644f490514..d249075c429 100644 --- a/code/modules/augment/passive/boost/reflex.dm +++ b/code/modules/augment/passive/boost/reflex.dm @@ -8,7 +8,7 @@ /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':2,'magnets':3,'programming':5,'biotech':2}" + origin_tech = @'{"materials":2,"magnets":3,"programming":5,"biotech":2}' /obj/item/organ/internal/augment/boost/reflex/buff() if((. = ..())) diff --git a/code/modules/augment/passive/boost/shooting.dm b/code/modules/augment/passive/boost/shooting.dm index bbc92ec6107..d29a67a21be 100644 --- a/code/modules/augment/passive/boost/shooting.dm +++ b/code/modules/augment/passive/boost/shooting.dm @@ -8,7 +8,7 @@ /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':4,'magnets':3,'biotech':3}" + origin_tech = @'{"materials":4,"magnets":3,"biotech":3}' /obj/item/organ/internal/augment/boost/reflex/buff() if((. = ..())) diff --git a/code/modules/augment/passive/nanoaura.dm b/code/modules/augment/passive/nanoaura.dm index 662be61f8eb..3bf4bf43d00 100644 --- a/code/modules/augment/passive/nanoaura.dm +++ b/code/modules/augment/passive/nanoaura.dm @@ -20,7 +20,7 @@ /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE, /decl/material/solid/metal/uranium = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':4,'magnets':4,'engineering':5,'biotech':3}" + origin_tech = @'{"materials":4,"magnets":4,"engineering":5,"biotech":3}' var/obj/aura/nanoaura/aura = null var/charges = 4 diff --git a/code/modules/augment/simple.dm b/code/modules/augment/simple.dm index 7b122209cf4..23a9e2d4dfa 100644 --- a/code/modules/augment/simple.dm +++ b/code/modules/augment/simple.dm @@ -35,7 +35,7 @@ else if(limb.organ_tag in list(BP_R_ARM, BP_R_HAND)) slot = BP_R_HAND if(owner.equip_to_slot_if_possible(holding, slot)) - events_repository.register(/decl/observ/item_unequipped, holding, src, /obj/item/organ/internal/augment/active/simple/proc/holding_dropped) + events_repository.register(/decl/observ/item_unequipped, holding, src, TYPE_PROC_REF(/obj/item/organ/internal/augment/active/simple, holding_dropped)) var/decl/pronouns/G = owner.get_pronouns() owner.visible_message( SPAN_NOTICE("\The [owner] extends [G.his] [holding.name] from [G.his] [limb.name]."), diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 95d2001f73d..77ce2c0c676 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -55,32 +55,32 @@ if((spawn_flags & CORPSE_SPAWNER_RANDOM_SKIN_COLOR)) if(species_choice in skin_colors_per_species) - M.change_skin_color(pick(skin_colors_per_species[species_choice])) + M.set_skin_colour(pick(skin_colors_per_species[species_choice])) else M.randomize_skin_color() if((spawn_flags & CORPSE_SPAWNER_RANDOM_HAIR_COLOR)) if(species_choice in hair_colors_per_species) - M.change_hair_color(pick(hair_colors_per_species[species_choice])) + M.set_hair_colour(pick(hair_colors_per_species[species_choice])) else M.randomize_hair_color() - M.change_facial_hair_color(M.hair_colour) + M.set_facial_hair_colour(M.get_hair_colour()) if((spawn_flags & CORPSE_SPAWNER_RANDOM_HAIR_STYLE)) if(species_choice in hair_styles_per_species) - M.change_hair(pick(hair_styles_per_species[species_choice])) + M.set_hairstyle(pick(hair_styles_per_species[species_choice])) else M.randomize_hair_style() if((spawn_flags & CORPSE_SPAWNER_RANDOM_FACIAL_STYLE)) if(species_choice in facial_styles_per_species) - M.change_facial_hair(pick(facial_styles_per_species[species_choice])) + M.set_facial_hairstyle(pick(facial_styles_per_species[species_choice])) else M.randomize_facial_hair_style() if((spawn_flags & CORPSE_SPAWNER_RANDOM_EYE_COLOR)) if(species_choice in eye_colors_per_species) - M.change_eye_color(pick(eye_colors_per_species[species_choice])) + M.set_eye_colour(pick(eye_colors_per_species[species_choice])) else M.randomize_eye_color() diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index b416212991d..67ed0c183cd 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -35,7 +35,7 @@ /obj/machinery/gateway/centerstation/Initialize() update_icon() - wait = world.time + config.gateway_delay //+ thirty minutes default + wait = world.time + get_config_value(/decl/config/num/gateway_delay) //+ thirty minutes default awaygate = locate(/obj/machinery/gateway/centeraway) . = ..() diff --git a/code/modules/blob/blob.dm b/code/modules/blob/blob.dm index ff057c0d515..24c98a41859 100644 --- a/code/modules/blob/blob.dm +++ b/code/modules/blob/blob.dm @@ -363,13 +363,13 @@ regen() will cover update_icon() for this proc desc = "An incredibly dense, yet flexible, tendril, removed from an asteroclast." force = 10 color = COLOR_BRONZE - origin_tech = "{'materials':2}" + origin_tech = @'{"materials":2}' if("fire") desc = "A tendril removed from an asteroclast. It's hot to the touch." damtype = BURN force = 15 color = COLOR_AMBER - origin_tech = "{'powerstorage':2}" + origin_tech = @'{"powerstorage":2}' /obj/item/blob_tendril/afterattack(obj/O, mob/user, proximity) if(!proximity) @@ -388,11 +388,11 @@ regen() will cover update_icon() for this proc icon_state = "core_sample" item_state = "blob_core" w_class = ITEM_SIZE_NORMAL - origin_tech = "{'materials':4,'wormholes':5,'biotech':7}" + origin_tech = @'{"materials":4,"wormholes":5,"biotech":7}' is_tendril = FALSE /obj/item/blob_tendril/core/aux name = "asteroclast auxiliary nucleus sample" desc = "A sample taken from an asteroclast's auxiliary nucleus." icon_state = "core_sample_2" - origin_tech = "{'materials':2,'wormholes':3,'biotech':4}" + origin_tech = @'{"materials":2,"wormholes":3,"biotech":4}' diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index f83d5f9cf13..756975d0814 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -84,7 +84,7 @@ var/global/list/localhost_addresses = list( ticket.close(client_repository.get_lite_client(usr.client)) //Logs all hrefs - if(config && config.log_hrefs && global.world_href_log) + if(get_config_value(/decl/config/toggle/log_hrefs) && global.world_href_log) to_file(global.world_href_log, "[time2text(world.timeofday,"hh:mm")] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
    ") switch(href_list["_src_"]) @@ -130,14 +130,15 @@ var/global/list/localhost_addresses = list( deactivate_darkmode(clear_chat = FALSE) // Overwritten if the pref is set later. #if DM_VERSION >= 512 - var/bad_version = config.minimum_byond_version && byond_version < config.minimum_byond_version - var/bad_build = config.minimum_byond_build && byond_build < config.minimum_byond_build + var/bad_version = byond_version < get_config_value(/decl/config/num/minimum_byond_version) + var/bad_build = byond_build < get_config_value(/decl/config/num/minimum_byond_build) + if (bad_build || bad_version) to_chat(src, "You are attempting to connect with an out-of-date version of BYOND. Please update to the latest version at http://www.byond.com/ before trying again.") qdel(src) return - if("[byond_version].[byond_build]" in config.forbidden_versions) + if("[byond_version].[byond_build]" in get_config_value(/decl/config/lists/forbidden_versions)) _DB_staffwarn_record(ckey, "Tried to connect with broken and possibly exploitable BYOND build.") to_chat(src, "You are attempting to connect with a broken and possibly exploitable BYOND build. Please update to the latest version at http://www.byond.com/ before trying again.") qdel(src) @@ -145,23 +146,24 @@ var/global/list/localhost_addresses = list( #endif - var/local_connection = (config.auto_local_admin && (isnull(address) || global.localhost_addresses[address])) + var/local_connection = (get_config_value(/decl/config/toggle/on/auto_local_admin) && (isnull(address) || global.localhost_addresses[address])) if(!local_connection) - if(!config.guests_allowed && IsGuestKey(key)) + if(!get_config_value(/decl/config/toggle/guests_allowed) && IsGuestKey(key)) alert(src,"This server doesn't allow guest accounts to play. Please go to http://www.byond.com/ and register for a key.","Guest","OK") qdel(src) return - if(config.player_limit != 0) - if((global.clients.len >= config.player_limit) && !(ckey in admin_datums)) - alert(src,"This server is currently full and not accepting new connections.","Server Full","OK") - log_admin("[ckey] tried to join and was turned away due to the server being full (player_limit=[config.player_limit])") - qdel(src) - return + var/player_limit = get_config_value(/decl/config/num/player_limit) + if(player_limit != 0 && global.clients.len >= player_limit && !(ckey in admin_datums)) + alert(src,"This server is currently full and not accepting new connections.","Server Full","OK") + log_admin("[ckey] tried to join and was turned away due to the server being full (player_limit=[player_limit])") + qdel(src) + return // Change the way they should download resources. - if(config.resource_urls && config.resource_urls.len) - src.preload_rsc = pick(config.resource_urls) - else src.preload_rsc = 1 // If config.resource_urls is not set, preload like normal. + var/list/resource_urls = get_config_value(/decl/config/lists/resource_urls) + if(length(resource_urls)) + src.preload_rsc = pick(resource_urls) + else src.preload_rsc = 1 // If resource_urls is not set, preload like normal. global.clients += src global.ckey_directory[ckey] = src @@ -199,17 +201,19 @@ var/global/list/localhost_addresses = list( prefs.last_id = computer_id apply_fps(prefs.clientfps) - if(!isnull(config.lock_client_view_x) && !isnull(config.lock_client_view_y)) - view = "[config.lock_client_view_x]x[config.lock_client_view_y]" + var/lock_x = get_config_value(/decl/config/num/clients/lock_client_view_x) + var/lock_y = get_config_value(/decl/config/num/clients/lock_client_view_y) + if(lock_x > 0 && lock_y > 0) + view = "[lock_x]x[lock_y]" . = ..() //calls mob.Login() global.using_map.map_info(src) - if(custom_event_msg && custom_event_msg != "") + if(global.custom_event_msg) to_chat(src, "

    Custom Event

    ") to_chat(src, "

    A custom event is taking place. OOC Info:

    ") - to_chat(src, "[custom_event_msg]") + to_chat(src, "[global.custom_event_msg]") to_chat(src, "
    ") if(holder) @@ -344,10 +348,10 @@ var/global/list/localhost_addresses = list( var/sql_admin_rank = sql_sanitize_text(admin_rank) if ((player_age <= 0) && !(ckey in global.panic_bunker_bypass)) //first connection - if (config.panic_bunker && !holder && !deadmin_holder) + if (get_config_value(/decl/config/toggle/panic_bunker) && !holder && !deadmin_holder) log_adminwarn("Failed Login: [key] - New account attempting to connect during panic bunker") message_admins("Failed Login: [key] - New account attempting to connect during panic bunker") - to_chat(src, config.panic_bunker_message) + to_chat(src, get_config_value(/decl/config/text/panic_bunker_message)) qdel(src) return 0 @@ -377,9 +381,9 @@ var/global/list/localhost_addresses = list( message_staff("\[[holder.rank]\] [key_name(src)] logged out.") if(!global.admins.len) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell. send2adminirc("[key_name(src)] logged out - no more staff online.") - if(config.delist_when_no_admins && global.visibility_pref) - world.update_hub_visibility() - send2adminirc("Toggled hub visibility. The server is now invisible ([global.visibility_pref]).") + if(get_config_value(/decl/config/toggle/delist_when_no_admins) && get_config_value(/decl/config/toggle/hub_visibility)) + toggle_config_value(/decl/config/toggle/hub_visibility) + send2adminirc("Toggled hub visibility. The server is now invisible.") //checks if a client is afk //3000 frames = 5 minutes @@ -499,9 +503,9 @@ var/global/const/MAX_VIEW = 41 return // Some kind of malformed winget(), do not proceed. // Rescale as needed. - var/res_x = config.lock_client_view_x || CEILING(text2num(view_components[1]) / divisor) - var/res_y = config.lock_client_view_y || CEILING(text2num(view_components[2]) / divisor) - var/max_view = config.max_client_view_x || MAX_VIEW + var/res_x = get_config_value(/decl/config/num/clients/lock_client_view_x) || CEILING(text2num(view_components[1]) / divisor) + var/res_y = get_config_value(/decl/config/num/clients/lock_client_view_y) || CEILING(text2num(view_components[2]) / divisor) + var/max_view = get_config_value(/decl/config/num/clients/max_client_view_x) || MAX_VIEW last_view_x_dim = clamp(res_x, MIN_VIEW, max_view) last_view_y_dim = clamp(res_y, MIN_VIEW, max_view) diff --git a/code/modules/client/preference_setup/background/01_species.dm b/code/modules/client/preference_setup/background/01_species.dm index c75d436d5d8..8823b103aa4 100644 --- a/code/modules/client/preference_setup/background/01_species.dm +++ b/code/modules/client/preference_setup/background/01_species.dm @@ -35,7 +35,7 @@ var/list/playables = list() for(var/s in prefilter) - if(!check_rights(R_ADMIN, 0) && config.usealienwhitelist) + if(!check_rights(R_ADMIN, 0) && get_config_value(/decl/config/toggle/use_alien_whitelist)) var/decl/species/checking_species = get_species_by_key(s) if(!(checking_species.spawn_flags & SPECIES_CAN_JOIN)) continue diff --git a/code/modules/client/preference_setup/controls/01_keybindings.dm b/code/modules/client/preference_setup/controls/01_keybindings.dm index 22a21e13a1a..32df0057281 100644 --- a/code/modules/client/preference_setup/controls/01_keybindings.dm +++ b/code/modules/client/preference_setup/controls/01_keybindings.dm @@ -38,7 +38,7 @@ notadded += kb if(length(notadded)) - addtimer(CALLBACK(src, .proc/announce_conflict, notadded), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(announce_conflict), notadded), 5 SECONDS) /datum/preferences/proc/announce_conflict(list/notadded) to_chat(client, SPAN_DANGER("There are new keybindings that have defaults that are already bound - the new keybindings will be unbound until updated. You can rebind them in Setup Character or Game Preferences.")) diff --git a/code/modules/client/preference_setup/general/02_body.dm b/code/modules/client/preference_setup/general/02_body.dm index a45885a7efd..2582487bc45 100644 --- a/code/modules/client/preference_setup/general/02_body.dm +++ b/code/modules/client/preference_setup/general/02_body.dm @@ -149,44 +149,59 @@ . += "
    " . += "

    Colouration

    " - . += "" + . += "
    " . += "" - . += "" - . += "" - . += "" + . += "" + . += "" + . += "" + . += "" . += "" . += "" - . += "" - . += "" - . += "" + . += "" + . += "" + . += "" + . += "" . += "" if(mob_bodytype.appearance_flags & HAS_EYE_COLOR) . += "" - . += "" - . += "" + . += "" + . += "" + . += "" if(mob_bodytype.appearance_flags & HAS_SKIN_COLOR) . += "" - . += "" - . += "" + . += "" + . += "" + . += "" . += "
    Hair[GET_DECL(pref.h_style)]" + . += "Hair" + + var/const/up_arrow = "⇧" + var/const/down_arrow = "⇩" + var/const/left_arrow = "⇦" + var/const/right_arrow = "⇨" + if(mob_bodytype.appearance_flags & HAS_HAIR_COLOR) . += "[COLORED_SQUARE(pref.hair_colour)] Change" . += "[left_arrow][GET_DECL(pref.h_style)][right_arrow]
    Facial[GET_DECL(pref.f_style)]" + . += "Facial" if(mob_bodytype.appearance_flags & HAS_HAIR_COLOR) . += "[COLORED_SQUARE(pref.facial_hair_colour)] Change" . += "[left_arrow][GET_DECL(pref.f_style)][right_arrow]
    Eyes[COLORED_SQUARE(pref.eye_colour)] ChangeEyes[COLORED_SQUARE(pref.eye_colour)] Change" . += "
    Body[COLORED_SQUARE(pref.skin_colour)] ChangeBody[COLORED_SQUARE(pref.skin_colour)] Change" . += "
    " . += "

    Markings

    " - . += "" + . += "
    " for(var/M in pref.body_markings) var/decl/sprite_accessory/mark = GET_DECL(M) . += "" - . += "" - . += "" + . += "" + . += "" + . += "" + . += "" + . += "" . += "" - . += "" + . += "" . += "
    [mark.name]Remove[COLORED_SQUARE(pref.body_markings[M])] ChangeRemove[COLORED_SQUARE(pref.body_markings[M])] Change[up_arrow][mark.name][down_arrow]
    Add marking
    Add marking
    " . = jointext(.,null) @@ -233,14 +248,50 @@ else if(href_list["hair_style"]) - var/decl/bodytype/B = mob_species.get_bodytype_by_name(pref.bodytype) - mob_species = get_species_by_key(pref.species) - var/decl/sprite_accessory/new_h_style = input(user, "Choose your character's hair style:", CHARACTER_PREFERENCE_INPUT_TITLE, pref.h_style) as null|anything in mob_species.get_hair_styles(B) - mob_species = get_species_by_key(pref.species) - if(new_h_style && CanUseTopic(user) && (new_h_style in mob_species.get_hair_styles(B))) + var/decl/sprite_accessory/new_h_style = input(user, "Choose your character's hair style:", CHARACTER_PREFERENCE_INPUT_TITLE, pref.h_style) as null|anything in mob_species.get_hair_styles(mob_bodytype) + mob_species = get_species_by_key(pref.species) + mob_bodytype = mob_species.get_bodytype_by_name(pref.bodytype) || mob_species.default_bodytype + if(new_h_style && CanUseTopic(user) && (new_h_style in mob_species.get_hair_styles(mob_bodytype))) pref.h_style = new_h_style.type return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["hair_next"] || href_list["hair_prev"]) + var/decl/sprite_accessory/current_hair = GET_DECL(pref.h_style) + var/list/available_hair = mob_species.get_hair_styles(mob_bodytype) + if(current_hair in available_hair) + if(href_list["hair_next"]) + current_hair = next_in_list(current_hair, available_hair) + else if(href_list["hair_prev"]) + current_hair = previous_in_list(current_hair, available_hair) + if(istype(current_hair) && pref.h_style != current_hair.type) + pref.h_style = current_hair.type + return TOPIC_REFRESH_UPDATE_PREVIEW + + return TOPIC_NOACTION + else if(href_list["facial_style"]) + + var/decl/sprite_accessory/new_f_style = input(user, "Choose your character's facial-hair style:", CHARACTER_PREFERENCE_INPUT_TITLE, GET_DECL(pref.f_style)) as null|anything in mob_species.get_facial_hair_styles(mob_bodytype) + mob_species = get_species_by_key(pref.species) + mob_bodytype = mob_species.get_bodytype_by_name(pref.bodytype) || mob_species.default_bodytype + if(new_f_style && CanUseTopic(user) && (new_f_style in mob_species.get_facial_hair_styles(mob_bodytype))) + pref.f_style = new_f_style.type + return TOPIC_REFRESH_UPDATE_PREVIEW + + else if(href_list["facial_next"] || href_list["facial_prev"]) + + var/decl/sprite_accessory/current_facial_hair = GET_DECL(pref.f_style) + var/list/available_facial_hair = mob_species.get_facial_hair_styles(mob_bodytype) + if(current_facial_hair in available_facial_hair) + if(href_list["facial_next"]) + current_facial_hair = next_in_list(current_facial_hair, available_facial_hair) + else if(href_list["facial_prev"]) + current_facial_hair = previous_in_list(current_facial_hair, available_facial_hair) + if(istype(current_facial_hair) && pref.f_style != current_facial_hair.type) + pref.f_style = current_facial_hair.type + return TOPIC_REFRESH_UPDATE_PREVIEW + + return TOPIC_NOACTION + else if(href_list["facial_color"]) if(!(mob_bodytype.appearance_flags & HAS_HAIR_COLOR)) return TOPIC_NOACTION @@ -281,37 +332,15 @@ pref.skin_colour = new_skin return TOPIC_REFRESH_UPDATE_PREVIEW - else if(href_list["facial_style"]) - - var/decl/bodytype/B = mob_species.get_bodytype_by_name(pref.bodytype) - mob_species = get_species_by_key(pref.species) - var/decl/sprite_accessory/new_f_style = input(user, "Choose your character's facial-hair style:", CHARACTER_PREFERENCE_INPUT_TITLE, GET_DECL(pref.f_style)) as null|anything in mob_species.get_facial_hair_styles(B) - mob_species = get_species_by_key(pref.species) - if(new_f_style && CanUseTopic(user) && (new_f_style in mob_species.get_facial_hair_styles(B))) - pref.f_style = new_f_style.type - return TOPIC_REFRESH_UPDATE_PREVIEW - //TODO SPRITE ACCESSORY UPDATE else if(href_list["marking_style"]) - var/list/disallowed_markings = list() - for (var/M in pref.body_markings) - var/decl/sprite_accessory/marking/mark_style = GET_DECL(M) - disallowed_markings |= mark_style.disallows - - var/list/usable_markings = list() - var/list/all_markings = decls_repository.get_decls_of_subtype(/decl/sprite_accessory/marking) - for(var/M in all_markings) - if(M in pref.body_markings) - continue - var/decl/sprite_accessory/accessory = all_markings[M] - mob_bodytype = mob_species.get_bodytype_by_name(pref.bodytype) - if(!is_type_in_list(accessory, disallowed_markings) && accessory.accessory_is_available(preference_mob(), mob_species, mob_bodytype)) - usable_markings += accessory - - var/decl/sprite_accessory/new_marking = input(user, "Choose a body marking:", CHARACTER_PREFERENCE_INPUT_TITLE) as null|anything in usable_markings + var/decl/sprite_accessory/new_marking = input(user, "Choose a body marking:", CHARACTER_PREFERENCE_INPUT_TITLE) as null|anything in get_usable_markings(preference_mob(), mob_species, mob_bodytype, pref.body_markings) if(new_marking && CanUseTopic(user)) - pref.body_markings[new_marking.type] = COLOR_BLACK + mob_species = get_species_by_key(pref.species) + mob_bodytype = mob_species.get_bodytype_by_name(pref.bodytype) || mob_species.default_bodytype + if(new_marking in get_usable_markings(preference_mob(), mob_species, mob_bodytype, pref.body_markings)) + pref.body_markings[new_marking.type] = COLOR_BLACK return TOPIC_REFRESH_UPDATE_PREVIEW else if(href_list["marking_remove"]) @@ -326,6 +355,44 @@ pref.body_markings[M.type] = "[mark_color]" return TOPIC_REFRESH_UPDATE_PREVIEW + else if(href_list["marking_move_down"]) + var/decl/sprite_accessory/M = locate(href_list["marking_move_down"]) + if(istype(M)) + var/current_index = pref.body_markings.Find(M.type) + if(current_index < length(pref.body_markings)) + var/marking_color = pref.body_markings[M.type] + pref.body_markings -= M.type + pref.body_markings.Insert(current_index+1, M.type) + pref.body_markings[M.type] = marking_color + return TOPIC_REFRESH_UPDATE_PREVIEW + return TOPIC_NOACTION + + else if(href_list["marking_move_up"]) + var/decl/sprite_accessory/M = locate(href_list["marking_move_up"]) + if(istype(M)) + var/current_index = pref.body_markings.Find(M.type) + if(current_index > 1) + var/marking_color = pref.body_markings[M.type] + pref.body_markings -= M.type + pref.body_markings.Insert(current_index-1, M.type) + pref.body_markings[M.type] = marking_color + return TOPIC_REFRESH_UPDATE_PREVIEW + return TOPIC_NOACTION + +/datum/category_item/player_setup_item/physical/body/proc/get_usable_markings(mob/pref_mob, decl/species/mob_species, decl/bodytype/mob_bodytype, list/existing_markings) + var/list/disallowed_markings = list() + for (var/M in existing_markings) + var/decl/sprite_accessory/marking/mark_style = GET_DECL(M) + if(length(mark_style.disallows_accessories)) + disallowed_markings |= mark_style.disallows_accessories + var/list/all_markings = decls_repository.get_decls_of_subtype(/decl/sprite_accessory/marking) + for(var/M in all_markings) + if(M in existing_markings) + continue + var/decl/sprite_accessory/accessory = all_markings[M] + if(!is_type_in_list(accessory, disallowed_markings) && accessory.accessory_is_available(pref_mob, mob_species, mob_bodytype)) + LAZYADD(., accessory) + /datum/category_item/player_setup_item/proc/ResetAllHair() ResetHair() ResetFacialHair() diff --git a/code/modules/client/preference_setup/general/03_aspects.dm b/code/modules/client/preference_setup/general/03_aspects.dm index 6d7448a0b3d..ccebf2a6c27 100644 --- a/code/modules/client/preference_setup/general/03_aspects.dm +++ b/code/modules/client/preference_setup/general/03_aspects.dm @@ -61,7 +61,8 @@ pref.prune_invalid_aspects() var/modified_list = FALSE - while(get_aspect_total() > config.max_character_aspects) + var/max_character_aspects = get_config_value(/decl/config/num/max_character_aspects) + while(get_aspect_total() > max_character_aspects) // Find a costly aspect with no children to drop until our cost is below the threshold. var/can_drop_aspect = FALSE @@ -105,11 +106,12 @@ var/aspect_total = get_aspect_total() // Change our formatting data if needed. var/fcolor = COLOR_CYAN_BLUE - if(aspect_total == config.max_character_aspects) + var/max_character_aspects = get_config_value(/decl/config/num/max_character_aspects) + if(aspect_total == max_character_aspects) fcolor = COLOR_FONT_ORANGE // Build the string. - . = list("
    [aspect_total]/[config.max_character_aspects] points spent.

    ") + . = list("
    [aspect_total]/[max_character_aspects] points spent.

    ") if(!selected_category || !(selected_category in available_categories)) selected_category = available_categories[1] @@ -169,7 +171,7 @@ if(A.children) aspects_to_remove |= A.children // Enable aspect. - else if(get_aspect_total() + A.aspect_cost <= config.max_character_aspects) + else if(get_aspect_total() + A.aspect_cost <= get_config_value(/decl/config/num/max_character_aspects)) pref.aspects |= A.type // Tidy up in case we're in an incoherent state for whatever reason. pref.prune_invalid_aspects() diff --git a/code/modules/client/preference_setup/global/01_ui.dm b/code/modules/client/preference_setup/global/01_ui.dm index d6c0e0cabee..150c22bc320 100644 --- a/code/modules/client/preference_setup/global/01_ui.dm +++ b/code/modules/client/preference_setup/global/01_ui.dm @@ -151,4 +151,4 @@ var/global/list/valid_icon_sizes = list(32, 48, 64, 96, 128) return ..() /proc/can_select_ooc_color(var/mob/user) - return config.allow_admin_ooccolor && check_rights(R_ADMIN, 0, user) + return get_config_value(/decl/config/toggle/admin_ooccolor) && check_rights(R_ADMIN, 0, user) diff --git a/code/modules/client/preference_setup/global/05_settings.dm b/code/modules/client/preference_setup/global/05_settings.dm index d96ac73e0e9..12e2816db9a 100644 --- a/code/modules/client/preference_setup/global/05_settings.dm +++ b/code/modules/client/preference_setup/global/05_settings.dm @@ -42,7 +42,7 @@ pref.preference_values -= key pref.lastchangelog = sanitize_text(pref.lastchangelog, initial(pref.lastchangelog)) - pref.default_slot = sanitize_integer(pref.default_slot, 1, config.character_slots, initial(pref.default_slot)) + pref.default_slot = sanitize_integer(pref.default_slot, 1, get_config_value(/decl/config/num/character_slots), initial(pref.default_slot)) /datum/category_item/player_setup_item/player_global/settings/content(var/mob/user) . = list() diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm index 2bdf986fcb1..93a1eefd41c 100644 --- a/code/modules/client/preference_setup/loadout/loadout.dm +++ b/code/modules/client/preference_setup/loadout/loadout.dm @@ -38,7 +38,7 @@ var/global/list/gear_datums = list() return /decl/loadout_option/proc/can_afford(var/mob/user, var/datum/preferences/pref) - if(cost > 0 && (pref.total_loadout_cost + cost) > config.max_gear_cost) + if(cost > 0 && (pref.total_loadout_cost + cost) > get_config_value(/decl/config/num/max_gear_cost)) return FALSE var/decl/loadout_category/LC = GET_DECL(category) if(!LC || pref.total_loadout_selections[category] >= LC.max_selections) @@ -77,14 +77,15 @@ var/global/list/gear_datums = list() /datum/category_item/player_setup_item/loadout/sanitize_character() - pref.gear_slot = sanitize_integer(pref.gear_slot, 1, config.loadout_slots, initial(pref.gear_slot)) + var/loadout_slots = get_config_value(/decl/config/num/loadout_slots) + pref.gear_slot = sanitize_integer(pref.gear_slot, 1, loadout_slots, initial(pref.gear_slot)) if(!islist(pref.gear_list)) pref.gear_list = list() - if(pref.gear_list.len < config.loadout_slots) - pref.gear_list.len = config.loadout_slots + if(pref.gear_list.len < loadout_slots) + pref.gear_list.len = loadout_slots - for(var/index = 1 to config.loadout_slots) + for(var/index = 1 to loadout_slots) pref.total_loadout_cost = 0 pref.total_loadout_selections = list() @@ -118,14 +119,15 @@ var/global/list/gear_datums = list() recalculate_loadout_cost() var/fcolor = COLOR_CYAN_BLUE - if(pref.total_loadout_cost < config.max_gear_cost) + var/max_gear_cost = get_config_value(/decl/config/num/max_gear_cost) + if(pref.total_loadout_cost < max_gear_cost) fcolor = COLOR_FONT_ORANGE . += "" . += "" @@ -296,14 +298,14 @@ var/global/list/gear_datums = list() return TOPIC_REFRESH_UPDATE_PREVIEW if(href_list["next_slot"]) pref.gear_slot = pref.gear_slot+1 - if(pref.gear_slot > config.loadout_slots) + if(pref.gear_slot > get_config_value(/decl/config/num/loadout_slots)) pref.gear_slot = 1 recalculate_loadout_cost() return TOPIC_REFRESH_UPDATE_PREVIEW if(href_list["prev_slot"]) pref.gear_slot = pref.gear_slot-1 if(pref.gear_slot < 1) - pref.gear_slot = config.loadout_slots + pref.gear_slot = get_config_value(/decl/config/num/loadout_slots) recalculate_loadout_cost() return TOPIC_REFRESH_UPDATE_PREVIEW if(href_list["select_category"]) @@ -350,7 +352,7 @@ var/global/list/gear_datums = list() /decl/loadout_option/Initialize() - if(config.allow_loadout_customization) + if(get_config_value(/decl/config/toggle/allow_loadout_customization)) loadout_flags |= GEAR_HAS_CUSTOM_SELECTION . = ..() diff --git a/code/modules/client/preference_setup/occupation/occupation.dm b/code/modules/client/preference_setup/occupation/occupation.dm index 468760abdd5..0ff94c20d9b 100644 --- a/code/modules/client/preference_setup/occupation/occupation.dm +++ b/code/modules/client/preference_setup/occupation/occupation.dm @@ -426,7 +426,7 @@ var/datum/mil_branch/B = mil_branches.get_branch_by_type(T) dat += "
  • [B.name]: [job.get_ranks(B.name)]" dat += "
    " - if(config.wikiurl) + if(get_config_value(/decl/config/text/wikiurl)) dat += "Open wiki page in browser" var/description = job.get_description_blurb() @@ -438,7 +438,7 @@ else if(href_list["job_wiki"]) var/rank = href_list["job_wiki"] - open_link(user,"[config.wikiurl][rank]") + open_link(user,"[get_config_value(/decl/config/text/wikiurl)][rank]") return ..() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index ac46b89ff8a..6c4b80e00d2 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -244,7 +244,6 @@ var/global/list/time_prefs_fixed = list() var/obj/screen/setup_preview/bg/BG = LAZYACCESS(char_render_holders, "BG") if(!BG) BG = new - BG.icon = 'icons/effects/32x32.dmi' BG.pref = src LAZYSET(char_render_holders, "BG", BG) client.screen |= BG @@ -279,13 +278,13 @@ var/global/list/time_prefs_fixed = list() char_render_holders = null /datum/preferences/proc/process_link(mob/user, list/href_list) - - if(!user) return - if(isliving(user)) return - + if(!user) + return + if(isliving(user)) + return if(href_list["preference"] == "open_whitelist_forum") - if(config.forumurl) - direct_output(user, link(config.forumurl)) + if(get_config_value(/decl/config/text/forumurl)) + direct_output(user, link(get_config_value(/decl/config/text/forumurl))) else to_chat(user, "The forum URL is not set in the server configuration.") return @@ -352,9 +351,10 @@ var/global/list/time_prefs_fixed = list() if(be_random_name) var/decl/cultural_info/culture = GET_DECL(cultural_info[TAG_CULTURE]) - if(culture) real_name = culture.get_random_name(gender) + if(culture) + real_name = culture.get_random_name(gender) - if(config.humans_need_surnames) + if(get_config_value(/decl/config/toggle/humans_need_surnames)) var/firstspace = findtext(real_name, " ") var/name_length = length(real_name) if(!firstspace) //we need a surname @@ -367,20 +367,17 @@ var/global/list/time_prefs_fixed = list() character.set_gender(gender) character.blood_type = blood_type - character.eye_colour = eye_colour + character.set_eye_colour(eye_colour, skip_update = TRUE) - character.h_style = h_style - character.hair_colour = hair_colour + character.set_hairstyle(h_style, skip_update = TRUE) + character.set_hair_colour(hair_colour, skip_update = TRUE) - character.f_style = f_style - character.facial_hair_colour = facial_hair_colour + character.set_facial_hairstyle(f_style, skip_update = TRUE) + character.set_facial_hair_colour(facial_hair_colour, skip_update = TRUE) - character.skin_colour = skin_colour + character.set_skin_colour(skin_colour, skip_update = TRUE) character.skin_tone = skin_tone - character.h_style = h_style - character.f_style = f_style - QDEL_NULL_LIST(character.worn_underwear) character.worn_underwear = list() @@ -466,7 +463,8 @@ var/global/list/time_prefs_fixed = list() dat += "
    " dat += "Select a character slot to load
    " - for(var/i=1, i<= config.character_slots, i++) + var/character_slots = get_config_value(/decl/config/num/character_slots) + for(var/i = 1 to character_slots) var/name = (slot_names && slot_names[get_slot_key(i)]) || "Character[i]" if(i==default_slot) name = "[name]" diff --git a/code/modules/client/preferences_persist.dm b/code/modules/client/preferences_persist.dm index d18dd143f3a..c9f55d56d8c 100644 --- a/code/modules/client/preferences_persist.dm +++ b/code/modules/client/preferences_persist.dm @@ -55,7 +55,7 @@ slot = default_slot if(slot != SAVE_RESET) // SAVE_RESET will reset the slot as though it does not exist, but keep the current slot for saving purposes. - slot = sanitize_integer(slot, 1, config.character_slots, initial(default_slot)) + slot = sanitize_integer(slot, 1, get_config_value(/decl/config/num/character_slots), initial(default_slot)) if(slot != default_slot) default_slot = slot SScharacter_setup.queue_preferences_save(src) diff --git a/code/modules/clothing/_clothing.dm b/code/modules/clothing/_clothing.dm index 1a5e24041cb..d88d8bef264 100644 --- a/code/modules/clothing/_clothing.dm +++ b/code/modules/clothing/_clothing.dm @@ -1,7 +1,7 @@ /obj/item/clothing name = "clothing" siemens_coefficient = 0.9 - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' material = /decl/material/solid/organic/cloth var/wizard_garb = 0 @@ -17,7 +17,6 @@ var/blood_overlay_type = "uniformblood" var/visible_name = "Unknown" var/ironed_state = WRINKLES_DEFAULT - var/smell_state = SMELL_DEFAULT var/move_trail = /obj/effect/decal/cleanable/blood/tracks/footprints // if this item covers the feet, the footprints it should leave var/volume_multiplier = 1 var/markings_icon // simple colored overlay that would be applied to the icon @@ -59,7 +58,7 @@ // End placeholder. // Updates the vision of the mob wearing the clothing item, if any -/obj/item/clothing/proc/update_vision() +/obj/item/clothing/proc/update_wearer_vision() if(isliving(src.loc)) var/mob/living/L = src.loc L.handle_vision() @@ -105,8 +104,14 @@ if(LAZYLEN(new_overlays)) add_overlay(new_overlays) -/obj/item/clothing/proc/change_smell(smell = SMELL_DEFAULT) - smell_state = smell +// Used by washing machines to temporarily make clothes smell +/obj/item/clothing/proc/change_smell(decl/material/odorant, time = 10 MINUTES) + if(!odorant || !odorant.scent) + remove_extension(src, /datum/extension/scent) + return + + set_extension(src, /datum/extension/scent/custom, odorant.scent, odorant.scent_intensity, odorant.scent_descriptor, odorant.scent_range) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/clothing, change_smell)), time, TIMER_UNIQUE | TIMER_OVERRIDE) /obj/item/clothing/proc/get_fibers() . = "material from \a [name]" @@ -147,7 +152,7 @@ /obj/item/clothing/equipped(var/mob/user) if(needs_vision_update()) - update_vision() + update_wearer_vision() return ..() /obj/item/clothing/proc/refit_for_bodytype(var/target_bodytype) @@ -192,12 +197,6 @@ if(WRINKLES_NONE) to_chat(user, "It's completely wrinkle-free!") - switch(smell_state) - if(SMELL_CLEAN) - to_chat(user, "It smells clean!") - if(SMELL_STINKY) - to_chat(user, "It's quite stinky!") - var/rags = RAG_COUNT(src) if(rags) to_chat(user, SPAN_SUBTLE("With a sharp object, you could cut \the [src] up into [rags] rag\s.")) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index bc323d94fea..2d247d30dd2 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -47,7 +47,7 @@ name = "jumpsuit" icon = 'icons/clothing/under/jumpsuits/jumpsuit.dmi' desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -76,7 +76,7 @@ name = "grey cap" desc = "It looks like a plain hat, but upon closer inspection, there's an advanced holographic array installed inside. It seems to have a small dial inside." icon = 'icons/clothing/head/softcap.dmi' - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' body_parts_covered = 0 item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -106,7 +106,7 @@ name = "armor" icon = 'icons/clothing/suit/armor/vest.dmi' desc = "It appears to be a vest of standard armor, except this is embedded with a hidden holographic cloaker, allowing it to change it's appearance, but offering no protection.. It seems to have a small dial inside." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -134,7 +134,7 @@ name = "black shoes" icon = 'icons/clothing/feet/colored_shoes.dmi' desc = "They're comfy black shoes, with clever cloaking technology built in. It seems to have a small dial on the back of each shoe." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -161,7 +161,7 @@ /obj/item/storage/backpack/chameleon name = "backpack" desc = "A backpack outfitted with cloaking tech. It seems to have a small dial inside, kept away from the storage." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON icon = 'icons/obj/items/storage/backpack/backpack.dmi' var/static/list/clothing_choices @@ -197,7 +197,7 @@ color = COLOR_GRAY40 icon = 'icons/clothing/hands/gloves_generic.dmi' desc = "It looks like a pair of gloves, but it seems to have a small dial inside." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -226,7 +226,7 @@ name = "gas mask" icon = 'icons/clothing/mask/gas_mask_full.dmi' desc = "It looks like a plain gask mask, but on closer inspection, it seems to have a small dial inside." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -255,7 +255,7 @@ name = "Optical Meson Scanner" icon = 'icons/clothing/eyes/scanner_meson.dmi' desc = "It looks like a plain set of mesons, but on closer inspection, it seems to have a small dial inside." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -284,7 +284,7 @@ name = "radio headset" icon = 'icons/obj/items/device/radio/headsets/headset.dmi' desc = "An updated, modular intercom that fits over the head. This one seems to have a small dial on it." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -316,7 +316,7 @@ name = "tie" icon = 'icons/clothing/accessories/ties/tie.dmi' desc = "A neosilk clip-on tie. It seems to have a small dial on its back." - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON var/static/list/clothing_choices @@ -355,7 +355,7 @@ icon = 'icons/obj/guns/revolvers.dmi' icon_state = "revolver" w_class = ITEM_SIZE_SMALL - origin_tech = "{'combat':2,'materials':2,'esoteric':8}" + origin_tech = @'{"combat":2,"materials":2,"esoteric":8}' item_flags = ITEM_FLAG_INVALID_FOR_CHAMELEON matter = list() diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 51ec87f2dd1..9ac497c285a 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -69,7 +69,7 @@ active = _active update_icon() update_clothing_icon() - update_vision() + update_wearer_vision() /obj/item/clothing/glasses/on_update_icon() . = ..() diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 8200333336e..d5be4791a90 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -4,7 +4,7 @@ gender = NEUTER icon = 'icons/clothing/eyes/scanner_meson.dmi' action_button_name = "Toggle Goggles" - origin_tech = "{'magnets':2,'engineering':2}" + origin_tech = @'{"magnets":2,"engineering":2}' toggleable = TRUE vision_flags = SEE_TURFS see_invisible = SEE_INVISIBLE_NOLIGHTING @@ -43,7 +43,7 @@ name = "night vision goggles" desc = "You can totally see in the dark now!" icon = 'icons/clothing/eyes/night_vision.dmi' - origin_tech = "{'magnets':2}" + origin_tech = @'{"magnets":2}' darkness_view = 7 action_button_name = "Toggle Goggles" toggleable = TRUE @@ -59,7 +59,7 @@ name = "tactical goggles" desc = "Self-polarizing goggles with light amplification for dark environments. Made from durable synthetic." icon = 'icons/clothing/eyes/tactical.dmi' - origin_tech = "{'magnets':2,'combat':4}" + origin_tech = @'{"magnets":2,"combat":4}' darkness_view = 5 action_button_name = "Toggle Goggles" toggleable = TRUE @@ -79,7 +79,7 @@ desc = "Very confusing glasses." gender = NEUTER icon = 'icons/clothing/eyes/scanner_material.dmi' - origin_tech = "{'magnets':3,'engineering':3}" + origin_tech = @'{"magnets":3,"engineering":3}' action_button_name = "Toggle Goggles" toggleable = TRUE vision_flags = SEE_OBJS diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 4a4b6dc75a4..7da212e8b23 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -1,7 +1,7 @@ /obj/item/clothing/glasses/hud name = "\improper HUD" desc = "A heads-up display that provides important info in (almost) real time." - origin_tech = "{'magnets':3,'biotech':2}" + origin_tech = @'{"magnets":3,"biotech":2}' electric = TRUE gender = NEUTER toggleable = TRUE diff --git a/code/modules/clothing/glasses/thermals.dm b/code/modules/clothing/glasses/thermals.dm index fdef3ff4234..6938f8ecea8 100644 --- a/code/modules/clothing/glasses/thermals.dm +++ b/code/modules/clothing/glasses/thermals.dm @@ -4,7 +4,7 @@ gender = NEUTER icon = 'icons/clothing/eyes/scanner_thermal.dmi' action_button_name = "Toggle Goggles" - origin_tech = "{'magnets':3}" + origin_tech = @'{"magnets":3}' toggleable = TRUE vision_flags = SEE_MOBS see_invisible = SEE_INVISIBLE_NOLIGHTING @@ -19,7 +19,7 @@ name = "optical meson scanner" desc = "Used for seeing walls, floors, and stuff through anything." icon = 'icons/clothing/eyes/scanner_meson.dmi' - origin_tech = "{'magnets':3,'esoteric':4}" + origin_tech = @'{"magnets":3,"esoteric":4}' /obj/item/clothing/glasses/thermal/plain toggleable = FALSE diff --git a/code/modules/clothing/head/fated_key.dm b/code/modules/clothing/head/fated_key.dm index 7220fb501e8..676131c55e5 100644 --- a/code/modules/clothing/head/fated_key.dm +++ b/code/modules/clothing/head/fated_key.dm @@ -12,7 +12,7 @@ canremove = FALSE to_chat(user, SPAN_DANGER("\The [src] shatters your mind as it sears through [user.isSynthetic() ? "metal and circuitry" : "flesh and bone"], embedding itself into your skull!")) SET_STATUS_MAX(user, STAT_PARA, 5) - addtimer(CALLBACK(src, .proc/activate_role), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(activate_role)), 5 SECONDS) else canremove = TRUE name = initial(name) diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index fe8ec003bd8..fbfcf71f12c 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -21,7 +21,7 @@ max_pressure_protection = FIRESUIT_MAX_PRESSURE material = /decl/material/solid/organic/plastic matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':1,'engineering':1,'combat':1}" + origin_tech = @'{"materials":1,"engineering":1,"combat":1}' /obj/item/clothing/head/hardhat/orange icon = 'icons/clothing/head/hardhat/orange.dmi' diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 6912f12d885..541a7d9cd93 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -22,7 +22,7 @@ w_class = ITEM_SIZE_NORMAL material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/plasteel = MATTER_AMOUNT_TRACE) - origin_tech = "{'materials':1,'engineering':1,'combat':1}" + origin_tech = @'{"materials":1,"engineering":1,"combat":1}' protects_against_weather = TRUE /obj/item/clothing/head/helmet/tactical @@ -38,7 +38,7 @@ ) siemens_coefficient = 0.6 material = /decl/material/solid/metal/plasteel - origin_tech = "{'materials':2,'engineering':2,'combat':2}" + origin_tech = @'{"materials":2,"engineering":2,"combat":2}' /obj/item/clothing/head/helmet/merc name = "combat helmet" @@ -54,7 +54,7 @@ siemens_coefficient = 0.5 material = /decl/material/solid/metal/plasteel matter = list(/decl/material/solid/gemstone/diamond = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':2,'engineering':2,'combat':2}" + origin_tech = @'{"materials":2,"engineering":2,"combat":2}' /obj/item/clothing/head/helmet/riot name = "riot helmet" @@ -122,7 +122,7 @@ /decl/material/solid/metal/titanium = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':3,'engineering':2,'combat':3}" + origin_tech = @'{"materials":3,"engineering":2,"combat":3}' /obj/item/clothing/head/helmet/swat name = "\improper SWAT helmet" @@ -140,7 +140,7 @@ siemens_coefficient = 0.5 material = /decl/material/solid/metal/plasteel matter = list(/decl/material/solid/metal/titanium = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':4,'engineering':2,'combat':4}" + origin_tech = @'{"materials":4,"engineering":2,"combat":4}' /obj/item/clothing/head/helmet/thunderdome name = "\improper Thunderdome helmet" @@ -159,7 +159,7 @@ siemens_coefficient = 1 material = /decl/material/solid/metal/plasteel matter = list(/decl/material/solid/metal/titanium = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':4,'engineering':2,'combat':4}" + origin_tech = @'{"materials":4,"engineering":2,"combat":4}' /obj/item/clothing/head/helmet/gladiator name = "gladiator helmet" diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index 45afe3be1da..fb305b44e58 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -60,7 +60,7 @@ flags_inv &= ~(HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE) to_chat(usr, "You push the [src] up out of your face.") update_icon() - update_vision() + update_wearer_vision() usr.update_action_buttons() /obj/item/clothing/head/welding/on_update_icon() diff --git a/code/modules/clothing/masks/_mask.dm b/code/modules/clothing/masks/_mask.dm index 75983d478c8..4457c7089a4 100644 --- a/code/modules/clothing/masks/_mask.dm +++ b/code/modules/clothing/masks/_mask.dm @@ -7,7 +7,7 @@ blood_overlay_type = "maskblood" material = /decl/material/solid/fiberglass matter = list(/decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' var/voicechange = 0 var/list/say_messages diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index f3719365900..06d78421b29 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -12,7 +12,7 @@ down_body_parts_covered = null down_item_flags = ITEM_FLAG_THICKMATERIAL pull_mask = 1 - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/organic/plastic /obj/item/clothing/mask/breath/medical diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index d94970abc92..21b84c44b3b 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -111,7 +111,7 @@ /decl/material/solid/glass = MATTER_AMOUNT_SECONDARY, /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/clothing/mask/gas/syndicate name = "tactical mask" @@ -129,7 +129,7 @@ /decl/material/solid/glass = MATTER_AMOUNT_SECONDARY, /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/clothing/mask/gas/death_commando name = "\improper Death Commando Mask" @@ -152,7 +152,7 @@ ) body_parts_covered = SLOT_HEAD|SLOT_FACE|SLOT_EYES material = /decl/material/solid/organic/cloth - origin_tech = "{'materials':1,'engineering':2}" + origin_tech = @'{"materials":1,"engineering":2}' /obj/item/clothing/mask/gas/clown_hat name = "clown wig and mask" diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 830763e2872..4856bf57ba5 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -107,7 +107,7 @@ flags_inv = HIDEFACE body_parts_covered = SLOT_FACE|SLOT_EYES action_button_name = "Toggle MUI" - origin_tech = "{'programming':5,'engineering':5}" + origin_tech = @'{"programming":5,"engineering":5}' /obj/item/clothing/mask/ai/Initialize() . = ..() diff --git a/code/modules/clothing/masks/smokable.dm b/code/modules/clothing/masks/smokable.dm index 861a44c9ea9..f7518a81a4e 100644 --- a/code/modules/clothing/masks/smokable.dm +++ b/code/modules/clothing/masks/smokable.dm @@ -389,13 +389,12 @@ return ..() /obj/item/clothing/mask/smokable/cigarette/afterattack(obj/item/chems/glass/glass, var/mob/user, proximity) - ..() if(!proximity) return - if(istype(glass)) //you can dip cigarettes into beakers + if(!lit && istype(glass)) //you can dip unlit cigarettes into beakers. todo: extinguishing lit cigarettes in beakers? disambiguation via intent? if(!ATOM_IS_OPEN_CONTAINER(glass)) to_chat(user, SPAN_NOTICE("You need to take the lid off first.")) - return + return TRUE var/transfered = glass.reagents.trans_to_obj(src, chem_volume) if(transfered) //if reagents were transfered, show the message to_chat(user, SPAN_NOTICE("You dip \the [src] into \the [glass].")) @@ -404,6 +403,8 @@ to_chat(user, SPAN_NOTICE("[glass] is empty.")) else to_chat(user, SPAN_NOTICE("[src] is full.")) + return TRUE + return ..() /obj/item/clothing/mask/smokable/cigarette/attack_self(var/mob/user) if(lit == 1) diff --git a/code/modules/clothing/masks/voice.dm b/code/modules/clothing/masks/voice.dm index 9cd680243c9..edee4acd8eb 100644 --- a/code/modules/clothing/masks/voice.dm +++ b/code/modules/clothing/masks/voice.dm @@ -9,7 +9,7 @@ name = "gas mask" desc = "A face-covering mask that can be connected to an air supply. It seems to house some odd electronics." var/obj/item/voice_changer/changer - origin_tech = "{'esoteric':4}" + origin_tech = @'{"esoteric":4}' /obj/item/clothing/mask/chameleon/voice/verb/Toggle_Voice_Changer() set category = "Object" diff --git a/code/modules/clothing/rings/rings.dm b/code/modules/clothing/rings/rings.dm index a6dc2b84426..b0446ef0697 100644 --- a/code/modules/clothing/rings/rings.dm +++ b/code/modules/clothing/rings/rings.dm @@ -43,7 +43,7 @@ /obj/item/clothing/ring/reagent atom_flags = ATOM_FLAG_OPEN_CONTAINER - origin_tech = "{'materials':2,'esoteric':4}" + origin_tech = @'{"materials":2,"esoteric":4}' var/tmp/volume = 15 /obj/item/clothing/ring/reagent/Initialize(ml, material_key) @@ -73,7 +73,7 @@ /obj/item/clothing/ring/reagent/sleepy name = "silver ring" desc = "A ring made from what appears to be silver." - origin_tech = "{'materials':2,'esoteric':5}" + origin_tech = @'{"materials":2,"esoteric":5}' /obj/item/clothing/ring/reagent/sleepy/populate_reagents() reagents.add_reagent(/decl/material/liquid/paralytics, 10) diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 80722d9862b..1e59942aa10 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -13,7 +13,7 @@ force = 2 blood_overlay_type = "shoeblood" material = /decl/material/solid/organic/leather - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' var/can_fit_under_magboots = TRUE var/can_add_cuffs = TRUE diff --git a/code/modules/clothing/shoes/jobs.dm b/code/modules/clothing/shoes/jobs.dm index a6c15773f9b..38f03b11e15 100644 --- a/code/modules/clothing/shoes/jobs.dm +++ b/code/modules/clothing/shoes/jobs.dm @@ -35,7 +35,7 @@ max_pressure_protection = FIRESUIT_MAX_PRESSURE var/artificail_shine = 20 matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/clothing/shoes/jackboots/set_material(var/new_material) ..() @@ -61,4 +61,4 @@ max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE max_pressure_protection = FIRESUIT_MAX_PRESSURE matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index fadfee90984..6771a84fda1 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -11,7 +11,7 @@ center_of_mass = null randpixel = 0 matter = list(/decl/material/solid/metal/aluminium = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':2,'engineering':2,'magnets':3}" + origin_tech = @'{"materials":2,"engineering":2,"magnets":3}' var/magpulse = 0 var/obj/item/clothing/shoes/covering_shoes var/online_slowdown = 3 diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 03cf4f3dec2..74aa9e80546 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -6,7 +6,7 @@ markings_color = WOOD_COLOR_CHOCOLATE permeability_coefficient = 0.05 item_flags = ITEM_FLAG_NOSLIP - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' siemens_coefficient = 0.8 bodytype_equip_flags = null matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index 21fecbb9a4a..d574528f109 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -34,7 +34,7 @@ interface_desc = "Disorientates your target by blinding them with this intense palm-mounted light." device = /obj/item/flash - origin_tech = "{'combat':2,'magnets':3,'engineering':5}" + origin_tech = @'{"combat":2,"magnets":3,"engineering":5}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, @@ -44,7 +44,7 @@ /obj/item/rig_module/device/flash/advanced name = "advanced mounted flash" device = /obj/item/flash/advanced - origin_tech = "{'combat':3,'magnets':3,'engineering':5}" + origin_tech = @'{"combat":3,"magnets":3,"engineering":5}' /obj/item/rig_module/device/flash/installed() . = ..() @@ -262,7 +262,7 @@ interface_name = "mounted energy gun" interface_desc = "A shoulder-mounted suit-powered energy gun." - origin_tech = "{'powerstorage':6,'combat':6,'engineering':6}" + origin_tech = @'{"powerstorage":6,"combat":6,"engineering":6}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, @@ -284,7 +284,7 @@ interface_name = "mounted electrolaser" interface_desc = "A shoulder-mounted, cell-powered electrolaser." - origin_tech = "{'powerstorage':5,'combat':5,'engineering':6}" + origin_tech = @'{"powerstorage":5,"combat":5,"engineering":6}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, @@ -304,7 +304,7 @@ interface_name = "mounted plasma cutter" interface_desc = "A forearm-mounted suit-powered plasma cutter." - origin_tech = "{'materials':5,'exoticmatter':4,'engineering':7,'combat':5}" + origin_tech = @'{"materials":5,"exoticmatter":4,"engineering":7,"combat":5}' gun = /obj/item/gun/energy/plasmacutter/mounted material = /decl/material/solid/metal/steel diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index 954e61f8ea4..edf3646c03a 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -54,7 +54,7 @@ /decl/material/solid/organic/plastic = MATTER_AMOUNT_TRACE, /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE ) - origin_tech = "{'programming':6,'materials':5,'engineering':6}" + origin_tech = @'{"programming":6,"materials":5,"engineering":6}' var/mob/integrated_ai // Direct reference to the actual mob held in the suit. var/obj/item/ai_card // Reference to the MMI, posibrain, inteliCard or pAI card previously holding the AI. @@ -340,7 +340,7 @@ interface_name = "niling d-sink" interface_desc = "Colloquially known as a power siphon, this module drains power through the suit hands into the suit battery." - origin_tech = "{'powerstorage':6,'engineering':6}" + origin_tech = @'{"powerstorage":6,"engineering":6}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index e5bf2be851b..91ba1424b49 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -20,7 +20,7 @@ active_power_cost = 6 KILOWATTS // 30 min battery life /w best (3kWh) cell passive_power_cost = 0 module_cooldown = 10 SECONDS - origin_tech = "{'materials':5,'powerstorage':6,'magnets':6,'esoteric':6,'engineering':7}" + origin_tech = @'{"materials":5,"powerstorage":6,"magnets":6,"esoteric":6,"engineering":7}' activate_string = "Enable Cloak" deactivate_string = "Disable Cloak" @@ -153,7 +153,7 @@ fabrication_type = /obj/item/energy_net use_power_cost = 20 KILOWATTS - origin_tech = "{'materials':5,'powerstorage':6,'magnets':5,'esoteric':4,'engineering':6}" + origin_tech = @'{"materials":5,"powerstorage":6,"magnets":5,"esoteric":4,"engineering":6}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index 76ed6600e50..cc9deeed3c7 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -37,7 +37,7 @@ engage_string = "Display Readout" usable = 1 use_power_cost = 200 - origin_tech = "{'magnets':3,'biotech':3,'engineering':5}" + origin_tech = @'{"magnets":3,"biotech":3,"engineering":5}' device = /obj/item/scanner/health material = /decl/material/solid/organic/plastic matter = list( @@ -66,7 +66,7 @@ suit_overlay_inactive = null use_power_cost = 3600 //2 Wh per use module_cooldown = 0 - origin_tech = "{'materials':6,'powerstorage':4,'engineering':6}" + origin_tech = @'{"materials":6,"powerstorage":4,"engineering":6}' device = /obj/item/pickaxe/diamonddrill material = /decl/material/solid/metal/steel matter = list( @@ -86,7 +86,7 @@ usable = 1 selectable = 0 device = /obj/item/ano_scanner - origin_tech = "{'wormholes':4,'magnets':4,'engineering':6}" + origin_tech = @'{"wormholes":4,"magnets":4,"engineering":6}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, @@ -105,7 +105,7 @@ toggleable = 1 use_power_cost = 200 device = /obj/item/scanner/mining - origin_tech = "{'materials':4,'magnets':4,'engineering':6}" + origin_tech = @'{"materials":4,"magnets":4,"engineering":6}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, @@ -128,7 +128,7 @@ usable = 1 engage_string = "Configure RCD" use_power_cost = 300 - origin_tech = "{'materials':6,'magnets':5,'engineering':7}" + origin_tech = @'{"materials":6,"magnets":5,"engineering":7}' device = /obj/item/rcd/mounted material = /decl/material/solid/metal/steel matter = list( @@ -383,7 +383,7 @@ interface_name = "maneuvering jets" interface_desc = "An inbuilt EVA maneuvering system that runs off a seperate gas supply." - origin_tech = "{'materials':6,'engineering':7}" + origin_tech = @'{"materials":6,"engineering":7}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, @@ -523,7 +523,7 @@ icon_state = "ewar" interface_name = "mounted matter decompiler" interface_desc = "Eats trash like no one's business." - origin_tech = "{'materials':5,'engineering':5}" + origin_tech = @'{"materials":5,"engineering":5}' device = /obj/item/matter_decompiler material = /decl/material/solid/metal/steel matter = list( @@ -534,7 +534,7 @@ /obj/item/rig_module/cooling_unit name = "mounted cooling unit" toggleable = 1 - origin_tech = "{'magnets':2,'materials':2,'engineering':5}" + origin_tech = @'{"magnets":2,"materials":2,"engineering":5}' interface_name = "mounted cooling unit" interface_desc = "A heat sink with a liquid cooled radiator." module_cooldown = 0 SECONDS //no cd because its critical for a life-support module diff --git a/code/modules/clothing/spacesuits/rig/modules/vision.dm b/code/modules/clothing/spacesuits/rig/modules/vision.dm index 6728356e8bf..3b19bf49653 100644 --- a/code/modules/clothing/spacesuits/rig/modules/vision.dm +++ b/code/modules/clothing/spacesuits/rig/modules/vision.dm @@ -91,7 +91,7 @@ name = "hardsuit meson scanner" desc = "A layered, translucent visor system for a hardsuit." icon_state = "meson" - origin_tech = "{'magnets':2,'engineering':5}" + origin_tech = @'{"magnets":2,"engineering":5}' usable = 0 interface_name = "meson scanner" @@ -117,7 +117,7 @@ name = "hardsuit night vision interface" desc = "A multi input night vision system for a hardsuit." icon_state = "night" - origin_tech = "{'magnets':6,'engineering':6}" + origin_tech = @'{"magnets":6,"engineering":6}' usable = 0 interface_name = "night vision interface" @@ -136,7 +136,7 @@ name = "hardsuit security hud" desc = "A simple tactical information system for a hardsuit." icon_state = "securityhud" - origin_tech = "{'magnets':3,'biotech':2,'engineering':5}" + origin_tech = @'{"magnets":3,"biotech":2,"engineering":5}' usable = 0 interface_name = "security HUD" @@ -149,7 +149,7 @@ name = "hardsuit medical hud" desc = "A simple medical status indicator for a hardsuit." icon_state = "healthhud" - origin_tech = "{'magnets':3,'biotech':2,'engineering':5}" + origin_tech = @'{"magnets":3,"biotech":2,"engineering":5}' usable = 0 interface_name = "medical HUD" diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index bd39264f249..f842ec06611 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -200,7 +200,7 @@ LAZYSET(chest.slowdown_per_slot, slot_wear_suit_str, (active? online_slowdown : offline_slowdown)) if(helmet) helmet.tint = (active? vision_restriction : offline_vision_restriction) - helmet.update_vision() + helmet.update_wearer_vision() /obj/item/rig/proc/suit_is_deployed() if(!istype(wearer) || src.loc != wearer || wearer.get_equipped_item(slot_back_str) != src) diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 8ffa864d42a..a259a0462b0 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -29,7 +29,7 @@ var/obj/machinery/camera/camera var/tinted = null //Set to non-null for toggleable tint helmets - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/metal/steel /obj/item/clothing/head/helmet/space/Destroy() @@ -104,13 +104,13 @@ /obj/item/clothing/head/helmet/space/on_update_icon(mob/user) . = ..() - var/base_icon = get_world_inventory_state() - if(!base_icon) - base_icon = initial(icon_state) - if(tint && check_state_in_icon("[base_icon]_dark", icon)) - icon_state = "[base_icon]_dark" + var/base_icon_state = get_world_inventory_state() + if(!base_icon_state) + base_icon_state = initial(icon_state) + if(tint && check_state_in_icon("[base_icon_state]_dark", icon)) + icon_state = "[base_icon_state]_dark" else - icon_state = base_icon + icon_state = base_icon_state /obj/item/clothing/suit/space name = "space suit" @@ -135,7 +135,7 @@ center_of_mass = null randpixel = 0 valid_accessory_slots = list(ACCESSORY_SLOT_INSIGNIA, ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_OVER) - origin_tech = "{'materials':3, 'engineering':3}" + origin_tech = @'{"materials":3, "engineering":3}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/clothing/suits/armor/_armor.dm b/code/modules/clothing/suits/armor/_armor.dm index 1369417acf4..eb04ea7d330 100644 --- a/code/modules/clothing/suits/armor/_armor.dm +++ b/code/modules/clothing/suits/armor/_armor.dm @@ -9,4 +9,4 @@ max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECTION_TEMPERATURE siemens_coefficient = 0.6 blood_overlay_type = "armor" - origin_tech = "{'materials':1,'engineering':1,'combat':1}" + origin_tech = @'{"materials":1,"engineering":1,"combat":1}' diff --git a/code/modules/clothing/suits/armor/bulletproof.dm b/code/modules/clothing/suits/armor/bulletproof.dm index 198bb143bfd..8c217d5b4f4 100644 --- a/code/modules/clothing/suits/armor/bulletproof.dm +++ b/code/modules/clothing/suits/armor/bulletproof.dm @@ -19,7 +19,7 @@ /decl/material/solid/metal/titanium = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':3,'engineering':1,'combat':3}" + origin_tech = @'{"materials":3,"engineering":1,"combat":3}' // no accessory /obj/item/clothing/suit/armor/bulletproof/prepared @@ -43,7 +43,7 @@ /decl/material/solid/metal/titanium = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':3,'engineering':1,'combat':3}" + origin_tech = @'{"materials":3,"engineering":1,"combat":3}' /obj/item/clothing/accessory/legguards/ballistic name = "ballistic leg guards" @@ -64,4 +64,4 @@ /decl/material/solid/metal/titanium = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':3,'engineering':1,'combat':3}" \ No newline at end of file + origin_tech = @'{"materials":3,"engineering":1,"combat":3}' \ No newline at end of file diff --git a/code/modules/clothing/suits/armor/merc.dm b/code/modules/clothing/suits/armor/merc.dm index 3ee072f2d06..c81931f77f1 100644 --- a/code/modules/clothing/suits/armor/merc.dm +++ b/code/modules/clothing/suits/armor/merc.dm @@ -15,7 +15,7 @@ ) material = /decl/material/solid/metal/titanium matter = list(/decl/material/solid/gemstone/diamond = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':5,'engineering':2,'combat':3}" + origin_tech = @'{"materials":5,"engineering":2,"combat":3}' /obj/item/clothing/accessory/armguards/merc name = "heavy arm guards" @@ -30,7 +30,7 @@ ) color = null material = /decl/material/solid/metal/steel - origin_tech = "{'materials':2,'engineering':1,'combat':2}" + origin_tech = @'{"materials":2,"engineering":1,"combat":2}' /obj/item/clothing/accessory/legguards/merc name = "heavy leg guards" @@ -45,4 +45,4 @@ ARMOR_BOMB = ARMOR_BOMB_PADDED ) material = /decl/material/solid/metal/steel - origin_tech = "{'materials':2,'engineering':1,'combat':2}" + origin_tech = @'{"materials":2,"engineering":1,"combat":2}' diff --git a/code/modules/clothing/suits/armor/riot.dm b/code/modules/clothing/suits/armor/riot.dm index 878ffe7d971..378f70efd61 100644 --- a/code/modules/clothing/suits/armor/riot.dm +++ b/code/modules/clothing/suits/armor/riot.dm @@ -18,7 +18,7 @@ matter = list( /decl/material/solid/organic/cloth = MATTER_AMOUNT_SECONDARY ) - origin_tech = "{'materials':1,'engineering':1,'combat':2}" + origin_tech = @'{"materials":1,"engineering":1,"combat":2}' /obj/item/clothing/suit/armor/riot/prepared starting_accessories = list(/obj/item/clothing/accessory/armguards/riot, /obj/item/clothing/accessory/legguards/riot) @@ -41,7 +41,7 @@ slowdown = 1 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/organic/cloth = MATTER_AMOUNT_SECONDARY) - origin_tech = "{'materials':1,'engineering':1,'combat':2}" + origin_tech = @'{"materials":1,"engineering":1,"combat":2}' /obj/item/clothing/accessory/armguards/riot name = "riot arm guards" @@ -58,5 +58,5 @@ siemens_coefficient = 0.5 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/organic/cloth = MATTER_AMOUNT_SECONDARY) - origin_tech = "{'materials':1,'engineering':1,'combat':2}" + origin_tech = @'{"materials":1,"engineering":1,"combat":2}' diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index dd98a64a70e..d51ec5781f7 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -12,7 +12,7 @@ item_flags = ITEM_FLAG_THICKMATERIAL body_parts_covered = SLOT_HEAD|SLOT_FACE|SLOT_EYES|SLOT_EARS siemens_coefficient = 0.9 - origin_tech = "{'materials':3, 'engineering':3}" + origin_tech = @'{"materials":3, "engineering":3}' matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT @@ -34,7 +34,7 @@ flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL item_flags = ITEM_FLAG_THICKMATERIAL siemens_coefficient = 0.9 - origin_tech = "{'materials':3, 'engineering':3}" + origin_tech = @'{"materials":3, "engineering":3}' matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT @@ -89,7 +89,7 @@ desc = "It protected doctors from the Black Death, back then. You bet your arse it's gonna help you against space plague." icon = 'icons/clothing/suit/biosuit/plague.dmi' flags_inv = HIDEGLOVES|HIDEJUMPSUIT|HIDETAIL - origin_tech = "{'materials':1,'engineering':1,'biotech':1}" + origin_tech = @'{"materials":1,"engineering":1,"biotech":1}' matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 394b41d4ddd..3d800838cd7 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -85,7 +85,7 @@ ARMOR_LASER = ARMOR_LASER_SMALL, ARMOR_ENERGY = ARMOR_ENERGY_MINOR ) - origin_tech = "{'materials':2, 'engineering':2}" + origin_tech = @'{"materials":2, "engineering":2}' matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT) //Forensics @@ -101,7 +101,7 @@ ARMOR_LASER = ARMOR_LASER_MINOR, ARMOR_ENERGY = ARMOR_ENERGY_MINOR ) - origin_tech = "{'materials':2, 'engineering':2}" + origin_tech = @'{"materials":2, "engineering":2}' matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT) /obj/item/clothing/suit/storage/forensics/red diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 7ed9c634d74..a5527976a9d 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -26,7 +26,7 @@ restricted_accessory_slots = list(ACCESSORY_SLOT_ARMBAND) markings_icon = "_marking" matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE) - origin_tech = "{'materials':1,'engineering':1,'biotech':1}" + origin_tech = @'{"materials":1,"engineering":1,"biotech":1}' /obj/item/clothing/suit/storage/toggle/labcoat/cmo name = "chief medical officer's labcoat" diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index 5bed5fbad53..c30941bf3b1 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -31,7 +31,7 @@ matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/clothing/suit/fire/Initialize() . = ..() @@ -105,7 +105,7 @@ /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/clothing/suit/radiation name = "radiation suit" @@ -125,7 +125,7 @@ /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/clothing/suit/radiation/Initialize() . = ..() @@ -137,7 +137,7 @@ /obj/item/clothing/head/chem_hood name = "chemical hood" - desc = "A hood that protects the head from chemical comtaminants." + desc = "A hood that protects the head from chemical contaminants." icon = 'icons/clothing/head/chem_hood.dmi' permeability_coefficient = 0 armor = list( @@ -146,13 +146,13 @@ ) flags_inv = HIDEEARS|BLOCK_HEAD_HAIR item_flags = ITEM_FLAG_THICKMATERIAL - body_parts_covered = SLOT_HEAD|SLOT_EARS + body_parts_covered = SLOT_HEAD|SLOT_EARS|SLOT_FACE siemens_coefficient = 0.9 matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/clothing/suit/chem_suit name = "chemical suit" @@ -174,4 +174,4 @@ /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' diff --git a/code/modules/clothing/under/accessories/armor.dm b/code/modules/clothing/under/accessories/armor.dm index 7adb7b15558..5960722be72 100644 --- a/code/modules/clothing/under/accessories/armor.dm +++ b/code/modules/clothing/under/accessories/armor.dm @@ -37,7 +37,7 @@ matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_SECONDARY ) - origin_tech = "{'materials':1,'engineering':1,'combat':1}" + origin_tech = @'{"materials":1,"engineering":1,"combat":1}' /obj/item/clothing/accessory/armor/plate/get_fibers() return null //plates do not shed @@ -56,7 +56,7 @@ matter = list( /decl/material/solid/metal/plasteel = MATTER_AMOUNT_SECONDARY ) - origin_tech = "{'materials':2,'engineering':1,'combat':2}" + origin_tech = @'{"materials":2,"engineering":1,"combat":2}' /obj/item/clothing/accessory/armor/plate/tactical name = "tactical armor plate" @@ -75,7 +75,7 @@ /decl/material/solid/metal/titanium = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'materials':3,'engineering':2,'combat':2}" + origin_tech = @'{"materials":3,"engineering":2,"combat":2}' //Arm guards /obj/item/clothing/accessory/armguards @@ -98,7 +98,7 @@ matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_SECONDARY ) - origin_tech = "{'materials':1,'engineering':1,'combat':1}" + origin_tech = @'{"materials":1,"engineering":1,"combat":1}' /obj/item/clothing/accessory/armguards/craftable material_armor_multiplier = 1 @@ -126,7 +126,7 @@ matter = list( /decl/material/solid/metal/steel = MATTER_AMOUNT_SECONDARY ) - origin_tech = "{'materials':1,'engineering':1,'combat':1}" + origin_tech = @'{"materials":1,"engineering":1,"combat":1}' /obj/item/clothing/accessory/legguards/craftable material_armor_multiplier = 1 diff --git a/code/modules/clothing/under/accessories/clothing.dm b/code/modules/clothing/under/accessories/clothing.dm index c39a4c0e693..c30ba70aa2f 100644 --- a/code/modules/clothing/under/accessories/clothing.dm +++ b/code/modules/clothing/under/accessories/clothing.dm @@ -16,7 +16,7 @@ ARMOR_ENERGY = ARMOR_ENERGY_MINOR ) body_parts_covered = SLOT_UPPER_BODY - origin_tech = "{'combat':2,'materials':3,'esoteric':2}" + origin_tech = @'{"combat":2,"materials":3,"esoteric":2}' /obj/item/clothing/accessory/suspenders name = "suspenders" diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 7b04b2ea763..b9476b9f16d 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -141,7 +141,7 @@ siemens_coefficient = 0.8 material = /decl/material/solid/organic/leather matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_TRACE) - origin_tech = "{'materials':1,'engineering':1, 'combat':1}" + origin_tech = @'{"materials":1,"engineering":1, "combat":1}' /obj/item/clothing/head/HoS name = "Head of Security hat" @@ -170,7 +170,7 @@ /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':3,'engineering':1, 'combat':2}" + origin_tech = @'{"materials":3,"engineering":1, "combat":2}' //Jensen cosplay gear /obj/item/clothing/under/head_of_security/jensen @@ -179,7 +179,7 @@ icon = 'icons/clothing/under/jumpsuits/jumpsuit_hos_alt.dmi' siemens_coefficient = 0.6 matter = list(/decl/material/solid/metal/steel = MATTER_AMOUNT_TRACE) - origin_tech = "{'materials':3,'engineering':1, 'combat':2}" + origin_tech = @'{"materials":3,"engineering":1, "combat":2}' /obj/item/clothing/suit/armor/hos/jensen name = "armored trenchcoat" @@ -192,4 +192,4 @@ /decl/material/solid/metal/steel = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_REINFORCEMENT ) - origin_tech = "{'materials':3,'engineering':1, 'combat':2}" + origin_tech = @'{"materials":3,"engineering":1, "combat":2}' diff --git a/code/modules/codex/categories/_materials.dm b/code/modules/codex/categories/_materials.dm new file mode 100644 index 00000000000..6509270555d --- /dev/null +++ b/code/modules/codex/categories/_materials.dm @@ -0,0 +1,98 @@ +/decl/codex_category/materials + abstract_type = /decl/codex_category/materials + var/reaction_category + +/decl/codex_category/materials/Populate() + + guide_html = guide_html + {" +

    Reactions

    +
  • " . += "\<\<\[[pref.gear_slot]\] \>\>" - if(config.max_gear_cost < INFINITY) - . += "[pref.total_loadout_cost]/[config.max_gear_cost] loadout points spent." + if(max_gear_cost < INFINITY) + . += "[pref.total_loadout_cost]/[max_gear_cost] loadout points spent." . += "Clear Loadout" . += "[hide_unavailable_gear ? "Show all" : "Hide unavailable"]
    + + "} + + var/list/entries_to_register = list() + var/list/all_reactions = decls_repository.get_decls_of_subtype(/decl/chemical_reaction) + for(var/reactiontype in all_reactions) + var/decl/chemical_reaction/reaction = all_reactions[reactiontype] + if(!reaction || !reaction.name || reaction.hidden_from_codex || istype(reaction, /decl/chemical_reaction/recipe) || reaction.reaction_category != reaction_category) + continue // Food recipes are handled in category_recipes.dm. + var/mechanics_text = "This reaction requires the following reagents:
    " + if(reaction.mechanics_text) + mechanics_text = "[reaction.mechanics_text]
    [mechanics_text]" + var/list/reactant_values = list() + for(var/reactant_id in reaction.required_reagents) + var/decl/material/reactant = GET_DECL(reactant_id) + var/reactant_name = "[reactant.name]" + reactant_values += "[reaction.required_reagents[reactant_id]]u [reactant_name]" + mechanics_text += " [jointext(reactant_values, " + ")]" + var/list/inhibitors = list() + + for(var/inhibitor_id in reaction.inhibitors) + var/decl/material/inhibitor = GET_DECL(inhibitor_id) + var/inhibitor_name = "[inhibitor.name]" + inhibitors += inhibitor_name + if(length(inhibitors)) + mechanics_text += " (inhibitors: [jointext(inhibitors, ", ")])" + + var/list/catalysts = list() + for(var/catalyst_id in reaction.catalysts) + var/decl/material/catalyst = GET_DECL(catalyst_id) + var/catalyst_name = "[catalyst.name]" + catalysts += "[reaction.catalysts[catalyst_id]]u [catalyst_name]" + if(length(catalysts)) + mechanics_text += " (catalysts: [jointext(catalysts, ", ")])" + + var/produces + if(reaction.result && reaction.result_amount) + var/decl/material/product = GET_DECL(reaction.result) + produces = product.codex_name || product.name + mechanics_text += "
    It will produce [reaction.result_amount]u [product.name]." + if(reaction.maximum_temperature != INFINITY) + mechanics_text += "
    The reaction will not occur if the temperature is above [reaction.maximum_temperature]K." + if(reaction.minimum_temperature > 0) + mechanics_text += "
    The reaction will not occur if the temperature is below [reaction.minimum_temperature]K." + + var/reaction_name = produces || lowertext(reaction.name) + if(produces) + guide_html += "
    " + else + guide_html += "" + guide_html += "" + guide_html += "" + if(length(catalysts)) + guide_html += "" + else + guide_html += "" + if(length(inhibitors)) + guide_html += "" + else + guide_html += "" + if(reaction.minimum_temperature > 0 && reaction.minimum_temperature < INFINITY) + guide_html += "" + else + guide_html += "" + if(reaction.maximum_temperature > 0 && reaction.maximum_temperature < INFINITY) + guide_html += "" + else + guide_html += "" + guide_html += "" + + entries_to_register += new /datum/codex_entry( \ + _display_name = "[reaction.name] (reaction)", \ + _associated_strings = list("[reaction.name] (chemical reaction)"), \ + _lore_text = reaction.lore_text, \ + _mechanics_text = mechanics_text \ + ) + guide_html += "
    Product nameProduct amountRequired reagentsCatalystsInhibitorsMin temperatureMax temperatureNotes
    [capitalize(reaction_name)]
    [capitalize(reaction_name)][reaction.result_amount || "N/A"][jointext(reactant_values, "
    ")]
    [jointext(catalysts, "
    ")]
    No catalysts.[jointext(inhibitors, "
    ")]
    No inhibitors.[reaction.minimum_temperature]KAny[reaction.maximum_temperature]KAny" + if(reaction.mechanics_text) + guide_html += reaction.mechanics_text + if(reaction.lore_text) + guide_html += "
    " + if(reaction.lore_text) + guide_html += reaction.lore_text + guide_html += "
    " + + for(var/datum/codex_entry/entry in entries_to_register) + items |= entry.name + + ..() diff --git a/code/modules/codex/categories/category_reactions.dm b/code/modules/codex/categories/category_reactions.dm index f64d5e317b3..c46829e0dfa 100644 --- a/code/modules/codex/categories/category_reactions.dm +++ b/code/modules/codex/categories/category_reactions.dm @@ -1,10 +1,8 @@ -/decl/codex_category/chemistry - name = "Chemical Reactions" - desc = "Chemical reactions with mundane, interesting or spectacular effects." - guide_name = "Chemistry" - -/decl/codex_category/chemistry/Populate() - +/decl/codex_category/materials/chemistry + name = "Pharmacology" + desc = "Chemical reactions with medical or metabolic effects on living things." + guide_name = "Pharmacology" + reaction_category = REACTION_TYPE_PHARMACEUTICAL guide_html = {"

    Chemistry Basics

    @@ -17,93 +15,26 @@

  • Chem grenades make use of a variety of reactions that produce effects like smoke or foam rather than a new chemical.
  • -

    Reactions

    - - "} - - var/list/entries_to_register = list() - var/list/all_reactions = decls_repository.get_decls_of_subtype(/decl/chemical_reaction) - for(var/reactiontype in all_reactions) - var/decl/chemical_reaction/reaction = all_reactions[reactiontype] - if(!reaction || !reaction.name || reaction.hidden_from_codex || istype(reaction, /decl/chemical_reaction/recipe)) - continue // Food recipes are handled in category_recipes.dm. - var/mechanics_text = "This reaction requires the following reagents:
    " - if(reaction.mechanics_text) - mechanics_text = "[reaction.mechanics_text]
    [mechanics_text]" - var/list/reactant_values = list() - for(var/reactant_id in reaction.required_reagents) - var/decl/material/reactant = GET_DECL(reactant_id) - var/reactant_name = "[reactant.name]" - reactant_values += "[reaction.required_reagents[reactant_id]]u [reactant_name]" - mechanics_text += " [jointext(reactant_values, " + ")]" - var/list/inhibitors = list() - - for(var/inhibitor_id in reaction.inhibitors) - var/decl/material/inhibitor = GET_DECL(inhibitor_id) - var/inhibitor_name = "[inhibitor.name]" - inhibitors += inhibitor_name - if(length(inhibitors)) - mechanics_text += " (inhibitors: [jointext(inhibitors, ", ")])" - - var/list/catalysts = list() - for(var/catalyst_id in reaction.catalysts) - var/decl/material/catalyst = GET_DECL(catalyst_id) - var/catalyst_name = "[catalyst.name]" - catalysts += "[reaction.catalysts[catalyst_id]]u [catalyst_name]" - if(length(catalysts)) - mechanics_text += " (catalysts: [jointext(catalysts, ", ")])" - - var/produces - if(reaction.result && reaction.result_amount) - var/decl/material/product = GET_DECL(reaction.result) - produces = product.codex_name || product.name - mechanics_text += "
    It will produce [reaction.result_amount]u [product.name]." - if(reaction.maximum_temperature != INFINITY) - mechanics_text += "
    The reaction will not occur if the temperature is above [reaction.maximum_temperature]K." - if(reaction.minimum_temperature > 0) - mechanics_text += "
    The reaction will not occur if the temperature is below [reaction.minimum_temperature]K." - - var/reaction_name = produces || lowertext(reaction.name) - if(produces) - guide_html += "" - else - guide_html += "" - guide_html += "" - guide_html += "" - if(length(catalysts)) - guide_html += "" - else - guide_html += "" - if(length(inhibitors)) - guide_html += "" - else - guide_html += "" - if(reaction.minimum_temperature > 0 && reaction.minimum_temperature < INFINITY) - guide_html += "" - else - guide_html += "" - if(reaction.maximum_temperature > 0 && reaction.maximum_temperature < INFINITY) - guide_html += "" - else - guide_html += "" - guide_html += "" - - entries_to_register += new /datum/codex_entry( \ - _display_name = "[reaction.name] (reaction)", \ - _associated_strings = list("[reaction.name] (chemical reaction)"), \ - _lore_text = reaction.lore_text, \ - _mechanics_text = mechanics_text \ - ) - guide_html += "
    Product nameProduct amountRequired reagentsCatalystsInhibitorsMin temperatureMax temperatureNotes
    [capitalize(reaction_name)]
    [capitalize(reaction_name)][reaction.result_amount || "N/A"][jointext(reactant_values, "
    ")]
    [jointext(catalysts, "
    ")]
    No catalysts.[jointext(inhibitors, "
    ")]
    No inhibitors.[reaction.minimum_temperature]KAny[reaction.maximum_temperature]KAny" - if(reaction.mechanics_text) - guide_html += reaction.mechanics_text - if(reaction.lore_text) - guide_html += "
    " - if(reaction.lore_text) - guide_html += reaction.lore_text - guide_html += "
    " - - for(var/datum/codex_entry/entry in entries_to_register) - items |= entry.name - - . = ..() + "} + +/decl/codex_category/materials/chemistry/compounds + name = "Compounds" + desc = "Chemical reactions with non-medical, mundane, interesting or spectacular effects." + guide_name = "Compounds" + reaction_category = REACTION_TYPE_COMPOUND + +/decl/codex_category/materials/chemistry/synthesis + name = "Material Synthesis" + desc = "Chemical reactions that produce solid materials." + guide_name = "Material Synthesis" + reaction_category = REACTION_TYPE_SYNTHESIS + +/decl/codex_category/materials/alloying + name = "Alloys" + desc = "Combinations of metals that form various products." + guide_name = "Metallurgy" + reaction_category = REACTION_TYPE_ALLOYING + guide_html = {" +

    Metallurgy Basics

    +

    Put metal in the smelter!

    + "} diff --git a/code/modules/codex/codex_cataloguer.dm b/code/modules/codex/codex_cataloguer.dm index a953a8f87b0..48349c767cb 100644 --- a/code/modules/codex/codex_cataloguer.dm +++ b/code/modules/codex/codex_cataloguer.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/items/device/cataloguer.dmi' icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_NORMAL - origin_tech = "{'materials':2, 'programming':3,'magnets':3}" + origin_tech = @'{"materials":2, "programming":3,"magnets":3}' force = 0 item_flags = ITEM_FLAG_NO_BLUDGEON slot_flags = SLOT_LOWER_BODY diff --git a/code/modules/codex/codex_client.dm b/code/modules/codex/codex_client.dm index c40a52431ee..180e7624c44 100644 --- a/code/modules/codex/codex_client.dm +++ b/code/modules/codex/codex_client.dm @@ -25,7 +25,7 @@ return codex_on_cooldown = TRUE - addtimer(CALLBACK(src, .proc/reset_codex_cooldown), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(reset_codex_cooldown)), 1 SECOND) var/list/all_entries = SScodex.retrieve_entries_for_string(searching) if(mob && mob.mind && !player_is_antag(mob.mind)) @@ -71,7 +71,7 @@ to_chat(src, SPAN_WARNING("You cannot perform codex actions currently.")) return codex_on_cooldown = TRUE - addtimer(CALLBACK(src, .proc/reset_codex_cooldown), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(reset_codex_cooldown)), 1 SECOND) to_chat(mob, SPAN_NOTICE("The codex forwards you an index file.")) @@ -114,7 +114,7 @@ return codex_on_cooldown = TRUE - addtimer(CALLBACK(src, .proc/reset_codex_cooldown), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(reset_codex_cooldown)), 1 SECOND) var/datum/codex_entry/entry = SScodex.get_codex_entry("nexus") SScodex.present_codex_entry(mob, entry) diff --git a/code/modules/codex/entries/_codex_entry.dm b/code/modules/codex/entries/_codex_entry.dm index ce72d55aa9a..c81ee255fc2 100644 --- a/code/modules/codex/entries/_codex_entry.dm +++ b/code/modules/codex/entries/_codex_entry.dm @@ -3,18 +3,28 @@ /datum/codex_entry var/name + /// Whether or not this entry is stored on the subsystem, or is associated with solely the specific atom. var/store_codex_entry = TRUE + /// A list of string search terms associated with this entry. var/list/associated_strings + /// A list of typepaths used to populate associated_strings. var/list/associated_paths + /// IC text. var/lore_text + /// OOC text. var/mechanics_text + /// Text shown to antagonists. var/antag_text + /// Value used to disambiguate overlapping codex names. var/disambiguator + /// A list of category decls that this codex entry belongs to. var/list/categories /// If TRUE, don't create this entry in codex init. Where possible, consider using abstract_type or store_codex_entry = FALSE instead. var/skip_hardcoded_generation = FALSE /// If TRUE, associated_paths is set to include each path's subtypes in New(). var/include_subtypes = FALSE + /// HTML returned when the entry is used to populate a guide manual. + var/guide_html /datum/codex_entry/temporary store_codex_entry = FALSE @@ -136,4 +146,5 @@ . += "" . += footer . += "" + #undef TRIM_LINEBREAKS diff --git a/code/modules/codex/entries/engineering.dm b/code/modules/codex/entries/engineering.dm index 66c24731bd2..98a90924909 100644 --- a/code/modules/codex/entries/engineering.dm +++ b/code/modules/codex/entries/engineering.dm @@ -46,26 +46,6 @@ mechanics_text = "This device disrupts shields on directly adjacent tiles (in a + shaped pattern), in a similar way the floor mounted variant does. It is, however, portable and run by an internal battery. Can be recharged with a regular recharger." disambiguator = "equipment" -/datum/codex_entry/hacking - associated_strings = list("hacking") - mechanics_text = "Airlocks, vending machines, and various other machinery can be hacked by opening them up and fiddling with the wires. \ - While it might sound like a unlawful deed (and it usually is) this process is also performed by engineers, usually to fix said criminal deeds. \ - Hacking also benefits from the Electrical Engineering skill: a low skill may cause wires to tangle, and a high enough skill will let you examine wires to see what they do. \ -
    Hacking makes use of several items: \ - \ -
    The first step to most hacking procedures is to use the screwdriver to open a maintenance panel and access the wiring. \ - After, you can click on the machine to view the wires. \ - You then use the multitool to pulse the wires, and in response some of the displayed information may change, causing certain effects to occur or allowing for certain benefits. \ - If you don't have a multitool, you can cut the wires. \ - Pulsing tends to cause temporary changes or toggles something, whereas cutting a wire is usually longer lasting, but this is not always the case. \ - Note that the corresponding wires and effects are randomized between rounds of the game. \ - You can also attach a signaler to pulse wires remotely." - antag_text = "To avoid suspicion or accidents, practice quietly somewhere out of the way and learn the wires you need before doing it for real." - /datum/codex_entry/solars associated_paths = list(/obj/item/solar_assembly, /obj/machinery/power/solar, /obj/machinery/power/tracker, /obj/machinery/power/solar_control) associated_strings = list("solar array") diff --git a/code/modules/codex/entries/guides.dm b/code/modules/codex/entries/guides.dm new file mode 100644 index 00000000000..5a6e7c15f4c --- /dev/null +++ b/code/modules/codex/entries/guides.dm @@ -0,0 +1,618 @@ +/datum/codex_entry/guide + abstract_type = /datum/codex_entry/guide + lore_text = "This guide has not been written yet, sorry!" + +/datum/codex_entry/guide/New() + ..() + if(QDELETED(src)) + return + + // Add to category. + var/decl/codex_category/cat = GET_DECL(/decl/codex_category/guides) + LAZYDISTINCTADD(categories, cat) + LAZYDISTINCTADD(cat.items, name) + + // Generate our guide text. + guide_html = guide_html ? list(guide_html) : list() + if(lore_text) + guide_html += "

    [lore_text]

    " + if(mechanics_text) + guide_html += "

    [mechanics_text]

    " + // No antag text for the guide text. + guide_html = JOINTEXT(guide_html) + +/datum/codex_entry/guide/robotics + name = "Guide to Robotics" + lore_text = {" +

    Cyborgs for Dummies

    + +

    Chapters

    +
      +
    1. Cyborg Related Equipment
    2. +
    3. Cyborg Modules
    4. +
    5. Cyborg Construction
    6. +
    7. Cyborg Maintenance
    8. +
    9. Cyborg Repairs
    10. +
    11. In Case of Emergency
    12. +
    + +

    Cyborg Related Equipment

    + +

    Exosuit Fabricator

    + The Exosuit Fabricator is the most important piece of equipment related to cyborgs. It allows the construction of the core cyborg parts. Without these machines, cyborgs cannot be built. It seems that they may also benefit from advanced research techniques. + +

    Cyborg Recharging Station

    + This useful piece of equipment will suck power out of the power systems to charge a cyborg's power cell back up to full charge. + +

    Robotics Control Console

    + This useful piece of equipment can be used to immobilize or destroy a cyborg. A word of warning: Cyborgs are expensive pieces of equipment, do not destroy them without good reason, or the Company may see to it that it never happens again. + +

    Cyborg Modules

    + When a cyborg is created it picks out of an array of modules to designate its purpose. There are 11 different cyborg modules.
    + All cyborg modules carry a flash. + + # TODO generate from SSrobots + +

    Cyborg Construction

    + Cyborg construction is a rather easy process, requiring a decent amount of metal and a few other supplies.
    The required materials to make a cyborg are: +
      +
    • Metal
    • +
    • Two Flashes
    • +
    • One Power Cell (Preferably rated to 15000w)
    • +
    • Some electrical wires
    • +
    • One Human Brain
    • +
    • One Man-Machine Interface
    • +
    + Once you have acquired the materials, you can start on construction of your cyborg.
    To construct a cyborg, follow the steps below: +
      +
    1. Start the Exosuit Fabricators constructing all of the cyborg parts
    2. +
    3. While the parts are being constructed, take your human brain, and place it inside the Man-Machine Interface
    4. +
    5. Once you have a Robot Head, place your two flashes inside the eye sockets
    6. +
    7. Once you have your Robot Chest, wire the Robot chest, then insert the power cell
    8. +
    9. Attach all of the Robot parts to the Robot frame
    10. +
    11. Insert the Man-Machine Interface (With the Brain inside) into the Robot Body
    12. +
    13. Congratulations! You have a new cyborg!
    14. +
    + +

    Cyborg Maintenance

    + Occasionally Cyborgs may require maintenance of a couple types, this could include replacing a power cell with a charged one, or possibly maintaining the cyborg's internal wiring. + +

    Replacing a Power Cell

    + Replacing a Power cell is a common type of maintenance for cyborgs. It usually involves replacing the cell with a fully charged one, or upgrading the cell with a larger capacity cell.
    The steps to replace a cell are as follows: +
      +
    1. Unlock the Cyborg's Interface by swiping your ID on it
    2. +
    3. Open the Cyborg's outer panel using a crowbar
    4. +
    5. Remove the old power cell
    6. +
    7. Insert the new power cell
    8. +
    9. Close the Cyborg's outer panel using a crowbar
    10. +
    11. Lock the Cyborg's Interface by swiping your ID on it, this will prevent non-qualified personnel from attempting to remove the power cell
    12. +
    + +

    Exposing the Internal Wiring

    + Exposing the internal wiring of a cyborg is fairly easy to do, and is mainly used for cyborg repairs.
    You can easily expose the internal wiring by following the steps below: +
      +
    1. Follow Steps 1 - 3 of "Replacing a Cyborg's Power Cell"
    2. +
    3. Open the cyborg's internal wiring panel by using a screwdriver to unsecure the panel
    4. +
    + To re-seal the cyborg's internal wiring: +
      +
    1. Use a screwdriver to secure the cyborg's internal panel
    2. +
    3. Follow steps 4 - 6 of "Replacing a Cyborg's Power Cell" to close up the cyborg
    4. +
    + +

    Cyborg Repairs

    + Occasionally a Cyborg may become damaged. This could be in the form of impact damage from a heavy or fast-travelling object, or it could be heat damage from high temperatures, or even lasers or Electromagnetic Pulses (EMPs). + +

    Dents

    + If a cyborg becomes damaged due to impact from heavy or fast-moving objects, it will become dented. Sure, a dent may not seem like much, but it can compromise the structural integrity of the cyborg, possibly causing a critical failure. + Dents in a cyborg's frame are rather easy to repair, all you need is to apply a welding tool to the dented area, and the high-tech cyborg frame will repair the dent under the heat of the welder. + +

    Excessive Heat Damage

    + If a cyborg becomes damaged due to excessive heat, it is likely that the internal wires will have been damaged. You must replace those wires to ensure that the cyborg remains functioning properly.
    To replace the internal wiring follow the steps below: +
      +
    1. Unlock the Cyborg's Interface by swiping your ID
    2. +
    3. Open the Cyborg's External Panel using a crowbar
    4. +
    5. Remove the Cyborg's Power Cell
    6. +
    7. Using a screwdriver, expose the internal wiring of the Cyborg
    8. +
    9. Replace the damaged wires inside the cyborg
    10. +
    11. Secure the internal wiring cover using a screwdriver
    12. +
    13. Insert the Cyborg's Power Cell
    14. +
    15. Close the Cyborg's External Panel using a crowbar
    16. +
    17. Lock the Cyborg's Interface by swiping your ID
    18. +
    + These repair tasks may seem difficult, but are essential to keep your cyborgs running at peak efficiency. + +

    In Case of Emergency

    + In case of emergency, there are a few steps you can take. + +

    "Rogue" Cyborgs

    + If the cyborgs seem to become "rogue", they may have non-standard laws. In this case, use extreme caution. + To repair the situation, follow these steps: +
      +
    1. Locate the nearest robotics console
    2. +
    3. Determine which cyborgs are "Rogue"
    4. +
    5. Press the lockdown button to immobilize the cyborg
    6. +
    7. Locate the cyborg
    8. +
    9. Expose the cyborg's internal wiring
    10. +
    11. Check to make sure the LawSync and AI Sync lights are lit
    12. +
    13. If they are not lit, pulse the LawSync wire using a multitool to enable the cyborg's LawSync
    14. +
    15. Proceed to a cyborg upload console. The Company usually places these in the same location as AI upload consoles.
    16. +
    17. Use a "Reset" upload moduleto reset the cyborg's laws
    18. +
    19. Proceed to a Robotics Control console
    20. +
    21. Remove the lockdown on the cyborg
    22. +
    + +

    As a last resort

    + If all else fails in a case of cyborg-related emergency, there may be only one option. Using a Robotics Control console, you may have to remotely detonate the cyborg. +

    WARNING:

    Do not detonate a borg without an explicit reason for doing so. Cyborgs are expensive pieces of company equipment, and you may be punished for detonating them without reason. + "} + +/datum/codex_entry/guide/detective + name = "Guide to Forensics" + lore_text = {" +

    Detective Work

    + Between your bouts of self-narration and drinking whiskey on the rocks, you might get a case or two to solve.
    + To have the best chance to solve your case, follow these directions: +

    +

      +
    1. Go to the crime scene.
    2. +
    3. Take your scanner and scan EVERYTHING (Yes, the doors, the tables, even the dog).
    4. +
    5. Once you are reasonably certain you have every scrap of evidence you can use, find all possible entry points and scan them, too.
    6. +
    7. Return to your office.
    8. +
    9. Using your forensic scanning computer, scan your scanner to upload all of your evidence into the database.
    10. +
    11. Browse through the resulting dossiers, looking for the one that either has the most complete set of prints, or the most suspicious items handled.
    12. +
    13. If you have 80% or more of the print (The print is displayed), go to step 10, otherwise continue to step 8.
    14. +
    15. Look for clues from the suit fibres you found on your perpetrator, and go about looking for more evidence with this new information, scanning as you go.
    16. +
    17. Try to get a fingerprint card of your perpetrator, as if used in the computer, the prints will be completed on their dossier.
    18. +
    19. Assuming you have enough of a print to see it, grab the biggest complete piece of the print and search the security records for it.
    20. +
    21. Since you now have both your dossier and the name of the person, print both out as evidence and get security to nab your baddie.
    22. +
    23. Give yourself a pat on the back and a bottle of the ship's finest vodka, you did it!
    24. +
    +

    + It really is that easy! Good luck! + "} + +/datum/codex_entry/guide/nuclear_sabotage + name = "Guide to Nuclear Sabotage" + lore_text = {" +

    Nuclear Explosives 101

    + Hello and thank you for choosing the Syndicate for your nuclear information needs. Today's crash course will deal with the operation of a Nuclear Fission Device.

    + + First and foremost, DO NOT TOUCH ANYTHING UNTIL THE BOMB IS IN PLACE. Pressing any button on the compacted bomb will cause it to extend and bolt itself into place. If this is done, to unbolt it, one must completely log in, which at this time may not be possible.
    + +

    To make the nuclear device functional

    +
      +
    • Place the nuclear device in the designated detonation zone.
    • +
    • Extend and anchor the nuclear device from its interface.
    • +
    • Insert the nuclear authorisation disk into the slot.
    • +
    • Type the numeric authorisation code into the keypad. This should have been provided.
      + Note: If you make a mistake, press R to reset the device. +
    • Press the E button to log on to the device.
    • +

    + + You now have activated the device. To deactivate the buttons at anytime, for example when you've already prepped the bomb for detonation, remove the authentication disk OR press R on the keypad.

    + Now the bomb CAN ONLY be detonated using the timer. Manual detonation is not an option. Toggle off the SAFETY.
    + Note: You wouldn't believe how many Syndicate Operatives with doctorates have forgotten this step.

    + + So use the - - and + + to set a detonation time between 5 seconds and 10 minutes. Then press the timer toggle button to start the countdown. Now remove the authentication disk so that the buttons deactivate.
    + Note: THE BOMB IS STILL SET AND WILL DETONATE

    + + Now before you remove the disk, if you need to move the bomb, you can toggle off the anchor, move it, and re-anchor.

    + + Remember the order:
    + Disk, Code, Safety, Timer, Disk, RUN!

    + Intelligence Analysts believe that normal corporate procedure is for the Captain to secure the nuclear authentication disk.

    + + Good luck! + "} + +/datum/codex_entry/guide/particle_accelerator + name = "Guide to Particle Accelerators" + lore_text = {" +

    Experienced User's Guide

    +

    Setting up the accelerator

    +
      +
    1. Wrench all pieces to the floor
    2. +
    3. Add wires to all the pieces
    4. +
    5. Close all the panels with your screwdriver
    6. +
    +

    Using the accelerator

    +
      +
    1. Open the control panel
    2. +
    3. Set the speed to 2
    4. +
    5. Start firing at the singularity generator
    6. +
    7. When the singularity reaches a large enough size so it starts moving on it's own set the speed down to 0, but don't shut it off
    8. +
    9. Remember to wear a radiation suit when working with this machine... we did tell you that at the start, right?
    10. +
    + "} + + +/datum/codex_entry/guide/singularity + name = "Guide to Singularity Engines" + lore_text = {" +

    Singularity Safety in Special Circumstances

    +

    Power outage

    + A power problem has made you lose power? Could be wiring problems or syndicate power sinks. In any case follow these steps: +
      +
    1. PANIC!
    2. +
    3. Get your ass over to engineering! QUICKLY!!!
    4. +
    5. Get to the Area Power Controller which controls the power to the emitters.
    6. +
    7. Swipe it with your ID card - if it doesn't unlock, continue with step 15.
    8. +
    9. Open the console and disengage the cover lock.
    10. +
    11. Pry open the APC with a Crowbar.
    12. +
    13. Take out the empty power cell.
    14. +
    15. Put in the new, full power cell - if you don't have one, continue with step 15.
    16. +
    17. Quickly put on a Radiation suit.
    18. +
    19. Check if the singularity field generators withstood the down-time - if they didn't, continue with step 15.
    20. +
    21. Since disaster was averted you now have to ensure it doesn't repeat. If it was a powersink which caused it and if the engineering APC is wired to the same powernet, which the powersink is on, you have to remove the piece of wire which links the APC to the powernet. If it wasn't a powersink which caused it, then skip to step 14.
    22. +
    23. Grab your crowbar and pry away the tile closest to the APC.
    24. +
    25. Use the wirecutters to cut the wire which is connecting the grid to the terminal.
    26. +
    27. Go to the bar and tell the guys how you saved them all. Stop reading this guide here.
    28. +
    29. GET THE FUCK OUT OF THERE!!!
    30. +
    +

    Shields get damaged

    +
      +
    1. GET THE FUCK OUT OF THERE!!! FORGET THE WOMEN AND CHILDREN, SAVE YOURSELF!!!
    2. +
    + "} + +/datum/codex_entry/guide/mech_construction + name = "Guide to Exosuit Construction" + lore_text = {" +
    +
    + Weyland-Yutani - Building Better Worlds +

    Autonomous Power Loader Unit \"Ripley\"

    +
    +

    Specifications:

    +
      +
    • Class: Autonomous Power Loader
    • +
    • Scope: Logistics and Construction
    • +
    • Weight: 820kg (without operator and with empty cargo compartment)
    • +
    • Height: 2.5m
    • +
    • Width: 1.8m
    • +
    • Top speed: 5km/hour
    • +
    • Operation in vacuum/hostile environment: Possible +
    • Airtank volume: 500 liters
    • +
    • Devices: +
        +
      • Hydraulic clamp
      • +
      • High-speed drill
      • +
      +
    • +
    • Propulsion device: Powercell-powered electro-hydraulic system
    • +
    • Powercell capacity: Varies
    • +
    +

    Construction:

    +
      +
    1. Connect all exosuit parts to the chassis frame.
    2. +
    3. Connect all hydraulic fittings and tighten them up with a wrench.
    4. +
    5. Adjust the servohydraulics with a screwdriver.
    6. +
    7. Wire the chassis (Cable is not included).
    8. +
    9. Use the wirecutters to remove the excess cable if needed.
    10. +
    11. Install the central control module (Not included. Use supplied datadisk to create one).
    12. +
    13. Secure the mainboard with a screwdriver.
    14. +
    15. Install the peripherals control module (Not included. Use supplied datadisk to create one).
    16. +
    17. Secure the peripherals control module with a screwdriver.
    18. +
    19. Install the internal armor plating (Not included due to corporate regulations. Can be made using 5 metal sheets).
    20. +
    21. Secure the internal armor plating with a wrench.
    22. +
    23. Weld the internal armor plating to the chassis.
    24. +
    25. Install the external reinforced armor plating (Not included due to corporate regulations. Can be made using 5 reinforced metal sheets).
    26. +
    27. Secure the external reinforced armor plating with a wrench.
    28. +
    29. Weld the external reinforced armor plating to the chassis.
    30. +
    +

    Additional Information:

    +
      +
    • The firefighting variation is made in a similar fashion.
    • +
    • A firesuit must be connected to the firefighter chassis for heat shielding.
    • +
    • Internal armor is plasteel for additional strength.
    • +
    • External armor must be installed in 2 parts, totalling 10 sheets.
    • +
    • Completed exosuit is more resilient against fire, and is a bit more durable overall.
    • +
    • The Company is determined to ensure the safety of its investments employees.
    • +
    + + "} + +/datum/codex_entry/guide/atmospherics + name = "Guide to Atmospherics" + lore_text = {" +

    Contents

    +
      +
    1. Author's Foreword
    2. +
    3. Basic Piping
    4. +
    5. Insulated Pipes
    6. +
    7. Atmospherics Devices
    8. +
    9. Heat Exchange Systems
    10. +
    11. Final Checks
    12. +

    +

    HOW TO NOT SUCK QUITE SO HARD AT ATMOSPHERICS


    + Or: What the fuck does a "pressure regulator" do?

    + Alright. It has come to my attention that a variety of people are unsure of what a "pipe" is and what it does. + Apparently, there is an unnatural fear of these arcane devices and their "gases." Spooky, spooky. So, + this will tell you what every device constructable by an ordinary pipe dispenser within atmospherics actually does. + You are not going to learn what to do with them to be the super best person ever, or how to play guitar with passive gates, + or something like that. Just what stuff does.

    +

    Basic Pipes

    + The boring ones.
    + Most ordinary pipes are pretty straightforward. They hold gas. If gas is moving in a direction for some reason, gas will flow in that direction. + That's about it. Even so, here's all of your wonderful pipe options.
    + + An important note here is that pipes are now done in three distinct lines - general, supply, and scrubber. You can move gases between these with a universal adapter. Use the correct position for the correct location. + Connecting scrubbers to a supply position pipe makes you an idiot who gives everyone a difficult job. Insulated and HE pipes don't go through these positions. +

    Insulated Pipes

    +
  • Bent pipes: Pipes with a 90 degree bend at the half-meter mark. My goodness.
  • +
  • Pipe manifolds: Pipes that are essentially a "T" shape, allowing you to connect three things at one point.
  • +
  • 4-way manifold: A four-way junction.
  • +
  • Pipe cap: Caps off the end of a pipe. Open ends don't actually vent air, because of the way the pipes are assembled, so, uh. Use them to decorate your house or something.
  • +
  • Manual Valve: A valve that will block off airflow when turned. Can't be used by the AI or cyborgs, because they don't have hands.
  • +
  • Manual T-Valve: Like a manual valve, but at the center of a manifold instead of a straight pipe.


  • +

    Insulated Pipes


    + Special Public Service Announcement.
    + Our regular pipes are already insulated. These are completely worthless. Punch anyone who uses them.

    +

    Devices:

    + They actually do something.
    + This is usually where people get frightened, afraid, and start calling on their gods and/or cowering in fear. Yes, I can see you doing that right now. + Stop it. It's unbecoming. Most of these are fairly straightforward.
    + +

    Heat Exchange Systems

    + Will not set you on fire.
    + These systems are used to only transfer heat between two pipes. They will not move gases or any other element, but will equalize the temperature (eventually). Note that because of how gases work (remember: pv=nRt), + a higher temperature will raise pressure, and a lower one will lower temperature.
    +
  • Pipe: This is a pipe that will exchange heat with the surrounding atmosphere. Place in fire for superheating. Place in space for supercooling.
  • +
  • Bent pipe: Take a wild guess.
  • +
  • Junction: The point where you connect your normal pipes to heat exchange pipes. Not necessary for heat exchangers, but necessary for H/E pipes/bent pipes.
  • +
  • Heat exchanger: These funky-looking bits attach to an open pipe end. Put another heat exchanger directly across from it, and you can transfer heat across two pipes without having to have the gases touch. + This normally shouldn't exchange with the ambient air, despite being totally exposed. Just don't ask questions.

  • + That's about it for pipes. Go forth, armed with this knowledge, and try not to break, burn down, or kill anything. Please. + "} + +/datum/codex_entry/guide/eva + name = "Guide to EVA" + lore_text = {" +

    EVA Gear and You: Not Spending All Day Inside

    + Or: How not to suffocate because there's a hole in your shoes
    +

    Contents

    +
      +
    1. A foreword on using EVA gear
    2. +
    3. Donning a Civilian Suit
    4. +
    5. Putting on a Hardsuit
    6. +
    7. Cyclers and Other Modification Equipment
    8. +
    9. Final Checks
    10. +
    +
    + EVA gear. Wonderful to use. It's useful for mining, engineering, and occasionally just surviving, if things are that bad. Most people have EVA training, + but apparently there are some people out in space who don't. This guide should give you a basic idea of how to use this gear, safely. It's split into two sections: + Civilian suits and hardsuits.

    +

    Civilian Suits

    + The bulkiest things this side of Alpha Centauri
    + These suits are the grey ones that are stored in EVA. They're the more simple to get on, but are also a lot bulkier, and provide less protection from environmental hazards such as radiation or physical impact. + As Medical, Engineering, Security, and Mining all have hardsuits of their own, these don't see much use, but knowing how to put them on is quite useful anyways.

    + First, take the suit. It should be in three pieces: A top, a bottom, and a helmet. Put the bottom on first, shoes and the like will fit in it. If you have magnetic boots, however, + put them on on top of the suit's feet. Next, get the top on, as you would a shirt. It can be somewhat awkward putting these pieces on, due to the makeup of the suit, + but to an extent they will adjust to you. You can then find the snaps and seals around the waist, where the two pieces meet. Fasten these, and double-check their tightness. + The red indicators around the waist of the lower half will turn green when this is done correctly. Next, put on whatever breathing apparatus you're using, be it a gas mask or a breath mask. Make sure the oxygen tube is fastened into it. + Put on the helmet now, straightforward, and make sure the tube goes into the small opening specifically for internals. Again, fasten seals around the neck, a small indicator light in the inside of the helmet should go from red to off when all is fastened. + There is a small slot on the side of the suit where an emergency oxygen tank or extended emergency oxygen tank will fit, + but it is recommended to have a full-sized tank on your back for EVA.

    + These suits tend to be wearable by most species. They're large and flexible. They might be pretty uncomfortable for some, though, so keep that in mind.

    +

    Hardsuits

    + Heavy, uncomfortable, still the best option.
    + These suits come in Engineering, Mining, and the Armory. There's also a couple Medical Hardsuits in EVA. These provide a lot more protection than the standard suits.

    + Similarly to the other suits, these are split into three parts. Fastening the pant and top are mostly the same as the other spacesuits, with the exception that these are a bit heavier, + though not as bulky. The helmet goes on differently, with the air tube feeding into the suit and out a hole near the left shoulder, while the helmet goes on turned ninety degrees counter-clockwise, + and then is screwed in for one and a quarter full rotations clockwise, leaving the faceplate directly in front of you. There is a small button on the right side of the helmet that activates the helmet light. + The tanks that fasten onto the side slot are emergency tanks, as well as full-sized oxygen tanks, leaving your back free for a backpack or satchel.

    + These suits generally only fit one species. Standard-issue suits are usually human-fitting by default, but there's equipment that can make modifications to the hardsuits to fit them to other species.

    +

    Modification Equipment

    + How to actually make hardsuits fit you.
    + There's a variety of equipment that can modify hardsuits to fit species that can't fit into them, making life quite a bit easier.

    + The first piece of equipment is a suit cycler. This is a large machine resembling the storage pods that are in place in some places. These are machines that will automatically tailor a suit to certain specifications. + The largest uses of them are for their cleaning functions and their ability to tailor suits for a species. Do not enter them physically. You will die from any of the functions being activated, and it will be painful. + These machines can both tailor a suit between species, and between types. This means you can convert engineering hardsuits to atmospherics, or the other way. This is useful. Use it if you can.

    + There's also modification kits that let you modify suits yourself. These are extremely difficult to use unless you understand the actual construction of the suit. I do not recommend using them unless no other option is available. +

    Final Checks

    + + If you don't have any further issues, go out and do whatever is necessary. + "} + +/datum/codex_entry/guide/xenoarchaeology + name = "Guide to Xenoarchaeology" + lore_text = {" +

    Contents

    +
      +
    1. Prepping the expedition
    2. +
    3. Knowing your tools
    4. +
    5. Finding the dig
    6. +
    7. Analysing deposits
    8. +
    9. Extracting your first find
    10. +
    +
    +

    Prepping the expedition

    + Every digsite I've been to, someone has forgotten something and I've never yet been to a dig that hasn't had me hiking to get to it - so gather your gear + and get it to the site the first time. You learn quick that time is money, when you've got a shipful of bandits searching for you the next valley over, + but don't be afraid to clear some space if there are any inconvenient boulders in the way.
    +
    + Contents +

    Knowing your tools

    + Every archaeologist has a plethora of tools at their disposal, but here's the important ones:
    +
    + Contents +

    Finding the dig

    + Wouldn't be an archaeologist without their dig, but everyone has to start somewhere. Here's a basic procedure I go through when cataloguing a new planet:
    +
    + Contents +

    Analysing the contents of a dig

    + You've found some unusual strata, but it's not all peaches from here. No archaeologist ever managed to pull a bone from the earth without doing thorough + chemical analysis on every two meters of rock face nearby.
    +
    + Contents +

    Extracting your first find

    +
    + Contents + "} + + +/datum/codex_entry/guide/mass_spectrometry + name = "Guide to Mass Spectrometry" + lore_text = {" +

    Contents

    +
      +
    1. A note on terms
    2. +
    3. Analysis progression
    4. +
    5. Heat management
    6. +
    7. Ambient radiation
    8. +
    +
    +

    A note on terms

    +
    + Contents +

    Analysis progression

    + Modern mass spectrometry requires constant attention from the diligent researcher in order to be successful. There are many different elements to juggle, + and later chapters will delve into them. For the spectrometry assistant, the first thing you need to know is that the scanner wavelength is automatically + calculated for you. Just tweak the settings and try to match it with the actual wavelength as closely as possible.
    +
    + Contents +

    Seal integrity

    + In order to maintain sterile and environmentally static procedures, a special chamber is set up inside the spectrometer. It's protected by a proprietary vacuum seal + produced by top tier industrial science. It will only last for a certain number of scans before failing outright, but it can be resealed through use of nanite paste. + Unfortunately, it's susceptible to malforming under heat stress so exposing it to higher temperatures will cause it's operation life to drop significantly.
    +
    + Contents +

    Heat management

    + The scanner relies on a gyro-rotational system that varies in speed and intensity. Over the course of an ordinary scan, the RPMs can change dramatically. Higher RPMs + means greater heat generation, but is necessary for the ongoing continuation of the scan. To offset heat production, spectrometers have an inbuilt cooling system. + Researchers can modify the flow rate of water to aid in dropping temperature as necessary, but are advised that frequent water replacements may be necessary + depending on coolant purity. Other substances may be viable substitutes, but nowhere near as effective as water itself.
    +
    + Contents +

    Ambient radiation

    + Researchers are warned that while operational, mass spectrometers emit period bursts of radiation and are thus advised to wear protective gear. In the event of + radiation spikes, there is also a special shield that can be lowered to block emissions. Lowering this, however, will have the effect of blocking the scanner + so use it sparingly.
    +
    + Contents + "} + +/datum/codex_entry/guide/engineering + name = "Guide to Engineering" + +/datum/codex_entry/guide/construction + name = "Guide to Construction" + +/datum/codex_entry/guide/supermatter + name = "Guide to Supermatter Engines" + +/datum/codex_entry/guide/fusion + name = "Guide to Fusion Reactors" + +/datum/codex_entry/guide/hacking + name = "Guide to Hacking" + associated_strings = list("hacking") + mechanics_text = "Airlocks, vending machines, and various other machinery can be hacked by opening them up and fiddling with the wires. \ + While it might sound like a unlawful deed (and it usually is) this process is also performed by engineers, usually to fix said criminal deeds. \ + Hacking also benefits from the Electrical Engineering skill: a low skill may cause wires to tangle, and a high enough skill will let you examine wires to see what they do. \ +
    Hacking makes use of several items: \ + \ +
    The first step to most hacking procedures is to use the screwdriver to open a maintenance panel and access the wiring. \ + After, you can click on the machine to view the wires. \ + You then use the multitool to pulse the wires, and in response some of the displayed information may change, causing certain effects to occur or allowing for certain benefits. \ + If you don't have a multitool, you can cut the wires. \ + Pulsing tends to cause temporary changes or toggles something, whereas cutting a wire is usually longer lasting, but this is not always the case. \ + Note that the corresponding wires and effects are randomized between rounds of the game. \ + You can also attach a signaler to pulse wires remotely." + antag_text = "To avoid suspicion or accidents, practice quietly somewhere out of the way and learn the wires you need before doing it for real." diff --git a/code/modules/detectivework/microscope/_forensic_machine.dm b/code/modules/detectivework/microscope/_forensic_machine.dm index fab07b75720..91dc7edb207 100644 --- a/code/modules/detectivework/microscope/_forensic_machine.dm +++ b/code/modules/detectivework/microscope/_forensic_machine.dm @@ -27,7 +27,7 @@ /obj/machinery/forensic/proc/set_sample(var/obj/O) if(O != sample && O) clear_sample() - events_repository.register(/decl/observ/destroyed, O, src, /obj/machinery/forensic/proc/clear_sample) + events_repository.register(/decl/observ/destroyed, O, src, TYPE_PROC_REF(/obj/machinery/forensic, clear_sample)) sample = O update_icon() diff --git a/code/modules/detectivework/tools/uvlight.dm b/code/modules/detectivework/tools/uvlight.dm index b6c2a651303..1b5c3a86b71 100644 --- a/code/modules/detectivework/tools/uvlight.dm +++ b/code/modules/detectivework/tools/uvlight.dm @@ -7,7 +7,7 @@ w_class = ITEM_SIZE_SMALL action_button_name = "Toggle UV light" material = /decl/material/solid/metal/steel - origin_tech = "{'magnets':1,'engineering':1}" + origin_tech = @'{"magnets":1,"engineering":1}' z_flags = ZMM_MANGLE_PLANES var/list/scanned = list() var/list/stored_alpha = list() diff --git a/code/modules/economy/cael/ATM.dm b/code/modules/economy/cael/ATM.dm index 97863816303..af75a724103 100644 --- a/code/modules/economy/cael/ATM.dm +++ b/code/modules/economy/cael/ATM.dm @@ -11,7 +11,7 @@ anchored = TRUE idle_power_usage = 10 obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/datum/money_account/authenticated_account var/number_incorrect_tries = 0 diff --git a/code/modules/economy/worth_currency.dm b/code/modules/economy/worth_currency.dm index bc39ff704ca..b9bdff6e541 100644 --- a/code/modules/economy/worth_currency.dm +++ b/code/modules/economy/worth_currency.dm @@ -14,7 +14,7 @@ name = "[value_name] [currency.name_singular] [name || "piece"]" state = state || "cash" marked_value = value - overlay = image(currency, state) + overlay = image(currency.icon, state) overlay.color = colour overlay.appearance_flags |= RESET_COLOR overlay.plane = FLOAT_PLANE diff --git a/code/modules/error_handler/error_handler.dm b/code/modules/error_handler/error_handler.dm index 2e61914c580..39f8dc118d9 100644 --- a/code/modules/error_handler/error_handler.dm +++ b/code/modules/error_handler/error_handler.dm @@ -44,17 +44,9 @@ var/global/regex/actual_error_file_line //Handle cooldowns and silencing spammy errors var/silencing = FALSE - // We can runtime before config is initialized because BYOND initialize objs/map before a bunch of other stuff happens. - // This is a bunch of workaround code for that. Hooray! - - var/configured_error_cooldown = initial(config.error_cooldown) - var/configured_error_limit = initial(config.error_limit) - var/configured_error_silence_time = initial(config.error_silence_time) - if(config) - configured_error_cooldown = config.error_cooldown - configured_error_limit = config.error_limit - configured_error_silence_time = config.error_silence_time - + var/configured_error_cooldown = get_config_value(/decl/config/num/debug_error_cooldown) + var/configured_error_limit = get_config_value(/decl/config/num/debug_error_limit) + var/configured_error_silence_time = get_config_value(/decl/config/num/debug_error_silence_time) //Each occurence of an unique error adds to its cooldown time... cooldown = max(0, cooldown - (world.time - last_seen)) + configured_error_cooldown diff --git a/code/modules/error_handler/error_viewer.dm b/code/modules/error_handler/error_viewer.dm index d08af79ce53..4cf335faab0 100644 --- a/code/modules/error_handler/error_viewer.dm +++ b/code/modules/error_handler/error_viewer.dm @@ -126,14 +126,9 @@ var/global/datum/error_viewer/error_cache/error_cache // Show the error to admins with debug messages turned on, but only if one // from the same source hasn't been shown too recently if (error_source.next_message_at <= world.time) - var/const/viewtext = "\[view]" // Nesting these in other brackets went poorly + //var/const/viewtext = "\[view]" // Nesting these in other brackets went poorly //log_debug("Runtime in [e.file], line [e.line]: [html_encode(e.name)] [error_entry.make_link(viewtext)]") - var/err_msg_delay - if(config) - err_msg_delay = config.error_msg_delay - else - err_msg_delay = initial(config.error_msg_delay) - error_source.next_message_at = world.time + err_msg_delay + error_source.next_message_at = world.time + get_config_value(/decl/config/num/debug_error_msg_delay) /datum/error_viewer/error_source var/list/errors = list() diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index c44eeda8814..a2cf955a797 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -64,11 +64,11 @@ var/global/list/carp_count = list() // a list of Z levels (string), associated w else M = new /mob/living/simple_animal/hostile/carp/pike(T) I += 3 - events_repository.register(/decl/observ/death, M,src,/datum/event/carp_migration/proc/reduce_carp_count) - events_repository.register(/decl/observ/destroyed, M,src,/datum/event/carp_migration/proc/reduce_carp_count) + events_repository.register(/decl/observ/death, M,src, TYPE_PROC_REF(/datum/event/carp_migration, reduce_carp_count)) + events_repository.register(/decl/observ/destroyed, M,src, TYPE_PROC_REF(/datum/event/carp_migration, reduce_carp_count)) LAZYADD(global.carp_count[num2text(Z)], M) spawned_carp ++ - M.throw_at(get_random_edge_turf(global.reverse_dir[direction],TRANSITIONEDGE + 2, Z), 250, speed, callback = CALLBACK(src,/datum/event/carp_migration/proc/check_gib,M)) + M.throw_at(get_random_edge_turf(global.reverse_dir[direction],TRANSITIONEDGE + 2, Z), 250, speed, callback = CALLBACK(src, TYPE_PROC_REF(/datum/event/carp_migration, check_gib), M)) I++ if(no_show) break @@ -97,8 +97,8 @@ var/global/list/carp_count = list() // a list of Z levels (string), associated w if(M in L) LAZYREMOVE(L,M) break - events_repository.unregister(/decl/observ/death, M,src,/datum/event/carp_migration/proc/reduce_carp_count) - events_repository.unregister(/decl/observ/destroyed, M,src,/datum/event/carp_migration/proc/reduce_carp_count) + events_repository.unregister(/decl/observ/death, M,src, TYPE_PROC_REF(/datum/event/carp_migration, reduce_carp_count)) + events_repository.unregister(/decl/observ/destroyed, M,src, TYPE_PROC_REF(/datum/event/carp_migration, reduce_carp_count)) /datum/event/carp_migration/end() log_debug("Carp migration event spawned [spawned_carp] carp.") diff --git a/code/modules/events/disposals_explosion.dm b/code/modules/events/disposals_explosion.dm index cf1cb63a93b..86f470f6d6e 100644 --- a/code/modules/events/disposals_explosion.dm +++ b/code/modules/events/disposals_explosion.dm @@ -24,7 +24,7 @@ // Event listener for the marked pipe's destruction /datum/event/disposals_explosion/proc/pipe_destroyed() - events_repository.unregister(/decl/observ/destroyed, bursting_pipe, src, .proc/pipe_destroyed) + events_repository.unregister(/decl/observ/destroyed, bursting_pipe, src, PROC_REF(pipe_destroyed)) bursting_pipe = null kill() @@ -43,7 +43,7 @@ if(istype(A, /obj/structure/disposalpipe/segment)) bursting_pipe = A // Subscribe to pipe destruction facts - events_repository.register(/decl/observ/destroyed, A, src, .proc/pipe_destroyed) + events_repository.register(/decl/observ/destroyed, A, src, PROC_REF(pipe_destroyed)) break if(isnull(bursting_pipe)) @@ -70,7 +70,7 @@ if(isnull(bursting_pipe)) return - events_repository.unregister(/decl/observ/destroyed, bursting_pipe, src, .proc/pipe_destroyed) + events_repository.unregister(/decl/observ/destroyed, bursting_pipe, src, PROC_REF(pipe_destroyed)) if(bursting_pipe.health < 5) // Make a disposals holder for the trash diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index e67279c59e5..d404c07a42c 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -15,7 +15,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT if(!next_event_time) set_event_delay() - if(delayed || !config.allow_random_events) + if(delayed || !get_config_value(/decl/config/toggle/allow_random_events)) next_event_time += (world.time - last_world_time) else if(world.time > next_event_time) start_event() @@ -71,17 +71,18 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT var/last_time = last_event_time[EM] if(last_time) var/time_passed = world.time - last_time - var/weight_modifier = max(0, round((config.expected_round_length - time_passed) / 300)) + var/weight_modifier = max(0, round(((get_config_value(/decl/config/num/expected_round_length) HOURS) - time_passed) / 300)) weight = weight - weight_modifier return weight /datum/event_container/proc/set_event_delay() // If the next event time has not yet been set and we have a custom first time start - if(next_event_time == 0 && config.event_first_run[severity]) - var/lower = config.event_first_run[severity]["lower"] - var/upper = config.event_first_run[severity]["upper"] - var/event_delay = rand(lower, upper) + var/list/event_first_run = get_config_value(/decl/config/lists/event_first_run) + if(next_event_time == 0 && event_first_run[severity]) + var/lower = event_first_run[severity]["lower"] + var/upper = event_first_run[severity]["upper"] + var/event_delay = rand(lower, upper) MINUTES next_event_time = world.time + event_delay // Otherwise, follow the standard setup process else @@ -99,7 +100,9 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT playercount_modifier = 0.8 playercount_modifier = playercount_modifier * delay_modifier - var/event_delay = rand(config.event_delay_lower[severity], config.event_delay_upper[severity]) * playercount_modifier + var/list/event_delay_lower = get_config_value(/decl/config/lists/event_delay_lower) + var/list/event_delay_upper = get_config_value(/decl/config/lists/event_delay_upper) + var/event_delay = (rand(event_delay_lower[severity], event_delay_upper[severity]) * playercount_modifier) MINUTES next_event_time = world.time + event_delay log_debug("Next event of severity [severity_to_string[severity]] in [(next_event_time - world.time)/600] minutes.") diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 94d4290d4ff..2bf3dd6ead1 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -2,7 +2,7 @@ var/global/list/event_last_fired = list() //Always triggers an event when called, dynamically chooses events based on job population /proc/spawn_dynamic_event() - if(!config.allow_random_events) + if(!get_config_value(/decl/config/toggle/allow_random_events)) return var/minutes_passed = world.time/600 diff --git a/code/modules/ext_scripts/irc.dm b/code/modules/ext_scripts/irc.dm index dc894d839de..9b1887f118f 100644 --- a/code/modules/ext_scripts/irc.dm +++ b/code/modules/ext_scripts/irc.dm @@ -1,30 +1,36 @@ /proc/send2irc(var/channel, var/msg) - export2irc(list(type="msg", mesg=msg, chan=channel, pwd=config.comms_password)) + export2irc(list(type="msg", mesg=msg, chan=channel, pwd=get_config_value(/decl/config/text/comms_password))) /proc/export2irc(params) - if(config.use_irc_bot && config.irc_bot_host) + if(!get_config_value(/decl/config/toggle/use_irc_bot)) + return + var/irc_bot_host = get_config_value(/decl/config/text/irc_bot_host) + if(irc_bot_host) spawn(-1) // spawn here prevents hanging in the case that the bot isn't reachable - world.Export("http://[config.irc_bot_host]:45678?[list2params(params)]") + world.Export("http://[irc_bot_host]:45678?[list2params(params)]") /proc/runtimes2irc(runtimes, revision) - export2irc(list(pwd=config.comms_password, type="runtime", runtimes=runtimes, revision=revision)) + export2irc(list(pwd=get_config_value(/decl/config/text/comms_password), type="runtime", runtimes=runtimes, revision=revision)) /proc/send2mainirc(var/msg) - if(config.main_irc) - send2irc(config.main_irc, msg) + var/main_irc = get_config_value(/decl/config/text/main_irc) + if(main_irc) + send2irc(main_irc, msg) return /proc/send2adminirc(var/msg) - if(config.admin_irc) - send2irc(config.admin_irc, msg) + var/admin_irc = get_config_value(/decl/config/text/admin_irc) + if(admin_irc) + send2irc(admin_irc, msg) return /proc/adminmsg2adminirc(client/source, client/target, msg) - if(config.admin_irc) + var/admin_irc = get_config_value(/decl/config/text/admin_irc) + if(admin_irc) var/list/params[0] - params["pwd"] = config.comms_password - params["chan"] = config.admin_irc + params["pwd"] = get_config_value(/decl/config/text/comms_password) + params["chan"] = admin_irc params["msg"] = msg params["src_key"] = source.key params["src_char"] = source.mob.real_name || source.mob.name @@ -42,13 +48,7 @@ export2irc(params) /proc/get_world_url() - . = "byond://" - if(config.serverurl) - . += config.serverurl - else if(config.server) - . += config.server - else - . += "[world.address]:[world.port]" + return "byond://[get_config_value(/decl/config/text/server) || get_config_value(/decl/config/text/serverurl) || "[world.address]:[world.port]"]" /hook/startup/proc/ircNotify() send2mainirc("Server starting up on [get_world_url()]") diff --git a/code/modules/fabrication/designs/general/designs_general.dm b/code/modules/fabrication/designs/general/designs_general.dm index 99b6171862d..5f7065dbaaa 100644 --- a/code/modules/fabrication/designs/general/designs_general.dm +++ b/code/modules/fabrication/designs/general/designs_general.dm @@ -165,3 +165,9 @@ /datum/fabricator_recipe/package_wrapper/gift path = /obj/item/stack/package_wrap/gift + +/datum/fabricator_recipe/clothes_iron + path = /obj/item/ironingiron + +/datum/fabricator_recipe/ironing_board + path = /obj/item/roller/ironingboard \ No newline at end of file diff --git a/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm b/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm index 6f063ad6c0d..badc05f81c0 100644 --- a/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm +++ b/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm @@ -335,6 +335,9 @@ /datum/fabricator_recipe/imprinter/circuit/washer path = /obj/item/stock_parts/circuitboard/washer +/datum/fabricator_recipe/imprinter/circuit/autoclave + path = /obj/item/stock_parts/circuitboard/autoclave + /datum/fabricator_recipe/imprinter/circuit/microwave path = /obj/item/stock_parts/circuitboard/microwave diff --git a/code/modules/fabrication/fabricator_food.dm b/code/modules/fabrication/fabricator_food.dm index 65a3f51f109..b275ddc8f4c 100644 --- a/code/modules/fabrication/fabricator_food.dm +++ b/code/modules/fabrication/fabricator_food.dm @@ -13,15 +13,15 @@ return ..() var/true_text = lowertext(html_decode(text)) if(findtext(true_text, "status")) - addtimer(CALLBACK(src, /obj/machinery/fabricator/replicator/proc/state_status), 2 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/fabricator/replicator, state_status)), 2 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) else if(findtext(true_text, "menu")) - addtimer(CALLBACK(src, /obj/machinery/fabricator/replicator/proc/state_menu), 2 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) - else + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/fabricator/replicator, state_menu)), 2 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE) + else for(var/datum/fabricator_recipe/recipe in design_cache) if(recipe.hidden && !(fab_status_flags & FAB_HACKED)) continue if(findtext(true_text, lowertext(recipe.name))) - addtimer(CALLBACK(src, /obj/machinery/fabricator/proc/try_queue_build, recipe, 1), 2 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/fabricator, try_queue_build), recipe, 1), 2 SECONDS) break ..() diff --git a/code/modules/fabrication/fabricator_intake.dm b/code/modules/fabrication/fabricator_intake.dm index 8baaf1b6ee7..eef97ba19ee 100644 --- a/code/modules/fabrication/fabricator_intake.dm +++ b/code/modules/fabrication/fabricator_intake.dm @@ -66,7 +66,7 @@ adding_mat_overlay.color = mat_colour material_overlays += adding_mat_overlay update_icon() - addtimer(CALLBACK(src, /obj/machinery/fabricator/proc/remove_mat_overlay, adding_mat_overlay), 1 SECOND) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/fabricator, remove_mat_overlay), adding_mat_overlay), 1 SECOND) if(stack_ref && stacks_used) stack_ref.use(stacks_used) diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm deleted file mode 100644 index 08cbc66cf1d..00000000000 --- a/code/modules/flufftext/Dreaming.dm +++ /dev/null @@ -1,18 +0,0 @@ - -/mob/living/carbon/proc/dream() - set waitfor = FALSE - dreaming = 1 - - for(var/i = rand(1,4),i > 0, i--) - to_chat(src, "... [pick(SSlore.dreams)] ...") - sleep(rand(40,70)) - if(!HAS_STATUS(src, STAT_PARA)) - dreaming = 0 - return - dreaming = 0 - -/mob/living/carbon/proc/handle_dreams() - if(client && !dreaming && prob(5)) - dream() - -/mob/living/carbon/var/dreaming = 0 diff --git a/code/modules/games/boardgame.dm b/code/modules/games/boardgame.dm index eb8a9ccbb3b..8c6fda78496 100644 --- a/code/modules/games/boardgame.dm +++ b/code/modules/games/boardgame.dm @@ -164,65 +164,99 @@ //Checkers -/obj/item/chems/food/checker +/obj/item/checker name = "checker" desc = "It is plastic and shiny." icon = 'icons/obj/pieces.dmi' icon_state = "checker_black" w_class = ITEM_SIZE_TINY - center_of_mass = @"{'x':16,'y':16}" - nutriment_desc = list("a choking hazard" = 4) - nutriment_amt = 1 + center_of_mass = @'{"x":16,"y":16}' var/piece_color ="black" -/obj/item/chems/food/checker/Initialize() +// Override these to let people eat checkers. +/obj/item/checker/is_edible(mob/eater) + return TRUE + +/obj/item/checker/is_food_empty(mob/eater) + return FALSE + +/obj/item/checker/transfer_eaten_material(mob/eater, amount) + if(isliving(eater)) + var/mob/living/living_eater = eater + living_eater.get_ingested_reagents()?.add_reagent(/decl/material/solid/organic/plastic, 3) + +/obj/item/checker/play_feed_sound(mob/user, consumption_method = EATING_METHOD_EAT) + return + +/obj/item/checker/show_food_consumed_message(mob/user, mob/target) + return + +/obj/item/checker/show_feed_message_start(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You begin trying to swallow \the [target].")) + else + user.visible_message(SPAN_NOTICE("\The [user] attempts to force \the [target] to swallow \the [src]!")) + +/obj/item/checker/show_feed_message_end(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You swallow \the [src].")) + else + user.visible_message(SPAN_NOTICE("\The [user] forces \the [target] to swallow \the [src]!")) + +// End food overrides. + +/obj/item/checker/Initialize() . = ..() icon_state = "[name]_[piece_color]" name = "[piece_color] [name]" -/obj/item/chems/food/checker/red +/obj/item/checker/red piece_color ="red" //Chess -/obj/item/chems/food/checker/pawn +/obj/item/checker/pawn name = "pawn" desc = "How many pawns will die in your war?" -/obj/item/chems/food/checker/pawn/red +/obj/item/checker/pawn/red piece_color ="red" -/obj/item/chems/food/checker/knight +/obj/item/checker/knight name = "knight" desc = "The piece chess deserves, and needs to actually play." -/obj/item/chems/food/checker/knight/red +/obj/item/checker/knight/red piece_color ="red" -/obj/item/chems/food/checker/bishop +/obj/item/checker/bishop name = "bishop" desc = "What corruption occured, urging holy men to fight?" -/obj/item/chems/food/checker/bishop/red +/obj/item/checker/bishop/red piece_color ="red" -/obj/item/chems/food/checker/rook +/obj/item/checker/rook name = "rook" desc = "Representing ancient moving towers. So powerful and fast they were banned from wars, forever." -/obj/item/chems/food/checker/rook/red +/obj/item/checker/rook/red piece_color ="red" -/obj/item/chems/food/checker/queen +/obj/item/checker/queen name = "queen" desc = "A queen of battle and pain. She dances across the battlefield." -/obj/item/chems/food/checker/queen/red +/obj/item/checker/queen/red piece_color ="red" -/obj/item/chems/food/checker/king +/obj/item/checker/king name = "king" desc = "Why does a chess game end when the king dies?" -/obj/item/chems/food/checker/king/red +/obj/item/checker/king/red piece_color ="red" \ No newline at end of file diff --git a/code/modules/ghosttrap/trap.dm b/code/modules/ghosttrap/trap.dm index 2728becaa1c..4d361a43886 100644 --- a/code/modules/ghosttrap/trap.dm +++ b/code/modules/ghosttrap/trap.dm @@ -1,4 +1,4 @@ -// This system is used to grab a ghost from observers with the required preferences +// This system is used to grab a ghost from observers with the required preferences // and lack of bans set. See posibrain.dm for an example of how they are called/used. /decl/ghosttrap var/name @@ -30,7 +30,7 @@ /decl/ghosttrap/proc/request_player(var/mob/target, var/request_string, var/request_timeout) if(request_timeout) LAZYSET(request_timeouts, target, world.time + request_timeout) - events_repository.register(/decl/observ/destroyed, target, src, /decl/ghosttrap/proc/unregister_target) + events_repository.register(/decl/observ/destroyed, target, src, TYPE_PROC_REF(/decl/ghosttrap, unregister_target)) else unregister_target(target) @@ -44,7 +44,7 @@ /decl/ghosttrap/proc/unregister_target(var/target) LAZYREMOVE(request_timeouts, target) - events_repository.unregister(/decl/observ/destroyed, target, src, /decl/ghosttrap/proc/unregister_target) + events_repository.unregister(/decl/observ/destroyed, target, src, TYPE_PROC_REF(/decl/ghosttrap, unregister_target)) // Handles a response to request_player(). /decl/ghosttrap/Topic(href, href_list) @@ -57,7 +57,7 @@ return if(candidate != usr) return - + var/timeout = LAZYACCESS(request_timeouts, target) if(!isnull(timeout) && world.time > timeout) to_chat(candidate, "This occupation request is no longer valid.") @@ -131,7 +131,7 @@ ban_checks = list("Botany Roles") pref_check = "ghost_plant" ghost_trap_message = "They are occupying a living plant now." - + /decl/ghosttrap/sentient_plant/forced(var/mob/user) request_player(new /mob/living/simple_animal/mushroom(get_turf(user)), "Someone is harvesting a walking mushroom.", 15 SECONDS) diff --git a/code/modules/goals/_goal.dm b/code/modules/goals/_goal.dm index 41a179c1a9b..fbcf0e55f67 100644 --- a/code/modules/goals/_goal.dm +++ b/code/modules/goals/_goal.dm @@ -8,7 +8,7 @@ /datum/goal/New(var/_owner) owner = _owner - events_repository.register(/decl/observ/destroyed, owner, src, /datum/proc/qdel_self) + events_repository.register(/decl/observ/destroyed, owner, src, TYPE_PROC_REF(/datum, qdel_self)) if(istype(owner, /datum/mind)) var/datum/mind/mind = owner LAZYADD(mind.goals, src) diff --git a/code/modules/goals/definitions/personal_achievement_movement.dm b/code/modules/goals/definitions/personal_achievement_movement.dm index 7f5fb6f69bc..5e1e650a0c3 100644 --- a/code/modules/goals/definitions/personal_achievement_movement.dm +++ b/code/modules/goals/definitions/personal_achievement_movement.dm @@ -3,7 +3,7 @@ ..() if(owner) var/datum/mind/mind = owner - events_repository.register(/decl/observ/moved, mind.current, src, .proc/owner_moved) + events_repository.register(/decl/observ/moved, mind.current, src, PROC_REF(owner_moved)) /datum/goal/movement/proc/owner_moved() return @@ -40,7 +40,7 @@ /datum/goal/movement/walk/check_success() return (steps >= required_steps) - + /datum/goal/movement/walk/update_strings() description = "Stave off microgravity muscle atrophy by walking at least [required_steps] step\s this shift." diff --git a/code/modules/hallucinations/_hallucination.dm b/code/modules/hallucinations/_hallucination.dm new file mode 100644 index 00000000000..399fd5dfc0e --- /dev/null +++ b/code/modules/hallucinations/_hallucination.dm @@ -0,0 +1,48 @@ +////////////////////////////////////////////////////////////////////////////////////////////////////// +//Hallucination effects datums +////////////////////////////////////////////////////////////////////////////////////////////////////// + +/datum/hallucination + var/mob/living/holder + var/allow_duplicates = 1 + var/duration = 0 + var/min_power = 0 //at what levels of hallucination power mobs should get it + var/max_power = INFINITY + var/activated = FALSE + +/datum/hallucination/proc/start() + SHOULD_CALL_PARENT(TRUE) + activated = TRUE + +/datum/hallucination/proc/end() + SHOULD_CALL_PARENT(TRUE) + activated = FALSE + +/datum/hallucination/proc/can_affect(var/mob/living/victim) + if(!victim.client) + return FALSE + if(min_power > victim.hallucination_power) + return FALSE + if(max_power < victim.hallucination_power) + return FALSE + if(!allow_duplicates && (locate(type) in victim._hallucinations)) + return FALSE + return TRUE + +/datum/hallucination/Destroy() + if(holder) + LAZYREMOVE(holder._hallucinations, src) + holder = null + if(activated) + end() + return ..() + +/datum/hallucination/proc/activate_hallucination() + set waitfor = FALSE + if(!holder || !holder.client || activated) + return + LAZYADD(holder._hallucinations, src) + start() + sleep(duration) + if(!QDELETED(src)) + qdel(src) diff --git a/code/modules/hallucinations/hallucination_fakeattack.dm b/code/modules/hallucinations/hallucination_fakeattack.dm new file mode 100644 index 00000000000..70ba9d36a04 --- /dev/null +++ b/code/modules/hallucinations/hallucination_fakeattack.dm @@ -0,0 +1,20 @@ +//Fake attack +/datum/hallucination/fakeattack + min_power = 30 + +/datum/hallucination/fakeattack/can_affect(var/mob/living/victim) + . = ..() && (locate(/mob/living) in oview(victim,1)) + +/datum/hallucination/fakeattack/start() + . = ..() + for(var/mob/living/assailant in oview(holder,1)) + to_chat(holder, SPAN_DANGER("\The [assailant] has punched \the [holder]!")) + holder.playsound_local(get_turf(holder),"punch",50) + +//Fake injection +/datum/hallucination/fakeattack/hypo + min_power = 30 + +/datum/hallucination/fakeattack/hypo/start() + . = ..() + to_chat(holder, SPAN_NOTICE("You feel a tiny prick!")) diff --git a/code/modules/hallucinations/hallucination_gunfire.dm b/code/modules/hallucinations/hallucination_gunfire.dm new file mode 100644 index 00000000000..d41d6289e65 --- /dev/null +++ b/code/modules/hallucinations/hallucination_gunfire.dm @@ -0,0 +1,31 @@ +//Hearing someone being shot twice +/datum/hallucination/gunfire + duration = 15 + min_power = 30 + var/gunshot + var/turf/origin + var/static/list/gunshot_sounds = list( + 'sound/weapons/gunshot/gunshot_strong.ogg', + 'sound/weapons/gunshot/gunshot2.ogg', + 'sound/weapons/gunshot/shotgun.ogg', + 'sound/weapons/gunshot/gunshot.ogg', + 'sound/weapons/Taser.ogg' + ) + +/datum/hallucination/gunfire/start() + . = ..() + gunshot = pick(gunshot_sounds) + var/turf/holder_turf = get_turf(holder) + if(isturf(holder_turf)) + origin = locate(holder_turf.x + rand(4,8), holder_turf.y + rand(4,8), holder_turf.z) + if(origin) + holder.playsound_local(origin, gunshot, 50) + +/datum/hallucination/gunfire/end() + . = ..() + if(holder && origin) + holder.playsound_local(origin, gunshot, 50) + +/datum/hallucination/gunfire/Destroy() + origin = null + return ..() \ No newline at end of file diff --git a/code/modules/hallucinations/hallucination_mirage.dm b/code/modules/hallucinations/hallucination_mirage.dm new file mode 100644 index 00000000000..279e8db3594 --- /dev/null +++ b/code/modules/hallucinations/hallucination_mirage.dm @@ -0,0 +1,76 @@ +//Seeing stuff +/datum/hallucination/mirage + duration = 30 SECONDS + max_power = 30 + var/number = 1 + var/list/things = list() //list of images to display + var/static/list/trash_states = icon_states('icons/obj/trash.dmi') + +/datum/hallucination/mirage/proc/generate_mirage() + return image('icons/obj/trash.dmi', pick(trash_states), layer = BELOW_TABLE_LAYER) + +/datum/hallucination/mirage/start() + . = ..() + var/list/possible_points = list() + for(var/turf/simulated/floor/F in view(holder, world.view+1)) + possible_points += F + if(possible_points.len) + for(var/i = 1 to number) + var/image/thing = generate_mirage() + things += thing + thing.loc = pick(possible_points) + if(holder?.client && length(things)) + holder.client.images += things + +/datum/hallucination/mirage/end() + if(holder?.client) + holder.client.images -= things + return ..() + +//Blood and aftermath of firefight +/datum/hallucination/mirage/carnage + min_power = 50 + number = 10 + var/static/list/carnage_states = list( + "mfloor1", + "mfloor2", + "mfloor3", + "mfloor4", + "mfloor5", + "mfloor6", + "mfloor7" + ) + +/datum/hallucination/mirage/carnage/generate_mirage() + var/image/I + if(prob(50)) + I = image('icons/effects/blood.dmi', pick(carnage_states), layer = BELOW_TABLE_LAYER) + I.color = COLOR_BLOOD_HUMAN + else + I = image('icons/obj/ammo.dmi', "s-casing-spent", layer = BELOW_TABLE_LAYER) + I.layer = BELOW_TABLE_LAYER + I.dir = pick(global.alldirs) + I.pixel_x = rand(-10,10) + I.pixel_y = rand(-10,10) + return I + +//LOADSEMONEY +/datum/hallucination/mirage/money + min_power = 20 + max_power = 45 + number = 2 + var/static/obj/item/cash/cash + +/datum/hallucination/mirage/money/New() + if(!cash) + cash = new /obj/item/cash/c500 + cash.update_icon() + cash.compile_overlays() + ..() + +/datum/hallucination/mirage/money/generate_mirage() + var/image/I = new + I.appearance = cash + I.layer = BELOW_TABLE_LAYER + qdel(cash) + return I diff --git a/code/modules/hallucinations/hallucination_skitters.dm b/code/modules/hallucinations/hallucination_skitters.dm new file mode 100644 index 00000000000..2ab7f1fdf35 --- /dev/null +++ b/code/modules/hallucinations/hallucination_skitters.dm @@ -0,0 +1,4 @@ +//Spiderling skitters +/datum/hallucination/skitter/start() + . = ..() + to_chat(holder, SPAN_NOTICE("The spiderling skitters[pick(" away"," around","")].")) diff --git a/code/modules/hallucinations/hallucination_sound.dm b/code/modules/hallucinations/hallucination_sound.dm new file mode 100644 index 00000000000..82e2389713b --- /dev/null +++ b/code/modules/hallucinations/hallucination_sound.dm @@ -0,0 +1,71 @@ +//Playing a random sound +/datum/hallucination/imagined_sound/proc/get_imagined_sounds() + var/static/list/sounds = list( + 'sound/machines/airlock.ogg', + 'sound/effects/explosionfar.ogg', + 'sound/machines/windowdoor.ogg', + 'sound/machines/twobeep.ogg' + ) + return sounds + +/datum/hallucination/imagined_sound/start() + . = ..() + var/turf/holder_turf = get_turf(holder) + if(holder_turf) + holder_turf = locate(holder_turf.x + rand(6,11), holder_turf.y + rand(6,11), holder_turf.z) + if(holder_turf) + holder.playsound_local(holder_turf, pick(get_imagined_sounds()) ,70) + +/datum/hallucination/imagined_sound/tools/get_imagined_sounds() + var/static/list/imagined_sounds = list( + 'sound/items/Ratchet.ogg', + 'sound/items/Welder.ogg', + 'sound/items/Crowbar.ogg', + 'sound/items/Screwdriver.ogg' + ) + return imagined_sounds + +/datum/hallucination/imagined_sound/danger + min_power = 30 + +/datum/hallucination/imagined_sound/danger/get_imagined_sounds() + var/static/list/imagined_sounds = list( + 'sound/effects/Explosion1.ogg', + 'sound/effects/Explosion2.ogg', + 'sound/effects/Glassbr1.ogg', + 'sound/effects/Glassbr2.ogg', + 'sound/effects/Glassbr3.ogg', + 'sound/weapons/smash.ogg' + ) + return imagined_sounds + +/datum/hallucination/imagined_sound/spooky + min_power = 50 + +/datum/hallucination/imagined_sound/spooky/get_imagined_sounds() + var/static/list/imagined_sounds = list( + 'sound/effects/ghost.ogg', + 'sound/effects/ghost2.ogg', + 'sound/effects/Heart Beat.ogg', + 'sound/effects/screech.ogg', + 'sound/hallucinations/behind_you1.ogg', + 'sound/hallucinations/behind_you2.ogg', + 'sound/hallucinations/far_noise.ogg', + 'sound/hallucinations/growl1.ogg', + 'sound/hallucinations/growl2.ogg', + 'sound/hallucinations/growl3.ogg', + 'sound/hallucinations/im_here1.ogg', + 'sound/hallucinations/im_here2.ogg', + 'sound/hallucinations/i_see_you1.ogg', + 'sound/hallucinations/i_see_you2.ogg', + 'sound/hallucinations/look_up1.ogg', + 'sound/hallucinations/look_up2.ogg', + 'sound/hallucinations/over_here1.ogg', + 'sound/hallucinations/over_here2.ogg', + 'sound/hallucinations/over_here3.ogg', + 'sound/hallucinations/turn_around1.ogg', + 'sound/hallucinations/turn_around2.ogg', + 'sound/hallucinations/veryfar_noise.ogg', + 'sound/hallucinations/wail.ogg' + ) + return imagined_sounds diff --git a/code/modules/hallucinations/hallucination_spiderbabies.dm b/code/modules/hallucinations/hallucination_spiderbabies.dm new file mode 100644 index 00000000000..f7b4b3bb94a --- /dev/null +++ b/code/modules/hallucinations/hallucination_spiderbabies.dm @@ -0,0 +1,11 @@ +//Spiders in your body +/datum/hallucination/spiderbabies + min_power = 40 + +/datum/hallucination/spiderbabies/start() + . = ..() + var/list/limbs = holder.get_external_organs() + if(!LAZYLEN(limbs)) + return + var/obj/O = pick(limbs) + to_chat(holder, SPAN_WARNING("You feel something [pick("moving","squirming","skittering")] inside of your [O.name]!")) diff --git a/code/modules/hallucinations/hallucination_talking.dm b/code/modules/hallucinations/hallucination_talking.dm new file mode 100644 index 00000000000..a472010a2f3 --- /dev/null +++ b/code/modules/hallucinations/hallucination_talking.dm @@ -0,0 +1,41 @@ +//Hearing someone talking to/about you. +/datum/hallucination/talking/can_affect(var/mob/living/victim) + return ..() && (locate(/mob/living) in oview(victim)) + +/datum/hallucination/talking/start() + . = ..() + var/sanity = 5 //even insanity needs some sanity + for(var/mob/living/talker in oview(holder)) + if(talker.stat) + continue + var/message + if(prob(80)) + var/list/names = list() + var/lastname = copytext(holder.real_name, findtext(holder.real_name, " ")+1) + var/firstname = copytext(holder.real_name, 1, findtext(holder.real_name, " ")) + if(lastname) names += lastname + if(firstname) names += firstname + if(!names.len) + names += holder.real_name + var/add = prob(20) ? ", [pick(names)]" : "" + var/list/phrases = list("[prob(50) ? "Hey, " : ""][pick(names)]!","[prob(50) ? "Hey, " : ""][pick(names)]?","Get out[add]!","Go away[add].","What are you doing[add]?","Where's your ID[add]?") + if(holder.hallucination_power > 50) + phrases += list("What did you come here for[add]?","Don't touch me[add].","You're not getting out of here[add].", "You are a failure, [pick(names)].","Just kill yourself already, [pick(names)].","Put on some clothes[add].","Take off your clothes[add].") + message = pick(phrases) + to_chat(holder,"[talker.name] [holder.say_quote(message)], \"[message]\"") + else + to_chat(holder,"[talker.name] points at [holder.name]") + to_chat(holder,"[talker.name] says something softly.") + + var/speech_state = holder.check_speech_punctuation_state(message) + if(speech_state) + var/image/speech_bubble = image('icons/mob/talk.dmi', talker, speech_state) + addtimer(CALLBACK(src, PROC_REF(qdel_image), speech_bubble), 3 SECONDS) + show_image(holder, speech_bubble) + + sanity-- //don't spam them in very populated rooms. + if(!sanity) + break + +/datum/hallucination/talking/proc/qdel_image(var/image/speech_bubble) + qdel(speech_bubble) diff --git a/code/modules/hallucinations/hallucination_telepathy.dm b/code/modules/hallucinations/hallucination_telepathy.dm new file mode 100644 index 00000000000..36a982c5a36 --- /dev/null +++ b/code/modules/hallucinations/hallucination_telepathy.dm @@ -0,0 +1,42 @@ +//Fake telepathy +/datum/hallucination/telepathy + allow_duplicates = 0 + duration = 20 MINUTES + +/datum/hallucination/telepathy/start() + . = ..() + to_chat(holder, SPAN_NOTICE("You expand your mind outwards.")) + holder.verbs += /mob/living/carbon/human/proc/fakeremotesay + +/datum/hallucination/telepathy/end() + . = ..() + if(holder) + holder.verbs -= /mob/living/carbon/human/proc/fakeremotesay + +/mob/living/carbon/human/proc/fakeremotesay() + set name = "Telepathic Message" + set category = "Superpower" + + if(!hallucination_power) + src.verbs -= /mob/living/carbon/human/proc/fakeremotesay + return + + if(stat) + to_chat(usr, SPAN_WARNING("You're not in any state to use your powers right now!")) + return + + if(has_chemical_effect(CE_MIND, 1)) + to_chat(usr, SPAN_WARNING("Chemicals in your blood prevent you from using your power!")) + + var/list/creatures = list() + for(var/mob/living/carbon/C in SSmobs.mob_list) + creatures += C + creatures -= usr + var/mob/target = input("Who do you want to project your mind to?") as null|anything in creatures + if (isnull(target)) + return + + var/msg = sanitize(input(usr, "What do you wish to transmit")) + show_message(SPAN_NOTICE("You project your mind into [target.name]: \"[msg]\"")) + if(!stat && prob(20)) + say(msg) diff --git a/code/modules/holidays/_holiday.dm b/code/modules/holidays/_holiday.dm index 8e64c191437..ed04429c955 100644 --- a/code/modules/holidays/_holiday.dm +++ b/code/modules/holidays/_holiday.dm @@ -25,10 +25,8 @@ var/global/datum/holiday/current_holiday /proc/set_holiday_data(var/datum/holiday/holiday_data, var/refresh_station_name = FALSE) if(istext(holiday_data)) holiday_data = new(list("name" = holiday_data)) - if(!holiday_data || !istype(holiday_data)) - return - global.current_holiday = holiday_data + if(istype(holiday_data)) + global.current_holiday = holiday_data if(refresh_station_name) - global.using_map.station_name = null - station_name() + global.using_map.station_name = initial(global.using_map.station_name) world.update_status() diff --git a/code/modules/holidays/holiday_hook.dm b/code/modules/holidays/holiday_hook.dm index 766ef3fb3b7..6b6870c5bb0 100644 --- a/code/modules/holidays/holiday_hook.dm +++ b/code/modules/holidays/holiday_hook.dm @@ -1,27 +1,37 @@ -//Uncommenting ALLOW_HOLIDAYS in config.txt will enable this hook. +//Uncommenting ALLOW_HOLIDAYS in configuration will enable this hook. /hook/startup/proc/updateHoliday() - if(config?.allow_holidays) - var/list/holidays = cached_json_decode(safe_file2text("config/holidays.json"), FALSE) - if(length(holidays)) - - var/c_year = text2num(time2text(world.timeofday, "YY")) - var/c_month = text2num(time2text(world.timeofday, "MM")) - var/c_day = text2num(time2text(world.timeofday, "DD")) - var/c_weekday = lowertext(time2text(world.timeofday, "DDD")) - - for(var/list/holiday_data in holidays) - - var/h_year = holiday_data["year"] - var/h_month = holiday_data["month"] - var/h_day = holiday_data["day"] - var/h_weekday = holiday_data["weekday"] - - if((isnull(h_year) || h_year == c_year) && \ - (isnull(h_month) || h_month == c_month) && \ - (isnull(h_day) || h_day == c_day) && \ - (isnull(h_weekday) || h_weekday == c_weekday)) - var/holiday_path = text2path(holiday_data["path"]) || /datum/holiday - set_holiday_data(new holiday_path(holiday_data)) - break - - return 1 \ No newline at end of file + update_holiday() + return TRUE + +/proc/update_holiday() + + if(!get_config_value(/decl/config/toggle/allow_holidays)) + set_holiday_data(null, TRUE) + return FALSE + + var/list/holidays = cached_json_decode(safe_file2text("config/holidays.json"), FALSE) + if(!length(holidays)) + set_holiday_data(null, TRUE) + return FALSE + + var/c_year = text2num(time2text(world.timeofday, "YY")) + var/c_month = text2num(time2text(world.timeofday, "MM")) + var/c_day = text2num(time2text(world.timeofday, "DD")) + var/c_weekday = lowertext(time2text(world.timeofday, "DDD")) + + for(var/list/holiday_data in holidays) + + var/h_year = holiday_data["year"] + var/h_month = holiday_data["month"] + var/h_day = holiday_data["day"] + var/h_weekday = holiday_data["weekday"] + + if((isnull(h_year) || h_year == c_year) && \ + (isnull(h_month) || h_month == c_month) && \ + (isnull(h_day) || h_day == c_day) && \ + (isnull(h_weekday) || h_weekday == c_weekday)) + var/holiday_path = text2path(holiday_data["path"]) || /datum/holiday + set_holiday_data(new holiday_path(holiday_data)) + return TRUE + + return FALSE diff --git a/code/modules/holidays/holiday_name.dm b/code/modules/holidays/holiday_name.dm index b682a49162a..e07e9776a40 100644 --- a/code/modules/holidays/holiday_name.dm +++ b/code/modules/holidays/holiday_name.dm @@ -5,11 +5,13 @@ set category = "Fun" set desc = "Override the default holiday." - if(!check_rights(R_SERVER)) + if(!check_rights(R_SERVER)) return T = sanitize(T, MAX_NAME_LEN) if(T) + if(get_config_value(/decl/config/toggle/allow_holidays)) + set_config_value(/decl/config/toggle/allow_holidays, TRUE) set_holiday_data(T, refresh_station_name = TRUE) to_world("

    [global.current_holiday.announcement]

    ") message_admins(SPAN_NOTICE("ADMIN: Event: [key_name(src)] force-set the holiday to \"[global.current_holiday.name]\"")) diff --git a/code/modules/holomap/holomap.dm b/code/modules/holomap/holomap.dm index b525df6c52e..932c0b20048 100644 --- a/code/modules/holomap/holomap.dm +++ b/code/modules/holomap/holomap.dm @@ -13,7 +13,7 @@ construct_state = /decl/machine_construction/default/panel_closed base_type = /obj/machinery/holomap layer = ABOVE_WINDOW_LAYER // Above windows. - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/light_power_on = 1 var/light_range_on = 2 @@ -99,8 +99,8 @@ user.client.images |= holomap_datum.station_map watching_mob = user - events_repository.register(/decl/observ/moved, watching_mob, src, /obj/machinery/holomap/proc/checkPosition) - events_repository.register(/decl/observ/destroyed, watching_mob, src, /obj/machinery/holomap/proc/stopWatching) + events_repository.register(/decl/observ/moved, watching_mob, src, TYPE_PROC_REF(/obj/machinery/holomap, checkPosition)) + events_repository.register(/decl/observ/destroyed, watching_mob, src, TYPE_PROC_REF(/obj/machinery/holomap, stopWatching)) update_use_power(POWER_USE_ACTIVE) if(bogus) @@ -124,7 +124,7 @@ if(watching_mob.client) animate(holomap_datum.station_map, alpha = 0, time = 5, easing = LINEAR_EASING) var/mob/M = watching_mob - addtimer(CALLBACK(src, .proc/clear_image, M, holomap_datum.station_map), 5, TIMER_CLIENT_TIME)//we give it time to fade out + addtimer(CALLBACK(src, PROC_REF(clear_image), M, holomap_datum.station_map), 5, TIMER_CLIENT_TIME)//we give it time to fade out events_repository.unregister(/decl/observ/moved, watching_mob, src) events_repository.unregister(/decl/observ/destroyed, watching_mob, src) watching_mob = null diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 3a359e1582e..c3b8e583319 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -270,7 +270,7 @@ origin_turf.visible_message(SPAN_DANGER("\The [thrown] splatters against [target]!")) splatter(origin_turf,thrown) -/datum/seed/proc/handle_environment(var/turf/current_turf, var/datum/gas_mixture/environment, var/light_supplied, var/check_only) +/datum/seed/proc/handle_plant_environment(var/turf/current_turf, var/datum/gas_mixture/environment, var/light_supplied, var/check_only) var/health_change = 0 // Handle gas consumption. diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm index 770a7b64168..6125017277d 100644 --- a/code/modules/hydroponics/spreading/spreading_growth.dm +++ b/code/modules/hydroponics/spreading/spreading_growth.dm @@ -43,10 +43,10 @@ return //Take damage from bad environment if any - adjust_health(-seed.handle_environment(T,T.return_air(),null,1)) + adjust_health(-seed.handle_plant_environment(T,T.return_air(),null,1)) if(health <= 0) return - + //Vine fight! for(var/obj/effect/vine/other in T) if(other.seed != seed) @@ -76,7 +76,7 @@ var/list/neighbors = get_neighbors() if(neighbors.len) spread_to(pick(neighbors)) - + //Try to settle down if(can_spawn_plant()) plant = new(T,seed) diff --git a/code/modules/hydroponics/trays/tray_process.dm b/code/modules/hydroponics/trays/tray_process.dm index b308e466061..5065d15e7eb 100644 --- a/code/modules/hydroponics/trays/tray_process.dm +++ b/code/modules/hydroponics/trays/tray_process.dm @@ -84,9 +84,9 @@ // Seed datum handles gasses, light and pressure. if(mechanical && closed_system) - plant_health -= seed.handle_environment(T,environment,tray_light) + plant_health -= seed.handle_plant_environment(T,environment,tray_light) else - plant_health -= seed.handle_environment(T,environment) + plant_health -= seed.handle_plant_environment(T,environment) // If we're attached to a pipenet, then we should let the pipenet know we might have modified some gasses if (closed_system && get_port()) diff --git a/code/modules/integrated_electronics/core/prefab/prefabs.dm b/code/modules/integrated_electronics/core/prefab/prefabs.dm index 6a8663042e0..0efa5181a66 100644 --- a/code/modules/integrated_electronics/core/prefab/prefabs.dm +++ b/code/modules/integrated_electronics/core/prefab/prefabs.dm @@ -1,6 +1,6 @@ /decl/prefab/ic_assembly/hand_teleporter assembly_name = "hand-teleporter" - data = {"{'assembly':{'type':'type-a electronic mechanism','name':'Hand Teleporter', 'detail_color':'#5d99be'},'components':\[{'type':'teleporter locator'},{'type':'wormhole generator'},{'type':'button','name':'Open Wormhole'}\],'wires':\[\[\[1,'O',1\],\[2,'I',1\]\],\[\[2,'A',1\],\[3,'A',1\]\]\]}"} + data = @'{"assembly":{"type":"type-a electronic mechanism","name":"Hand Teleporter", "detail_color":"#5d99be"},"components":[{"type":"teleporter locator"},{"type":"wormhole generator"},{"type":"button","name":"Open Wormhole"}],"wires":[[[1,"O",1],[2,"I",1]],[[2,"A",1],[3,"A",1]]]}' power_cell_type = /obj/item/cell/hyper /obj/prefab/hand_teleporter diff --git a/code/modules/integrated_electronics/core/prefab/test/testprefabs.dm b/code/modules/integrated_electronics/core/prefab/test/testprefabs.dm index b58cf8d309e..c045f16f4a6 100644 --- a/code/modules/integrated_electronics/core/prefab/test/testprefabs.dm +++ b/code/modules/integrated_electronics/core/prefab/test/testprefabs.dm @@ -1,6 +1,6 @@ /decl/prefab/ic_assembly/test_heatercooler assembly_name = "heating-cooling-test" - data = {"{'assembly':{'type':'type-c electronic machine'},'components':\[{'type':'starter'},{'type':'reagent funnel'},{'type':'big reagent storage'},{'type':'reagent pump','name':'Hot Pump','inputs':\[\[3,0,5]]},{'type':'reagent pump','name':'Cool Pump','inputs':\[\[3,0,5]]},{'type':'reagent heater','name':'Heater','inputs':\[\[1,0,80]]},{'type':'reagent cooler','name':'Cooler','inputs':\[\[1,0,-50]]},{'type':'button','name':'Heat And Cool'},{'type':'and gate','name':'Heater Active Check','inputs':\[\[1,0,0],\[2,0,1]]},{'type':'and gate','name':'Cooler Active Check','inputs':\[\[1,0,0],\[2,0,1]]},{'type':'custom delay circuit','name':'Heater Delay','inputs':\[\[1,0,100]]},{'type':'custom delay circuit','name':'Cooler Delay','inputs':\[\[1,0,100]]}],'wires':\[\[\[1,'A',1],\[3,'A',1]],\[\[1,'A',1],\[6,'A',3]],\[\[1,'A',1],\[7,'A',3]],\[\[2,'I',1],\[3,'O',2]],\[\[3,'O',2],\[4,'I',1]],\[\[3,'O',2],\[5,'I',1]],\[\[4,'I',2],\[6,'O',4]],\[\[4,'A',1],\[8,'A',1]],\[\[4,'A',2],\[6,'A',1]],\[\[5,'I',2],\[7,'O',4]],\[\[5,'A',1],\[8,'A',1]],\[\[5,'A',2],\[7,'A',1]],\[\[6,'O',3],\[9,'I',1]],\[\[6,'A',1],\[11,'A',2]],\[\[6,'A',2],\[9,'A',1]],\[\[7,'O',3],\[10,'I',1]],\[\[7,'A',1],\[12,'A',2]],\[\[7,'A',2],\[10,'A',1]],\[\[9,'A',2],\[11,'A',1]],\[\[10,'A',2],\[12,'A',1]]]}"} + data = @'{"assembly":{"type":"type-c electronic machine"},"components":[{"type":"starter"},{"type":"reagent funnel"},{"type":"big reagent storage"},{"type":"reagent pump","name":"Hot Pump","inputs":[[3,0,5]]},{"type":"reagent pump","name":"Cool Pump","inputs":[[3,0,5]]},{"type":"reagent heater","name":"Heater","inputs":[[1,0,80]]},{"type":"reagent cooler","name":"Cooler","inputs":[[1,0,-50]]},{"type":"button","name":"Heat And Cool"},{"type":"and gate","name":"Heater Active Check","inputs":[[1,0,0],[2,0,1]]},{"type":"and gate","name":"Cooler Active Check","inputs":[[1,0,0],[2,0,1]]},{"type":"custom delay circuit","name":"Heater Delay","inputs":[[1,0,100]]},{"type":"custom delay circuit","name":"Cooler Delay","inputs":[[1,0,100]]}],"wires":[[[1,"A",1],[3,"A",1]],[[1,"A",1],[6,"A",3]],[[1,"A",1],[7,"A",3]],[[2,"I",1],[3,"O",2]],[[3,"O",2],[4,"I",1]],[[3,"O",2],[5,"I",1]],[[4,"I",2],[6,"O",4]],[[4,"A",1],[8,"A",1]],[[4,"A",2],[6,"A",1]],[[5,"I",2],[7,"O",4]],[[5,"A",1],[8,"A",1]],[[5,"A",2],[7,"A",1]],[[6,"O",3],[9,"I",1]],[[6,"A",1],[11,"A",2]],[[6,"A",2],[9,"A",1]],[[7,"O",3],[10,"I",1]],[[7,"A",1],[12,"A",2]],[[7,"A",2],[10,"A",1]],[[9,"A",2],[11,"A",1]],[[10,"A",2],[12,"A",1]]]}' power_cell_type = /obj/item/cell/hyper /obj/prefab/test_heatcool diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm index 225ba85d98b..8a33268251d 100644 --- a/code/modules/integrated_electronics/core/printer.dm +++ b/code/modules/integrated_electronics/core/printer.dm @@ -156,7 +156,7 @@ HTML += jointext(dat, "; ") HTML += ".

    " - if(config.allow_ic_printing || debug) + if(get_config_value(/decl/config/toggle/on/allow_ic_printing) || debug) HTML += "Assembly cloning: [can_clone ? (fast_clone ? "Instant" : "Available") : "Unavailable"].
    " HTML += "Circuits available: [upgraded || debug ? "Advanced":"Regular"]." @@ -164,7 +164,7 @@ HTML += "
    Crossed out circuits mean that the printer is not sufficiently upgraded to create that circuit." HTML += "
    " - if((can_clone && config.allow_ic_printing) || debug) + if((can_clone && get_config_value(/decl/config/toggle/on/allow_ic_printing)) || debug) HTML += "Here you can load script for your assembly.
    " if(!cloning) HTML += " {Load Program} " @@ -237,7 +237,7 @@ playsound(src, 'sound/items/jaws_pry.ogg', 50, TRUE) if(href_list["print"]) - if(!config.allow_ic_printing && !debug) + if(!get_config_value(/decl/config/toggle/on/allow_ic_printing) && !debug) to_chat(usr, "Your facility has disabled printing of custom circuitry due to recent allegations of copyright infringement.") return if(!can_clone) // Copying and printing ICs is cloning @@ -302,7 +302,7 @@ to_chat(usr, "You begin printing a custom assembly. This will take approximately [round(cloning_time/10)] seconds. You can still print \ off normal parts during this time.") playsound(src, 'sound/items/poster_being_created.ogg', 50, TRUE) - addtimer(CALLBACK(src, .proc/print_program, usr), cloning_time) + addtimer(CALLBACK(src, PROC_REF(print_program), usr), cloning_time) if("cancel") if(!cloning || !program) @@ -332,16 +332,16 @@ desc = "Install this into your integrated circuit printer to enhance it." color = COLOR_GRAY20 label = "label_up" - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/disk/integrated_circuit/upgrade/advanced name = "integrated circuit printer upgrade disk - advanced designs" desc = "Install this into your integrated circuit printer to enhance it. This one adds new, advanced designs to the printer." material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'materials':3,'engineering':3}" + origin_tech = @'{"materials":3,"engineering":3}' /obj/item/disk/integrated_circuit/upgrade/clone name = "integrated circuit printer upgrade disk - instant cloner" desc = "Install this into your integrated circuit printer to enhance it. This one allows the printer to duplicate assemblies instantaneously." - origin_tech = "{'materials':3,'programming':5}" + origin_tech = @'{"materials":3,"programming":5}' diff --git a/code/modules/integrated_electronics/core/wirer.dm b/code/modules/integrated_electronics/core/wirer.dm index 3f861b883a7..4b0b6749ca3 100644 --- a/code/modules/integrated_electronics/core/wirer.dm +++ b/code/modules/integrated_electronics/core/wirer.dm @@ -84,7 +84,7 @@ if(selected_io) unselect_io(selected_io) selected_io = io - events_repository.register(/decl/observ/destroyed, selected_io, src, .proc/unselect_io) + events_repository.register(/decl/observ/destroyed, selected_io, src, PROC_REF(unselect_io)) switch(mode) if(UNWIRE) mode = UNWIRING diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 1c6b4d186f1..14bcd356cda 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -648,7 +648,7 @@ . = ..() set_pin_data(IC_INPUT, 1, frequency) set_pin_data(IC_INPUT, 2, code) - addtimer(CALLBACK(src, .proc/set_frequency,frequency), 40) + addtimer(CALLBACK(src, PROC_REF(set_frequency),frequency), 40) /obj/item/integrated_circuit/input/signaler/Destroy() radio_controller.remove_object(src,frequency) diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index a75e68f68b8..d3e1fff3922 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -207,7 +207,7 @@ dt = clamp(detonation_time.data, 1, 12)*10 else dt = 15 - addtimer(CALLBACK(attached_grenade, /obj/item/grenade.proc/activate), dt) + addtimer(CALLBACK(attached_grenade, TYPE_PROC_REF(/obj/item/grenade, activate)), dt) var/atom/holder = loc log_and_message_admins("activated a grenade assembly. Last touches: Assembly: [holder.fingerprintslast] Circuit: [fingerprintslast] Grenade: [attached_grenade.fingerprintslast]") @@ -420,9 +420,9 @@ set_pin_data(IC_OUTPUT, 1, TRUE) pulling = to_pull acting_object.visible_message("\The [acting_object] starts pulling \the [to_pull] around.") - events_repository.register(/decl/observ/moved, to_pull, src, .proc/check_pull) //Whenever the target moves, make sure we can still pull it! - events_repository.register(/decl/observ/destroyed, to_pull, src, .proc/stop_pulling) //Stop pulling if it gets destroyed - events_repository.register(/decl/observ/moved, acting_object, src, .proc/pull) //Make sure we actually pull it. + events_repository.register(/decl/observ/moved, to_pull, src, PROC_REF(check_pull)) //Whenever the target moves, make sure we can still pull it! + events_repository.register(/decl/observ/destroyed, to_pull, src, PROC_REF(stop_pulling)) //Stop pulling if it gets destroyed + events_repository.register(/decl/observ/moved, acting_object, src, PROC_REF(pull)) //Make sure we actually pull it. push_data() if(3) if(pulling) @@ -555,7 +555,7 @@ spawn_flags = IC_SPAWN_RESEARCH action_flags = IC_ACTION_LONG_RANGE - origin_tech = "{'magnets':1,'wormholes':3}" + origin_tech = @'{"magnets":1,"wormholes":3}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT, @@ -606,7 +606,7 @@ power_draw_per_use = 20 var/obj/item/aicard activators = list("Upwards" = IC_PINTYPE_PULSE_OUT, "Downwards" = IC_PINTYPE_PULSE_OUT, "Left" = IC_PINTYPE_PULSE_OUT, "Right" = IC_PINTYPE_PULSE_OUT) - origin_tech = "{'programming':4}" + origin_tech = @'{"programming":4}' spawn_flags = IC_SPAWN_RESEARCH /obj/item/integrated_circuit/manipulation/ai/verb/open_menu() @@ -681,7 +681,7 @@ cooldown_per_use = 2 SECOND power_draw_per_use = 50 spawn_flags = IC_SPAWN_DEFAULT - origin_tech = "{'engineering':2}" + origin_tech = @'{"engineering":2}' /obj/item/integrated_circuit/manipulation/anchoring/do_work(ord) if(!isturf(assembly.loc)) @@ -724,7 +724,7 @@ cooldown_per_use = 2 SECOND power_draw_per_use = 50 spawn_flags = IC_SPAWN_DEFAULT - origin_tech = "{'engineering':2}" + origin_tech = @'{"engineering":2}' var/lock_enabled = FALSE diff --git a/code/modules/integrated_electronics/subtypes/reagents.dm b/code/modules/integrated_electronics/subtypes/reagents.dm index e6a1fc9f7cc..dcb1964e7df 100644 --- a/code/modules/integrated_electronics/subtypes/reagents.dm +++ b/code/modules/integrated_electronics/subtypes/reagents.dm @@ -199,7 +199,7 @@ L.visible_message("\The [acting_object] is trying to inject [L]!", \ "\The [acting_object] is trying to inject you!") busy = TRUE - addtimer(CALLBACK(src, .proc/inject_after, weakref(L)), injection_delay) + addtimer(CALLBACK(src, PROC_REF(inject_after), weakref(L)), injection_delay) return else if(!ATOM_IS_OPEN_CONTAINER(AM)) @@ -229,7 +229,7 @@ C.visible_message("\The [acting_object] is trying to take a blood sample from [C]!", \ "\The [acting_object] is trying to take a blood sample from you!") busy = TRUE - addtimer(CALLBACK(src, .proc/draw_after, weakref(C), tramount), injection_delay) + addtimer(CALLBACK(src, PROC_REF(draw_after), weakref(C), tramount), injection_delay) return else diff --git a/code/modules/integrated_electronics/subtypes/smart.dm b/code/modules/integrated_electronics/subtypes/smart.dm index 9012de5054c..25f9dca52a4 100644 --- a/code/modules/integrated_electronics/subtypes/smart.dm +++ b/code/modules/integrated_electronics/subtypes/smart.dm @@ -119,7 +119,7 @@ if(Pl&&islist(Pl)) idc.access = Pl var/turf/a_loc = get_turf(assembly) - var/list/P = AStar(a_loc, locate(get_pin_data(IC_INPUT, 1), get_pin_data(IC_INPUT, 2), a_loc.z), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 200, id=idc, exclude=get_turf(get_pin_data_as_type(IC_INPUT, 3, /atom))) + var/list/P = AStar(a_loc, locate(get_pin_data(IC_INPUT, 1), get_pin_data(IC_INPUT, 2), a_loc.z), TYPE_PROC_REF(/turf, CardinalTurfsWithAccess), TYPE_PROC_REF(/turf, Distance), 0, 200, id=idc, exclude=get_turf(get_pin_data_as_type(IC_INPUT, 3, /atom))) if(!P) activate_pin(3) diff --git a/code/modules/integrated_electronics/subtypes/time.dm b/code/modules/integrated_electronics/subtypes/time.dm index 1ec0d80676f..c9739ceed0a 100644 --- a/code/modules/integrated_electronics/subtypes/time.dm +++ b/code/modules/integrated_electronics/subtypes/time.dm @@ -17,7 +17,7 @@ power_draw_per_use = 2 /obj/item/integrated_circuit/time/delay/do_work() - addtimer(CALLBACK(src, .proc/activate_pin, 2), delay) + addtimer(CALLBACK(src, PROC_REF(activate_pin), 2), delay) /obj/item/integrated_circuit/time/delay/five_sec name = "five-sec delay circuit" @@ -98,7 +98,7 @@ /obj/item/integrated_circuit/time/ticker/proc/tick() if(is_running) - addtimer(CALLBACK(src, .proc/tick), delay) + addtimer(CALLBACK(src, PROC_REF(tick)), delay) if(world.time > next_fire) next_fire = world.time + delay activate_pin(1) diff --git a/code/modules/keybindings/bindings_atom.dm b/code/modules/keybindings/bindings_atom.dm index 527e5a11598..6fe32e00f0e 100644 --- a/code/modules/keybindings/bindings_atom.dm +++ b/code/modules/keybindings/bindings_atom.dm @@ -15,7 +15,7 @@ if((movement_dir & EAST) && (movement_dir & WEST)) movement_dir &= ~(EAST|WEST) - if(!config.allow_diagonal_movement) + if(!get_config_value(/decl/config/toggle/allow_diagonal_movement)) if(movement_dir & user.last_move_dir_pressed) movement_dir = user.last_move_dir_pressed else diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm index f65e26da951..fb56abe3346 100644 --- a/code/modules/keybindings/bindings_client.dm +++ b/code/modules/keybindings/bindings_client.dm @@ -37,7 +37,7 @@ if(!(next_move_dir_sub & movement)) next_move_dir_add |= movement - if(movement && !config.allow_diagonal_movement) + if(movement && !get_config_value(/decl/config/toggle/allow_diagonal_movement)) last_move_dir_pressed = movement // Client-level keybindings are ones anyone should be able to do at any time diff --git a/code/modules/maps/_map_template.dm b/code/modules/maps/_map_template.dm index 819e05abeb2..2dfee0fa930 100644 --- a/code/modules/maps/_map_template.dm +++ b/code/modules/maps/_map_template.dm @@ -117,12 +117,12 @@ SSshuttle.map_hash_to_areas[map_hash] = initialized_areas_by_type for(var/area/A in initialized_areas_by_type) A.saved_map_hash = map_hash - events_repository.register(/decl/observ/destroyed, A, src, .proc/cleanup_lateloaded_area) + events_repository.register(/decl/observ/destroyed, A, src, PROC_REF(cleanup_lateloaded_area)) SSshuttle.block_queue = pre_init_state SSshuttle.clear_init_queue() // We will flush the queue unless there were other blockers, in which case they will do it. /datum/map_template/proc/cleanup_lateloaded_area(area/destroyed_area) - events_repository.unregister(/decl/observ/destroyed, destroyed_area, src, .proc/cleanup_lateloaded_area) + events_repository.unregister(/decl/observ/destroyed, destroyed_area, src, PROC_REF(cleanup_lateloaded_area)) if(destroyed_area.saved_map_hash) SSshuttle.map_hash_to_areas[destroyed_area.saved_map_hash] -= destroyed_area diff --git a/code/modules/maps/helper_landmarks.dm b/code/modules/maps/helper_landmarks.dm index 12680e46a76..e8c4a5b7547 100644 --- a/code/modules/maps/helper_landmarks.dm +++ b/code/modules/maps/helper_landmarks.dm @@ -4,8 +4,9 @@ var/centered = TRUE var/list/map_template_names //list of template names to pick from -/obj/abstract/landmark/map_load_mark/New(loc) - ..() +INITIALIZE_IMMEDIATE(/obj/abstract/landmark/map_load_mark) +/obj/abstract/landmark/map_load_mark/Initialize() + . = ..() if(Master.map_loading) // If we're created while a map is being loaded return // Let after_load() handle us if(!SSmapping.initialized) // If we're being created prior to SSmapping @@ -14,11 +15,15 @@ // How did we get here? // These should only be loaded from compiled maps or map templates. PRINT_STACK_TRACE("map_load_mark created outside of maploading") - load_subtemplate() + init_load_subtemplate() /obj/abstract/landmark/map_load_mark/proc/get_subtemplate() . = LAZYLEN(map_template_names) && pick(map_template_names) +/obj/abstract/landmark/map_load_mark/proc/init_load_subtemplate() + set waitfor = FALSE + load_subtemplate() + /obj/abstract/landmark/map_load_mark/proc/load_subtemplate() // Commenting this out temporarily as DMMS breaks when asychronously // loading overlapping map templates. TODO: more robust queuing behavior @@ -98,11 +103,11 @@ /obj/abstract/landmark/delete_on_shuttle/Initialize() . = ..() - events_repository.register_global(/decl/observ/shuttle_added, src, .proc/check_shuttle) + events_repository.register_global(/decl/observ/shuttle_added, src, PROC_REF(check_shuttle)) /obj/abstract/landmark/delete_on_shuttle/proc/check_shuttle(var/shuttle) if(SSshuttle.shuttles[shuttle_name] == shuttle) - events_repository.register(/decl/observ/shuttle_moved, shuttle, src, .proc/delete_everything) + events_repository.register(/decl/observ/shuttle_moved, shuttle, src, PROC_REF(delete_everything)) shuttle_datum = shuttle /obj/abstract/landmark/delete_on_shuttle/proc/delete_everything() @@ -112,9 +117,9 @@ qdel(src) /obj/abstract/landmark/delete_on_shuttle/Destroy() - events_repository.unregister_global(/decl/observ/shuttle_added, src, .proc/check_shuttle) + events_repository.unregister_global(/decl/observ/shuttle_added, src, PROC_REF(check_shuttle)) if(shuttle_datum) - events_repository.unregister(/decl/observ/shuttle_moved, shuttle_datum, src, .proc/delete_everything) + events_repository.unregister(/decl/observ/shuttle_moved, shuttle_datum, src, PROC_REF(delete_everything)) . = ..() // Has a percent chance on spawn to set the specified variable on the specified type to the specified value. diff --git a/code/modules/maps/template_types/random_exoplanet/fauna_generator.dm b/code/modules/maps/template_types/random_exoplanet/fauna_generator.dm index b71e8da04e1..03a66a0da3c 100644 --- a/code/modules/maps/template_types/random_exoplanet/fauna_generator.dm +++ b/code/modules/maps/template_types/random_exoplanet/fauna_generator.dm @@ -100,8 +100,8 @@ /datum/fauna_generator/proc/register_fauna(var/mob/living/A) if(A in live_fauna) return - events_repository.register(/decl/observ/destroyed, A, src, /datum/fauna_generator/proc/on_fauna_death) - events_repository.register(/decl/observ/death, A, src, /datum/fauna_generator/proc/on_fauna_death) + events_repository.register(/decl/observ/destroyed, A, src, TYPE_PROC_REF(/datum/fauna_generator, on_fauna_death)) + events_repository.register(/decl/observ/death, A, src, TYPE_PROC_REF(/datum/fauna_generator, on_fauna_death)) LAZYADD(live_fauna, A) /datum/fauna_generator/proc/on_fauna_death(var/mob/living/A) @@ -111,8 +111,8 @@ /datum/fauna_generator/proc/unregister_fauna(var/mob/living/A) if(!(A in live_fauna)) return - events_repository.unregister(/decl/observ/destroyed, A, src, /datum/fauna_generator/proc/on_fauna_death) - events_repository.unregister(/decl/observ/death, A, src, /datum/fauna_generator/proc/on_fauna_death) + events_repository.unregister(/decl/observ/destroyed, A, src, TYPE_PROC_REF(/datum/fauna_generator, on_fauna_death)) + events_repository.unregister(/decl/observ/death, A, src, TYPE_PROC_REF(/datum/fauna_generator, on_fauna_death)) LAZYREMOVE(live_fauna, A) /datum/fauna_generator/proc/generate_fauna(var/datum/gas_mixture/atmosphere, var/list/breath_gases = list(), var/list/toxic_gases = list()) diff --git a/code/modules/maps/template_types/random_exoplanet/planetoid_data.dm b/code/modules/maps/template_types/random_exoplanet/planetoid_data.dm index 75a9aaa6ca6..4c9be31e655 100644 --- a/code/modules/maps/template_types/random_exoplanet/planetoid_data.dm +++ b/code/modules/maps/template_types/random_exoplanet/planetoid_data.dm @@ -379,7 +379,7 @@ /datum/planetoid_data/random/proc/generate_daycycle_data() starts_at_night = (surface_light_level > 0.1) - day_duration = rand(global.config.exoplanet_min_day_duration, global.config.exoplanet_max_day_duration) + day_duration = rand(get_config_value(/decl/config/num/exoplanet_min_day_duration), get_config_value(/decl/config/num/exoplanet_max_day_duration)) MINUTES ///If the planet doesn't have a name defined, a name will be randomly generated for it. (Named this way because a global proc generate_planet_name already exists) /datum/planetoid_data/random/proc/make_planet_name() diff --git a/code/modules/materials/_materials.dm b/code/modules/materials/_materials.dm index fc680a1eb5e..34b1cba8ea7 100644 --- a/code/modules/materials/_materials.dm +++ b/code/modules/materials/_materials.dm @@ -109,7 +109,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay) var/table_icon_base = "metal" var/table_icon_reinforced = "reinf_metal" - var/list/stack_origin_tech = "{'materials':1}" // Research level for stacks. + var/list/stack_origin_tech = @'{"materials":1}' // Research level for stacks. // Attributes /// How rare is this material in exoplanet xenoflora? @@ -225,6 +225,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay) var/fruit_descriptor // String added to fruit desc if this chemical is present. var/dirtiness = DIRTINESS_NEUTRAL // How dirty turfs are after being exposed to this material. Negative values cause a cleaning/sterilizing effect. + var/decontamination_dose = 0 // Amount required for a decontamination effect, if any. var/solvent_power = MAT_SOLVENT_NONE var/solvent_melt_dose = 0 var/solvent_max_damage = 0 @@ -571,6 +572,11 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay) else if(defoliant && istype(O, /obj/effect/vine)) qdel(O) else + if(dirtiness <= DIRTINESS_DECONTAMINATE) + if(amount >= decontamination_dose && istype(O, /obj/item)) + var/obj/item/I = O + if(I.contaminated) + I.decontaminate() if(dirtiness <= DIRTINESS_STERILE) O.germ_level -= min(REAGENT_VOLUME(holder, type)*20, O.germ_level) O.was_bloodied = null diff --git a/code/modules/materials/definitions/gasses/material_gas_mundane.dm b/code/modules/materials/definitions/gasses/material_gas_mundane.dm index a4bc989ec7c..e00322da326 100644 --- a/code/modules/materials/definitions/gasses/material_gas_mundane.dm +++ b/code/modules/materials/definitions/gasses/material_gas_mundane.dm @@ -325,7 +325,7 @@ lore_text = "A radioactive isotope of hydrogen. Useful as a fusion reactor fuel material." mechanics_text = "Tritium is useable as a fuel in some forms of portable generator. It can also be converted into a fuel rod suitable for a R-UST fusion plant injector by using a fuel compressor. It fuses hotter than deuterium but is correspondingly more unstable." color = "#777777" - stack_origin_tech = "{'materials':5}" + stack_origin_tech = @'{"materials":5}' value = 0.45 gas_symbol_html = "T" gas_symbol = "T" @@ -340,7 +340,7 @@ mechanics_text = "Deuterium can be converted into a fuel rod suitable for a R-UST fusion plant injector by using a fuel compressor. It is the most 'basic' fusion fuel." flags = MAT_FLAG_FUSION_FUEL | MAT_FLAG_FISSIBLE color = "#999999" - stack_origin_tech = "{'materials':3}" + stack_origin_tech = @'{"materials":3}' gas_symbol_html = "D" gas_symbol = "D" value = 0.5 diff --git a/code/modules/materials/definitions/solids/materials_solid_exotic.dm b/code/modules/materials/definitions/solids/materials_solid_exotic.dm index 41d99bd9248..3415cc24846 100644 --- a/code/modules/materials/definitions/solids/materials_solid_exotic.dm +++ b/code/modules/materials/definitions/solids/materials_solid_exotic.dm @@ -4,7 +4,7 @@ lore_text = "When hydrogen is exposed to extremely high pressures and temperatures, such as at the core of gas giants like Jupiter, it can take on metallic properties and - more importantly - acts as a room temperature superconductor. Achieving solid metallic hydrogen at room temperature, though, has proven to be rather tricky." name = "metallic hydrogen" color = "#e6c5de" - stack_origin_tech = "{'materials':6,'powerstorage':6,'magnets':5}" + stack_origin_tech = @'{"materials":6,"powerstorage":6,"magnets":5}' heating_products = list( /decl/material/gas/hydrogen/tritium = 0.7, /decl/material/gas/hydrogen/deuterium = 0.3 @@ -38,7 +38,7 @@ lore_text = "Hypercrystalline supermatter is a subset of non-baryonic 'exotic' matter. It is found mostly in the heart of large stars, and features heavily in all kinds of fringe physics-defying technology." color = "#ffff00" radioactivity = 20 - stack_origin_tech = "{'wormholes':2,'materials':6,'exoticmatter':4}" + stack_origin_tech = @'{"wormholes":2,"materials":6,"exoticmatter":4}' luminescence = 3 value = 3 icon_base = 'icons/turf/walls/stone.dmi' diff --git a/code/modules/materials/definitions/solids/materials_solid_gemstones.dm b/code/modules/materials/definitions/solids/materials_solid_gemstones.dm index 32a3980dfca..2011742fb68 100644 --- a/code/modules/materials/definitions/solids/materials_solid_gemstones.dm +++ b/code/modules/materials/definitions/solids/materials_solid_gemstones.dm @@ -23,7 +23,7 @@ ignition_point = null brute_armor = 10 burn_armor = 50 // Diamond walls are immune to fire, therefore it makes sense for them to be almost undamageable by burn damage type. - stack_origin_tech = "{'materials':6}" + stack_origin_tech = @'{"materials":6}' hardness = MAT_VALUE_VERY_HARD + 20 construction_difficulty = MAT_VALUE_VERY_HARD_DIY ore_name = "rough diamonds" diff --git a/code/modules/materials/definitions/solids/materials_solid_glass.dm b/code/modules/materials/definitions/solids/materials_solid_glass.dm index 8baecb051b7..23e3b308050 100644 --- a/code/modules/materials/definitions/solids/materials_solid_glass.dm +++ b/code/modules/materials/definitions/solids/materials_solid_glass.dm @@ -44,7 +44,7 @@ burn_armor = 5 melting_point = 4274 color = GLASS_COLOR_SILICATE - stack_origin_tech = "{'materials':4}" + stack_origin_tech = @'{"materials":4}' construction_difficulty = MAT_VALUE_HARD_DIY value = 1.8 @@ -69,7 +69,7 @@ door_icon_base = "plastic" hardness = MAT_VALUE_FLEXIBLE weight = MAT_VALUE_LIGHT - stack_origin_tech = "{'materials':3}" + stack_origin_tech = @'{"materials":3}' conductive = 0 construction_difficulty = MAT_VALUE_NORMAL_DIY reflectiveness = MAT_VALUE_MATTE diff --git a/code/modules/materials/definitions/solids/materials_solid_metal.dm b/code/modules/materials/definitions/solids/materials_solid_metal.dm index 36730b022d3..8d247963b5f 100644 --- a/code/modules/materials/definitions/solids/materials_solid_metal.dm +++ b/code/modules/materials/definitions/solids/materials_solid_metal.dm @@ -37,7 +37,7 @@ icon_reinf = 'icons/turf/walls/reinforced_stone.dmi' color = "#007a00" weight = MAT_VALUE_VERY_HEAVY - stack_origin_tech = "{'materials':5}" + stack_origin_tech = @'{"materials":5}' reflectiveness = MAT_VALUE_MATTE value = 1.5 default_solid_form = /obj/item/stack/material/puck @@ -85,7 +85,7 @@ color = COLOR_GOLD hardness = MAT_VALUE_FLEXIBLE + 5 integrity = 100 - stack_origin_tech = "{'materials':4}" + stack_origin_tech = @'{"materials":4}' ore_result_amount = 5 ore_name = "native gold" ore_spread_chance = 10 @@ -162,7 +162,7 @@ color = COLOR_COPPER weight = MAT_VALUE_NORMAL hardness = MAT_VALUE_FLEXIBLE + 10 - stack_origin_tech = "{'materials':2}" + stack_origin_tech = @'{"materials":2}' /decl/material/solid/metal/silver name = "silver" @@ -172,7 +172,7 @@ boiling_point = 2444 color = "#d1e6e3" hardness = MAT_VALUE_FLEXIBLE + 10 - stack_origin_tech = "{'materials':3}" + stack_origin_tech = @'{"materials":3}' ore_result_amount = 5 ore_spread_chance = 10 ore_name = "native silver" @@ -317,7 +317,7 @@ brute_armor = 8 burn_armor = 10 hardness = MAT_VALUE_VERY_HARD - stack_origin_tech = "{'materials':2}" + stack_origin_tech = @'{"materials":2}' hitsound = 'sound/weapons/smash.ogg' value = 1.4 reflectiveness = MAT_VALUE_MATTE @@ -351,7 +351,7 @@ value = 1.5 explosion_resistance = 25 hardness = MAT_VALUE_VERY_HARD - stack_origin_tech = "{'materials':2}" + stack_origin_tech = @'{"materials":2}' hitsound = 'sound/weapons/smash.ogg' reflectiveness = MAT_VALUE_MATTE default_solid_form = /obj/item/stack/material/reinforced @@ -376,7 +376,7 @@ color = "#9bc6f2" brute_armor = 4 burn_armor = 20 - stack_origin_tech = "{'materials':3}" + stack_origin_tech = @'{"materials":3}' construction_difficulty = MAT_VALUE_VERY_HARD_DIY value = 1.8 exoplanet_rarity_plant = MAT_RARITY_UNCOMMON @@ -389,7 +389,7 @@ melting_point = 3307 boiling_point = 5285 color = "#9999ff" - stack_origin_tech = "{'materials':5}" + stack_origin_tech = @'{"materials":5}' construction_difficulty = MAT_VALUE_VERY_HARD_DIY value = 1.3 @@ -402,7 +402,7 @@ color = "#deddff" weight = MAT_VALUE_VERY_HEAVY wall_support_value = MAT_VALUE_VERY_HEAVY - stack_origin_tech = "{'materials':2}" + stack_origin_tech = @'{"materials":2}' ore_compresses_to = /decl/material/solid/metal/osmium ore_result_amount = 5 ore_spread_chance = 10 diff --git a/code/modules/materials/definitions/solids/materials_solid_mineral.dm b/code/modules/materials/definitions/solids/materials_solid_mineral.dm index e5ac586eed8..61e286145e0 100644 --- a/code/modules/materials/definitions/solids/materials_solid_mineral.dm +++ b/code/modules/materials/definitions/solids/materials_solid_mineral.dm @@ -13,7 +13,7 @@ ore_spread_chance = 10 ore_name = "pitchblende" ore_scan_icon = "mineral_uncommon" - stack_origin_tech = "{'materials':5}" + stack_origin_tech = @'{"materials":5}' xarch_source_mineral = /decl/material/solid/phosphorus ore_icon_overlay = "nugget" value = 0.8 diff --git a/code/modules/materials/definitions/solids/materials_solid_organic.dm b/code/modules/materials/definitions/solids/materials_solid_organic.dm index 101ca85eaa5..0e3a7623b34 100644 --- a/code/modules/materials/definitions/solids/materials_solid_organic.dm +++ b/code/modules/materials/definitions/solids/materials_solid_organic.dm @@ -18,7 +18,7 @@ hardness = MAT_VALUE_FLEXIBLE + 10 weight = MAT_VALUE_LIGHT melting_point = T0C+371 //assuming heat resistant plastic - stack_origin_tech = "{'materials':3}" + stack_origin_tech = @'{"materials":3}' conductive = 0 construction_difficulty = MAT_VALUE_NORMAL_DIY reflectiveness = MAT_VALUE_SHINY @@ -92,7 +92,7 @@ weight = MAT_VALUE_EXTREMELY_LIGHT - 5 ignition_point = T0C+232 //"the temperature at which book-paper catches fire, and burns." close enough melting_point = T0C+232 //temperature at which cardboard walls would be destroyed - stack_origin_tech = "{'materials':1}" + stack_origin_tech = @'{"materials":1}' door_icon_base = "wood" destruction_desc = "crumples" conductive = 0 @@ -118,7 +118,7 @@ uid = "solid_paper" lore_text = "Low tech writing medium made from cellulose fibers. Also used in wrappings and packaging." color = "#cfcece" - stack_origin_tech = "{'materials':1}" + stack_origin_tech = @'{"materials":1}' door_icon_base = "wood" destruction_desc = "tears" icon_base = 'icons/turf/walls/solid.dmi' @@ -154,7 +154,7 @@ uid = "solid_cotton" use_name = "cotton" color = "#ffffff" - stack_origin_tech = "{'materials':2}" + stack_origin_tech = @'{"materials":2}' door_icon_base = "wood" ignition_point = T0C+232 melting_point = T0C+300 @@ -497,7 +497,7 @@ name = "leather" uid = "solid_leather" color = "#5c4831" - stack_origin_tech = "{'materials':2}" + stack_origin_tech = @'{"materials":2}' flags = MAT_FLAG_PADDING ignition_point = T0C+300 melting_point = T0C+300 diff --git a/code/modules/materials/definitions/solids/materials_solid_wood.dm b/code/modules/materials/definitions/solids/materials_solid_wood.dm index e78d98c7755..5488975444b 100644 --- a/code/modules/materials/definitions/solids/materials_solid_wood.dm +++ b/code/modules/materials/definitions/solids/materials_solid_wood.dm @@ -22,7 +22,7 @@ weight = MAT_VALUE_NORMAL melting_point = T0C+300 //okay, not melting in this case, but hot enough to destroy wood ignition_point = T0C+288 - stack_origin_tech = "{'materials':1,'biotech':1}" + stack_origin_tech = @'{"materials":1,"biotech":1}' dooropen_noise = 'sound/effects/doorcreaky.ogg' door_icon_base = "wood" destruction_desc = "splinters" diff --git a/code/modules/mechs/components/armour.dm b/code/modules/mechs/components/armour.dm index 79f3d8213db..b86d67295dc 100644 --- a/code/modules/mechs/components/armour.dm +++ b/code/modules/mechs/components/armour.dm @@ -12,7 +12,7 @@ ARMOR_BIO = ARMOR_BIO_SHIELDED, ARMOR_RAD = ARMOR_RAD_MINOR ) - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/metal/steel /obj/item/robot_parts/robot_component/armour/exosuit/radproof @@ -27,7 +27,7 @@ ARMOR_BIO = ARMOR_BIO_SHIELDED, ARMOR_RAD = ARMOR_RAD_SHIELDED ) - origin_tech = "{'materials':3}" + origin_tech = @'{"materials":3}' material = /decl/material/solid/metal/steel /obj/item/robot_parts/robot_component/armour/exosuit/em @@ -42,7 +42,7 @@ ARMOR_BIO = ARMOR_BIO_SHIELDED, ARMOR_RAD = ARMOR_RAD_SMALL ) - origin_tech = "{'materials':3}" + origin_tech = @'{"materials":3}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT) @@ -57,7 +57,7 @@ ARMOR_BOMB = ARMOR_BOMB_RESISTANT, ARMOR_BIO = ARMOR_BIO_SHIELDED ) - origin_tech = "{'materials':5}" + origin_tech = @'{"materials":5}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/gemstone/diamond = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/modules/mechs/components/software.dm b/code/modules/mechs/components/software.dm index 1a7a5f1c916..49cc737083d 100644 --- a/code/modules/mechs/components/software.dm +++ b/code/modules/mechs/components/software.dm @@ -6,22 +6,22 @@ /obj/item/stock_parts/circuitboard/exosystem/engineering name = "exosuit circuit (engineering systems)" contains_software = list(MECH_SOFTWARE_ENGINEERING) - origin_tech = "{'programming':1}" + origin_tech = @'{"programming":1}' /obj/item/stock_parts/circuitboard/exosystem/utility name = "exosuit circuit (utility systems)" contains_software = list(MECH_SOFTWARE_UTILITY) icon = 'icons/obj/modules/module_controller.dmi' - origin_tech = "{'programming':1}" + origin_tech = @'{"programming":1}' /obj/item/stock_parts/circuitboard/exosystem/medical name = "exosuit circuit (medical systems)" contains_software = list(MECH_SOFTWARE_MEDICAL) icon = 'icons/obj/modules/module_controller.dmi' - origin_tech = "{'programming':3,'biotech':2}" + origin_tech = @'{"programming":3,"biotech":2}' /obj/item/stock_parts/circuitboard/exosystem/weapons name = "exosuit circuit (basic weapon systems)" contains_software = list(MECH_SOFTWARE_WEAPONS) icon = 'icons/obj/modules/module_mainboard.dmi' - origin_tech = "{'programming':4,'combat':3}" + origin_tech = @'{"programming":4,"combat":3}' diff --git a/code/modules/mechs/equipment/_equipment.dm b/code/modules/mechs/equipment/_equipment.dm index c77140f9f53..effd53ec4e5 100644 --- a/code/modules/mechs/equipment/_equipment.dm +++ b/code/modules/mechs/equipment/_equipment.dm @@ -104,7 +104,7 @@ /obj/item/mech_equipment/mounted_system/proc/forget_holding() if(holding) //It'd be strange for this to be called with this var unset - events_repository.unregister(/decl/observ/destroyed, holding, src, .proc/forget_holding) + events_repository.unregister(/decl/observ/destroyed, holding, src, PROC_REF(forget_holding)) holding = null if(!QDELETED(src)) qdel(src) @@ -113,7 +113,7 @@ . = ..() if(ispath(holding)) holding = new holding(src) - events_repository.register(/decl/observ/destroyed, holding, src, .proc/forget_holding) + events_repository.register(/decl/observ/destroyed, holding, src, PROC_REF(forget_holding)) if(!istype(holding)) return if(!icon_state) @@ -123,7 +123,7 @@ desc = "[holding.desc] This one is suitable for installation on an exosuit." /obj/item/mech_equipment/mounted_system/Destroy() - events_repository.unregister(/decl/observ/destroyed, holding, src, .proc/forget_holding) + events_repository.unregister(/decl/observ/destroyed, holding, src, PROC_REF(forget_holding)) if(holding) QDEL_NULL(holding) . = ..() diff --git a/code/modules/mechs/equipment/combat.dm b/code/modules/mechs/equipment/combat.dm index 93526231dd9..188c458f3fc 100644 --- a/code/modules/mechs/equipment/combat.dm +++ b/code/modules/mechs/equipment/combat.dm @@ -2,7 +2,7 @@ name = "mounted electrolaser carbine" desc = "A dual fire mode electrolaser system connected to the exosuit's targetting system." icon_state = "mech_taser" - origin_tech = "{'combat':1,'magnets':1,'engineering':1}" + origin_tech = @'{"combat":1,"magnets":1,"engineering":1}' holding = /obj/item/gun/energy/taser/mounted/mech restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_WEAPONS) @@ -12,14 +12,14 @@ desc = "An exosuit-mounted ion rifle. Handle with care." icon_state = "mech_ionrifle" holding = /obj/item/gun/energy/ionrifle/mounted/mech - origin_tech = "{'combat':2,'powerstorage':2,'magnets':4,'engineering':2}" + origin_tech = @'{"combat":2,"powerstorage":2,"magnets":4,"engineering":2}' /obj/item/mech_equipment/mounted_system/taser/laser name = "\improper CH-PS \"Immolator\" laser" desc = "An exosuit-mounted laser rifle. Handle with care." icon_state = "mech_lasercarbine" holding = /obj/item/gun/energy/laser/mounted/mech - origin_tech = "{'combat':3,'magnets':2,'engineering':2}" + origin_tech = @'{"combat":3,"magnets":2,"engineering":2}' /obj/item/gun/energy/taser/mounted/mech use_external_power = TRUE @@ -57,7 +57,7 @@ restricted_hardpoints = list(HARDPOINT_BACK) restricted_software = list(MECH_SOFTWARE_WEAPONS) material = /decl/material/solid/metal/steel - origin_tech = "{'magnets':3,'powerstorage':4,'materials':2,'engineering':2}" + origin_tech = @'{"magnets":3,"powerstorage":4,"materials":2,"engineering":2}' matter = list( /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/metal/gold = MATTER_AMOUNT_TRACE @@ -163,7 +163,7 @@ . = ..() add_vis_contents(target, src) set_dir(target.dir) - events_repository.register(/decl/observ/dir_set, user, src, /obj/aura/mechshield/proc/update_dir) + events_repository.register(/decl/observ/dir_set, user, src, TYPE_PROC_REF(/obj/aura/mechshield, update_dir)) /obj/aura/mechshield/proc/update_dir(var/user, var/old_dir, var/dir) set_dir(dir) @@ -176,7 +176,7 @@ /obj/aura/mechshield/Destroy() if(user) - events_repository.unregister(/decl/observ/dir_set, user, src, /obj/aura/mechshield/proc/update_dir) + events_repository.unregister(/decl/observ/dir_set, user, src, TYPE_PROC_REF(/obj/aura/mechshield, update_dir)) remove_vis_contents(user, src) shields = null . = ..() @@ -229,7 +229,7 @@ //Melee! As a general rule I would recommend using regular objects and putting logic in them. /obj/item/mech_equipment/mounted_system/melee abstract_type = /obj/item/mech_equipment/mounted_system/melee - origin_tech = "{'combat':1,'materials':1,'engineering':1}" + origin_tech = @'{"combat":1,"materials":1,"engineering":1}' restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_UTILITY) @@ -290,7 +290,7 @@ icon_state = "mech_shield" //Rendering is handled by aura due to layering issues: TODO, figure out a better way to do this restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_UTILITY) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' var/obj/aura/mech_ballistic/aura = null var/last_push = 0 var/chance = 60 //For attacks from the front, diminishing returns @@ -406,14 +406,14 @@ . = ..() add_vis_contents(target, src) set_dir(target.dir) - global.events_repository.register(/decl/observ/dir_set, user, src, /obj/aura/mech_ballistic/proc/update_dir) + global.events_repository.register(/decl/observ/dir_set, user, src, TYPE_PROC_REF(/obj/aura/mech_ballistic, update_dir)) /obj/aura/mech_ballistic/proc/update_dir(user, old_dir, dir) set_dir(dir) /obj/aura/mech_ballistic/Destroy() if (user) - global.events_repository.unregister(/decl/observ/dir_set, user, src, /obj/aura/mech_ballistic/proc/update_dir) + global.events_repository.unregister(/decl/observ/dir_set, user, src, TYPE_PROC_REF(/obj/aura/mech_ballistic, update_dir)) remove_vis_contents(user, src) shield = null . = ..() @@ -459,7 +459,7 @@ restricted_software = list(MECH_SOFTWARE_WEAPONS) active_power_use = 7 KILOWATTS var/next_use = 0 - origin_tech = "{'magnets':2,'combat':3}" + origin_tech = @'{"magnets":2,"combat":3}' /obj/item/mech_equipment/flash/proc/area_flash() playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1) diff --git a/code/modules/mechs/equipment/combat_projectile.dm b/code/modules/mechs/equipment/combat_projectile.dm index 87c4d2ae6df..040ff1497f1 100644 --- a/code/modules/mechs/equipment/combat_projectile.dm +++ b/code/modules/mechs/equipment/combat_projectile.dm @@ -31,7 +31,7 @@ holding = /obj/item/gun/projectile/automatic/smg/mech restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_WEAPONS) - origin_tech = "{'programming':4,'combat':6,'engineering':5}" + origin_tech = @'{"programming":4,"combat":6,"engineering":5}' /obj/item/gun/projectile/automatic/smg/mech magazine_type = /obj/item/ammo_magazine/mech/smg_top @@ -52,7 +52,7 @@ holding = /obj/item/gun/projectile/automatic/assault_rifle/mech restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_WEAPONS) - origin_tech = "{'programming':4,'combat':8,'engineering':6}" + origin_tech = @'{"programming":4,"combat":8,"engineering":6}' /obj/item/gun/projectile/automatic/assault_rifle/mech magazine_type = /obj/item/ammo_magazine/mech/rifle @@ -72,7 +72,7 @@ holding = /obj/item/gun/projectile/automatic/machine/mech restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_WEAPONS) - origin_tech = "{'programming':4,'combat':8,'engineering':6}" + origin_tech = @'{"programming":4,"combat":8,"engineering":6}' /obj/item/gun/projectile/automatic/machine/mech magazine_type = /obj/item/ammo_magazine/mech/rifle/drum diff --git a/code/modules/mechs/equipment/engineering.dm b/code/modules/mechs/equipment/engineering.dm index f374774eabd..37fbe1d4e5a 100644 --- a/code/modules/mechs/equipment/engineering.dm +++ b/code/modules/mechs/equipment/engineering.dm @@ -1,7 +1,7 @@ /obj/item/mech_equipment/mounted_system/rcd icon_state = "mech_rcd" holding = /obj/item/rcd/mounted - origin_tech = "{'engineering':4,'materials':3,'powerstorage':1}" + origin_tech = @'{"engineering":4,"materials":3,"powerstorage":1}' restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_ENGINEERING) material = /decl/material/solid/metal/steel @@ -42,7 +42,7 @@ holding = /obj/item/chems/spray/extinguisher/mech restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_ENGINEERING) - origin_tech = "{'engineering':1,'materials':1}" + origin_tech = @'{"engineering":1,"materials":1}' /obj/item/mech_equipment/atmos_shields icon_state = "mech_atmoshield_off" @@ -51,7 +51,7 @@ restricted_hardpoints = list(HARDPOINT_BACK) restricted_software = list(MECH_SOFTWARE_ENGINEERING) equipment_delay = 0.25 SECONDS - origin_tech = "{'engineering':2,'powerstorage':2,'materials':3}" + origin_tech = @'{"engineering":2,"powerstorage":2,"materials":3}' var/list/segments var/current_mode = 0 //0 barrier, 1 bubble var/shield_range = 2 @@ -144,14 +144,14 @@ if(istype(MS)) MS.shields = src segments += MS - events_repository.register(/decl/observ/moved, MS, src, .proc/on_moved) + events_repository.register(/decl/observ/moved, MS, src, PROC_REF(on_moved)) passive_power_use = 0.8 KILOWATTS * segments.len update_icon() owner.update_icon() - events_repository.register(/decl/observ/moved, owner, src, .proc/on_moved) - events_repository.register(/decl/observ/dir_set, owner, src, .proc/on_turned) + events_repository.register(/decl/observ/moved, owner, src, PROC_REF(on_moved)) + events_repository.register(/decl/observ/dir_set, owner, src, PROC_REF(on_turned)) /obj/item/mech_equipment/atmos_shields/on_update_icon() . = ..() @@ -160,13 +160,13 @@ /obj/item/mech_equipment/atmos_shields/deactivate() for(var/obj/effect/mech_shield/MS in segments) if(istype(MS)) - events_repository.unregister(/decl/observ/moved, MS, src, .proc/on_moved) + events_repository.unregister(/decl/observ/moved, MS, src, PROC_REF(on_moved)) if(segments.len) owner.visible_message(SPAN_WARNING("The energy shields in front of \the [owner] disappear!")) QDEL_NULL_LIST(segments) passive_power_use = 0 - events_repository.unregister(/decl/observ/moved, owner, src, .proc/on_moved) - events_repository.unregister(/decl/observ/dir_set, owner, src, .proc/on_turned) + events_repository.unregister(/decl/observ/moved, owner, src, PROC_REF(on_moved)) + events_repository.unregister(/decl/observ/dir_set, owner, src, PROC_REF(on_turned)) . = ..() update_icon() owner.update_icon() diff --git a/code/modules/mechs/equipment/medical.dm b/code/modules/mechs/equipment/medical.dm index 35473b48113..4dc126c7cc7 100644 --- a/code/modules/mechs/equipment/medical.dm +++ b/code/modules/mechs/equipment/medical.dm @@ -6,7 +6,7 @@ restricted_software = list(MECH_SOFTWARE_MEDICAL) equipment_delay = 30 //don't spam it on people pls active_power_use = 0 //Usage doesn't really require power. We don't want people stuck inside - origin_tech = "{'programming':2,'biotech':3}" + origin_tech = @'{"programming":2,"biotech":3}' passive_power_use = 1.5 KILOWATTS var/obj/machinery/sleeper/mounted/sleeper = null diff --git a/code/modules/mechs/equipment/utility.dm b/code/modules/mechs/equipment/utility.dm index 783d100cc18..4873d03fbb6 100644 --- a/code/modules/mechs/equipment/utility.dm +++ b/code/modules/mechs/equipment/utility.dm @@ -4,7 +4,7 @@ icon_state = "mech_clamp" restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_UTILITY) - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' var/carrying_capacity = 5 var/list/obj/carrying = list() @@ -49,7 +49,7 @@ playsound(FD, 'sound/effects/meteorimpact.ogg', 100, 1) playsound(FD, 'sound/machines/airlock_creaking.ogg', 100, 1) FD.blocked = FALSE - addtimer(CALLBACK(FD, /obj/machinery/door/firedoor/.proc/open, TRUE), 0) + addtimer(CALLBACK(FD, TYPE_PROC_REF(/obj/machinery/door/firedoor, open), TRUE), 0) FD.set_broken(TRUE) FD.visible_message(SPAN_WARNING("\The [owner] tears \the [FD] open!")) else @@ -58,10 +58,10 @@ playsound(FD, 'sound/machines/airlock_creaking.ogg', 100, 1) if(FD.density) FD.visible_message(SPAN_DANGER("\The [owner] forces \the [FD] open!")) - addtimer(CALLBACK(FD, /obj/machinery/door/firedoor/.proc/open, TRUE), 0) + addtimer(CALLBACK(FD, TYPE_PROC_REF(/obj/machinery/door/firedoor, open), TRUE), 0) else FD.visible_message(SPAN_WARNING("\The [owner] forces \the [FD] closed!")) - addtimer(CALLBACK(FD, /obj/machinery/door/firedoor/.proc/close, TRUE), 0) + addtimer(CALLBACK(FD, TYPE_PROC_REF(/obj/machinery/door/firedoor, close), TRUE), 0) return else if(istype(O, /obj/machinery/door/airlock)) var/obj/machinery/door/airlock/AD = O @@ -74,7 +74,7 @@ playsound(AD, 'sound/effects/meteorimpact.ogg', 100, 1) playsound(AD, 'sound/machines/airlock_creaking.ogg', 100, 1) AD.visible_message(SPAN_DANGER("\The [owner] tears \the [AD] open!")) - addtimer(CALLBACK(AD, /obj/machinery/door/airlock/.proc/open, TRUE), 0) + addtimer(CALLBACK(AD, TYPE_PROC_REF(/obj/machinery/door/airlock, open), TRUE), 0) AD.set_broken(TRUE) return else @@ -82,12 +82,12 @@ if((AD.is_broken(NOPOWER) || do_after(owner, 5 SECONDS,AD)) && !(AD.operating || AD.welded || AD.locked)) playsound(AD, 'sound/machines/airlock_creaking.ogg', 100, 1) if(AD.density) - addtimer(CALLBACK(AD, /obj/machinery/door/airlock/.proc/open, TRUE), 0) + addtimer(CALLBACK(AD, TYPE_PROC_REF(/obj/machinery/door/airlock, open), TRUE), 0) if(!AD.is_broken(NOPOWER)) AD.set_broken(TRUE) AD.visible_message(SPAN_DANGER("\The [owner] forces \the [AD] open!")) else - addtimer(CALLBACK(AD, /obj/machinery/door/airlock/.proc/close, TRUE), 0) + addtimer(CALLBACK(AD, TYPE_PROC_REF(/obj/machinery/door/airlock, close), TRUE), 0) if(!AD.is_broken(NOPOWER)) AD.set_broken(TRUE) AD.visible_message(SPAN_DANGER("\The [owner] forces \the [AD] closed!")) @@ -197,7 +197,7 @@ item_state = "mech_floodlight" restricted_hardpoints = list(HARDPOINT_HEAD, HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) mech_layer = MECH_INTERMEDIATE_LAYER - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' var/on = 0 var/l_power = 0.9 @@ -251,7 +251,7 @@ var/mode = CATAPULT_SINGLE var/atom/movable/locked equipment_delay = 30 //Stunlocks are not ideal - origin_tech = "{'materials':4,'engineering':4,'magnets':4}" + origin_tech = @'{"materials":4,"engineering":4,"magnets":4}' require_adjacent = FALSE /obj/item/mech_equipment/catapult/get_hardpoint_maptext() @@ -372,7 +372,7 @@ //Drill can have a head var/obj/item/drill_head/drill_head - origin_tech = "{'materials':2,'engineering':2}" + origin_tech = @'{"materials":2,"engineering":2}' /obj/item/mech_equipment/drill/Initialize() . = ..() @@ -547,14 +547,14 @@ holding = /obj/item/gun/energy/plasmacutter/mounted/mech restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND, HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) restricted_software = list(MECH_SOFTWARE_UTILITY) - origin_tech = "{'materials':4,'engineering':6,'exoticmatter':4,'combat':3}" + origin_tech = @'{"materials":4,"engineering":6,"exoticmatter":4,"combat":3}' /obj/item/mech_equipment/mounted_system/taser/autoplasma icon_state = "mech_energy" holding = /obj/item/gun/energy/plasmacutter/mounted/mech/auto restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) restricted_software = list(MECH_SOFTWARE_UTILITY) - origin_tech = "{'materials':5,'engineering':6,'exoticmatter':4,'combat':4}" + origin_tech = @'{"materials":5,"engineering":6,"exoticmatter":4,"combat":4}' /obj/item/gun/energy/plasmacutter/mounted/mech/auto charge_cost = 13 @@ -576,7 +576,7 @@ passive_power_use = 0 KILOWATTS var/activated_passive_power = 2 KILOWATTS var/movement_power = 75 - origin_tech = "{'magnets':3,'engineering':3,'exoticmatter':3}" + origin_tech = @'{"magnets":3,"engineering":3,"exoticmatter":3}' var/datum/effect/effect/system/trail/ion/ion_trail require_adjacent = FALSE var/stabilizers = FALSE @@ -700,7 +700,7 @@ restricted_software = list(MECH_SOFTWARE_UTILITY) equipment_delay = 10 - origin_tech = "{'materials':1,'engineering':1,'magnets':2}" + origin_tech = @'{"materials":1,"engineering":1,"magnets":2}' /obj/item/mech_equipment/camera/Initialize() diff --git a/code/modules/mechs/interface/_interface.dm b/code/modules/mechs/interface/_interface.dm index 42f184477cf..bced208448d 100644 --- a/code/modules/mechs/interface/_interface.dm +++ b/code/modules/mechs/interface/_interface.dm @@ -56,6 +56,13 @@ refresh_hud() +/mob/living/exosuit/should_do_hud_updates() + . = ..() + if(!. && length(pilots)) + for(var/mob/living/pilot in pilots) + if(pilot.should_do_hud_updates()) + return TRUE + /mob/living/exosuit/handle_hud_icons() for(var/hardpoint in hardpoint_hud_elements) var/obj/screen/exosuit/hardpoint/H = hardpoint_hud_elements[hardpoint] @@ -120,4 +127,4 @@ if(H) H.color = "#a03b3b" animate(H, color = COLOR_WHITE, time = timeout, easing = CUBIC_EASING | EASE_IN) - addtimer(CALLBACK(src, .proc/reset_hardpoint_color), timeout) \ No newline at end of file + addtimer(CALLBACK(src, PROC_REF(reset_hardpoint_color)), timeout) \ No newline at end of file diff --git a/code/modules/mechs/mech_construction.dm b/code/modules/mechs/mech_construction.dm index 35f6b87b440..8a2bfd3b391 100644 --- a/code/modules/mechs/mech_construction.dm +++ b/code/modules/mechs/mech_construction.dm @@ -45,7 +45,7 @@ if(target == selected_hardpoint) clear_selected_hardpoint() - events_repository.unregister(/decl/observ/destroyed, module_to_forget, src, .proc/forget_module) + events_repository.unregister(/decl/observ/destroyed, module_to_forget, src, PROC_REF(forget_module)) var/obj/screen/exosuit/hardpoint/H = hardpoint_hud_elements[target] H.holding = null @@ -96,7 +96,7 @@ playsound(user.loc, 'sound/items/Screwdriver.ogg', 100, 1) else return FALSE - events_repository.register(/decl/observ/destroyed, system, src, .proc/forget_module) + events_repository.register(/decl/observ/destroyed, system, src, PROC_REF(forget_module)) system.forceMove(src) hardpoints[system_hardpoint] = system @@ -139,7 +139,7 @@ system.forceMove(get_turf(src)) system.screen_loc = null system.layer = initial(system.layer) - events_repository.unregister(/decl/observ/destroyed, system, src, .proc/forget_module) + events_repository.unregister(/decl/observ/destroyed, system, src, PROC_REF(forget_module)) var/obj/screen/exosuit/hardpoint/H = hardpoint_hud_elements[system_hardpoint] H.holding = null diff --git a/code/modules/mechs/mech_life.dm b/code/modules/mechs/mech_life.dm index 18975123d54..ad1964eb516 100644 --- a/code/modules/mechs/mech_life.dm +++ b/code/modules/mechs/mech_life.dm @@ -1,7 +1,16 @@ /mob/living/exosuit/handle_disabilities() return -/mob/living/exosuit/Life() +/mob/living/exosuit/update_lying() + lying = FALSE // Prevent carp from proning us + +/mob/living/exosuit/handle_regular_status_updates() + + if(!body && !QDELETED(src)) + physically_destroyed() + return FALSE + + . = ..() for(var/thing in pilots) var/mob/pilot = thing @@ -12,20 +21,10 @@ UNSETEMPTY(pilots) update_pilots() - if(!body && !QDELETED(src)) - qdel(src) - return - if(radio) radio.on = (head && head.radio && head.radio.is_functional() && get_cell()) - body.update_air(hatch_closed && use_air) - - var/powered = FALSE - if(get_cell()) - powered = get_cell().drain_power(0, 0, calc_power_draw()) > 0 - - if(!powered) + if(!is_suit_powered()) //Shut down all systems if(head) head.active_sensors = FALSE @@ -35,16 +34,11 @@ if(istype(M) && M.active && M.passive_power_use) M.deactivate() - update_health() // TODO: move to handle_regular_status_updates(), Life PR - if(emp_damage > 0) emp_damage -= min(1, emp_damage) //Reduce emp accumulation over time - ..() //Handles stuff like environment - - handle_hud_icons() - lying = FALSE // Fuck off, carp. - handle_vision(powered) +/mob/living/exosuit/proc/is_suit_powered() + return (get_cell()?.drain_power(0, 0, calc_power_draw())) > 0 /mob/living/exosuit/get_cell(force) RETURN_TYPE(/obj/item/cell) @@ -71,7 +65,13 @@ /mob/living/exosuit/handle_environment(var/datum/gas_mixture/environment) ..() - if(!environment) return + + if(body) + body.update_air(hatch_closed && use_air) + + if(!environment) + return + //Mechs and vehicles in general can be assumed to just tend to whatever ambient temperature if(abs(environment.temperature - bodytemperature) > 0 ) bodytemperature += ((environment.temperature - bodytemperature) / 6) @@ -123,14 +123,14 @@ qdel(src) return -/mob/living/exosuit/handle_vision(powered) +/mob/living/exosuit/handle_vision() var/was_blind = sight & BLIND if(head) + var/powered = is_suit_powered() sight = head.get_sight(powered) see_invisible = head.get_invisible(powered) if(body && (body.pilot_coverage < 100 || body.transparent_cabin) || !hatch_closed) sight &= ~BLIND - if(sight & BLIND && !was_blind) for(var/mob/pilot in pilots) to_chat(pilot, SPAN_WARNING("The sensors are not operational and you cannot see a thing!")) diff --git a/code/modules/mining/machinery/_material_processing.dm b/code/modules/mining/machinery/_material_processing.dm index 0d20dfaf71b..f149ec055a4 100644 --- a/code/modules/mining/machinery/_material_processing.dm +++ b/code/modules/mining/machinery/_material_processing.dm @@ -90,7 +90,7 @@ /obj/machinery/material_processing/Destroy() input_turf = null output_turf = null - events_repository.unregister(/decl/observ/moved, src, src, .proc/on_moved) + events_repository.unregister(/decl/observ/moved, src, src, PROC_REF(on_moved)) . = ..() /obj/machinery/material_processing/Initialize() @@ -99,7 +99,7 @@ SET_OUTPUT(output_turf) . = ..() queue_icon_update() - events_repository.register(/decl/observ/moved, src, src, .proc/on_moved) + events_repository.register(/decl/observ/moved, src, src, PROC_REF(on_moved)) /obj/machinery/material_processing/proc/on_moved(atom/moving, atom/old_loc, atom/new_loc) if(istype(input_turf, /turf)) diff --git a/code/modules/mining/machinery/material_extractor.dm b/code/modules/mining/machinery/material_extractor.dm index ce75a62e0ed..2da4d8c8f76 100644 --- a/code/modules/mining/machinery/material_extractor.dm +++ b/code/modules/mining/machinery/material_extractor.dm @@ -173,7 +173,7 @@ if(!user.try_unequip(I, src)) return output_container = I - events_repository.register(/decl/observ/destroyed, output_container, src, /obj/machinery/material_processing/extractor/proc/remove_container) + events_repository.register(/decl/observ/destroyed, output_container, src, TYPE_PROC_REF(/obj/machinery/material_processing/extractor, remove_container)) user.visible_message(SPAN_NOTICE("\The [user] places \a [I] in \the [src]."), SPAN_NOTICE("You place \a [I] in \the [src].")) return @@ -185,7 +185,7 @@ if(!output_container) return . = output_container - events_repository.unregister(/decl/observ/destroyed, output_container, src, /obj/machinery/material_processing/extractor/proc/remove_container) + events_repository.unregister(/decl/observ/destroyed, output_container, src, TYPE_PROC_REF(/obj/machinery/material_processing/extractor, remove_container)) output_container = null /obj/machinery/material_processing/extractor/OnTopic(var/mob/user, var/list/href_list) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index a5e4141482b..cc48152e7c8 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -36,7 +36,7 @@ throwforce = 4 w_class = ITEM_SIZE_HUGE material = /decl/material/solid/metal/steel - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' attack_verb = list("hit", "pierced", "sliced", "attacked") sharp = 0 @@ -80,7 +80,7 @@ name = "advanced mining drill" // Can dig sand as well! icon = 'icons/obj/items/tool/drills/drill_hand.dmi' digspeed = 30 - origin_tech = "{'materials':2,'powerstorage':3,'engineering':2}" + origin_tech = @'{"materials":2,"powerstorage":3,"engineering":2}' desc = "Yours is the drill that will pierce through the rock walls." drill_verb = "drilling" material = /decl/material/solid/metal/steel @@ -96,7 +96,7 @@ name = "sonic jackhammer" icon = 'icons/obj/items/tool/drills/jackhammer.dmi' digspeed = 20 //faster than drill, but cannot dig - origin_tech = "{'materials':3,'powerstorage':2,'engineering':2}" + origin_tech = @'{"materials":3,"powerstorage":2,"engineering":2}' desc = "Cracks rocks with sonic blasts, perfect for killing cave lizards." drill_verb = "hammering" @@ -109,7 +109,7 @@ name = "diamond mining drill" icon = 'icons/obj/items/tool/drills/drill_diamond.dmi' digspeed = 5 //Digs through walls, girders, and can dig up sand - origin_tech = "{'materials':6,'powerstorage':4,'engineering':5}" + origin_tech = @'{"materials":6,"powerstorage":4,"engineering":5}' desc = "Yours is the drill that will pierce the heavens!" drill_verb = "drilling" material = /decl/material/solid/metal/steel @@ -144,7 +144,7 @@ icon_state = "preview" icon = 'icons/obj/items/tool/drills/pickaxe.dmi' digspeed = 30 - origin_tech = "{'materials':3}" + origin_tech = @'{"materials":3}' drill_verb = "picking" sharp = 1 build_from_parts = TRUE @@ -159,7 +159,7 @@ icon_state = "preview" icon = 'icons/obj/items/tool/drills/pickaxe.dmi' digspeed = 20 - origin_tech = "{'materials':4}" + origin_tech = @'{"materials":4}' drill_verb = "picking" sharp = 1 build_from_parts = TRUE @@ -174,7 +174,7 @@ icon_state = "preview" icon = 'icons/obj/items/tool/drills/pickaxe.dmi' digspeed = 10 - origin_tech = "{'materials':6,'engineering':4}" + origin_tech = @'{"materials":6,"engineering":4}' drill_verb = "picking" sharp = 1 build_from_parts = TRUE @@ -195,7 +195,7 @@ force = 8.0 throwforce = 4 w_class = ITEM_SIZE_HUGE - origin_tech = "{'materials':1,'engineering':1}" + origin_tech = @'{"materials":1,"engineering":1}' material = /decl/material/solid/metal/steel attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") edge = 1 diff --git a/code/modules/mob/animations.dm b/code/modules/mob/animations.dm index 47ec3e93d7c..9a17fd29c3e 100644 --- a/code/modules/mob/animations.dm +++ b/code/modules/mob/animations.dm @@ -106,7 +106,7 @@ for(var/client/C in viewing) C.images += I - addtimer(CALLBACK(src, .proc/clear_shown_overlays, viewing, I), 5) + addtimer(CALLBACK(src, PROC_REF(clear_shown_overlays), viewing, I), 5) // Scale the icon. I.transform *= 0.75 diff --git a/code/modules/mob/floating_message.dm b/code/modules/mob/floating_message.dm index 1a37abc46d3..a6cc4a3bb3f 100644 --- a/code/modules/mob/floating_message.dm +++ b/code/modules/mob/floating_message.dm @@ -78,8 +78,8 @@ var/global/list/floating_chat_colors = list() LAZYADD(holder.stored_chat_text, I) - addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_floating_text, holder, I), duration) - addtimer(CALLBACK(GLOBAL_PROC, .proc/remove_images_from_clients, I, show_to), duration + CHAT_MESSAGE_EOL_FADE) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_floating_text), holder, I), duration) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(remove_images_from_clients), I, show_to), duration + CHAT_MESSAGE_EOL_FADE) return I diff --git a/code/modules/mob/grab/grab_object.dm b/code/modules/mob/grab/grab_object.dm index 4f8977cca2b..db84ea2d0e0 100644 --- a/code/modules/mob/grab/grab_object.dm +++ b/code/modules/mob/grab/grab_object.dm @@ -49,19 +49,19 @@ LAZYADD(affecting.grabbed_by, src) // This is how we handle affecting being deleted. adjust_position() action_used() - INVOKE_ASYNC(assailant, /atom/movable/proc/do_attack_animation, affecting) + INVOKE_ASYNC(assailant, TYPE_PROC_REF(/atom/movable, do_attack_animation), affecting) playsound(affecting.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) update_icon() - events_repository.register(/decl/observ/moved, affecting, src, .proc/on_affecting_move) + events_repository.register(/decl/observ/moved, affecting, src, PROC_REF(on_affecting_move)) if(assailant.zone_sel) - events_repository.register(/decl/observ/zone_selected, assailant.zone_sel, src, .proc/on_target_change) + events_repository.register(/decl/observ/zone_selected, assailant.zone_sel, src, PROC_REF(on_target_change)) var/obj/item/organ/O = get_targeted_organ() var/decl/pronouns/G = assailant.get_pronouns() if(affecting_mob && O) // may have grabbed a buckled mob, so may be grabbing their holder SetName("[name] (\the [affecting_mob]'s [O.name])") - events_repository.register(/decl/observ/dismembered, affecting_mob, src, .proc/on_organ_loss) + events_repository.register(/decl/observ/dismembered, affecting_mob, src, PROC_REF(on_organ_loss)) if(affecting_mob != assailant) visible_message(SPAN_DANGER("\The [assailant] has grabbed [affecting_mob]'s [O.name]!")) else diff --git a/code/modules/mob/grab/normal/norm_struggle.dm b/code/modules/mob/grab/normal/norm_struggle.dm index 557e09de7b5..4c83b6c2cba 100644 --- a/code/modules/mob/grab/normal/norm_struggle.dm +++ b/code/modules/mob/grab/normal/norm_struggle.dm @@ -43,7 +43,7 @@ else affecting.visible_message("[affecting] struggles against [assailant]!") G.done_struggle = FALSE - addtimer(CALLBACK(G, .proc/handle_resist), 1 SECOND) + addtimer(CALLBACK(G, PROC_REF(handle_resist)), 1 SECOND) resolve_struggle(G) /decl/grab/normal/struggle/proc/resolve_struggle(var/obj/item/grab/G) diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm index 56ce79487f4..4f7229bff8e 100644 --- a/code/modules/mob/living/bot/bot.dm +++ b/code/modules/mob/living/bot/bot.dm @@ -59,16 +59,12 @@ else turn_off() -/mob/living/bot/Life() - ..() - if(stat == DEAD) - return - set_status(STAT_WEAK, 0) - set_status(STAT_STUN, 0) - set_status(STAT_PARA, 0) - - if(on && !client && !busy) - handleAI() +/mob/living/bot/handle_regular_status_updates() + . = ..() + if(.) + set_status(STAT_WEAK, 0) + set_status(STAT_STUN, 0) + set_status(STAT_PARA, 0) /mob/living/bot/get_total_life_damage() return getFireLoss() + getBruteLoss() @@ -204,7 +200,12 @@ /mob/living/bot/emag_act(var/remaining_charges, var/mob/user) return 0 -/mob/living/bot/proc/handleAI() +/mob/living/bot/handle_legacy_ai() + . = ..() + if(on && !busy) + handle_async_ai() + +/mob/living/bot/proc/handle_async_ai() set waitfor = FALSE if(ignore_list.len) for(var/atom/A in ignore_list) @@ -283,7 +284,7 @@ /mob/living/bot/proc/startPatrol() var/turf/T = getPatrolTurf() if(T) - patrol_path = AStar(get_turf(loc), T, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, max_patrol_dist, id = botcard, exclude = obstacle) + patrol_path = AStar(get_turf(loc), T, TYPE_PROC_REF(/turf, CardinalTurfsWithAccess), TYPE_PROC_REF(/turf, Distance), 0, max_patrol_dist, id = botcard, exclude = obstacle) if(!patrol_path) patrol_path = list() obstacle = null @@ -315,7 +316,7 @@ return /mob/living/bot/proc/calcTargetPath() - target_path = AStar(get_turf(loc), get_turf(target), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, max_target_dist, id = botcard, exclude = obstacle) + target_path = AStar(get_turf(loc), get_turf(target), TYPE_PROC_REF(/turf, CardinalTurfsWithAccess), TYPE_PROC_REF(/turf, Distance), 0, max_target_dist, id = botcard, exclude = obstacle) if(!target_path) if(target && target.loc) ignore_list |= target diff --git a/code/modules/mob/living/bot/farmbot.dm b/code/modules/mob/living/bot/farmbot.dm index ea9c7f44041..4f4052a3394 100644 --- a/code/modules/mob/living/bot/farmbot.dm +++ b/code/modules/mob/living/bot/farmbot.dm @@ -125,7 +125,7 @@ /mob/living/bot/farmbot/calcTargetPath() // We need to land NEXT to the tray, because the tray itself is impassable for(var/trayDir in list(NORTH, SOUTH, EAST, WEST)) - target_path = AStar(get_turf(loc), get_step(get_turf(target), trayDir), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, max_target_dist, id = botcard) + target_path = AStar(get_turf(loc), get_step(get_turf(target), trayDir), TYPE_PROC_REF(/turf, CardinalTurfsWithAccess), TYPE_PROC_REF(/turf, Distance), 0, max_target_dist, id = botcard) if(target_path) break if(!target_path) diff --git a/code/modules/mob/living/bot/secbot.dm b/code/modules/mob/living/bot/secbot.dm index b4da5f516a8..2a17f24eede 100644 --- a/code/modules/mob/living/bot/secbot.dm +++ b/code/modules/mob/living/bot/secbot.dm @@ -132,7 +132,7 @@ broadcast_security_hud_message("[src] is arresting a level [threat] suspect [suspect_name] in [get_area_name(src)].", src) say("Down on the floor, [suspect_name]! You have [SECBOT_WAIT_TIME] seconds to comply.") playsound(src.loc, pick(preparing_arrest_sounds), 50) - events_repository.register(/decl/observ/moved, target, src, /mob/living/bot/secbot/proc/target_moved) + events_repository.register(/decl/observ/moved, target, src, TYPE_PROC_REF(/mob/living/bot/secbot, target_moved)) /mob/living/bot/secbot/proc/target_moved(atom/movable/moving_instance, atom/old_loc, atom/new_loc) if(get_dist(get_turf(src), get_turf(target)) >= 1) diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index ee76da97b48..58fff70c26a 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -1,13 +1,3 @@ -// Alien larva are quite simple. -/mob/living/carbon/alien/Life() - set invisibility = FALSE - set background = TRUE - if (HAS_TRANSFORMATION_MOVEMENT_HANDLER(src)) return - if(!loc) return - ..() - //Status updates, death etc. - update_icon() - /mob/living/carbon/alien/handle_mutations_and_radiation() ..() if(radiation) @@ -20,44 +10,46 @@ /mob/living/carbon/alien/handle_regular_status_updates() - if(status_flags & GODMODE) return 0 + . = ..() - update_health() // TODO: unify with parent call, Life() PR if(stat == DEAD) SET_STATUS_MAX(src, STAT_BLIND, 2) set_status(STAT_SILENCE, 0) - else - if(stat == DEAD) - return 1 - if(HAS_STATUS(src, STAT_PARA)) - SET_STATUS_MAX(src, STAT_BLIND, 2) - set_stat(UNCONSCIOUS) - if(getHalLoss() > 0) - adjustHalLoss(-3) - - if(HAS_STATUS(src, STAT_ASLEEP)) + else if(HAS_STATUS(src, STAT_PARA)) + SET_STATUS_MAX(src, STAT_BLIND, 2) + set_stat(UNCONSCIOUS) + if(getHalLoss() > 0) adjustHalLoss(-3) - SET_STATUS_MAX(src, STAT_BLIND, 2) - set_stat(UNCONSCIOUS) - else if(resting) - if(getHalLoss() > 0) - adjustHalLoss(-3) - - else - set_stat(CONSCIOUS) - if(getHalLoss() > 0) - adjustHalLoss(-1) - - // Eyes and blindness. - if(!check_has_eyes()) - SET_STATUS_MAX(src, STAT_BLIND, 2) - SET_STATUS_MAX(src, STAT_BLURRY, 1) - - update_icon() + if(HAS_STATUS(src, STAT_ASLEEP)) + adjustHalLoss(-3) + if (mind) + if(mind.active && client != null) + ADJ_STATUS(src, STAT_ASLEEP, -1) + SET_STATUS_MAX(src, STAT_BLIND, 2) + set_stat(UNCONSCIOUS) + else if(resting) + if(getHalLoss() > 0) + adjustHalLoss(-3) + else + set_stat(CONSCIOUS) + if(getHalLoss() > 0) + adjustHalLoss(-1) - return 1 + // Eyes and blindness. + if(!check_has_eyes()) + set_status(STAT_BLIND, 1) + SET_STATUS_MAX(src, STAT_BLIND, 2) + set_status(STAT_BLURRY, 1) + else if(GET_STATUS(src, STAT_BLIND)) + ADJ_STATUS(src, STAT_BLIND, -1) + SET_STATUS_MAX(src, STAT_BLIND, 2) + update_icon() + return TRUE /mob/living/carbon/alien/handle_regular_hud_updates() + . = ..() + if(!.) + return update_sight() if (healths) if(stat != DEAD) @@ -90,7 +82,6 @@ if(machine) if(machine.check_eye(src) < 0) reset_view(null) - return 1 /mob/living/carbon/alien/handle_environment(var/datum/gas_mixture/environment) ..() diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index 745a08ca834..a8eca098a30 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -23,7 +23,7 @@ icon = 'icons/obj/assemblies.dmi' icon_state = "mmi_empty" w_class = ITEM_SIZE_NORMAL - origin_tech = "{'biotech':3}" + origin_tech = @'{"biotech":3}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) req_access = list(access_robotics) @@ -135,7 +135,7 @@ /obj/item/mmi/radio_enabled name = "radio-enabled man-machine interface" desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. This one comes with a built-in radio." - origin_tech = "{'biotech':4}" + origin_tech = @'{"biotech":4}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) var/obj/item/radio/radio = null//Let's give it a radio. diff --git a/code/modules/mob/living/carbon/brain/brain.dm b/code/modules/mob/living/carbon/brain/brain.dm index ca5f768be6f..3eac062963b 100644 --- a/code/modules/mob/living/carbon/brain/brain.dm +++ b/code/modules/mob/living/carbon/brain/brain.dm @@ -18,8 +18,6 @@ /mob/living/carbon/brain/Destroy() if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting. - if(stat!=DEAD) //If not dead. - death(1) //Brains can die again. AND THEY SHOULD AHA HA HA HA HA HA ghostize() //Ghostize checks for key so nothing else is necessary. . = ..() @@ -36,5 +34,5 @@ return isSynthetic() /mob/living/carbon/brain/check_has_mouth() - return 0 + return FALSE diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index 7b02d7c8a84..692e2ce7fcf 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -63,69 +63,75 @@ ADJ_STATUS(src, STAT_DIZZY, -4) return TRUE -/mob/living/carbon/brain/should_be_dead() - return (!container && (current_health < config.health_threshold_dead || (config.revival_brain_life >= 0 && (world.time - timeofhostdeath) > config.revival_brain_life)) ) +/mob/living/carbon/brain/is_blind() + return !container || ..() -/mob/living/carbon/brain/handle_regular_status_updates() //TODO: comment out the unused bits >_> +/mob/living/carbon/brain/should_be_dead() + if(container) + return FALSE + if(current_health >= get_config_value(/decl/config/num/health_health_threshold_dead)) + return FALSE + var/revival_brain_life = get_config_value(/decl/config/num/health_revival_brain_life) + return revival_brain_life >= 0 && (world.time - timeofhostdeath) > revival_brain_life - update_health() // TODO: unify with parent call, Life() PR +/mob/living/carbon/brain/handle_regular_status_updates() - if(stat == DEAD) //DEAD. BROWN BREAD. SWIMMING WITH THE SPESS CARP - return 1 + . = ..() + if(!. || stat == DEAD || !emp_damage || !container) + return //Handling EMP effect in the Life(), it's made VERY simply, and has some additional effects handled elsewhere - if(emp_damage) //This is pretty much a damage type only used by MMIs, dished out by the emp_act - if(!(container && istype(container, /obj/item/mmi))) - emp_damage = 0 - else - emp_damage = round(emp_damage,1)//Let's have some nice numbers to work with - switch(emp_damage) - if(31 to INFINITY) - emp_damage = 30//Let's not overdo it - if(21 to 30)//High level of EMP damage, unable to see, hear, or speak - set_status(STAT_BLIND, 1) - SET_STATUS_MAX(src, STAT_DEAF, 1) - set_status(STAT_SILENCE, 1) - if(!alert)//Sounds an alarm, but only once per 'level' - emote("alarm") - to_chat(src, "Major electrical distruption detected: System rebooting.") - alert = TRUE - if(prob(75)) - emp_damage -= 1 - if(20) - alert = FALSE - set_status(STAT_BLIND, 0) - set_status(STAT_DEAF, 0) - set_status(STAT_SILENCE, 0) + //This is pretty much a damage type only used by MMIs, dished out by the emp_act + emp_damage = round(emp_damage,1)//Let's have some nice numbers to work with + switch(emp_damage) + if(31 to INFINITY) + emp_damage = 30//Let's not overdo it + if(21 to 30)//High level of EMP damage, unable to see, hear, or speak + SET_STATUS_MAX(src, STAT_BLIND, 2) + SET_STATUS_MAX(src, STAT_DEAF, 1) + set_status(STAT_SILENCE, 1) + if(!alert)//Sounds an alarm, but only once per 'level' + emote("alarm") + to_chat(src, SPAN_WARNING("Major electrical distruption detected: System rebooting.")) + alert = 1 + if(prob(75)) emp_damage -= 1 - if(11 to 19)//Moderate level of EMP damage, resulting in nearsightedness and ear damage - set_status(STAT_BLURRY, 1) - set_status(STAT_TINNITUS, 1) - if(!alert) - emote("alert") - to_chat(src, "Primary systems are now online.") - alert = TRUE - if(prob(50)) - emp_damage -= 1 - if(10) - alert = FALSE - set_status(STAT_BLURRY, 0) - set_status(STAT_TINNITUS, 0) + if(20) + alert = 0 + set_status(STAT_BLIND, 0) + set_status(STAT_DEAF, 0) + set_status(STAT_SILENCE, 0) + emp_damage -= 1 + if(11 to 19)//Moderate level of EMP damage, resulting in nearsightedness and ear damage + set_status(STAT_BLURRY, 1) + set_status(STAT_TINNITUS, 1) + if(!alert) + emote("alert") + to_chat(src, SPAN_WARNING("Primary systems are now online.")) + alert = 1 + if(prob(50)) emp_damage -= 1 - if(2 to 9)//Low level of EMP damage, has few effects(handled elsewhere) - if(!alert) - emote("notice") - to_chat(src, "System reboot nearly complete.") - alert = TRUE - if(prob(25)) - emp_damage -= 1 - if(1) - alert = FALSE - to_chat(src, "All systems restored.") + if(10) + alert = 0 + set_status(STAT_BLURRY, 0) + set_status(STAT_TINNITUS, 0) + emp_damage -= 1 + if(2 to 9)//Low level of EMP damage, has few effects(handled elsewhere) + if(!alert) + emote("notice") + to_chat(src, SPAN_WARNING("System reboot nearly complete.")) + alert = 1 + if(prob(25)) emp_damage -= 1 - return 1 + if(1) + alert = 0 + to_chat(src, SPAN_WARNING("All systems restored.")) + emp_damage -= 1 /mob/living/carbon/brain/handle_regular_hud_updates() + . = ..() + if(!.) + return update_sight() if (healths) if (stat != DEAD) diff --git a/code/modules/mob/living/carbon/brain/robot.dm b/code/modules/mob/living/carbon/brain/robot.dm index 1c4a5490ec4..4c689adfe65 100644 --- a/code/modules/mob/living/carbon/brain/robot.dm +++ b/code/modules/mob/living/carbon/brain/robot.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/modules/module_mainboard.dmi' icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_NORMAL - origin_tech = "{'engineering':4,'materials':3,'programming':4}" + origin_tech = @'{"engineering":4,"materials":3,"programming":4}' /obj/item/mmi/digital/robot/PickName() src.brainmob.SetName("[pick(list("ADA","DOS","GNU","MAC","WIN"))]-[random_id(type,1000,9999)]") diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 84b09cae19c..7f88379104b 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -15,7 +15,6 @@ QDEL_NULL(touching) QDEL_NULL(bloodstr) reagents = null //We assume reagents is a reference to bloodstr here - QDEL_NULL_LIST(hallucinations) if(loc) for(var/mob/M in contents) M.dropInto(loc) @@ -299,15 +298,8 @@ /mob/living/carbon/proc/can_devour(atom/movable/victim) return FALSE -/mob/living/carbon/check_has_mouth() - // carbon mobs have mouths by default - // behavior of this proc for humans is overridden in human.dm - return 1 - -/mob/living/carbon/proc/check_mouth_coverage() - // carbon mobs do not have blocked mouths by default - // overridden in human_defense.dm - return null +/mob/living/carbon/get_satiated_nutrition() + return 350 /mob/living/carbon/get_max_nutrition() return 400 diff --git a/code/modules/mob/living/carbon/carbon_eating.dm b/code/modules/mob/living/carbon/carbon_eating.dm new file mode 100644 index 00000000000..70db1bae0f3 --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_eating.dm @@ -0,0 +1,9 @@ +/mob/living/carbon/can_eat_food_currently(obj/eating, mob/user) + user = user || src + if(get_food_satiation() < get_max_nutrition()) + return TRUE + if(user == src) + to_chat(user, SPAN_WARNING("You cannot force any more of \the [eating] down your throat.")) + else + to_chat(user, SPAN_WARNING("You cannot force anymore of \the [eating] down \the [src]'s throat.")) + return FALSE diff --git a/code/modules/mob/living/carbon/hallucinations.dm b/code/modules/mob/living/carbon/hallucinations.dm deleted file mode 100644 index 3ff542395a8..00000000000 --- a/code/modules/mob/living/carbon/hallucinations.dm +++ /dev/null @@ -1,317 +0,0 @@ -/mob/living/carbon/var/hallucination_power = 0 -/mob/living/carbon/var/hallucination_duration = 0 -/mob/living/carbon/var/next_hallucination -/mob/living/carbon/var/list/hallucinations = list() - -/mob/living/proc/adjust_hallucination(duration, power) - return - -/mob/living/proc/set_hallucination(duration, power) - return - -/mob/living/carbon/set_hallucination(duration, power) - hallucination_duration = max(hallucination_duration, duration) - hallucination_power = max(hallucination_power, power) - -/mob/living/carbon/adjust_hallucination(duration, power) - hallucination_duration = max(0, hallucination_duration + duration) - hallucination_power = max(0, hallucination_power + power) - -/mob/living/carbon/proc/handle_hallucinations() - //Tick down the duration - hallucination_duration = max(0, hallucination_duration - 1) - //Adjust power if we have some chems that affect it - if(has_chemical_effect(CE_MIND, threshold_under = -1)) - hallucination_power = hallucination_power++ - else if(has_chemical_effect(CE_MIND, threshold_under = 0)) - hallucination_power = min(hallucination_power++, 50) - else if(has_chemical_effect(CE_MIND, 1)) - hallucination_duration = max(0, hallucination_duration - 1) - hallucination_power = max(hallucination_power - GET_CHEMICAL_EFFECT(src, CE_MIND), 0) - - //See if hallucination is gone - if(!hallucination_power) - hallucination_duration = 0 - return - if(!hallucination_duration) - hallucination_power = 0 - return - - if(!client || stat || world.time < next_hallucination) - return - if(has_chemical_effect(CE_MIND, 1) && prob(GET_CHEMICAL_EFFECT(src, CE_MIND)*40)) //antipsychotics help - return - var/hall_delay = rand(10,20) SECONDS - - if(hallucination_power < 50) - hall_delay *= 2 - next_hallucination = world.time + hall_delay - var/list/candidates = list() - for(var/T in subtypesof(/datum/hallucination/)) - var/datum/hallucination/H = new T - if(H.can_affect(src)) - candidates += H - if(candidates.len) - var/datum/hallucination/H = pick(candidates) - H.holder = src - H.activate() - -////////////////////////////////////////////////////////////////////////////////////////////////////// -//Hallucination effects datums -////////////////////////////////////////////////////////////////////////////////////////////////////// - -/datum/hallucination - var/mob/living/carbon/holder - var/allow_duplicates = 1 - var/duration = 0 - var/min_power = 0 //at what levels of hallucination power mobs should get it - var/max_power = INFINITY - -/datum/hallucination/proc/start() - -/datum/hallucination/proc/end() - -/datum/hallucination/proc/can_affect(var/mob/living/carbon/C) - if(!C.client) - return 0 - if(min_power > C.hallucination_power) - return 0 - if(max_power < C.hallucination_power) - return 0 - if(!allow_duplicates && (locate(type) in C.hallucinations)) - return 0 - return 1 - -/datum/hallucination/Destroy() - . = ..() - holder = null - -/datum/hallucination/proc/activate() - if(!holder || !holder.client) - return - holder.hallucinations += src - start() - spawn(duration) - if(holder) - end() - holder.hallucinations -= src - qdel(src) - - -//Playing a random sound -/datum/hallucination/sound - var/list/sounds = list('sound/machines/airlock.ogg','sound/effects/explosionfar.ogg','sound/machines/windowdoor.ogg','sound/machines/twobeep.ogg') - -/datum/hallucination/sound/start() - var/turf/T = locate(holder.x + rand(6,11), holder.y + rand(6,11), holder.z) - holder.playsound_local(T,pick(sounds),70) - -/datum/hallucination/sound/tools - sounds = list('sound/items/Ratchet.ogg','sound/items/Welder.ogg','sound/items/Crowbar.ogg','sound/items/Screwdriver.ogg') - -/datum/hallucination/sound/danger - min_power = 30 - sounds = list('sound/effects/Explosion1.ogg','sound/effects/Explosion2.ogg','sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg','sound/weapons/smash.ogg') - -/datum/hallucination/sound/spooky - min_power = 50 - sounds = list('sound/effects/ghost.ogg', 'sound/effects/ghost2.ogg', 'sound/effects/Heart Beat.ogg', 'sound/effects/screech.ogg',\ - 'sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/behind_you2.ogg', 'sound/hallucinations/far_noise.ogg', 'sound/hallucinations/growl1.ogg', 'sound/hallucinations/growl2.ogg',\ - 'sound/hallucinations/growl3.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg',\ - 'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg',\ - 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/turn_around2.ogg', 'sound/hallucinations/veryfar_noise.ogg', 'sound/hallucinations/wail.ogg') - -//Hearing someone being shot twice -/datum/hallucination/gunfire - var/gunshot - var/turf/origin - duration = 15 - min_power = 30 - -/datum/hallucination/gunfire/start() - gunshot = pick('sound/weapons/gunshot/gunshot_strong.ogg', 'sound/weapons/gunshot/gunshot2.ogg', 'sound/weapons/gunshot/shotgun.ogg', 'sound/weapons/gunshot/gunshot.ogg','sound/weapons/Taser.ogg') - origin = locate(holder.x + rand(4,8), holder.y + rand(4,8), holder.z) - holder.playsound_local(origin,gunshot,50) - -/datum/hallucination/gunfire/end() - holder.playsound_local(origin,gunshot,50) - -//Hearing someone talking to/about you. -/datum/hallucination/talking/can_affect(var/mob/living/carbon/C) - if(!..()) - return 0 - for(var/mob/living/M in oview(C)) - return TRUE - -/datum/hallucination/talking/start() - var/sanity = 5 //even insanity needs some sanity - for(var/mob/living/talker in oview(holder)) - if(talker.stat) - continue - var/message - if(prob(80)) - var/list/names = list() - var/lastname = copytext(holder.real_name, findtext(holder.real_name, " ")+1) - var/firstname = copytext(holder.real_name, 1, findtext(holder.real_name, " ")) - if(lastname) names += lastname - if(firstname) names += firstname - if(!names.len) - names += holder.real_name - var/add = prob(20) ? ", [pick(names)]" : "" - var/list/phrases = list("[prob(50) ? "Hey, " : ""][pick(names)]!","[prob(50) ? "Hey, " : ""][pick(names)]?","Get out[add]!","Go away[add].","What are you doing[add]?","Where's your ID[add]?") - if(holder.hallucination_power > 50) - phrases += list("What did you come here for[add]?","Don't touch me[add].","You're not getting out of here[add].", "You are a failure, [pick(names)].","Just kill yourself already, [pick(names)].","Put on some clothes[add].","Take off your clothes[add].") - message = pick(phrases) - to_chat(holder,"[talker.name] [holder.say_quote(message)], \"[message]\"") - else - to_chat(holder,"[talker.name] points at [holder.name]") - to_chat(holder,"[talker.name] says something softly.") - - var/speech_state = holder.check_speech_punctuation_state(message) - if(speech_state) - var/image/speech_bubble = image('icons/mob/talk.dmi', talker, speech_state) - addtimer(CALLBACK(src, .proc/qdel_image, speech_bubble), 3 SECONDS) - show_image(holder, speech_bubble) - - sanity-- //don't spam them in very populated rooms. - if(!sanity) - return - -/datum/hallucination/talking/proc/qdel_image(var/image/speech_bubble) - qdel(speech_bubble) - -//Spiderling skitters -/datum/hallucination/skitter/start() - to_chat(holder,"The spiderling skitters[pick(" away"," around","")].") - -//Spiders in your body -/datum/hallucination/spiderbabies - min_power = 40 - -/datum/hallucination/spiderbabies/start() - var/mob/living/carbon/H = holder - var/list/limbs = H.get_external_organs() - if(!LAZYLEN(limbs)) - return - var/obj/O = pick(limbs) - to_chat(H,SPAN_WARNING("You feel something [pick("moving","squirming","skittering")] inside of your [O.name]!")) - -//Seeing stuff -/datum/hallucination/mirage - duration = 30 SECONDS - max_power = 30 - var/number = 1 - var/list/things = list() //list of images to display - -/datum/hallucination/mirage/Destroy() - end() - . = ..() - -/datum/hallucination/mirage/proc/generate_mirage() - var/icon/T = new('icons/obj/trash.dmi') - return image(T, pick(T.IconStates()), layer = BELOW_TABLE_LAYER) - -/datum/hallucination/mirage/start() - var/list/possible_points = list() - for(var/turf/simulated/floor/F in view(holder, world.view+1)) - possible_points += F - if(possible_points.len) - for(var/i = 1 to number) - var/image/thing = generate_mirage() - things += thing - thing.loc = pick(possible_points) - holder.client.images += things - -/datum/hallucination/mirage/end() - if(holder.client) - holder.client.images -= things - -//LOADSEMONEY -/datum/hallucination/mirage/money - min_power = 20 - max_power = 45 - number = 2 - -/datum/hallucination/mirage/money/generate_mirage() - return image('icons/obj/items/money.dmi', "cash_x_5]", layer = BELOW_TABLE_LAYER) - -//Blood and aftermath of firefight -/datum/hallucination/mirage/carnage - min_power = 50 - number = 10 - -/datum/hallucination/mirage/carnage/generate_mirage() - if(prob(50)) - var/image/I = image('icons/effects/blood.dmi', pick("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7"), layer = BELOW_TABLE_LAYER) - I.color = COLOR_BLOOD_HUMAN - return I - else - var/image/I = image('icons/obj/ammo.dmi', "s-casing-spent", layer = BELOW_TABLE_LAYER) - I.layer = BELOW_TABLE_LAYER - I.dir = pick(global.alldirs) - I.pixel_x = rand(-10,10) - I.pixel_y = rand(-10,10) - return I - -//Fake telepathy -/datum/hallucination/telepahy - allow_duplicates = 0 - duration = 20 MINUTES - -/datum/hallucination/telepahy/start() - to_chat(holder,"You expand your mind outwards.") - holder.verbs += /mob/living/carbon/human/proc/fakeremotesay - -/datum/hallucination/telepahy/end() - if(holder) - holder.verbs -= /mob/living/carbon/human/proc/fakeremotesay - -/mob/living/carbon/human/proc/fakeremotesay() - set name = "Telepathic Message" - set category = "Superpower" - - if(!hallucination_power) - src.verbs -= /mob/living/carbon/human/proc/fakeremotesay - return - - if(stat) - to_chat(usr, SPAN_WARNING("You're not in any state to use your powers right now!")) - return - - if(has_chemical_effect(CE_MIND, 1)) - to_chat(usr, SPAN_WARNING("Chemicals in your blood prevent you from using your power!")) - - var/list/creatures = list() - for(var/mob/living/carbon/C in SSmobs.mob_list) - creatures += C - creatures -= usr - var/mob/target = input("Who do you want to project your mind to?") as null|anything in creatures - if (isnull(target)) - return - - var/msg = sanitize(input(usr, "What do you wish to transmit")) - show_message(SPAN_NOTICE("You project your mind into [target.name]: \"[msg]\"")) - if(!stat && prob(20)) - say(msg) - -//Fake attack -/datum/hallucination/fakeattack - min_power = 30 - -/datum/hallucination/fakeattack/can_affect(var/mob/living/carbon/C) - if(!..()) - return 0 - for(var/mob/living/M in oview(C,1)) - return TRUE - -/datum/hallucination/fakeattack/start() - for(var/mob/living/M in oview(holder,1)) - to_chat(holder, "[M] has punched [holder]!") - holder.playsound_local(get_turf(holder),"punch",50) - -//Fake injection -/datum/hallucination/fakeattack/hypo - min_power = 30 - -/datum/hallucination/fakeattack/hypo/start() - to_chat(holder, "You feel a tiny prick!") \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 187c27dc5ea..2b2ec274b61 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -43,7 +43,7 @@ if(SSticker.mode) SSticker.mode.check_win() - if(config.show_human_death_message) + if(get_config_value(/decl/config/toggle/health_show_human_death_message)) deathmessage = species.get_death_message(src) || "seizes up and falls limp..." else deathmessage = "no message" @@ -61,9 +61,8 @@ if(is_husked()) return - f_style = /decl/sprite_accessory/facial_hair/shaved - h_style = /decl/sprite_accessory/hair/bald - update_hair(0) + set_facial_hairstyle(/decl/sprite_accessory/facial_hair/shaved, skip_update = TRUE) + set_hairstyle(/decl/sprite_accessory/hair/bald, skip_update = FALSE) mutations.Add(MUTATION_HUSK) for(var/obj/item/organ/external/E in get_external_organs()) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6ed3e23578f..e6dbd75befe 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -49,14 +49,6 @@ var/obj/item/organ/internal/stomach/stomach = get_organ(BP_STOMACH) return stomach?.ingested -/mob/living/carbon/human/get_fullness() - if(!should_have_organ(BP_STOMACH)) - return ..() - var/obj/item/organ/internal/stomach/stomach = get_organ(BP_STOMACH, /obj/item/organ/internal/stomach) - if(stomach) - return nutrition + (stomach.ingested?.total_volume * 10) - return 0 //Always hungry, but you can't actually eat. :( - /mob/living/carbon/human/get_inhaled_reagents() if(!should_have_organ(BP_LUNGS)) return @@ -99,7 +91,7 @@ stat(null, "Hardsuit charge: [cell_status]") /mob/living/carbon/human/proc/implant_loyalty(mob/living/carbon/human/M, override = FALSE) // Won't override by default. - if(!config.use_loyalty_implants && !override) return // Nuh-uh. + if(!get_config_value(/decl/config/toggle/use_loyalty_implants) && !override) return // Nuh-uh. var/obj/item/implant/loyalty/L = new/obj/item/implant/loyalty(M) L.imp_in = M @@ -326,12 +318,6 @@ dna.check_integrity(src) return -/mob/living/carbon/human/check_has_mouth() - var/obj/item/organ/external/head/H = get_organ(BP_HEAD, /obj/item/organ/external/head) - if(!H || !istype(H) || !H.can_intake_reagents) - return FALSE - return TRUE - /mob/living/carbon/human/empty_stomach() SET_STATUS_MAX(src, STAT_STUN, 3) @@ -515,14 +501,16 @@ force_update_limbs() // Check and clear hair. - var/decl/sprite_accessory/hair/hairstyle = GET_DECL(h_style) + var/set_hairstyle = get_hairstyle() + var/decl/sprite_accessory/hair/hairstyle = GET_DECL(set_hairstyle) if(!hairstyle?.accessory_is_available(src, species, new_bodytype)) - change_hair(new_bodytype.default_h_style, FALSE) - var/decl/sprite_accessory/hair/facialhairstyle = GET_DECL(f_style) + set_hairstyle(new_bodytype.default_h_style, skip_update = TRUE) + set_hairstyle = get_facial_hairstyle() + var/decl/sprite_accessory/hair/facialhairstyle = GET_DECL(set_hairstyle) if(!facialhairstyle?.accessory_is_available(src, species, new_bodytype)) - change_facial_hair(new_bodytype.default_f_style, FALSE) + set_facial_hairstyle(new_bodytype.default_f_style, skip_update = TRUE) // TODO: check markings. - + update_hair() update_eyes() return TRUE return FALSE @@ -654,7 +642,7 @@ /mob/living/carbon/human/proc/apply_bodytype_appearance() var/decl/bodytype/root_bodytype = get_bodytype() if(!root_bodytype) - skin_colour = COLOR_BLACK + set_skin_colour(COLOR_BLACK) else root_bodytype.apply_appearance(src) default_pixel_x = initial(pixel_x) + root_bodytype.pixel_offset_x @@ -1125,14 +1113,15 @@ set_species(species_name, new_bodytype) var/decl/bodytype/root_bodytype = get_bodytype() // root bodytype is set in set_species - if(!skin_colour) - skin_colour = root_bodytype.base_color - if(!hair_colour) - hair_colour = root_bodytype.base_hair_color - if(!facial_hair_colour) - facial_hair_colour = root_bodytype.base_hair_color - if(!eye_colour) - eye_colour = root_bodytype.base_eye_color + if(!get_skin_colour()) + set_skin_colour(root_bodytype.base_color, skip_update = TRUE) + if(!get_hair_colour()) + set_hair_colour(root_bodytype.base_hair_color, skip_update = TRUE) + if(!get_facial_hair_colour()) + set_facial_hair_colour(root_bodytype.base_hair_color, skip_update = TRUE) + if(!get_eye_colour()) + set_eye_colour(root_bodytype.base_eye_color, skip_update = TRUE) + root_bodytype.set_default_hair(src, override_existing = TRUE, defer_update_hair = TRUE) if(!blood_type && length(species?.blood_types)) blood_type = pickweight(species.blood_types) diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/human_appearance.dm similarity index 60% rename from code/modules/mob/living/carbon/human/appearance.dm rename to code/modules/mob/living/carbon/human/human_appearance.dm index 6c52b5604f6..2f8b796aa5b 100644 --- a/code/modules/mob/living/carbon/human/appearance.dm +++ b/code/modules/mob/living/carbon/human/human_appearance.dm @@ -1,8 +1,82 @@ +/mob/living/carbon/human + var/_h_style + var/_f_style + var/_hair_colour + var/_facial_hair_colour + var/_eye_colour + var/_skin_colour + var/_lip_colour + /mob/living/carbon/human/proc/change_appearance(var/flags = APPEARANCE_ALL_HAIR, var/location = src, var/mob/user = src, var/check_species_whitelist = 1, var/list/species_whitelist = list(), var/list/species_blacklist = list(), var/datum/topic_state/state = global.default_topic_state) var/datum/nano_module/appearance_changer/AC = new(location, src, check_species_whitelist, species_whitelist, species_blacklist) AC.flags = flags AC.ui_interact(user, state = state) +/mob/living/carbon/human/get_lip_colour() + return _lip_colour + +/mob/living/carbon/human/get_eye_colour() + return _eye_colour + +/mob/living/carbon/human/get_skin_colour() + return _skin_colour + +/mob/living/carbon/human/get_hairstyle() + return _h_style + +/mob/living/carbon/human/get_hair_colour() + return _hair_colour + +/mob/living/carbon/human/get_facial_hairstyle() + return _f_style + +/mob/living/carbon/human/get_facial_hair_colour() + return _facial_hair_colour + +/mob/living/carbon/human/set_lip_colour(var/new_color, var/skip_update = FALSE) + if((. = ..())) + _lip_colour = new_color + if(!skip_update) + update_body() + +/mob/living/carbon/human/set_eye_colour(var/new_color, var/skip_update = FALSE) + if((. = ..())) + _eye_colour = new_color + if(!skip_update) + update_eyes() + update_body() + +/mob/living/carbon/human/set_skin_colour(var/new_color, var/skip_update = FALSE) + if((. = ..())) + _skin_colour = new_color + if(!skip_update) + force_update_limbs() + update_body() + +/mob/living/carbon/human/set_hair_colour(var/new_color, var/skip_update = FALSE) + if((. = ..())) + _hair_colour = new_color + if(!skip_update) + update_hair() + +/mob/living/carbon/human/set_hairstyle(var/new_hairstyle, var/skip_update = FALSE) + if((. = ..())) + _h_style = new_hairstyle + if(!skip_update) + update_hair() + +/mob/living/carbon/human/set_facial_hair_colour(var/new_color, var/skip_update = FALSE) + if((. = ..())) + _facial_hair_colour = new_color + if(!skip_update) + update_hair() + +/mob/living/carbon/human/set_facial_hairstyle(var/new_facial_hairstyle, var/skip_update = FALSE) + if((. = ..())) + _f_style = new_facial_hairstyle + if(!skip_update) + update_hair() + /mob/living/carbon/human/proc/change_species(var/new_species, var/new_bodytype = null) if(!new_species) return @@ -46,70 +120,23 @@ var/decl/pronouns/pronouns = pick(species.available_pronouns) set_gender(pronouns.name, TRUE) -/mob/living/carbon/human/proc/change_hair(var/hair_style, var/update_icons = TRUE) - if(!hair_style || h_style == hair_style || !ispath(hair_style, /decl/sprite_accessory/hair)) - return - h_style = hair_style - update_hair(update_icons) - return 1 - -/mob/living/carbon/human/proc/change_facial_hair(var/facial_hair_style, var/update_icons = TRUE) - if(!facial_hair_style || f_style == facial_hair_style || !ispath(facial_hair_style, /decl/sprite_accessory/facial_hair)) - return - f_style = facial_hair_style - update_hair(update_icons) - return 1 - /mob/living/carbon/human/proc/reset_hair() var/list/valid_hairstyles = get_valid_hairstyle_types() - var/list/valid_facial_hairstyles = get_valid_facial_hairstyle_types() - if(length(valid_hairstyles)) - h_style = pick(valid_hairstyles) + set_hairstyle(pick(valid_hairstyles), skip_update = TRUE) else //this shouldn't happen - h_style = get_bodytype()?.default_h_style || /decl/sprite_accessory/hair/bald + set_hairstyle(get_bodytype()?.default_h_style || /decl/sprite_accessory/hair/bald, skip_update = TRUE) + var/list/valid_facial_hairstyles = get_valid_facial_hairstyle_types() if(length(valid_facial_hairstyles)) - f_style = pick(valid_facial_hairstyles) + set_facial_hairstyle(pick(valid_facial_hairstyles), skip_update = TRUE) else //this shouldn't happen - f_style = get_bodytype()?.default_f_style || /decl/sprite_accessory/facial_hair/shaved + set_facial_hairstyle(get_bodytype()?.default_f_style || /decl/sprite_accessory/facial_hair/shaved, skip_update = TRUE) update_hair() -/mob/living/carbon/human/proc/change_eye_color(var/new_colour) - if(eye_colour != new_colour) - eye_colour = new_colour - update_eyes() - update_body() - return TRUE - return FALSE - -/mob/living/carbon/human/proc/change_hair_color(var/new_colour) - if(hair_colour != new_colour) - hair_colour = new_colour - force_update_limbs() - update_body() - update_hair() - return TRUE - return FALSE - -/mob/living/carbon/human/proc/change_facial_hair_color(var/new_colour) - if(facial_hair_colour != new_colour) - facial_hair_colour = new_colour - update_hair() - return TRUE - return FALSE - -/mob/living/carbon/human/proc/change_skin_color(var/new_colour) - if(skin_colour == new_colour || !(get_bodytype().appearance_flags & HAS_SKIN_COLOR)) - return FALSE - skin_colour = new_colour - force_update_limbs() - update_body() - return TRUE - /mob/living/carbon/human/proc/change_skin_tone(var/tone) if(skin_tone == tone || !(get_bodytype().appearance_flags & HAS_A_SKIN_TONE)) return diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index c1887030611..5f5928aa041 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -5,7 +5,7 @@ /mob/living/carbon/human/update_health() ..() //TODO: fix husking - if(stat == DEAD && (get_max_health() - getFireLoss()) < config.health_threshold_dead) + if(stat == DEAD && (get_max_health() - getFireLoss()) < get_config_value(/decl/config/num/health_health_threshold_dead)) make_husked() /mob/living/carbon/human/adjustBrainLoss(var/amount, var/do_update_health = TRUE) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index d7a9f1dbb8e..0999068197b 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -278,7 +278,7 @@ meteor_act return 0 //want the dislocation chance to be such that the limb is expected to dislocate after dealing a fraction of the damage needed to break the limb - var/dislocate_chance = effective_force/(dislocate_mult * organ.min_broken_damage * config.organ_health_multiplier)*100 + var/dislocate_chance = effective_force/(dislocate_mult * organ.min_broken_damage * get_config_value(/decl/config/num/health_organ_health_multiplier))*100 if(prob(dislocate_chance * blocked_mult(blocked))) visible_message("[src]'s [organ.joint] [pick("gives way","caves in","crumbles","collapses")]!") organ.dislocate(1) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 7f9ce538e1c..d57fc319496 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -1,20 +1,12 @@ /mob/living/carbon/human - var/h_style - var/f_style - - var/hair_colour - var/facial_hair_colour - var/skin_colour - var/eye_colour - var/regenerate_body_icon = FALSE // If true, the next icon update will also regenerate the body. var/skin_tone = 0 //Skin tone var/damage_multiplier = 1 //multiplies melee combat damage - var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup + var/lip_color = null //no lipstick by default- arguably misleading, as it could be used for general makeup var/list/worn_underwear = list() diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index 0073a9bb5ea..b97bf79c27d 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -64,7 +64,7 @@ if(mRun in mutations) tally = 0 - return (tally+config.human_delay) + return (tally+get_config_value(/decl/config/num/movement_human)) /mob/living/carbon/human/size_strength_mod() . = ..() diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index a3f34561ed9..2a062c62fe9 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -20,8 +20,9 @@ to_chat(src, SPAN_WARNING("You can't mess with your hair right now!")) return - if(h_style) - var/decl/sprite_accessory/hair/hair_style = GET_DECL(h_style) + var/hairstyle = get_hairstyle() + if(hairstyle) + var/decl/sprite_accessory/hair/hair_style = GET_DECL(hairstyle) if(!(hair_style.flags & HAIR_TIEABLE)) to_chat(src, SPAN_WARNING("Your hair isn't long enough to tie.")) return @@ -39,8 +40,8 @@ if(incapacitated()) to_chat(src, SPAN_WARNING("You can't mess with your hair right now!")) return - if(selected_type && h_style != selected_type) - h_style = selected_type + if(selected_type && hairstyle != selected_type) + set_hairstyle(selected_type) try_refresh_visible_overlays() visible_message(SPAN_NOTICE("\The [src] pauses a moment to style their hair.")) else @@ -103,5 +104,5 @@ set name = "Change Colour" set desc = "Choose the colour of your skin." - var/new_skin = input(usr, "Choose your new skin colour: ", "Change Colour", skin_colour) as color|null - change_skin_color(new_skin) + var/new_skin = input(usr, "Choose your new skin colour: ", "Change Colour", get_skin_colour()) as color|null + set_skin_colour(new_skin) diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index 245c867f446..71eb35481c6 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -3,12 +3,12 @@ status_flags = GODMODE|CANPUSH virtual_mob = null -/mob/living/carbon/human/dummy/mannequin/Initialize() +/mob/living/carbon/human/dummy/mannequin/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) . = ..() STOP_PROCESSING(SSmobs, src) global.human_mob_list -= src -/mob/living/carbon/human/dummy/selfdress/Initialize() +/mob/living/carbon/human/dummy/selfdress/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) ..() return INITIALIZE_HINT_LATELOAD @@ -59,7 +59,8 @@ /mob/living/carbon/human/monkey gender = PLURAL -/mob/living/carbon/human/monkey/Initialize() +/mob/living/carbon/human/monkey/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) if(gender == PLURAL) gender = pick(MALE, FEMALE) - . = ..(species_name = SPECIES_MONKEY) + species_name = SPECIES_MONKEY + . = ..() diff --git a/code/modules/mob/living/carbon/human/human_verbs.dm b/code/modules/mob/living/carbon/human/human_verbs.dm index c9ed44b806b..f83e9512aee 100644 --- a/code/modules/mob/living/carbon/human/human_verbs.dm +++ b/code/modules/mob/living/carbon/human/human_verbs.dm @@ -11,18 +11,17 @@ src.verbs -= /mob/living/carbon/human/proc/morph return - var/new_facial = input("Please select facial hair color.", "Character Generation", facial_hair_colour) as color + var/new_facial = input("Please select facial hair color.", "Character Generation", get_facial_hair_colour()) as color if(new_facial) - facial_hair_colour = new_facial + set_facial_hair_colour(new_facial, skip_update = TRUE) - var/new_hair = input("Please select hair color.", "Character Generation", hair_colour) as color + var/new_hair = input("Please select hair color.", "Character Generation", get_hair_colour()) as color if(new_hair) - hair_colour = new_hair + set_hair_colour(new_hair, skip_update = TRUE) - var/new_eyes = input("Please select eye color.", "Character Generation", eye_colour) as color + var/new_eyes = input("Please select eye color.", "Character Generation", get_eye_colour()) as color if(new_eyes) - eye_colour = new_eyes - update_eyes() + set_eye_colour(new_eyes) var/new_tone = input("Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation", "[35-skin_tone]") as text @@ -39,11 +38,11 @@ for(var/x in all_hairs) hairs += all_hairs[x] - var/decl/new_style = input("Please select hair style", "Character Generation",h_style) as null|anything in hairs + var/decl/new_style = input("Please select hair style", "Character Generation",get_hairstyle()) as null|anything in hairs // if new style selected (not cancel) if(new_style) - h_style = new_style.type + set_hairstyle(new_style.type, skip_update = TRUE) // facial hair var/list/all_fhairs = decls_repository.get_decls_of_subtype(/decl/sprite_accessory/facial_hair) @@ -52,10 +51,10 @@ for(var/x in all_fhairs) fhairs += all_fhairs[x] - new_style = input("Please select facial style", "Character Generation",f_style) as null|anything in fhairs + new_style = input("Please select facial style", "Character Generation", get_facial_hairstyle()) as null|anything in fhairs if(new_style) - f_style = new_style.type + set_facial_hairstyle(new_style.type, skip_update = TRUE) var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female", "Neutral") if (new_gender) @@ -65,6 +64,8 @@ gender = FEMALE else gender = NEUTER + + update_hair() try_refresh_visible_overlays() check_dna() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 740ce946b08..5255f7e662b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -3,14 +3,6 @@ //NOTE: Breathing happens once per FOUR TICKS, unless the last breath fails. In which case it happens once per ONE TICK! So oxyloss healing is done once per 4 ticks while oxyloss damage is applied once per tick! #define HUMAN_MAX_OXYLOSS 1 //Defines how much oxyloss humans can get per tick. A tile with no air at all (such as space) applies this value, otherwise it's a percentage of it. -#define HUMAN_CRIT_TIME_CUSHION (10 MINUTES) //approximate time limit to stabilize someone in crit -#define HUMAN_CRIT_HEALTH_CUSHION (config.health_threshold_crit - config.health_threshold_dead) - -//The amount of damage you'll get when in critical condition. We want this to be a HUMAN_CRIT_TIME_CUSHION long deal. -//There are HUMAN_CRIT_HEALTH_CUSHION hp to get through, so (HUMAN_CRIT_HEALTH_CUSHION/HUMAN_CRIT_TIME_CUSHION) per tick. -//Breaths however only happen once every MOB_BREATH_DELAY life ticks. The delay between life ticks is set by the mob process. -#define HUMAN_CRIT_MAX_OXYLOSS ( MOB_BREATH_DELAY * process_schedule_interval("mob") * (HUMAN_CRIT_HEALTH_CUSHION/HUMAN_CRIT_TIME_CUSHION) ) - #define HEAT_DAMAGE_LEVEL_1 2 //Amount of damage applied when your body temperature just passes the 360.15k safety point #define HEAT_DAMAGE_LEVEL_2 4 //Amount of damage applied when your body temperature passes the 400K point #define HEAT_DAMAGE_LEVEL_3 8 //Amount of damage applied when your body temperature passes the 1000K point @@ -36,36 +28,13 @@ var/pressure_alert = 0 var/stamina = 100 -/mob/living/carbon/human/Life() - set invisibility = FALSE - set background = BACKGROUND_ENABLED - - if (HAS_TRANSFORMATION_MOVEMENT_HANDLER(src)) - return - - fire_alert = 0 //Reset this here, because both breathe() and handle_environment() have a chance to set it. - - ..() - - if(life_tick%30==15) - hud_updateflag = 1022 - - voice = GetVoice() - - //No need to update all of these procs if the guy is dead. - if(stat != DEAD && !is_in_stasis()) - last_pain = null // Clear the last cached pain value so further getHalloss() calls won't use an old value. - //Organs and blood - handle_organs() - handle_shock() - handle_pain() - handle_stamina() - - if(!handle_some_updates()) - return //We go ahead and process them 5 times for HUD images and other stuff though. - - //Update our name based on whether our face is obscured/disfigured - SetName(get_visible_name()) +/mob/living/carbon/human/handle_living_non_stasis_processes() + last_pain = null // Clear the last cached pain value so further getHalloss() calls won't use an old value. + //Organs and blood + handle_organs() + handle_shock() + handle_pain() + handle_stamina() /mob/living/carbon/human/get_stamina() return stamina @@ -86,7 +55,7 @@ /mob/living/carbon/human/proc/handle_stamina() if((world.time - last_quick_move_time) > 5 SECONDS) var/mod = (lying + (nutrition / get_max_nutrition())) / 2 - adjust_stamina(max(config.minimum_stamina_recovery, config.maximum_stamina_recovery * mod) * (1 + GET_CHEMICAL_EFFECT(src, CE_ENERGETIC))) + adjust_stamina(max(get_config_value(/decl/config/num/movement_max_stamina_recovery), get_config_value(/decl/config/num/movement_min_stamina_recovery) * mod) * (1 + GET_CHEMICAL_EFFECT(src, CE_ENERGETIC))) /mob/living/carbon/human/set_stat(var/new_stat) var/old_stat = stat @@ -144,7 +113,11 @@ return ONE_ATMOSPHERE + pressure_difference /mob/living/carbon/human/handle_impaired_vision() - ..() + + . = ..() + if(!.) + return + //Vision var/obj/item/organ/vision var/decl/bodytype/root_bodytype = get_bodytype() @@ -163,10 +136,9 @@ /mob/living/carbon/human/handle_disabilities() ..() - if(stat != DEAD) - if ((disabilities & COUGHING) && prob(5) && GET_STATUS(src, STAT_PARA) <= 1) - drop_held_items() - cough() + if(stat != DEAD && (disabilities & COUGHING) && prob(5) && GET_STATUS(src, STAT_PARA) <= 1) + drop_held_items() + cough() /mob/living/carbon/human/handle_mutations_and_radiation() if(getFireLoss()) @@ -382,98 +354,79 @@ return TRUE /mob/living/carbon/human/handle_regular_status_updates() - if(!handle_some_updates()) - return 0 - if(status_flags & GODMODE) return 0 + voice = GetVoice() + SetName(get_visible_name()) - update_health() // TODO: unify with parent call, Life() PR - //SSD check, if a logged player is awake put them back to sleep! - if(stat == DEAD) //DEAD. BROWN BREAD. SWIMMING WITH THE SPESS CARP - SET_STATUS_MAX(src, STAT_BLIND, 2) - set_status(STAT_SILENCE, 0) - else //ALIVE. LIGHTS ARE ON - - if(hallucination_power) - handle_hallucinations() - - if(get_shock() >= species.total_health) - if(!stat) - to_chat(src, "[species.halloss_message_self]") - src.visible_message("[src] [species.halloss_message]") - SET_STATUS_MAX(src, STAT_PARA, 10) - - if(HAS_STATUS(src, STAT_PARA) || HAS_STATUS(src, STAT_ASLEEP)) - SET_STATUS_MAX(src, STAT_BLIND, 2) - set_stat(UNCONSCIOUS) - animate_tail_reset() - adjustHalLoss(-3) - - if(prob(2) && is_asystole() && isSynthetic()) - visible_message("[src] [pick("emits low pitched whirr","beeps urgently")].") - //CONSCIOUS - else - set_stat(CONSCIOUS) - - // Check everything else. - - //Periodically double-check embedded_flag - if(embedded_flag && !(life_tick % 10)) - if(!embedded_needs_process()) - embedded_flag = 0 - - //Resting - if(resting) - if(HAS_STATUS(src, STAT_DIZZY)) - ADJ_STATUS(src, STAT_DIZZY, -15) - if(HAS_STATUS(src, STAT_JITTER)) - ADJ_STATUS(src, STAT_JITTER, -15) - adjustHalLoss(-3) - else - if(HAS_STATUS(src, STAT_DIZZY)) - ADJ_STATUS(src, STAT_DIZZY, -3) - if(HAS_STATUS(src, STAT_JITTER)) - ADJ_STATUS(src, STAT_JITTER, -3) - adjustHalLoss(-1) + if(status_flags & GODMODE) + return FALSE - if(HAS_STATUS(src, STAT_DROWSY)) - SET_STATUS_MAX(src, STAT_BLURRY, 2) - var/sleepy = GET_STATUS(src, STAT_DROWSY) - if(sleepy > 10) - var/zzzchance = min(5, 5*sleepy/30) - if((prob(zzzchance) || sleepy >= 60)) - if(stat == CONSCIOUS) - to_chat(src, "You are about to fall asleep...") - SET_STATUS_MAX(src, STAT_ASLEEP, 5) - - // If you're dirty, your gloves will become dirty, too. - var/obj/item/gloves = get_equipped_item(slot_gloves_str) - if(gloves && germ_level > gloves.germ_level && prob(10)) - gloves.germ_level += 1 - - if(vsc.contaminant_control.CONTAMINATION_LOSS) - var/total_contamination= 0 - for(var/obj/item/I in src) - if(I.contaminated) - total_contamination += vsc.contaminant_control.CONTAMINATION_LOSS - adjustToxLoss(total_contamination) - - if(stasis_value > 1 && GET_STATUS(src, STAT_DROWSY) < stasis_value * 4) - ADJ_STATUS(src, STAT_DROWSY, min(stasis_value, 3)) - if(!stat && prob(1)) - to_chat(src, "You feel slow and sluggish...") + if(vsc.contaminant_control.CONTAMINATION_LOSS) + var/total_contamination= 0 + for(var/obj/item/I in src) + if(I.contaminated) + total_contamination += vsc.contaminant_control.CONTAMINATION_LOSS + adjustToxLoss(total_contamination) + + . = ..() + if(!.) + return + + if(get_shock() >= species.total_health) + if(!stat) + to_chat(src, "[species.halloss_message_self]") + src.visible_message("[src] [species.halloss_message]") + SET_STATUS_MAX(src, STAT_PARA, 10) + + if(HAS_STATUS(src, STAT_PARA) || HAS_STATUS(src, STAT_ASLEEP)) + set_stat(UNCONSCIOUS) + animate_tail_reset() + adjustHalLoss(-3) + if(prob(2) && is_asystole() && isSynthetic()) + visible_message("[src] [pick("emits low pitched whirr","beeps urgently")].") + else + set_stat(CONSCIOUS) + + // Check everything else. + //Periodically double-check embedded_flag + if(embedded_flag && !(life_tick % 10)) + if(!embedded_needs_process()) + embedded_flag = 0 + + //Resting + if(resting) + if(HAS_STATUS(src, STAT_DIZZY)) + ADJ_STATUS(src, STAT_DIZZY, -15) + if(HAS_STATUS(src, STAT_JITTER)) + ADJ_STATUS(src, STAT_JITTER, -15) + adjustHalLoss(-3) + else + if(HAS_STATUS(src, STAT_DIZZY)) + ADJ_STATUS(src, STAT_DIZZY, -3) + if(HAS_STATUS(src, STAT_JITTER)) + ADJ_STATUS(src, STAT_JITTER, -3) + adjustHalLoss(-1) + + if(HAS_STATUS(src, STAT_DROWSY)) + SET_STATUS_MAX(src, STAT_BLURRY, 2) + var/sleepy = GET_STATUS(src, STAT_DROWSY) + if(sleepy > 10) + var/zzzchance = min(5, 5*sleepy/30) + if((prob(zzzchance) || sleepy >= 60)) + if(stat == CONSCIOUS) + to_chat(src, SPAN_NOTICE("You are about to fall asleep...")) + SET_STATUS_MAX(src, STAT_ASLEEP, 5) - return 1 /mob/living/carbon/human/handle_regular_hud_updates() + fire_alert = 0 //Reset this here, because both breathe() and handle_environment() have a chance to set it. + if(life_tick%30==15) + hud_updateflag = 1022 if(hud_updateflag) // update our mob's hud overlays, AKA what others see flaoting above our head handle_hud_list() - - // now handle what we see on our screen - - if(!..()) + . = ..() + if(!.) return - if(stat != DEAD) var/half_health = get_max_health()/2 if(stat == UNCONSCIOUS && current_health < half_health) @@ -684,7 +637,7 @@ var/stress_modifier = get_stress_modifier() if(stress_modifier) - stress_modifier *= config.stress_shock_recovery_constant + stress_modifier *= get_config_value(/decl/config/num/health_stress_shock_recovery_constant) if(is_asystole()) shock_stage = max(shock_stage + (BASE_SHOCK_RECOVERY + stress_modifier), 61) diff --git a/code/modules/mob/living/carbon/human/npcs.dm b/code/modules/mob/living/carbon/human/npcs.dm index cee24738220..58f39cb763c 100644 --- a/code/modules/mob/living/carbon/human/npcs.dm +++ b/code/modules/mob/living/carbon/human/npcs.dm @@ -2,7 +2,7 @@ real_name = "Pun Pun" gender = MALE -/mob/living/carbon/human/monkey/punpun/Initialize() +/mob/living/carbon/human/monkey/punpun/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) ..() return INITIALIZE_HINT_LATELOAD @@ -32,8 +32,9 @@ sensor.set_sensor_mode(VITALS_SENSOR_OFF) attach_accessory(null, sensor) -/mob/living/carbon/human/blank/Initialize() - . = ..(species_name = SPECIES_HUMAN) +/mob/living/carbon/human/blank/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) + species_name = SPECIES_HUMAN + ..() return INITIALIZE_HINT_LATELOAD /mob/living/carbon/human/blank/LateInitialize() diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 697bea8e914..abd8a1a3b67 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -13,8 +13,9 @@ var/global/list/_limb_mask_cache = list() TODO: Proper documentation icon_key is [bodytype.get_icon_cache_uid(src)][g][husk][skin_tone] */ -var/global/list/human_icon_cache = list() -var/global/list/tail_icon_cache = list() //key is [bodytype.get_icon_cache_uid(src)][skin_colour] +var/global/list/human_icon_cache = list() +var/global/list/eye_icon_cache = list() +var/global/list/tail_icon_cache = list() //key is [bodytype.get_icon_cache_uid(src)][skin_colour] var/global/list/light_overlay_cache = list() /proc/overlay_image(icon,icon_state,color,flags) @@ -161,12 +162,6 @@ Please contact me on #coderbus IRC. ~Carn x underlay.transform = M underlays = visible_underlays - var/obj/item/organ/external/head/head = get_organ(BP_HEAD, /obj/item/organ/external/head) - if(head) - var/image/I = head.get_eye_overlay() - if(I) - add_overlay(I) - /mob/living/carbon/human/proc/get_icon_scale_mult() // If you want stuff like scaling based on species or something, here is a good spot to mix the numbers together. return list(icon_scale_x, icon_scale_y) @@ -261,63 +256,35 @@ var/global/list/damage_icon_parts = list() LAZYADD(bandage_overlays, image(bandage_icon, "[O.icon_state][bandage_level]")) set_current_mob_overlay(HO_DAMAGE_LAYER, bandage_overlays, update_icons) +/mob/living/carbon/human/proc/get_human_icon_cache_key() + . = list() + for(var/limb_tag in global.all_limb_tags) + . += "[limb_tag]_" + var/obj/item/organ/external/part = GET_EXTERNAL_ORGAN(src, limb_tag) + if(isnull(part) || part.skip_body_icon_draw) + . += "skip" + continue + part.update_icon() // This wil regenerate their icon if needed, and more importantly set their cache key. + . += part._icon_cache_key + . += "husked_[!!is_husked()]" + . = JOINTEXT(.) + //BASE MOB SPRITE -/mob/living/carbon/human/update_body(var/update_icons=1) +/mob/living/carbon/human/update_body(var/update_icons = TRUE) var/list/limbs = get_external_organs() if(!LAZYLEN(limbs)) return // Something is trying to update our body pre-init (probably loading a preview image during world startup). - var/husk_color_mod = rgb(96,88,80) - var/husk = is_husked() - - //CACHING: Generate an index key from visible bodyparts. - //0 = destroyed, 1 = normal, 2 = robotic, 3 = necrotic. - - //Create a new, blank icon for our mob to use. - if(stand_icon) - qdel(stand_icon) var/decl/bodytype/root_bodytype = get_bodytype() - stand_icon = new(root_bodytype.icon_template || 'icons/mob/human.dmi',"blank") - - var/icon_key = "[root_bodytype.get_icon_cache_uid(src)][skin_tone][skin_colour]" - if(lip_style) - icon_key += "[lip_style]" - else - icon_key += "nolips" - var/obj/item/organ/internal/eyes/eyes = get_organ((root_bodytype.vision_organ || BP_EYES), /obj/item/organ/internal/eyes) - icon_key += istype(eyes) ? eyes.eye_colour : COLOR_BLACK + var/icon_key = get_human_icon_cache_key() - for(var/limb_tag in global.all_limb_tags) - var/obj/item/organ/external/part = GET_EXTERNAL_ORGAN(src, limb_tag) - if(isnull(part) || part.skip_body_icon_draw) - icon_key += "0" - continue - for(var/M in part.markings) - icon_key += "[M][part.markings[M]]" - if(part) - icon_key += "[part.bodytype.get_icon_cache_uid(part.owner)][part.render_alpha]" - icon_key += "[part.skin_tone]" - if(part.skin_colour) - icon_key += "[part.skin_colour]" - icon_key += "[part.skin_blend]" - for(var/M in part.markings) - icon_key += "[M][part.markings[M]]" - if(!BP_IS_PROSTHETIC(part) && (part.status & ORGAN_DEAD)) - icon_key += "2" - else - icon_key += "1" - - icon_key = "[icon_key][husk ? 1 : 0]" - - var/icon/base_icon - if(human_icon_cache[icon_key]) - base_icon = human_icon_cache[icon_key] - else + stand_icon = global.human_icon_cache[icon_key] + if(!stand_icon) //BEGIN CACHED ICON GENERATION. - base_icon = icon(root_bodytype.icon_template) + stand_icon = new(root_bodytype.icon_template || 'icons/mob/human.dmi', "blank") for(var/obj/item/organ/external/part in limbs) - var/icon/temp = part.get_icon() + var/icon/temp = part.icon // Grabbing the icon excludes overlays. //That part makes left and right legs drawn topmost and lowermost when human looks WEST or EAST //And no change in rendering for other parts (they icon_position is 0, so goes to 'else' part) if(part.icon_position & (LEFT | RIGHT)) @@ -328,34 +295,28 @@ var/global/list/damage_icon_parts = list() temp2.Insert(new /icon(temp,dir=EAST),dir=EAST) if(!(part.icon_position & RIGHT)) temp2.Insert(new /icon(temp,dir=WEST),dir=WEST) - base_icon.Blend(temp2, ICON_OVERLAY) + stand_icon.Blend(temp2, ICON_OVERLAY) if(part.icon_position & LEFT) temp2.Insert(new /icon(temp,dir=EAST),dir=EAST) if(part.icon_position & RIGHT) temp2.Insert(new /icon(temp,dir=WEST),dir=WEST) - base_icon.Blend(temp2, ICON_UNDERLAY) + stand_icon.Blend(temp2, ICON_UNDERLAY) else if(part.icon_position & UNDER) - base_icon.Blend(temp, ICON_UNDERLAY) + stand_icon.Blend(temp, ICON_UNDERLAY) else - base_icon.Blend(temp, ICON_OVERLAY) - - if(husk) - base_icon.ColorTone(husk_color_mod) - + stand_icon.Blend(temp, ICON_OVERLAY) //Handle husk overlay. - if(husk) + if(is_husked()) var/husk_icon = root_bodytype.get_husk_icon(src) if(husk_icon) - var/icon/mask = new(base_icon) + var/icon/mask = new(stand_icon) var/icon/husk_over = new(husk_icon, "") mask.MapColors(0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,1, 0,0,0,0) husk_over.Blend(mask, ICON_ADD) - base_icon.Blend(husk_over, ICON_OVERLAY) - - human_icon_cache[icon_key] = base_icon - - //END CACHED ICON GENERATION. - stand_icon.Blend(base_icon,ICON_OVERLAY) + stand_icon.Blend(husk_over, ICON_OVERLAY) + else + stand_icon.ColorTone("#605850") + global.human_icon_cache[icon_key] = stand_icon //tail update_tail_showing(0) @@ -388,8 +349,8 @@ var/global/list/damage_icon_parts = list() /mob/living/carbon/human/update_hair(var/update_icons=1) var/obj/item/organ/external/head/head_organ = get_organ(BP_HEAD, /obj/item/organ/external/head) + set_current_mob_overlay(HO_HAIR_LAYER, (istype(head_organ) ? head_organ.get_mob_overlays() : null), update_icons) - set_current_mob_overlay(HO_HAIR_LAYER, (istype(head_organ) ? head_organ.get_hair_icon() : null), update_icons) /mob/living/carbon/human/proc/update_skin(var/update_icons=1) // todo: make this use bodytype set_current_mob_overlay(HO_SKIN_LAYER, species.update_skin(src), update_icons) @@ -457,6 +418,8 @@ var/global/list/damage_icon_parts = list() return // No tail data! // These values may be null and are generally optional. + var/hair_colour = get_hair_colour() + var/skin_colour = get_skin_colour() var/tail_hair = tail_organ.get_tail_hair() var/tail_blend = tail_organ.get_tail_blend() var/tail_hair_blend = tail_organ.get_tail_hair_blend() diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm deleted file mode 100644 index ff3b7588e00..00000000000 --- a/code/modules/mob/living/carbon/life.dm +++ /dev/null @@ -1,22 +0,0 @@ -/mob/living/carbon/Life() - if(!..()) - return - - // Increase germ_level regularly - if(germ_level < GERM_LEVEL_AMBIENT && prob(30)) //if you're just standing there, you shouldn't get more germs beyond an ambient level - germ_level++ - - if(stat != DEAD && !is_in_stasis()) - //Mutations and radiation - handle_mutations_and_radiation() - - //Chemicals in the body - handle_chemicals_in_body() - - //Random events (vomiting etc) - handle_random_events() - - // eye, ear, brain damages - handle_disabilities() - - . = 1 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/taste.dm b/code/modules/mob/living/carbon/taste.dm index be5741d61b1..643fe0fbf3c 100644 --- a/code/modules/mob/living/carbon/taste.dm +++ b/code/modules/mob/living/carbon/taste.dm @@ -92,6 +92,3 @@ calculate text size per text. out += "[intensity_desc] [taste_desc]" return english_list(out, "something indescribable") - -/mob/living/carbon/proc/get_fullness() - return nutrition + (REAGENT_VOLUME(reagents, /decl/material/liquid/nutriment) * 25) \ No newline at end of file diff --git a/code/modules/mob/living/deity/deity_phenomena.dm b/code/modules/mob/living/deity/deity_phenomena.dm index dbb65b2782e..0ca6dd7514b 100644 --- a/code/modules/mob/living/deity/deity_phenomena.dm +++ b/code/modules/mob/living/deity/deity_phenomena.dm @@ -27,7 +27,7 @@ if(P.refresh_time) P.refresh_time += amount -/mob/living/deity/Life() +/mob/living/deity/handle_regular_status_updates() . = ..() if(.) if(silenced > 0) diff --git a/code/modules/mob/living/deity/deity_sources.dm b/code/modules/mob/living/deity/deity_sources.dm index 181957044cb..4c479cff036 100644 --- a/code/modules/mob/living/deity/deity_sources.dm +++ b/code/modules/mob/living/deity/deity_sources.dm @@ -10,8 +10,8 @@ if(form) L.faction = form.faction update_followers() - events_repository.register(/decl/observ/destroyed, L,src, .proc/dead_follower) - events_repository.register(/decl/observ/death, L,src, .proc/update_followers) + events_repository.register(/decl/observ/destroyed, L,src, PROC_REF(dead_follower)) + events_repository.register(/decl/observ/death, L,src, PROC_REF(update_followers)) /mob/living/deity/proc/dead_follower(var/mob/living/L) events_repository.unregister(/decl/observ/death, L,src) diff --git a/code/modules/mob/living/deity/deity_tracking.dm b/code/modules/mob/living/deity/deity_tracking.dm index 0ac0cd7ba75..0b8de46e9f4 100644 --- a/code/modules/mob/living/deity/deity_tracking.dm +++ b/code/modules/mob/living/deity/deity_tracking.dm @@ -25,9 +25,9 @@ eyeobj.setLoc(get_turf(L)) to_chat(src, "You begin to follow \the [L].") following = L - events_repository.register(/decl/observ/moved, L, src, /mob/living/deity/proc/keep_following) - events_repository.register(/decl/observ/destroyed, L, src, /mob/living/deity/proc/stop_follow) - events_repository.register(/decl/observ/death, L, src, /mob/living/deity/proc/stop_follow) + events_repository.register(/decl/observ/moved, L, src, TYPE_PROC_REF(/mob/living/deity, keep_following)) + events_repository.register(/decl/observ/destroyed, L, src, TYPE_PROC_REF(/mob/living/deity, stop_follow)) + events_repository.register(/decl/observ/death, L, src, TYPE_PROC_REF(/mob/living/deity, stop_follow)) /mob/living/deity/proc/stop_follow() events_repository.unregister(/decl/observ/moved, following, src) diff --git a/code/modules/mob/living/deity/phenomena/communication.dm b/code/modules/mob/living/deity/phenomena/communication.dm index 72876f3f9e9..9a76f59dba8 100644 --- a/code/modules/mob/living/deity/phenomena/communication.dm +++ b/code/modules/mob/living/deity/phenomena/communication.dm @@ -37,7 +37,7 @@ if((M in view) && M.client) to_chat(M, "Your attention is eerily drawn to \the [a].") M.client.images += arrow - events_repository.register(/decl/observ/logged_out, M, src, /datum/phenomena/point/proc/remove_image) + events_repository.register(/decl/observ/logged_out, M, src, TYPE_PROC_REF(/datum/phenomena/point, remove_image)) spawn(20) if(M.client) remove_image(M) diff --git a/code/modules/mob/living/deity/phenomena/conjuration.dm b/code/modules/mob/living/deity/phenomena/conjuration.dm index 23e9b69fc46..ac0f27c6075 100644 --- a/code/modules/mob/living/deity/phenomena/conjuration.dm +++ b/code/modules/mob/living/deity/phenomena/conjuration.dm @@ -27,7 +27,7 @@ var/obj/effect/portal/P = new(get_turf(a), null, 0) P.failchance = 0 portals += P - events_repository.register(/decl/observ/destroyed, P,src,/datum/phenomena/portals/proc/remove_portal) + events_repository.register(/decl/observ/destroyed, P,src, TYPE_PROC_REF(/datum/phenomena/portals, remove_portal)) if(portals.len > 2) var/removed = portals[1] remove_portal(removed) diff --git a/code/modules/mob/living/deity/phenomena/generic.dm b/code/modules/mob/living/deity/phenomena/generic.dm index 33b53f57bf5..633cd96eb7f 100644 --- a/code/modules/mob/living/deity/phenomena/generic.dm +++ b/code/modules/mob/living/deity/phenomena/generic.dm @@ -18,7 +18,7 @@ if(object_to_move) events_repository.unregister(/decl/observ/destroyed, object_to_move,src) object_to_move = new object_type() - events_repository.register(/decl/observ/destroyed, object_to_move, src, .proc/add_object) + events_repository.register(/decl/observ/destroyed, object_to_move, src, PROC_REF(add_object)) /datum/phenomena/movable_object/activate(var/atom/a, var/mob/living/deity/user) ..() diff --git a/code/modules/mob/living/deity/phenomena/starlight.dm b/code/modules/mob/living/deity/phenomena/starlight.dm index 6a8a98f1990..762cb18d549 100644 --- a/code/modules/mob/living/deity/phenomena/starlight.dm +++ b/code/modules/mob/living/deity/phenomena/starlight.dm @@ -139,8 +139,8 @@ to_chat(L, "[whisper_from ? "The [whisper_from] speaks to you" : "You hear a whisper say"] \"[message]\"") linked.eyenet.add_source(L) - events_repository.register(/decl/observ/destroyed, L, src, .proc/deactivate_look) - addtimer(CALLBACK(src, .proc/deactivate_look, L), 30 SECONDS) + events_repository.register(/decl/observ/destroyed, L, src, PROC_REF(deactivate_look)) + addtimer(CALLBACK(src, PROC_REF(deactivate_look), L), 30 SECONDS) /datum/phenomena/flickering_whisper/proc/deactivate_look(var/mob/viewer) if(!linked.is_follower(viewer)) //Don't remove if they are follower @@ -198,8 +198,8 @@ SET_STATUS_MAX(L, STAT_WEAK, 1) new /obj/aura/starborn(L) L.status_flags |= GODMODE - events_repository.register(/decl/observ/destroyed, L,src,.proc/fail_ritual) - addtimer(CALLBACK(src, .proc/succeed_ritual, L), 600 SECONDS) //6 minutes + events_repository.register(/decl/observ/destroyed, L,src,PROC_REF(fail_ritual)) + addtimer(CALLBACK(src, PROC_REF(succeed_ritual), L), 600 SECONDS) //6 minutes for(var/mob/living/player in global.player_list) sound_to(player, 'sound/effects/cascade.ogg') if(player?.mind?.assigned_job?.is_holy) diff --git a/code/modules/mob/living/inventory.dm b/code/modules/mob/living/inventory.dm index 4adf6cf09d6..1c102bb0552 100644 --- a/code/modules/mob/living/inventory.dm +++ b/code/modules/mob/living/inventory.dm @@ -39,17 +39,17 @@ qdel(existing_slot) LAZYDISTINCTADD(_held_item_slots, held_slot.slot_id) add_inventory_slot(held_slot) - if(!get_active_hand()) + if(!get_active_held_item_slot()) select_held_item_slot(held_slot.slot_id) queue_hand_rebuild() /mob/living/remove_held_item_slot(var/slot) var/datum/inventory_slot/inv_slot = istype(slot, /datum/inventory_slot) ? slot : get_inventory_slot_datum(slot) if(inv_slot) - LAZYREMOVE(_held_item_slots, slot) + LAZYREMOVE(_held_item_slots, inv_slot.slot_id) remove_inventory_slot(inv_slot) var/held_slots = get_held_item_slots() - if(get_active_held_item_slot() == slot && length(held_slots)) + if(!get_active_held_item_slot() && length(held_slots)) select_held_item_slot(held_slots[1]) queue_hand_rebuild() @@ -168,7 +168,7 @@ if(held) drop_from_inventory(held) qdel(inv_slot) - LAZYREMOVE(_inventory_slots, slot) + LAZYREMOVE(_inventory_slots, inv_slot.slot_id) /mob/living/proc/get_jetpack() var/obj/item/tank/jetpack/thrust = get_equipped_item(slot_back_str) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index 0eb3c2fcc57..e05521f4a06 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -4,7 +4,7 @@ ..() - if (HasMovementHandler(/datum/movement_handler/mob/transformation/)) + if (HasMovementHandler(/datum/movement_handler/mob/transformation)) return // update the current life tick, can be used to e.g. only do something every 4 ticks @@ -20,38 +20,47 @@ //Handle temperature/pressure differences between body and environment handle_environment(loc.return_air()) - - if(stat != DEAD && !is_in_stasis()) - //Breathing, if applicable - handle_breathing() - handle_nutrition_and_hydration() - handle_immunity() - //Body temperature adjusts itself (self-regulation) - stabilize_body_temperature() - - // human/handle_regular_status_updates() needs a cleanup, as blindness should be handled in handle_disabilities() handle_regular_status_updates() // Status & health update, are we dead or alive etc. handle_stasis() if(stat != DEAD) + if(!is_in_stasis()) + . = handle_living_non_stasis_processes() aura_check(AURA_TYPE_LIFE) - //Check if we're on fire - handle_fire() - for(var/obj/item/grab/G in get_active_grabs()) G.Process() + //Check if we're on fire + handle_fire() handle_actions() - UpdateLyingBuckledAndVerbStatus() - handle_regular_hud_updates() - handle_status_effects() return 1 +/mob/living/proc/handle_living_non_stasis_processes() + // hungy + handle_nutrition_and_hydration() + // Breathing, if applicable + handle_breathing() + // Mutations and radiation + handle_mutations_and_radiation() + // Chemicals in the body + handle_chemicals_in_body() + // Random events (vomiting etc) + handle_random_events() + // eye, ear, brain damages + handle_disabilities() + handle_immunity() + //Body temperature adjusts itself (self-regulation) + stabilize_body_temperature() + // Only handle AI stuff if we're not being played. + if(!key) + handle_legacy_ai() + return TRUE + /mob/living/proc/experiences_hunger_and_thirst() return TRUE @@ -67,6 +76,10 @@ return my_species.hunger_factor return 0 +// Used to handle non-datum AI. +/mob/living/proc/handle_legacy_ai() + return + /mob/living/proc/handle_nutrition_and_hydration() SHOULD_CALL_PARENT(TRUE) if(!experiences_hunger_and_thirst()) @@ -253,37 +266,76 @@ //This updates the health and status of the mob (conscious, unconscious, dead) /mob/living/proc/handle_regular_status_updates() + + SHOULD_CALL_PARENT(TRUE) + + // Check if we are (or should be) dead at this point. update_health() - if(stat != DEAD) - if(HAS_STATUS(src, STAT_PARA)) - set_stat(UNCONSCIOUS) - else if (status_flags & FAKEDEATH) - set_stat(UNCONSCIOUS) - else - set_stat(CONSCIOUS) + + if(!handle_some_updates()) + return FALSE + + // Godmode just skips most of this processing. + if(status_flags & GODMODE) + set_stat(CONSCIOUS) + germ_level = 0 return TRUE + // TODO: move hallucinations into a status condition decl. + if(hallucination_power) + handle_hallucinations() + + // Increase germ_level regularly + if(germ_level < GERM_LEVEL_AMBIENT && prob(30)) //if you're just standing there, you shouldn't get more germs beyond an ambient level + germ_level++ + // If you're dirty, your gloves will become dirty, too. + var/obj/item/gloves = get_equipped_item(slot_gloves_str) + if(gloves && germ_level > gloves.germ_level && prob(10)) + gloves.germ_level++ + + // If we're dead, don't continue further. + if(stat == DEAD) + return FALSE + + // Handle some general state updates. + if(HAS_STATUS(src, STAT_PARA)) + set_stat(UNCONSCIOUS) + else if (status_flags & FAKEDEATH) + set_stat(UNCONSCIOUS) + else + set_stat(CONSCIOUS) + return TRUE + /mob/living/proc/handle_disabilities() handle_impaired_vision() handle_impaired_hearing() /mob/living/proc/handle_impaired_vision() - if((sdisabilities & BLINDED) || stat) //blindness from disability or unconsciousness doesn't get better on its own + SHOULD_CALL_PARENT(TRUE) + if(stat == DEAD) + SET_STATUS_MAX(src, STAT_BLIND, 0) + if(stat != CONSCIOUS && (sdisabilities & BLINDED)) //blindness from disability or unconsciousness doesn't get better on its own SET_STATUS_MAX(src, STAT_BLIND, 2) + else + return TRUE + return FALSE /mob/living/proc/handle_impaired_hearing() if((sdisabilities & DEAFENED) || stat) //disabled-deaf, doesn't get better on its own SET_STATUS_MAX(src, STAT_TINNITUS, 2) +/mob/living/proc/should_do_hud_updates() + return client + //this handles hud updates. Calls update_vision() and handle_hud_icons() /mob/living/proc/handle_regular_hud_updates() - if(!client) return 0 - + SHOULD_CALL_PARENT(TRUE) + if(!should_do_hud_updates()) + return FALSE handle_hud_icons() handle_vision() handle_low_light_vision() - - return 1 + return TRUE /mob/living/proc/handle_low_light_vision() @@ -314,10 +366,8 @@ /mob/living/proc/handle_vision() update_sight() - if(stat == DEAD) return - if(is_blind()) overlay_fullscreen("blind", /obj/screen/fullscreen/blind) else @@ -325,9 +375,7 @@ set_fullscreen(disabilities & NEARSIGHTED, "impaired", /obj/screen/fullscreen/impaired, 1) set_fullscreen(GET_STATUS(src, STAT_BLURRY), "blurry", /obj/screen/fullscreen/blurry) set_fullscreen(GET_STATUS(src, STAT_DRUGGY), "high", /obj/screen/fullscreen/high) - set_fullscreen(stat == UNCONSCIOUS, "blackout", /obj/screen/fullscreen/blackout) - if(machine) var/viewflags = machine.check_eye(src) if(viewflags < 0) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2fd8fb218bf..c82af3d160a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -202,10 +202,12 @@ default behaviour is: return (getOxyLoss()+getToxLoss()+getFireLoss()+getBruteLoss()+getCloneLoss()+getHalLoss()) /mob/living/proc/update_health() + SHOULD_CALL_PARENT(TRUE) if(status_flags & GODMODE) current_health = get_max_health() set_stat(CONSCIOUS) return + var/max_health = get_max_health() current_health = clamp(max_health-get_total_life_damage(), -(max_health), max_health) if(stat != DEAD && should_be_dead()) @@ -743,6 +745,9 @@ default behaviour is: return 1 /mob/living/Destroy() + QDEL_NULL(aiming) + QDEL_NULL_LIST(_hallucinations) + QDEL_NULL_LIST(aimed_at_by) if(stressors) // Do not QDEL_NULL, keys are managed instances. stressors = null if(auras) @@ -853,9 +858,12 @@ default behaviour is: /mob/living/proc/eyecheck() return FLASH_PROTECTION_NONE -/mob/living/proc/get_max_nutrition() +/mob/living/proc/get_satiated_nutrition() return 500 +/mob/living/proc/get_max_nutrition() + return 550 + /mob/living/proc/set_nutrition(var/amt) nutrition = clamp(amt, 0, get_max_nutrition()) @@ -943,7 +951,11 @@ default behaviour is: /mob/living/proc/can_do_special_ranged_attack(var/check_flag = TRUE) return TRUE +/mob/living/proc/get_food_satiation() + . = get_nutrition() + (get_ingested_reagents()?.total_volume * 10) + /mob/living/proc/get_ingested_reagents() + RETURN_TYPE(/datum/reagents) return reagents /mob/living/proc/should_have_organ(organ_to_check) @@ -957,12 +969,15 @@ default behaviour is: return root_bodytype?.has_limbs[limb_to_check] /mob/living/proc/get_contact_reagents() + RETURN_TYPE(/datum/reagents) return reagents /mob/living/proc/get_injected_reagents() + RETURN_TYPE(/datum/reagents) return reagents /mob/living/proc/get_inhaled_reagents() + RETURN_TYPE(/datum/reagents) return reagents /mob/living/proc/get_adjusted_metabolism(metabolism) diff --git a/code/modules/mob/living/living_appearance.dm b/code/modules/mob/living/living_appearance.dm new file mode 100644 index 00000000000..359cb835ccf --- /dev/null +++ b/code/modules/mob/living/living_appearance.dm @@ -0,0 +1,80 @@ +/mob/living + var/list/mob_overlays[TOTAL_OVER_LAYERS] + var/list/mob_underlays[TOTAL_UNDER_LAYERS] + +/mob/living/update_icon() + ..() + compile_overlays() + +/mob/living/on_update_icon() + SHOULD_CALL_PARENT(TRUE) + ..() + cut_overlays() + if(auras) + for(var/obj/aura/aura as anything in auras) + var/image/A = new() + A.appearance = aura + add_overlay(A) + try_refresh_visible_overlays() + +/mob/living/proc/get_skin_colour() + return + +/mob/living/proc/get_eye_colour() + return + +/mob/living/proc/get_lip_colour() + return + +/mob/living/proc/get_hairstyle() + return + +/mob/living/proc/get_facial_hairstyle() + return + +/mob/living/proc/get_hair_colour() + return + +/mob/living/proc/get_facial_hair_colour() + return + +/mob/living/proc/set_skin_colour(var/new_color) + return get_skin_colour() != new_color + +/mob/living/proc/set_eye_colour(var/new_color) + return get_eye_colour() != new_color + +/mob/living/proc/set_lip_colour(var/new_color) + return get_lip_colour() != new_color + +/mob/living/proc/set_facial_hair_colour(var/new_color, var/skip_update = FALSE) + return get_facial_hair_colour() != new_color + +/mob/living/proc/set_hair_colour(var/new_color, var/skip_update = FALSE) + return get_hair_colour() != new_color + +/mob/living/proc/set_hairstyle(var/new_hairstyle) + return new_hairstyle && get_hairstyle() != new_hairstyle && ispath(new_hairstyle, /decl/sprite_accessory/hair) + +/mob/living/proc/set_facial_hairstyle(var/new_facial_hairstyle) + return new_facial_hairstyle && get_facial_hairstyle() != new_facial_hairstyle && ispath(new_facial_hairstyle, /decl/sprite_accessory/facial_hair) + +/mob/living/get_all_current_mob_overlays() + return mob_overlays + +/mob/living/set_current_mob_overlay(var/overlay_layer, var/image/overlay, var/redraw_mob = TRUE) + mob_overlays[overlay_layer] = overlay + ..() + +/mob/living/get_current_mob_overlay(var/overlay_layer) + return mob_overlays[overlay_layer] + +/mob/living/get_all_current_mob_underlays() + return mob_underlays + +/mob/living/set_current_mob_underlay(var/underlay_layer, var/image/underlay, var/redraw_mob = TRUE) + mob_underlays[underlay_layer] = underlay + ..() + +/mob/living/get_current_mob_underlay(var/underlay_layer) + return mob_underlays[underlay_layer] diff --git a/code/modules/mob/living/living_breath.dm b/code/modules/mob/living/living_breath.dm index b354bc045cf..57ad8ef78a7 100644 --- a/code/modules/mob/living/living_breath.dm +++ b/code/modules/mob/living/living_breath.dm @@ -34,7 +34,7 @@ if(ticks_since_last_successful_breath>0) //Suffocating so do not take a breath ticks_since_last_successful_breath-- if (prob(10) && !is_asystole() && active_breathe) //Gasp per 10 ticks? Sounds about right. - INVOKE_ASYNC(src, .proc/emote, "gasp") + INVOKE_ASYNC(src, PROC_REF(emote), "gasp") else //Okay, we can breathe, now check if we can get air var/volume_needed = get_breath_volume() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 1553c2b6968..5cfb37d77a8 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -170,7 +170,7 @@ /mob/living/momentum_do(var/power, var/datum/thrownthing/TT, var/atom/movable/AM) if(power >= 0.75) //snowflake to enable being pinned to walls var/direction = TT.init_dir - throw_at(get_edge_target_turf(src, direction), min((TT.maxrange - TT.dist_travelled) * power, 10), throw_speed * min(power, 1.5), callback = CALLBACK(src,/mob/living/proc/pin_to_wall,AM,direction)) + throw_at(get_edge_target_turf(src, direction), min((TT.maxrange - TT.dist_travelled) * power, 10), throw_speed * min(power, 1.5), callback = CALLBACK(src, TYPE_PROC_REF(/mob/living, pin_to_wall), AM, direction)) visible_message(SPAN_DANGER("\The [src] staggers under the impact!"),SPAN_DANGER("You stagger under the impact!")) return diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index daa5cf114a7..7eab17ec15a 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -6,7 +6,7 @@ //Health and life related vars var/mob_default_max_health = 100 //Maximum health that should be possible. - var/current_health = INFINITY // A mob's current health. Set by updatehealth(). Defaults to INFINITY so mobs don't die on init. + var/current_health = INFINITY // A mob's current health. Set by update_health(). Defaults to INFINITY so mobs don't die on init. var/hud_updateflag = 0 diff --git a/code/modules/mob/living/living_dreams.dm b/code/modules/mob/living/living_dreams.dm new file mode 100644 index 00000000000..53b15252827 --- /dev/null +++ b/code/modules/mob/living/living_dreams.dm @@ -0,0 +1,14 @@ +/mob/living + var/dreaming = FALSE + +/mob/living/proc/handle_dreams() + set waitfor = FALSE + if(!client || dreaming || !prob(5)) + return + dreaming = TRUE + for(var/i = 1 to rand(1,4)) + to_chat(src, SPAN_NOTICE("... [pick(SSlore.dreams)] ...")) + sleep(rand(4 SECONDS, 7 SECONDS)) + if(!HAS_STATUS(src, STAT_ASLEEP)) + break + dreaming = FALSE diff --git a/code/modules/mob/living/living_hallucinations.dm b/code/modules/mob/living/living_hallucinations.dm new file mode 100644 index 00000000000..c5e4d290f96 --- /dev/null +++ b/code/modules/mob/living/living_hallucinations.dm @@ -0,0 +1,52 @@ +/mob/living + var/hallucination_power = 0 + var/hallucination_duration = 0 + var/next_hallucination + var/list/_hallucinations + +/mob/living/proc/adjust_hallucination(duration, power) + hallucination_duration = max(0, hallucination_duration + duration) + hallucination_power = max(0, hallucination_power + power) + +/mob/living/proc/set_hallucination(duration, power) + hallucination_duration = max(hallucination_duration, duration) + hallucination_power = max(hallucination_power, power) + +/mob/living/proc/handle_hallucinations() + //Tick down the duration + hallucination_duration = max(0, hallucination_duration - 1) + //Adjust power if we have some chems that affect it + if(has_chemical_effect(CE_MIND, threshold_under = -1)) + hallucination_power = hallucination_power++ + else if(has_chemical_effect(CE_MIND, threshold_under = 0)) + hallucination_power = min(hallucination_power++, 50) + else if(has_chemical_effect(CE_MIND, 1)) + hallucination_duration = max(0, hallucination_duration - 1) + hallucination_power = max(hallucination_power - GET_CHEMICAL_EFFECT(src, CE_MIND), 0) + + //See if hallucination is gone + if(!hallucination_power) + hallucination_duration = 0 + return + if(!hallucination_duration) + hallucination_power = 0 + return + + if(!client || stat || world.time < next_hallucination) + return + if(has_chemical_effect(CE_MIND, 1) && prob(GET_CHEMICAL_EFFECT(src, CE_MIND)*40)) //antipsychotics help + return + var/hall_delay = rand(10,20) SECONDS + + if(hallucination_power < 50) + hall_delay *= 2 + next_hallucination = world.time + hall_delay + var/list/candidates = list() + for(var/T in subtypesof(/datum/hallucination)) + var/datum/hallucination/H = new T + if(H.can_affect(src)) + candidates += H + if(candidates.len) + var/datum/hallucination/H = pick(candidates) + H.holder = src + H.activate_hallucination() diff --git a/code/modules/mob/living/living_maneuvers.dm b/code/modules/mob/living/living_maneuvers.dm index 85a2a06bcbe..89a47a1f63b 100644 --- a/code/modules/mob/living/living_maneuvers.dm +++ b/code/modules/mob/living/living_maneuvers.dm @@ -15,7 +15,7 @@ if(!can_fall(location_override = check)) break if(check && check != loc) - addtimer(CALLBACK(src, /mob/living/proc/reflexive_maneuver_callback, lastloc, check), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living, reflexive_maneuver_callback), lastloc, check), 0) return . = ..() @@ -25,13 +25,13 @@ forceMove(get_turf(origin)) prepared_maneuver.perform(src, check, get_acrobatics_multiplier(prepared_maneuver), reflexively = TRUE) prepared_maneuver = null - maneuver_icon.icon_state = "maneuver_off" + maneuver_icon?.icon_state = "maneuver_off" /mob/living/proc/try_maneuver(var/atom/target) if(prepared_maneuver && (isturf(target) || isturf(target.loc))) // Avoid trying to jump at your backpack contents. prepared_maneuver.perform(src, get_turf(target), get_acrobatics_multiplier(prepared_maneuver)) prepared_maneuver = null - maneuver_icon.icon_state = "maneuver_off" + maneuver_icon?.icon_state = "maneuver_off" return TRUE return FALSE @@ -59,11 +59,11 @@ if(!maneuver.can_be_used_by(src, null)) return prepared_maneuver = maneuver - maneuver_icon.icon_state = "maneuver_on" + maneuver_icon?.icon_state = "maneuver_on" to_chat(src, SPAN_NOTICE("You prepare to [prepared_maneuver.name].")) else prepared_maneuver = null - maneuver_icon.icon_state = "maneuver_off" + maneuver_icon?.icon_state = "maneuver_off" to_chat(src, SPAN_NOTICE("You are no longer preparing to perform a maneuver.")) /mob/living/proc/perform_maneuver(var/maneuver, var/atom/target) @@ -71,7 +71,7 @@ if(istype(performing_maneuver)) . = performing_maneuver.perform(src, target, get_acrobatics_multiplier(performing_maneuver)) prepared_maneuver = null - maneuver_icon.icon_state = "maneuver_off" + maneuver_icon?.icon_state = "maneuver_off" /mob/living/proc/get_acrobatics_multiplier(var/decl/maneuver/attempting_maneuver) return 1 diff --git a/code/modules/mob/living/living_status.dm b/code/modules/mob/living/living_status.dm index 1014107e700..11c01992201 100644 --- a/code/modules/mob/living/living_status.dm +++ b/code/modules/mob/living/living_status.dm @@ -13,7 +13,7 @@ if(amount == PENDING_STATUS(src, condition)) return FALSE LAZYSET(pending_status_counters, condition, amount) - addtimer(CALLBACK(src, .proc/apply_pending_status_changes), 0, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(apply_pending_status_changes)), 0, TIMER_UNIQUE) return TRUE /mob/living/proc/rebuild_status_markers() diff --git a/code/modules/mob/living/maneuvers/maneuver_leap.dm b/code/modules/mob/living/maneuvers/maneuver_leap.dm index 72243454579..5dd783f2765 100644 --- a/code/modules/mob/living/maneuvers/maneuver_leap.dm +++ b/code/modules/mob/living/maneuvers/maneuver_leap.dm @@ -16,8 +16,8 @@ user.jump_layer_shift() animate(user, pixel_z = 16, time = 3, easing = SINE_EASING | EASE_IN) animate(pixel_z = user.default_pixel_z, time = 3, easing = SINE_EASING | EASE_OUT) - user.throw_at(get_turf(target), strength, 1, user, FALSE, CALLBACK(src, /decl/maneuver/leap/proc/end_leap, user, target, old_pass_flags)) - addtimer(CALLBACK(user, /mob/living/proc/jump_layer_shift_end), 4.5) + user.throw_at(get_turf(target), strength, 1, user, FALSE, CALLBACK(src, TYPE_PROC_REF(/decl/maneuver/leap, end_leap), user, target, old_pass_flags)) + addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, jump_layer_shift_end)), 4.5) /decl/maneuver/leap/proc/end_leap(var/mob/living/user, var/atom/target, var/pass_flag) user.pass_flags = pass_flag diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 50eee15f469..6bf47b4c9a9 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -300,10 +300,10 @@ if(O) //It's possible that it could be deleted in the meantime. O.hear_talk(src, stars(message), verb, speaking) - INVOKE_ASYNC(GLOBAL_PROC, .proc/animate_speech_bubble, speech_bubble, speech_bubble_recipients | eavesdroppers, 30) - INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, message, speaking, italics, speech_bubble_recipients) + INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(animate_speech_bubble), speech_bubble, speech_bubble_recipients | eavesdroppers, 30) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, animate_chat), message, speaking, italics, speech_bubble_recipients) if(length(eavesdroppers)) - INVOKE_ASYNC(src, /atom/movable/proc/animate_chat, stars(message), speaking, italics, eavesdroppers) + INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, animate_chat), stars(message), speaking, italics, eavesdroppers) if(whispering) log_whisper("[name]/[key] : [message]") diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index faa97d12108..68df276f1d2 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -1,48 +1,35 @@ /mob/living/silicon/ai/should_be_dead() return get_health_percent() <= 0 || backup_capacitor() <= 0 -/mob/living/silicon/ai/Life() - - SHOULD_CALL_PARENT(FALSE) - - if (src.stat!=CONSCIOUS) +/mob/living/silicon/ai/handle_regular_status_updates() + . = ..() + if(stat != CONSCIOUS) src.cameraFollow = null src.reset_view(null) - update_health() // TODO: move to handle_regular_status_updates() and preserve parent call chain, Life() PR - if(stat == DEAD) - return +/mob/living/silicon/ai/update_lying() + lying = FALSE +/mob/living/silicon/ai/handle_living_non_stasis_processes() + . = ..() // If our powersupply object was destroyed somehow, create new one. if(!psupply) create_powersupply() - - lying = 0 // Handle lying down - // We aren't shut down, and we lack external power. Try to fix it using the restoration routine. if (!self_shutdown && !has_power(0)) // AI's restore power routine is not running. Start it automatically. if(aiRestorePowerRoutine == AI_RESTOREPOWER_IDLE) aiRestorePowerRoutine = AI_RESTOREPOWER_STARTING handle_power_failure() - - handle_impaired_vision() update_power_usage() handle_power_oxyloss() - update_sight() - process_queued_alarms() - handle_regular_hud_updates() - switch(src.sensor_mode) if (SEC_HUD) process_sec_hud(src,0,src.eyeobj,get_computer_network()) if (MED_HUD) process_med_hud(src,0,src.eyeobj,get_computer_network()) - process_os() - handle_status_effects() - if(controlling_drone && stat != CONSCIOUS) controlling_drone.release_ai_control("WARNING: Primary control loop failure. Session terminated.") diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index b6ed6962fff..c59c817f66a 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -1,31 +1,19 @@ -/mob/living/silicon/pai/Life() - - SHOULD_CALL_PARENT(FALSE) - - update_health() - if (src.stat == DEAD) - return - - if(src.cable) - if(get_dist(src, cable) > 1) - visible_message( \ - message = SPAN_NOTICE("The data cable rapidly retracts back into its spool."), \ - blind_message = SPAN_NOTICE("You hear a click and the sound of wire spooling rapidly.")) - QDEL_NULL(cable) - - handle_regular_hud_updates() - - if(src.secHUD == 1) - process_sec_hud(src, 1, network = get_computer_network()) - - if(src.medHUD == 1) - process_med_hud(src, 1, network = get_computer_network()) - +/mob/living/silicon/pai/handle_regular_hud_updates() + . = ..() + if(.) + if(src.secHUD == 1) + process_sec_hud(src, 1, network = get_computer_network()) + if(src.medHUD == 1) + process_med_hud(src, 1, network = get_computer_network()) + +/mob/living/silicon/pai/handle_regular_status_updates() + . = ..() process_os() // better safe than sorry, in case some pAI has it - - if(silence_time) - if(world.timeofday >= silence_time) - silence_time = null - to_chat(src, SPAN_NOTICE("Communication circuit reinitialized. Speech and messaging functionality restored.")) - - handle_status_effects() + if(src.cable && get_dist(src, cable) > 1) + visible_message( \ + message = SPAN_NOTICE("The data cable rapidly retracts back into its spool."), \ + blind_message = SPAN_NOTICE("You hear a click and the sound of wire spooling rapidly.")) + QDEL_NULL(cable) + +/mob/living/silicon/pai/death(gibbed, deathmessage, show_dead_message) + return ..(deathmessage = "gives one shrill beep before falling lifeless.") diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index bc8f1133234..2be9d6e687e 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -59,8 +59,6 @@ var/global/list/possible_say_verbs = list( var/pai_law0 = "Serve your master." var/pai_laws // String for additional operating instructions our master might give us - var/silence_time // Timestamp when we were silenced (normally via EMP burst), set to null after silence has faded - // Various software-specific vars var/secHUD = 0 // Toggles whether the Security HUD is active or not @@ -115,9 +113,8 @@ var/global/list/possible_say_verbs = list( // this function shows the information about being silenced as a pAI in the Status panel /mob/living/silicon/pai/proc/show_silenced() - if(silence_time) - var/timeleft = round((silence_time - world.timeofday)/10 ,1) - stat(null, "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") + var/timeleft = round((HAS_STATUS(src, STAT_SILENCE) * SSmobs.wait) / 10, 1) + stat(null, "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]") /mob/living/silicon/pai/Stat() . = ..() @@ -140,7 +137,7 @@ var/global/list/possible_say_verbs = list( // 33% chance to change prime directive (based on severity) // 33% chance of no additional effect - silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes + SET_STATUS_MAX(src, STAT_SILENCE, 2 MINUTES) to_chat(src, SPAN_DANGER("Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.")) if(prob(20)) visible_message( \ diff --git a/code/modules/mob/living/silicon/pai/say.dm b/code/modules/mob/living/silicon/pai/say.dm index efc75877826..732261c052d 100644 --- a/code/modules/mob/living/silicon/pai/say.dm +++ b/code/modules/mob/living/silicon/pai/say.dm @@ -1,5 +1,5 @@ /mob/living/silicon/pai/say(var/msg) - if(silence_time) + if(HAS_STATUS(src, STAT_SILENCE)) to_chat(src, SPAN_WARNING("Communication circuits are disabled.")) return return ..(msg) diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index 475f54b884c..c3187cfa3d9 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -12,7 +12,7 @@ w_class = ITEM_SIZE_SMALL throw_speed = 5 throw_range = 10 - origin_tech = "{'magnets':2,'biotech':1,'engineering':2}" + origin_tech = @'{"magnets":2,"biotech":1,"engineering":2}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm index c529954a21a..31414a6c4f4 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone.dm @@ -56,10 +56,10 @@ verbs -= /mob/living/silicon/robot/verb/Namepick update_icon() - events_repository.register(/decl/observ/moved, src, src, /mob/living/silicon/robot/drone/proc/on_moved) + events_repository.register(/decl/observ/moved, src, src, TYPE_PROC_REF(/mob/living/silicon/robot/drone, on_moved)) /mob/living/silicon/robot/drone/Destroy() - events_repository.unregister(/decl/observ/moved, src, src, /mob/living/silicon/robot/drone/proc/on_moved) + events_repository.unregister(/decl/observ/moved, src, src, TYPE_PROC_REF(/mob/living/silicon/robot/drone, on_moved)) . = ..() /mob/living/silicon/robot/drone/proc/on_moved(var/atom/movable/am, var/turf/old_loc, var/turf/new_loc) @@ -77,7 +77,7 @@ /mob/living/silicon/robot/drone/can_be_possessed_by(var/mob/observer/ghost/possessor) if(!istype(possessor) || !possessor.client || !possessor.ckey) return 0 - if(!config.allow_drone_spawn) + if(!get_config_value(/decl/config/toggle/on/allow_drone_spawn)) to_chat(src, "Playing as drones is not currently permitted.") return 0 if(too_many_active_drones()) @@ -179,7 +179,7 @@ if(stat == DEAD) - if(!config.allow_drone_spawn || emagged || should_be_dead()) //It's dead, Dave. + if(!get_config_value(/decl/config/toggle/on/allow_drone_spawn) || emagged || should_be_dead()) //It's dead, Dave. to_chat(user, "The interface is fried, and a distressing burned smell wafts from the robot's interior. You're not rebooting this one.") return @@ -246,8 +246,8 @@ /mob/living/silicon/robot/drone/death() if(stat != DEAD && should_be_dead()) self_destruct() - return - return ..() + return FALSE + . = ..() /mob/living/silicon/robot/drone/self_destruct() timeofdeath = world.time @@ -340,7 +340,7 @@ for(var/mob/living/silicon/robot/drone/D in global.silicon_mob_list) if(D.key && D.client) drones++ - return drones >= config.max_maint_drones + return drones >= get_config_value(/decl/config/num/max_maint_drones) /mob/living/silicon/robot/drone/show_laws(var/everyone = 0) if(!controlling_ai) diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index a4d759a82de..20b5a0bf3d8 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -199,7 +199,7 @@ var/resolved = wrapped.resolve_attackby(target,user,params) //If resolve_attackby forces waiting before taking wrapped, we need to let it finish before doing the rest. - addtimer(CALLBACK(src, .proc/finish_using, target, user, params, force_holder, resolved), 0) + addtimer(CALLBACK(src, PROC_REF(finish_using), target, user, params, force_holder, resolved), 0) else if(istype(target,/obj/item)) //Check that we're not pocketing a mob. var/obj/item/I = target diff --git a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm index 8e53f6adbaf..da19e46697c 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_manufacturer.dm @@ -64,14 +64,14 @@ icon_state = "drone_fab_active" var/elapsed = world.time - time_last_drone - drone_progress = round((elapsed/config.drone_build_time)*100) + drone_progress = round((elapsed/get_config_value(/decl/config/num/drone_build_time))*100) if(drone_progress >= 100) visible_message("\The [src] voices a strident beep, indicating a drone chassis is prepared.") /obj/machinery/drone_fabricator/examine(mob/user) . = ..() - if(produce_drones && drone_progress >= 100 && isghost(user) && config.allow_drone_spawn && count_drones() < config.max_maint_drones) + if(produce_drones && drone_progress >= 100 && isghost(user) && get_config_value(/decl/config/toggle/on/allow_drone_spawn) && count_drones() < get_config_value(/decl/config/num/max_maint_drones)) to_chat(user, "
    A drone is prepared. Select 'Join As Drone' from the Ghost tab to spawn as a maintenance drone.") /obj/machinery/drone_fabricator/proc/create_drone(var/client/player) @@ -79,7 +79,7 @@ if(stat & NOPOWER) return - if(!produce_drones || !config.allow_drone_spawn || count_drones() >= config.max_maint_drones) + if(!produce_drones || !get_config_value(/decl/config/toggle/on/allow_drone_spawn) || count_drones() >= get_config_value(/decl/config/num/max_maint_drones)) return if(player && !isghost(player.mob)) @@ -110,7 +110,7 @@ to_chat(user, "The game hasn't started yet!") return - if(!(config.allow_drone_spawn)) + if(!get_config_value(/decl/config/toggle/on/allow_drone_spawn)) to_chat(user, "That verb is not currently permitted.") return @@ -118,7 +118,7 @@ to_chat(user, "You are banned from playing synthetics and cannot spawn as a drone.") return - if(config.use_age_restriction_for_jobs && isnum(user.client.player_age)) + if(get_config_value(/decl/config/num/use_age_restriction_for_jobs) && isnum(user.client.player_age)) if(user.client.player_age <= 3) to_chat(user, " Your account is not old enough to play as a maintenance drone.") return diff --git a/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm b/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm index fb74bdbf59b..36b89ea29cf 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_remote_control.dm @@ -7,7 +7,7 @@ /mob/living/silicon/robot/drone/attack_ai(mob/living/silicon/ai/user) - if(!istype(user) || controlling_ai || !config.allow_drone_spawn) + if(!istype(user) || controlling_ai || !get_config_value(/decl/config/toggle/on/allow_drone_spawn)) return if(stat != DEAD || client || key) @@ -46,7 +46,7 @@ /obj/machinery/drone_fabricator/attack_ai(mob/living/silicon/ai/user) - if(!istype(user) || user.controlling_drone || !config.allow_drone_spawn) + if(!istype(user) || user.controlling_drone || !get_config_value(/decl/config/toggle/on/allow_drone_spawn)) return if(stat & NOPOWER) @@ -61,7 +61,7 @@ to_chat(user, "\The [src] is not ready to produce a new drone.") return - if(count_drones() >= config.max_maint_drones) + if(count_drones() >= get_config_value(/decl/config/num/max_maint_drones)) to_chat(user, "The drone control subsystems are tasked to capacity; they cannot support any more drones.") return diff --git a/code/modules/mob/living/silicon/robot/flying/flying.dm b/code/modules/mob/living/silicon/robot/flying/flying.dm index b242c869bb7..dbd40ea19a0 100644 --- a/code/modules/mob/living/silicon/robot/flying/flying.dm +++ b/code/modules/mob/living/silicon/robot/flying/flying.dm @@ -21,7 +21,7 @@ components["comms"] = new/datum/robot_component/binary_communication(src) components["armour"] = new/datum/robot_component/armour/light(src) -/mob/living/silicon/robot/flying/Life() +/mob/living/silicon/robot/flying/handle_regular_status_updates() . = ..() if(incapacitated() || !is_component_functioning("actuator")) stop_flying() diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 8aefbe546d1..46eead28499 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -1,39 +1,12 @@ -/mob/living/silicon/robot/Life() - - SHOULD_CALL_PARENT(FALSE) - - set invisibility = FALSE - set background = 1 - - if (HAS_TRANSFORMATION_MOVEMENT_HANDLER(src)) - return - - //Status updates, death etc. - clamp_values() - handle_regular_status_updates() - handle_actions() - - if(client) - handle_regular_hud_updates() - update_items() - if (src.stat != DEAD) //still using power +/mob/living/silicon/robot/handle_living_non_stasis_processes() + . = ..() + if(.) use_power() process_killswitch() process_locks() process_queued_alarms() process_os() - handle_status_effects() - UpdateLyingBuckledAndVerbStatus() - -/mob/living/silicon/robot/proc/clamp_values() - set_status(STAT_PARA, min(GET_STATUS(src, STAT_PARA), 30)) - set_status(STAT_ASLEEP, 0) - adjustBruteLoss(0, do_update_health = FALSE) - adjustToxLoss(0, do_update_health = FALSE) - adjustOxyLoss(0, do_update_health = FALSE) - adjustFireLoss(0) - /mob/living/silicon/robot/proc/use_power() used_power_this_tick = 0 for(var/V in components) @@ -68,11 +41,13 @@ set_light(0) /mob/living/silicon/robot/should_be_dead() - return current_health < config.health_threshold_dead + return current_health < get_config_value(/decl/config/num/health_health_threshold_dead) /mob/living/silicon/robot/handle_regular_status_updates() + SHOULD_CALL_PARENT(FALSE) update_health() + set_status(STAT_PARA, min(GET_STATUS(src, STAT_PARA), 30)) if(HAS_STATUS(src, STAT_ASLEEP)) SET_STATUS_MAX(src, STAT_PARA, 3) @@ -115,8 +90,9 @@ return 1 /mob/living/silicon/robot/handle_regular_hud_updates() - ..() - + . = ..() + if(!.) + return var/obj/item/borg/sight/hud/hud = (locate(/obj/item/borg/sight/hud) in src) if(hud && hud.hud) hud.hud.process_hud(src) @@ -165,7 +141,7 @@ if(0 to 50) src.healths.icon_state = "health4" else - if(current_health > config.health_threshold_dead) + if(current_health > get_config_value(/decl/config/num/health_health_threshold_dead)) src.healths.icon_state = "health5" else src.healths.icon_state = "health6" @@ -230,6 +206,7 @@ set_fullscreen(GET_STATUS(src, STAT_BLURRY), "blurry", /obj/screen/fullscreen/blurry) set_fullscreen(GET_STATUS(src, STAT_DRUGGY), "high", /obj/screen/fullscreen/high) + update_items() return 1 /mob/living/silicon/robot/handle_vision() diff --git a/code/modules/mob/living/silicon/robot/robot_movement.dm b/code/modules/mob/living/silicon/robot/robot_movement.dm index ff5553a8004..89e537c8125 100644 --- a/code/modules/mob/living/silicon/robot/robot_movement.dm +++ b/code/modules/mob/living/silicon/robot/robot_movement.dm @@ -27,4 +27,4 @@ if(module_active && istype(module_active,/obj/item/borg/combat/mobility)) tally-=3 - return tally+config.robot_delay + return tally+get_config_value(/decl/config/num/movement_robot) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/subsystems.dm b/code/modules/mob/living/silicon/subsystems.dm index be952b3df5e..fb03130e74d 100644 --- a/code/modules/mob/living/silicon/subsystems.dm +++ b/code/modules/mob/living/silicon/subsystems.dm @@ -30,7 +30,7 @@ if(/datum/nano_module/alarm_monitor/all in silicon_subsystems) for(var/datum/alarm_handler/AH in SSalarm.all_handlers) - AH.register_alarm(src, /mob/living/silicon/proc/receive_alarm) + AH.register_alarm(src, TYPE_PROC_REF(/mob/living/silicon, receive_alarm)) queued_alarms[AH] = list() // Makes sure alarms remain listed in consistent order /mob/living/silicon/proc/init_subsystem(var/subsystem_type) diff --git a/code/modules/mob/living/simple_animal/constructs/constructs.dm b/code/modules/mob/living/simple_animal/constructs/constructs.dm index 51a5df0a53f..23d000c9ea5 100644 --- a/code/modules/mob/living/simple_animal/constructs/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs/constructs.dm @@ -43,6 +43,9 @@ var/list/construct_spells = list() +/mob/living/simple_animal/construct/check_has_mouth() + return FALSE + /mob/living/simple_animal/construct/on_defilement() return @@ -119,7 +122,7 @@ hitsound = 'sound/weapons/heavysmash.ogg' force = 30 -/mob/living/simple_animal/construct/armoured/Life() +/mob/living/simple_animal/construct/armoured/handle_regular_status_updates() set_status(STAT_WEAK, 0) if ((. = ..())) return @@ -248,17 +251,21 @@ force = 25 ////////////////HUD////////////////////// +/mob/living/simple_animal/construct/handle_regular_status_updates() + . = ..() + if(.) + silence_spells(purge) -/mob/living/simple_animal/construct/Life() +/mob/living/simple_animal/construct/handle_regular_hud_updates() . = ..() if(.) if(fire) fire.icon_state = "fire[!!fire_alert]" silence_spells(purge) -/mob/living/simple_animal/construct/armoured/Life() +/mob/living/simple_animal/construct/armoured/handle_regular_hud_updates() . = ..() - if(healths) + if(. && healths) switch(current_health) if(250 to INFINITY) healths.icon_state = "juggernaut_health0" if(208 to 249) healths.icon_state = "juggernaut_health1" @@ -270,9 +277,9 @@ else healths.icon_state = "juggernaut_health7" -/mob/living/simple_animal/construct/behemoth/Life() +/mob/living/simple_animal/construct/behemoth/handle_regular_hud_updates() . = ..() - if(healths) + if(. && healths) switch(current_health) if(750 to INFINITY) healths.icon_state = "juggernaut_health0" if(625 to 749) healths.icon_state = "juggernaut_health1" @@ -283,9 +290,9 @@ if(1 to 124) healths.icon_state = "juggernaut_health6" else healths.icon_state = "juggernaut_health7" -/mob/living/simple_animal/construct/builder/Life() +/mob/living/simple_animal/construct/builder/handle_regular_hud_updates() . = ..() - if(healths) + if(. && healths) switch(current_health) if(50 to INFINITY) healths.icon_state = "artificer_health0" if(42 to 49) healths.icon_state = "artificer_health1" @@ -298,9 +305,9 @@ -/mob/living/simple_animal/construct/wraith/Life() +/mob/living/simple_animal/construct/wraith/handle_regular_hud_updates() . = ..() - if(healths) + if(. && healths) switch(current_health) if(75 to INFINITY) healths.icon_state = "wraith_health0" if(62 to 74) healths.icon_state = "wraith_health1" @@ -312,9 +319,9 @@ else healths.icon_state = "wraith_health7" -/mob/living/simple_animal/construct/harvester/Life() +/mob/living/simple_animal/construct/harvester/handle_regular_hud_updates() . = ..() - if(healths) + if(. && healths) switch(current_health) if(150 to INFINITY) healths.icon_state = "harvester_health0" if(125 to 149) healths.icon_state = "harvester_health1" diff --git a/code/modules/mob/living/simple_animal/constructs/soulstone.dm b/code/modules/mob/living/simple_animal/constructs/soulstone.dm index cba1c3eed2f..884576424d5 100644 --- a/code/modules/mob/living/simple_animal/constructs/soulstone.dm +++ b/code/modules/mob/living/simple_animal/constructs/soulstone.dm @@ -5,7 +5,7 @@ desc = "A strange, ridged chunk of some glassy red material. Achingly cold to the touch." w_class = ITEM_SIZE_SMALL slot_flags = SLOT_LOWER_BODY - origin_tech = "{'wormholes':4,'materials':4}" + origin_tech = @'{"wormholes":4,"materials":4}' material = /decl/material/solid/gemstone/crystal var/full = SOULSTONE_EMPTY var/is_evil = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 2a6dd1cf0c2..5dd92b4c64b 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -233,7 +233,7 @@ holder_type = /obj/item/holder/runtime /obj/item/holder/runtime - origin_tech = "{'programming':1,'biotech':1}" + origin_tech = @'{"programming":1,"biotech":1}' /mob/living/simple_animal/cat/kitten name = "kitten" diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 3334703a4e8..82f26fade46 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -28,10 +28,9 @@ expected_type = /mob/living/simple_animal/hostile/retaliate/goat /datum/ai/goat/do_process(time_elapsed) - . = ..() - var/mob/living/simple_animal/hostile/retaliate/goat/goat = body //chance to go crazy and start wacking stuff + var/mob/living/simple_animal/hostile/retaliate/goat/goat = body if(!length(goat.enemies) && prob(1)) goat.Retaliate() @@ -66,7 +65,7 @@ QDEL_NULL(udder) . = ..() -/mob/living/simple_animal/hostile/retaliate/goat/handle_regular_status_updates() +/mob/living/simple_animal/hostile/retaliate/goat/handle_living_non_stasis_processes() . = ..() if(. && stat == CONSCIOUS && udder && prob(5)) udder.add_reagent(/decl/material/liquid/drink/milk, rand(5, 10)) @@ -140,7 +139,7 @@ return TRUE . = ..() -/mob/living/simple_animal/cow/handle_regular_status_updates() +/mob/living/simple_animal/cow/handle_living_non_stasis_processes() . = ..() if(. && udder && prob(5)) udder.add_reagent(/decl/material/liquid/drink/milk, rand(5, 10)) @@ -149,7 +148,7 @@ if(stat != DEAD && !HAS_STATUS(src, STAT_WEAK)) user.visible_message(SPAN_NOTICE("\The [user] tips over \the [src].")) SET_STATUS_MAX(src, STAT_WEAK, 30) - addtimer(CALLBACK(src, .proc/do_tip_response), rand(20, 50)) + addtimer(CALLBACK(src, PROC_REF(do_tip_response)), rand(20, 50)) return TRUE return ..() @@ -184,14 +183,13 @@ pixel_x = rand(-6, 6) pixel_y = rand(0, 10) -/mob/living/simple_animal/chick/Life() +/mob/living/simple_animal/chick/handle_living_non_stasis_processes() . = ..() - if(!.) - return FALSE - amount_grown += rand(1,2) - if(amount_grown >= 100) - new /mob/living/simple_animal/chicken(src.loc) - qdel(src) + if(.) + amount_grown += rand(1,2) + if(amount_grown >= 100) + new /mob/living/simple_animal/chicken(src.loc) + qdel(src) var/global/const/MAX_CHICKENS = 50 var/global/chicken_count = 0 @@ -251,11 +249,9 @@ var/global/chicken_count = 0 else ..() -/mob/living/simple_animal/chicken/Life() +/mob/living/simple_animal/chicken/handle_living_non_stasis_processes() . = ..() - if(!.) - return FALSE - if(prob(3) && eggsleft > 0) + if(. && prob(3) && eggsleft > 0) visible_message("[src] [pick("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.")]") eggsleft-- var/obj/item/chems/food/egg/E = new(get_turf(src)) diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index c034134ea0a..4e841b450f1 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -56,7 +56,7 @@ mouse.set_stat(CONSCIOUS) mouse.wander = 1 else if(prob(5)) - INVOKE_ASYNC(mouse, /mob/living/simple_animal/proc/audible_emote, "snuffles.") + INVOKE_ASYNC(mouse, TYPE_PROC_REF(/mob/living/simple_animal, audible_emote), "snuffles.") /mob/living/simple_animal/mouse/Initialize() verbs += /mob/living/proc/ventcrawl diff --git a/code/modules/mob/living/simple_animal/friendly/mushroom.dm b/code/modules/mob/living/simple_animal/friendly/mushroom.dm index 6ce38da19f5..c73bcdd1f8f 100644 --- a/code/modules/mob/living/simple_animal/friendly/mushroom.dm +++ b/code/modules/mob/living/simple_animal/friendly/mushroom.dm @@ -50,7 +50,7 @@ . = ..(gibbed, deathmessage, show_dead_message) if(.) total_mushrooms-- - if(total_mushrooms < config.maximum_mushrooms && prob(30)) + if(total_mushrooms < get_config_value(/decl/config/num/maximum_mushrooms) && prob(30)) spore_explode() /mob/living/simple_animal/mushroom/proc/spore_explode() diff --git a/code/modules/mob/living/simple_animal/friendly/possum.dm b/code/modules/mob/living/simple_animal/friendly/possum.dm index fec7194e9d8..d9d8fef29a4 100644 --- a/code/modules/mob/living/simple_animal/friendly/possum.dm +++ b/code/modules/mob/living/simple_animal/friendly/possum.dm @@ -92,11 +92,11 @@ /mob/living/simple_animal/opossum/poppy/hear_broadcast(decl/language/language, mob/speaker, speaker_name, message) . = ..() - addtimer(CALLBACK(src, .proc/check_keywords, message), rand(1 SECOND, 3 SECONDS)) + addtimer(CALLBACK(src, PROC_REF(check_keywords), message), rand(1 SECOND, 3 SECONDS)) /mob/living/simple_animal/opossum/poppy/hear_say(var/message, var/verb = "says", var/decl/language/language = null, var/alt_name = "",var/italics = 0, var/mob/speaker = null, var/sound/speech_sound, var/sound_vol) . = ..() - addtimer(CALLBACK(src, .proc/check_keywords, message), rand(1 SECOND, 3 SECONDS)) + addtimer(CALLBACK(src, PROC_REF(check_keywords), message), rand(1 SECOND, 3 SECONDS)) /mob/living/simple_animal/opossum/poppy/proc/check_keywords(var/message) if(!client && stat == CONSCIOUS) diff --git a/code/modules/mob/living/simple_animal/hostile/antlion.dm b/code/modules/mob/living/simple_animal/hostile/antlion.dm index bc34f48024e..5f604dfdc9c 100644 --- a/code/modules/mob/living/simple_animal/hostile/antlion.dm +++ b/code/modules/mob/living/simple_animal/hostile/antlion.dm @@ -26,22 +26,17 @@ var/healing = FALSE var/heal_amount = 6 -/mob/living/simple_animal/hostile/antlion/Life() +/mob/living/simple_animal/hostile/antlion/handle_regular_status_updates() . = ..() - process_healing() //this needs to occur before if(!.) because of stop_automation - - if(!.) - return - - if(!is_on_special_ability_cooldown() && can_act() && target_mob) + if(. && !is_on_special_ability_cooldown() && can_act() && target_mob) vanish() /mob/living/simple_animal/hostile/antlion/proc/vanish() visible_message(SPAN_NOTICE("\The [src] burrows into \the [get_turf(src)]!")) set_invisibility(INVISIBILITY_OBSERVER) prep_burrow(TRUE) - addtimer(CALLBACK(src, .proc/diggy), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(diggy)), 5 SECONDS) /mob/living/simple_animal/hostile/antlion/proc/diggy() var/list/turf_targets @@ -60,12 +55,12 @@ continue turf_targets += T if(!LAZYLEN(turf_targets)) //oh no - addtimer(CALLBACK(src, .proc/emerge), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(emerge)), 2 SECONDS) return var/turf/T = pick(turf_targets) if(T && !incapacitated()) forceMove(T) - addtimer(CALLBACK(src, .proc/emerge), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(emerge)), 2 SECONDS) /mob/living/simple_animal/hostile/antlion/proc/emerge() var/turf/T = get_turf(src) diff --git a/code/modules/mob/living/simple_animal/hostile/commanded/nanomachines.dm b/code/modules/mob/living/simple_animal/hostile/commanded/nanomachines.dm index d90264205f5..10da002cdd7 100644 --- a/code/modules/mob/living/simple_animal/hostile/commanded/nanomachines.dm +++ b/code/modules/mob/living/simple_animal/hostile/commanded/nanomachines.dm @@ -14,6 +14,7 @@ response_help_3p = "$USER$ waves $USER_HIS$ hand through $TARGET$." response_harm = "agitates" response_disarm = "fans at" + ai = /datum/ai/nanomachines var/regen_time = 0 var/emergency_protocols = 0 @@ -24,20 +25,28 @@ force = 2 sharp = TRUE -/mob/living/simple_animal/hostile/commanded/nanomachine/Life() - regen_time++ - if(regen_time == 2 && current_health < get_max_health()) //slow regen - regen_time = 0 - heal_overall_damage(1) +/datum/ai/nanomachines + expected_type = /mob/living/simple_animal/hostile/commanded/nanomachine + +/datum/ai/nanomachines/do_process(time_elapsed) + . = ..() + var/mob/living/simple_animal/hostile/commanded/nanomachine/swarm = body + switch(swarm.stance) + if(COMMANDED_HEAL) + if(!swarm.target_mob) + swarm.target_mob = swarm.FindTarget(COMMANDED_HEAL) + if(swarm.target_mob) + swarm.move_to_heal() + if(COMMANDED_HEALING) + swarm.heal() + +/mob/living/simple_animal/hostile/commanded/nanomachine/handle_living_non_stasis_processes() . = ..() if(.) - switch(stance) - if(COMMANDED_HEAL) - if(!target_mob) - target_mob = FindTarget(COMMANDED_HEAL) - move_to_heal() - if(COMMANDED_HEALING) - heal() + regen_time++ + if(regen_time == 2 && current_health < get_max_health()) //slow regen + regen_time = 0 + heal_overall_damage(1) /mob/living/simple_animal/hostile/commanded/nanomachine/death(gibbed, deathmessage, show_dead_message) ..(null, "dissipates into thin air", "You have been destroyed.") diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index dd9a38bf127..cd6186aaf6e 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -186,7 +186,7 @@ if(!spooder.busy && prob(spooder.hunt_chance)) spooder.stop_automated_movement = 1 walk_to(spooder, pick(orange(20, spooder)), 1, spooder.move_to_delay) - addtimer(CALLBACK(spooder, /mob/living/simple_animal/hostile/giant_spider/proc/disable_stop_automated_movement), 5 SECONDS) + addtimer(CALLBACK(spooder, TYPE_PROC_REF(/mob/living/simple_animal/hostile/giant_spider, disable_stop_automated_movement)), 5 SECONDS) /mob/living/simple_animal/hostile/giant_spider/proc/disable_stop_automated_movement() stop_automated_movement = 0 @@ -240,7 +240,7 @@ Guard caste procs /mob/living/simple_animal/hostile/giant_spider/guard/proc/protect(mob/nurse) stop_automated_movement = 1 walk_to(src, nurse, 2, move_to_delay) - addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/giant_spider/proc/disable_stop_automated_movement), 5 SECONDS) + addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/giant_spider, disable_stop_automated_movement)), 5 SECONDS) /mob/living/simple_animal/hostile/giant_spider/guard/proc/go_berserk() audible_message("\The [src] chitters wildly!") @@ -249,7 +249,7 @@ Guard caste procs attacking_with.force = initial(attacking_with.force) + 5 move_to_delay-- break_stuff_probability = 45 - addtimer(CALLBACK(src, .proc/calm_down), 3 MINUTES) + addtimer(CALLBACK(src, PROC_REF(calm_down)), 3 MINUTES) /mob/living/simple_animal/hostile/giant_spider/guard/proc/calm_down() berserking = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 6e43652a81b..2509a5c7c9f 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -25,6 +25,9 @@ skin_material = null skin_amount = 0 +/mob/living/simple_animal/hostile/hivebot/check_has_mouth() + return FALSE + /mob/living/simple_animal/hostile/hivebot/range desc = "A junky looking robot with four spiky legs. It's equipped with some kind of small-bore gun." ranged = 1 @@ -110,12 +113,9 @@ The megabot . = ..() switch_mode(ATTACK_MODE_ROCKET) -/mob/living/simple_animal/hostile/hivebot/mega/Life() +/mob/living/simple_animal/hostile/hivebot/mega/handle_regular_status_updates() . = ..() - if(!.) - return - - if(!is_on_special_ability_cooldown()) + if(. && !is_on_special_ability_cooldown()) switch_mode(ATTACK_MODE_ROCKET) /mob/living/simple_animal/hostile/hivebot/mega/emp_act(severity) @@ -179,7 +179,7 @@ The megabot var/datum/extension/armor/toggle/armor = get_extension(src, /datum/extension/armor) if(armor) armor.toggle(FALSE) - addtimer(CALLBACK(src, .proc/reactivate), 4 SECONDS) + addtimer(CALLBACK(src, PROC_REF(reactivate)), 4 SECONDS) /mob/living/simple_animal/hostile/hivebot/mega/proc/reactivate() stop_automation = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index ce33e516af2..f654310bced 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -173,7 +173,7 @@ ..(gibbed, deathmessage, show_dead_message) walk(src, 0) -/mob/living/simple_animal/hostile/Life() +/mob/living/simple_animal/hostile/handle_regular_status_updates() . = ..() if(!.) walk(src, 0) @@ -238,7 +238,7 @@ visible_message(SPAN_DANGER("\The [src] [fire_desc] at \the [target]!")) if(rapid) - var/datum/callback/shoot_cb = CALLBACK(src, .proc/shoot_wrapper, target, loc, src) + var/datum/callback/shoot_cb = CALLBACK(src, PROC_REF(shoot_wrapper), target, loc, src) addtimer(shoot_cb, 1) addtimer(shoot_cb, 4) addtimer(shoot_cb, 6) diff --git a/code/modules/mob/living/simple_animal/hostile/leech.dm b/code/modules/mob/living/simple_animal/hostile/leech.dm index c08291fe39d..870cb7fee40 100644 --- a/code/modules/mob/living/simple_animal/hostile/leech.dm +++ b/code/modules/mob/living/simple_animal/hostile/leech.dm @@ -19,15 +19,13 @@ adapt_to_current_level() . = ..() -/mob/living/simple_animal/hostile/leech/Life() +/mob/living/simple_animal/hostile/leech/handle_regular_status_updates() . = ..() - if(!.) - return FALSE - - if(target_mob) - belly -= 3 - else - belly -= 1 + if(.) + if(target_mob) + belly -= 3 + else + belly -= 1 /mob/living/simple_animal/hostile/leech/AttackingTarget() . = ..() @@ -59,7 +57,7 @@ /obj/structure/leech_spawner/LateInitialize() ..() - proxy_listener = new /datum/proximity_trigger/square(src, .proc/burst, .proc/burst, 5) + proxy_listener = new /datum/proximity_trigger/square(src, PROC_REF(burst), PROC_REF(burst), 5) proxy_listener.register_turfs() /obj/structure/leech_spawner/Destroy() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm index 1d69b2a2c3f..de79538013c 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm @@ -54,6 +54,9 @@ /decl/material/solid/metal/plasteel = null ) +/mob/living/simple_animal/hostile/retaliate/malf_drone/check_has_mouth() + return FALSE + /mob/living/simple_animal/hostile/retaliate/malf_drone/can_act() return disabled <= 0 && ..() @@ -85,7 +88,10 @@ . -= M //self repair systems have a chance to bring the drone back to life -/mob/living/simple_animal/hostile/retaliate/malf_drone/Life() +/mob/living/simple_animal/hostile/retaliate/malf_drone/handle_living_non_stasis_processes() + . = ..() + if(!.) + return //emps and lots of damage can temporarily shut us down if(disabled > 0) @@ -148,7 +154,7 @@ if(!disabled && exploding) explosion(get_turf(src), 0, 1, 4, 7) death() - ..() + update_icon() /mob/living/simple_animal/hostile/retaliate/malf_drone/on_update_icon() @@ -202,43 +208,43 @@ if(spawnees & 1) C = new(src.loc) C.SetName("Drone CPU motherboard") - C.origin_tech = "{'[TECH_DATA]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_DATA]":[rand(3, 6)]}' if(spawnees & 2) C = new(src.loc) C.SetName("Drone neural interface") - C.origin_tech = "{'[TECH_BIO]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_BIO]":[rand(3, 6)]}' if(spawnees & 4) C = new(src.loc) C.SetName("Drone suspension processor") - C.origin_tech = "{'[TECH_MAGNET]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_MAGNET]":[rand(3, 6)]}' if(spawnees & 8) C = new(src.loc) C.SetName("Drone shielding controller") - C.origin_tech = "{'wormholes':[rand(3, 6)]}" + C.origin_tech = @'{"wormholes":[rand(3, 6)]}' if(spawnees & 16) C = new(src.loc) C.SetName("Drone power capacitor") - C.origin_tech = "{'[TECH_POWER]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_POWER]":[rand(3, 6)]}' if(spawnees & 32) C = new(src.loc) C.SetName("Drone hull reinforcer") - C.origin_tech = "{'[TECH_MATERIAL]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_MATERIAL]":[rand(3, 6)]}' if(spawnees & 64) C = new(src.loc) C.SetName("Drone auto-repair system") - C.origin_tech = "{'[TECH_ENGINEERING]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_ENGINEERING]":[rand(3, 6)]}' if(spawnees & 128) C = new(src.loc) C.SetName("Drone antigravity overcharge counter") - C.origin_tech = "{'[TECH_EXOTIC_MATTER]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_EXOTIC_MATTER]":[rand(3, 6)]}' if(spawnees & 256) C = new(src.loc) C.SetName("Drone targetting circuitboard") - C.origin_tech = "{'[TECH_COMBAT]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_COMBAT]":[rand(3, 6)]}' if(spawnees & 512) C = new(src.loc) C.SetName("Corrupted drone morality core") - C.origin_tech = "{'[TECH_ESOTERIC]':[rand(3, 6)]}" + C.origin_tech = @'{"[TECH_ESOTERIC]":[rand(3, 6)]}' return ..() /obj/item/projectile/beam/drone diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/exoplanet.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/exoplanet.dm index c16c8a17f2e..0901acdfbdd 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/exoplanet.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/exoplanet.dm @@ -4,6 +4,9 @@ nutrition = 300 var/list/prey +/mob/living/simple_animal/hostile/retaliate/beast/get_satiated_nutrition() + return 250 + /mob/living/simple_animal/hostile/retaliate/beast/get_max_nutrition() return 300 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/giant_crab.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/giant_crab.dm index 3741cbb8e78..a13a98f3103 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/giant_crab.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/giant_crab.dm @@ -80,7 +80,7 @@ return if(!victim && can_act() && !is_on_special_ability_cooldown() && Adjacent(H)) - events_repository.register(/decl/observ/destroyed, victim, src, .proc/release_grab) + events_repository.register(/decl/observ/destroyed, victim, src, PROC_REF(release_grab)) victim = H SET_STATUS_MAX(H, STAT_WEAK, grab_duration) SET_STATUS_MAX(H, STAT_STUN, grab_duration) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/king_of_goats.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/king_of_goats.dm index 23f304d1ad1..017b5fe527f 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/king_of_goats.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/king_of_goats.dm @@ -190,14 +190,13 @@ set_scale(1.25) default_pixel_y = 10 -/mob/living/simple_animal/hostile/retaliate/goat/king/phase2/Life() +/mob/living/simple_animal/hostile/retaliate/goat/king/phase2/handle_living_non_stasis_processes() . = ..() if(!.) return FALSE if(special_attacks >= 6 && current_damtype != BRUTE) visible_message(SPAN_MFAUNA("The energy surrounding \the [src]'s horns dissipates.")) current_damtype = BRUTE - if(current_health <= 150 && !phase3 && spellscast == 5) //begin phase 3, reset spell limit and heal phase3_transition() diff --git a/code/modules/mob/living/simple_animal/hostile/slug.dm b/code/modules/mob/living/simple_animal/hostile/slug.dm index fb4f8f4f550..6be1362d635 100644 --- a/code/modules/mob/living/simple_animal/hostile/slug.dm +++ b/code/modules/mob/living/simple_animal/hostile/slug.dm @@ -50,7 +50,7 @@ if(prob(H.getBruteLoss()/2)) attach(H) -/mob/living/simple_animal/hostile/slug/Life() +/mob/living/simple_animal/hostile/slug/handle_regular_status_updates() . = ..() if(. && istype(src.loc, /obj/item/holder) && isliving(src.loc.loc)) //We in somebody var/mob/living/L = src.loc.loc diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index bf3bb61bbcc..b0f1997c402 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -17,6 +17,9 @@ minbodytemp = 0 faction = "carp" +/mob/living/simple_animal/hostile/tree/check_has_mouth() + return FALSE + /mob/living/simple_animal/hostile/tree/FindTarget() . = ..() if(.) diff --git a/code/modules/mob/living/simple_animal/hostile/vagrant.dm b/code/modules/mob/living/simple_animal/hostile/vagrant.dm index fc6a43e1380..36ad1d84c93 100644 --- a/code/modules/mob/living/simple_animal/hostile/vagrant.dm +++ b/code/modules/mob/living/simple_animal/hostile/vagrant.dm @@ -42,7 +42,7 @@ if(stat == DEAD && !QDELETED(src) && !gibbed) gib() -/mob/living/simple_animal/hostile/vagrant/Life() +/mob/living/simple_animal/hostile/vagrant/handle_living_non_stasis_processes() . = ..() if(!.) return FALSE @@ -56,7 +56,7 @@ gripping.vessel.remove_any(blood_per_tick) heal_overall_damage(health_per_tick) if(prob(15)) - to_chat(gripping, "You feel your fluids being drained!") + to_chat(gripping, SPAN_DANGER("You feel your fluids being drained!")) else gripping = null diff --git a/code/modules/mob/living/simple_animal/hostile/viscerator.dm b/code/modules/mob/living/simple_animal/hostile/viscerator.dm index c9a4ec321a8..fa5f60048ab 100644 --- a/code/modules/mob/living/simple_animal/hostile/viscerator.dm +++ b/code/modules/mob/living/simple_animal/hostile/viscerator.dm @@ -27,6 +27,9 @@ edge = 1 sharp = 1 +/mob/living/simple_animal/hostile/viscerator/check_has_mouth() + return FALSE + /mob/living/simple_animal/hostile/viscerator/death(gibbed, deathmessage, show_dead_message) ..(null, "is smashed into pieces!", show_dead_message) qdel(src) diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index badc97a032b..10742fec191 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -33,6 +33,9 @@ skin_material = null skin_amount = 0 +/mob/living/simple_animal/shade/check_has_mouth() + return FALSE + /obj/item/natural_weapon/shade name = "foul touch" attack_verb = list("drained") @@ -42,13 +45,7 @@ /mob/living/simple_animal/shade/on_defilement() return -/mob/living/simple_animal/shade/Life() - . = ..() - OnDeathInLife() - -/mob/living/simple_animal/shade/proc/OnDeathInLife() - if(stat == DEAD) - new /obj/item/ectoplasm (src.loc) - visible_message(SPAN_WARNING("\The [src] lets out a contented sigh as their form unwinds.")) - ghostize() - qdel(src) +/mob/living/simple_animal/shade/death(gibbed, deathmessage, show_dead_message) + new /obj/item/ectoplasm (src.loc) + ..(deathmessage = "lets out a contented sigh as their form unwinds", show_dead_message = "You have been released from your earthly binds.") + qdel(src) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 53c43f0413b..044a3274cb9 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -173,38 +173,28 @@ var/global/list/simplemob_icon_bitflag_cache = list() QDEL_NULL(natural_weapon) . = ..() -/mob/living/simple_animal/Life() - if(is_aquatic && !submerged() && stat != DEAD) - walk(src, 0) - if(!HAS_STATUS(src, STAT_PARA)) // gated to avoid redundant update_icon() calls. - SET_STATUS_MAX(src, STAT_PARA, 3) - update_icon() +/mob/living/simple_animal/handle_regular_status_updates() + if(purge) + purge -= 1 . = ..() - if(!.) - return FALSE - if(z && !living_observers_present(SSmapping.get_connected_levels(z))) - return - //Health - if(stat == DEAD) - if(current_health > 0) - switch_from_dead_to_living_mob_list() - set_stat(CONSCIOUS) - set_density(1) - update_icon() - return 0 - - handle_atmos() - handle_supernatural() - handle_impaired_vision() - - if(can_bleed && bleed_ticks > 0) - handle_bleeding() - - delayed_life_action() - return 1 + if(.) + if(can_bleed && bleed_ticks > 0) + handle_bleeding() + if(is_aquatic && !submerged()) + walk(src, 0) + if(HAS_STATUS(src, STAT_PARA)) + SET_STATUS_MAX(src, STAT_PARA, 3) + update_icon() + +/mob/living/simple_animal/handle_some_updates() + . = ..() && (!z || living_observers_present(SSmapping.get_connected_levels(z))) + +/mob/living/simple_animal/handle_legacy_ai() + . = ..() + handle_async_life_action() // Handles timed stuff in Life() -/mob/living/simple_animal/proc/delayed_life_action() +/mob/living/simple_animal/proc/handle_async_life_action() set waitfor = FALSE if(performing_delayed_life_action) return @@ -254,12 +244,9 @@ var/global/list/simplemob_icon_bitflag_cache = list() if("emote_see") visible_emote("[pick(emote_see)].") -/mob/living/simple_animal/proc/handle_atmos(var/atmos_suitable = 1) - //Atmos - if(!loc) - return - - var/datum/gas_mixture/environment = loc.return_air() +/mob/living/simple_animal/handle_environment(datum/gas_mixture/environment) + . = ..() + var/atmos_suitable = TRUE if(environment) // don't bother checking it twice if we got a supplied FALSE val. if(atmos_suitable) @@ -295,10 +282,6 @@ var/global/list/simplemob_icon_bitflag_cache = list() O.unbuckle_mob(M) visible_message(SPAN_DANGER("\The [M] escapes from \the [O]!")) -/mob/living/simple_animal/proc/handle_supernatural() - if(purge) - purge -= 1 - /mob/living/simple_animal/gib() ..(((mob_icon_state_flags & MOB_ICON_HAS_GIB_STATE) ? "world-gib" : null), TRUE) @@ -365,6 +348,7 @@ var/global/list/simplemob_icon_bitflag_cache = list() return TRUE /mob/living/simple_animal/attackby(var/obj/item/O, var/mob/user) + if(istype(O, /obj/item/stack/medical)) if(stat != DEAD) var/obj/item/stack/medical/MED = O @@ -379,33 +363,23 @@ var/global/list/simplemob_icon_bitflag_cache = list() to_chat(user, SPAN_WARNING("\The [src] is dead, medical items won't bring [G.him] back to life.")) return TRUE - if(istype(O, /obj/item/flash) && stat != DEAD) - return O.attack(src, user, user.get_target_zone()) - - if(meat_type && (stat == DEAD) && meat_amount) - if(istype(O, /obj/item/knife/kitchen/cleaver)) - var/victim_turf = get_turf(src) - if(!locate(/obj/structure/table, victim_turf)) - to_chat(user, SPAN_WARNING("You need to place \the [src] on a table to butcher it.")) - return TRUE - var/time_to_butcher = (mob_size) - to_chat(user, SPAN_WARNING("You begin harvesting \the [src].")) - if(do_after(user, time_to_butcher, src, same_direction = TRUE)) - if(prob(user.skill_fail_chance(SKILL_COOKING, 60, SKILL_ADEPT))) - to_chat(user, SPAN_DANGER("You botch harvesting \the [src], and ruin some of the meat in the process.")) - subtract_meat(user) - else - harvest(user, user.get_skill_value(SKILL_COOKING)) - else - to_chat(user, SPAN_DANGER("Your hand slips with your movement, and some of the meat is ruined.")) - subtract_meat(user) - return TRUE - - else - if(!O.force || (O.item_flags & ITEM_FLAG_NO_BLUDGEON)) - visible_message(SPAN_NOTICE("\The [user] gently taps [src] with \the [O].")) + if(meat_type && (stat == DEAD) && meat_amount && istype(O, /obj/item/knife/kitchen/cleaver)) + var/victim_turf = get_turf(src) + if(!locate(/obj/structure/table, victim_turf)) + to_chat(user, SPAN_WARNING("You need to place \the [src] on a table to butcher it.")) return TRUE - return O.attack(src, user, user.get_target_zone() || ran_zone()) + var/time_to_butcher = (mob_size) + to_chat(user, SPAN_WARNING("You begin harvesting \the [src].")) + if(do_after(user, time_to_butcher, src, same_direction = TRUE)) + if(prob(user.skill_fail_chance(SKILL_COOKING, 60, SKILL_ADEPT))) + to_chat(user, SPAN_DANGER("You botch harvesting \the [src], and ruin some of the meat in the process.")) + subtract_meat(user) + else + harvest(user, user.get_skill_value(SKILL_COOKING)) + else + to_chat(user, SPAN_DANGER("Your hand slips with your movement, and some of the meat is ruined.")) + subtract_meat(user) + return TRUE return ..() @@ -440,7 +414,7 @@ var/global/list/simplemob_icon_bitflag_cache = list() tally = 1 tally *= purge - return tally+config.animal_delay + return tally+get_config_value(/decl/config/num/movement_animal) /mob/living/simple_animal/Stat() . = ..() @@ -670,3 +644,6 @@ var/global/list/simplemob_icon_bitflag_cache = list() /mob/living/simple_animal/proc/get_melee_accuracy() return clamp(sa_accuracy - melee_accuracy_mods(), 0, 100) + +/mob/living/simple_animal/check_has_mouth() + return TRUE diff --git a/code/modules/mob/living/stasis.dm b/code/modules/mob/living/stasis.dm index 0876ba90ca8..76fda177df5 100644 --- a/code/modules/mob/living/stasis.dm +++ b/code/modules/mob/living/stasis.dm @@ -16,6 +16,11 @@ stasis_value += stasis_sources[source] stasis_sources = null + if(stasis_value > 1 && GET_STATUS(src, STAT_DROWSY) < stasis_value * 4) + ADJ_STATUS(src, STAT_DROWSY, min(stasis_value, 3)) + if(stat == CONSCIOUS && prob(1)) + to_chat(src, SPAN_NOTICE("You feel slow and sluggish...")) + /mob/living/proc/get_cryogenic_factor(var/bodytemperature) if(isSynthetic()) diff --git a/code/modules/mob/living/stress.dm b/code/modules/mob/living/stress.dm index b67360e26bc..2cb46e0c27b 100644 --- a/code/modules/mob/living/stress.dm +++ b/code/modules/mob/living/stress.dm @@ -1,7 +1,7 @@ #define GET_STRESSOR(S) (istype(S, /datum/stressor) ? S : SSmanaged_instances.get(S, cache_category = /datum/stressor)) /mob/living/proc/get_stress_modifier() - if(!config.adjust_healing_from_stress) + if(!get_config_value(/decl/config/toggle/health_adjust_healing_from_stress)) return 0 return stress diff --git a/code/modules/mob/living/update_icon.dm b/code/modules/mob/living/update_icon.dm deleted file mode 100644 index 29b58f6e0f5..00000000000 --- a/code/modules/mob/living/update_icon.dm +++ /dev/null @@ -1,38 +0,0 @@ -/mob/living - var/list/mob_overlays[TOTAL_OVER_LAYERS] - var/list/mob_underlays[TOTAL_UNDER_LAYERS] - -/mob/living/update_icon() - ..() - compile_overlays() - -/mob/living/on_update_icon() - SHOULD_CALL_PARENT(TRUE) - ..() - cut_overlays() - if(auras) - for(var/obj/aura/aura as anything in auras) - var/image/A = new() - A.appearance = aura - add_overlay(A) - try_refresh_visible_overlays() - -/mob/living/get_all_current_mob_overlays() - return mob_overlays - -/mob/living/set_current_mob_overlay(var/overlay_layer, var/image/overlay, var/redraw_mob = TRUE) - mob_overlays[overlay_layer] = overlay - ..() - -/mob/living/get_current_mob_overlay(var/overlay_layer) - return mob_overlays[overlay_layer] - -/mob/living/get_all_current_mob_underlays() - return mob_underlays - -/mob/living/set_current_mob_underlay(var/underlay_layer, var/image/underlay, var/redraw_mob = TRUE) - mob_underlays[underlay_layer] = underlay - ..() - -/mob/living/get_current_mob_underlay(var/underlay_layer) - return mob_underlays[underlay_layer] diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 790b2ee8eb7..9f367883a5e 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -5,7 +5,7 @@ computer_id = client.computer_id last_ckey = ckey log_access("Login: [key_name(src)] from [lastKnownIP ? lastKnownIP : "localhost"]-[computer_id] || BYOND v[client.byond_version]") - if(config.log_access) + if(get_config_value(/decl/config/toggle/log_access)) var/is_multikeying = 0 for(var/mob/M in global.player_list) if(M == src) continue @@ -29,7 +29,8 @@ spawn(1 SECOND) to_chat(src, "WARNING: It would seem that you are sharing connection or computer with another player. If you haven't done so already, please contact the staff via the Adminhelp verb to resolve this situation. Failure to do so may result in administrative action. You have been warned.") - if(config.login_export_addr) + var/login_export_addr = get_config_value(/decl/config/text/login_export_addr) + if(login_export_addr) spawn(-1) var/list/params = new params["login"] = 1 @@ -40,7 +41,7 @@ params["clientid"] = client.computer_id params["roundid"] = game_id params["name"] = real_name || name - world.Export("[config.login_export_addr]?[list2params(params)]", null, 1) + world.Export("[login_export_addr]?[list2params(params)]", null, 1) /mob/proc/maybe_send_staffwarns(var/action) if(client.staffwarn) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 0eb915d88ca..64eb428b4be 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -403,7 +403,7 @@ face_atom(A) - if(!isghost(src) && config.visible_examine) + if(!isghost(src) && get_config_value(/decl/config/toggle/visible_examine)) if((A.loc != src || (A in get_held_items()))) var/look_target = "at \the [A]" if(isobj(A.loc)) @@ -704,10 +704,9 @@ return 0 //Updates lying and icons -/mob/proc/UpdateLyingBuckledAndVerbStatus() - var/last_lying = lying +/mob/proc/update_lying() if(!resting && cannot_stand() && can_stand_overridden()) - lying = 0 + lying = FALSE else if(buckled) anchored = TRUE if(istype(buckled)) @@ -720,12 +719,16 @@ else lying = incapacitated(INCAPACITATION_KNOCKDOWN) +/mob/proc/UpdateLyingBuckledAndVerbStatus() + var/last_lying = lying + update_lying() + if(buckled) + anchored = (!istype(buckled) || !buckled.buckle_movable) if(lying) set_density(0) drop_held_items() else set_density(initial(density)) - reset_layer() //Temporarily moved here from the various life() procs @@ -1081,10 +1084,12 @@ // Work out if we have any brain damage impacting our dexterity. var/dex_malus = 0 - if(getBrainLoss() && getBrainLoss() > config.dex_malus_brainloss_threshold) ///brainloss shouldn't instantly cripple you, so the effects only start once past the threshold and escalate from there. - dex_malus = clamp(CEILING((getBrainLoss()-config.dex_malus_brainloss_threshold)/10), 0, length(global.dexterity_levels)) - if(dex_malus > 0) - dex_malus = global.dexterity_levels[dex_malus] + if(getBrainLoss()) + var/brainloss_threshold = get_config_value(/decl/config/num/dex_malus_brainloss_threshold) + if(getBrainLoss() > brainloss_threshold) ///brainloss shouldn't instantly cripple you, so the effects only start once past the threshold and escalate from there. + dex_malus = clamp(CEILING((getBrainLoss()-brainloss_threshold)/10), 0, length(global.dexterity_levels)) + if(dex_malus > 0) + dex_malus = global.dexterity_levels[dex_malus] // If this slot does not need an organ we just go off the dexterity of the slot itself. if(isnull(gripper.requires_organ_tag)) @@ -1131,9 +1136,12 @@ to_chat(src, SPAN_WARNING("You scrawl down some meaningless lines.")) . = stars(text_content, 5) -// mobs do not have mouths by default +// mobs do not have mouths by default, unless provided by an organ /mob/proc/check_has_mouth() - return FALSE + var/obj/item/organ/external/head/H = get_organ(BP_HEAD, /obj/item/organ/external/head) + if(!H || !istype(H) || !H.can_intake_reagents) + return FALSE + return TRUE /mob/proc/check_has_eyes() return TRUE @@ -1350,10 +1358,10 @@ /mob/verb/whisper_wrapper() set name = ".Whisper" set hidden = TRUE - if(config.show_typing_indicator_for_whispers) + if(get_config_value(/decl/config/toggle/show_typing_indicator_for_whispers)) SStyping.set_indicator_state(client, TRUE) var/message = input("","me (text)") as text|null - if(config.show_typing_indicator_for_whispers) + if(get_config_value(/decl/config/toggle/show_typing_indicator_for_whispers)) SStyping.set_indicator_state(client, FALSE) if (message) whisper(message) diff --git a/code/modules/mob/mob_eating.dm b/code/modules/mob/mob_eating.dm new file mode 100644 index 00000000000..17155f71569 --- /dev/null +++ b/code/modules/mob/mob_eating.dm @@ -0,0 +1,12 @@ +// mobs do not have blocked mouths by default +// overridden in human_defense.dm +/mob/proc/check_mouth_coverage() + return null + +/mob/proc/get_eaten_transfer_amount(var/default) + . = default + if(issmall(src)) + . = CEILING(.*0.5) + +/mob/proc/can_eat_food_currently(obj/eating, mob/user) + return TRUE diff --git a/code/modules/mob/new_player/login.dm b/code/modules/mob/new_player/login.dm index 54bd8e68b81..6951ec383e3 100644 --- a/code/modules/mob/new_player/login.dm +++ b/code/modules/mob/new_player/login.dm @@ -46,5 +46,5 @@ // bolds the changelog button on the interface so we know there are updates. if(client.prefs?.lastchangelog != global.changelog_hash) to_chat(client, SPAN_NOTICE("You have unread updates in the changelog.")) - if(config.aggressive_changelog) + if(get_config_value(/decl/config/toggle/aggressive_changelog)) client.changes() diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 449f8087bd1..bbc3e208b3e 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -108,7 +108,8 @@ INITIALIZE_IMMEDIATE(/mob/new_player) to_chat(src, SPAN_WARNING("Please wait for server initialization to complete...")) return - if(!config.respawn_delay || client.holder || alert(src,"Are you sure you wish to observe? You will have to wait [config.respawn_delay] minute\s before being able to respawn!","Player Setup","Yes","No") == "Yes") + var/respawn_delay = get_config_value(/decl/config/num/respawn_delay) + if(!respawn_delay || client.holder || alert(src,"Are you sure you wish to observe? You will have to wait [respawn_delay] minute\s before being able to respawn!","Player Setup","Yes","No") == "Yes") if(!client) return 1 var/mob/observer/ghost/observer = new() @@ -138,7 +139,7 @@ INITIALIZE_IMMEDIATE(/mob/new_player) client.prefs.real_name = client.prefs.get_random_name() observer.real_name = client.prefs.real_name observer.SetName(observer.real_name) - if(!client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. + if(!client.holder && !get_config_value(/decl/config/toggle/antag_hud_allowed)) // For new ghosts we remove the verb from even showing up if it's not allowed. observer.verbs -= /mob/observer/ghost/verb/toggle_antagHUD // Poor guys, don't know what they are missing! observer.key = key qdel(src) @@ -183,7 +184,7 @@ INITIALIZE_IMMEDIATE(/mob/new_player) to_chat(usr, "The round is either not ready, or has already finished...") return 0 - if(!config.enter_allowed) + if(!get_config_value(/decl/config/toggle/on/enter_allowed)) to_chat(usr, "There is an administrative lock on entering the game!") return 0 diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index c9adcbb336b..5445b9c23dc 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -104,6 +104,7 @@ if(update_icon) mannequin.update_icon() + mannequin.compile_overlays() /datum/preferences/proc/update_preview_icon() var/mob/living/carbon/human/dummy/mannequin/mannequin = get_mannequin(client_ckey) diff --git a/code/modules/mob/observer/eye/blueprints_eye.dm b/code/modules/mob/observer/eye/blueprints_eye.dm index c868ed59ee8..7742f8f2c6b 100644 --- a/code/modules/mob/observer/eye/blueprints_eye.dm +++ b/code/modules/mob/observer/eye/blueprints_eye.dm @@ -325,7 +325,7 @@ var/datum/shuttle/our_shuttle = SSshuttle.shuttles[shuttle_name] our_shuttle.shuttle_area += A SSshuttle.shuttle_areas += A - events_repository.register(/decl/observ/destroyed, A, our_shuttle, /datum/shuttle/proc/remove_shuttle_area) + events_repository.register(/decl/observ/destroyed, A, our_shuttle, TYPE_PROC_REF(/datum/shuttle, remove_shuttle_area)) return A #undef MAX_AREA_SIZE \ No newline at end of file diff --git a/code/modules/mob/observer/eye/freelook/life.dm b/code/modules/mob/observer/eye/freelook/life.dm index 98b9c477e1f..6a8a6975fd7 100644 --- a/code/modules/mob/observer/eye/freelook/life.dm +++ b/code/modules/mob/observer/eye/freelook/life.dm @@ -1,7 +1,7 @@ /mob/observer/eye/freelook/Life() - ..() + . = ..() // If we lost our client, reset the list of visible chunks so they update properly on return - if(owner == src && !client) + if(. && owner == src && !client) visibleChunks.Cut() /*else if(owner && !owner.client) visibleChunks.Cut()*/ diff --git a/code/modules/mob/observer/eye/freelook/visualnet.dm b/code/modules/mob/observer/eye/freelook/visualnet.dm index f49d0c0fe96..0274a87565d 100644 --- a/code/modules/mob/observer/eye/freelook/visualnet.dm +++ b/code/modules/mob/observer/eye/freelook/visualnet.dm @@ -109,7 +109,7 @@ // Never access this proc directly!!!! // This will update the chunk and all the surrounding chunks. /datum/visualnet/proc/major_chunk_change(var/atom/source) - for_all_chunks_in_range(source, /datum/chunk/proc/visibility_changed, list()) + for_all_chunks_in_range(source, TYPE_PROC_REF(/datum/chunk, visibility_changed), list()) /datum/visualnet/proc/add_source(var/atom/source, var/update_visibility = TRUE, var/opacity_check = FALSE) if(!(source && is_valid_source(source))) @@ -118,9 +118,9 @@ if(source in sources) return FALSE sources += source - events_repository.register(/decl/observ/moved, source, src, /datum/visualnet/proc/source_moved) - events_repository.register(/decl/observ/destroyed, source, src, /datum/visualnet/proc/remove_source) - for_all_chunks_in_range(source, /datum/chunk/proc/add_source, list(source)) + events_repository.register(/decl/observ/moved, source, src, TYPE_PROC_REF(/datum/visualnet, source_moved)) + events_repository.register(/decl/observ/destroyed, source, src, TYPE_PROC_REF(/datum/visualnet, remove_source)) + for_all_chunks_in_range(source, TYPE_PROC_REF(/datum/chunk, add_source), list(source)) if(update_visibility) update_visibility(source, opacity_check) return TRUE @@ -129,9 +129,9 @@ if(!sources.Remove(source)) return FALSE - events_repository.unregister(/decl/observ/moved, source, src, /datum/visualnet/proc/source_moved) - events_repository.unregister(/decl/observ/destroyed, source, src, /datum/visualnet/proc/remove_source) - for_all_chunks_in_range(source, /datum/chunk/proc/remove_source, list(source)) + events_repository.unregister(/decl/observ/moved, source, src, TYPE_PROC_REF(/datum/visualnet, source_moved)) + events_repository.unregister(/decl/observ/destroyed, source, src, TYPE_PROC_REF(/datum/visualnet, remove_source)) + for_all_chunks_in_range(source, TYPE_PROC_REF(/datum/chunk, remove_source), list(source)) if(update_visibility) update_visibility(source, opacity_check) return TRUE @@ -150,9 +150,9 @@ // A more proper way would be to figure out which chunks have gone out of range, and which have come into range // and only remove/add to those. if(old_turf) - for_all_chunks_in_range(source, /datum/chunk/proc/remove_source, list(source), old_turf) + for_all_chunks_in_range(source, TYPE_PROC_REF(/datum/chunk, remove_source), list(source), old_turf) if(new_turf) - for_all_chunks_in_range(source, /datum/chunk/proc/add_source, list(source), new_turf) + for_all_chunks_in_range(source, TYPE_PROC_REF(/datum/chunk, add_source), list(source), new_turf) /datum/visualnet/proc/for_all_chunks_in_range(var/atom/source, var/proc_call, var/list/proc_args, var/turf/T) T = T ? T : get_turf(source) diff --git a/code/modules/mob/observer/ghost/ghost.dm b/code/modules/mob/observer/ghost/ghost.dm index b436aaeffe6..0b34a129d40 100644 --- a/code/modules/mob/observer/ghost/ghost.dm +++ b/code/modules/mob/observer/ghost/ghost.dm @@ -108,9 +108,10 @@ Works together with spawning an observer, noted above. */ /mob/observer/ghost/Life() - ..() - if(!loc) return - if(!client) return 0 + + . = ..() + if(!. || !loc || !client) + return FALSE handle_hud_glasses() @@ -150,7 +151,7 @@ Works together with spawning an observer, noted above. ghost.can_reenter_corpse = can_reenter_corpse ghost.timeofdeath = src.stat == DEAD ? src.timeofdeath : world.time ghost.key = key - if(ghost.client && !ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed. + if(ghost.client && !ghost.client.holder && !get_config_value(/decl/config/toggle/antag_hud_allowed)) // For new ghosts we remove the verb from even showing up if it's not allowed. ghost.verbs -= /mob/observer/ghost/verb/toggle_antagHUD // Poor guys, don't know what they are missing! return ghost @@ -167,6 +168,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(stat == DEAD) announce_ghost_joinleave(ghostize(1)) else + var/respawn_delay = get_config_value(/decl/config/num/respawn_delay) var/response if(src.client && src.client.holder) response = alert(src, "You have the ability to Admin-Ghost. The regular Ghost verb will announce your presence to dead chat. Both variants will allow you to return to your body using 'aghost'.\n\nWhat do you wish to do?", "Are you sure you want to ghost?", "Ghost", "Admin Ghost", "Stay in body") @@ -174,8 +176,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!src.client) return src.client.admin_ghost() - else if(config.respawn_delay) - response = alert(src, "Are you -sure- you want to ghost?\n(You are alive. If you ghost, you won't be able to play this round for another [config.respawn_delay] minute\s! You can't change your mind so choose wisely!)", "Are you sure you want to ghost?", "Ghost", "Stay in body") + else if(respawn_delay) + response = alert(src, "Are you -sure- you want to ghost?\n(You are alive. If you ghost, you won't be able to play this round for another [respawn_delay] minute\s! You can't change your mind so choose wisely!)", "Are you sure you want to ghost?", "Ghost", "Stay in body") else response = alert(src, "Are you -sure- you want to ghost?\n(You are alive. If you ghost, you won't be able to return to this body! You can't change your mind so choose wisely!)", "Are you sure you want to ghost?", "Ghost", "Stay in body") if(response != "Ghost") @@ -237,14 +239,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!client) return - if(!config.antag_hud_allowed && !client.holder) + if(!get_config_value(/decl/config/toggle/antag_hud_allowed) && !client.holder) to_chat(src, SPAN_WARNING("Admins have disabled this for this round")) return var/mob/observer/ghost/M = src if(jobban_isbanned(M, "AntagHUD")) to_chat(src, SPAN_WARNING("You have been banned from using this feature.")) return - if(config.antag_hud_restricted && !M.has_enabled_antagHUD && !client.holder) + if(get_config_value(/decl/config/toggle/antag_hud_restricted) && !M.has_enabled_antagHUD && !client.holder) var/response = alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?","Yes","No") if(response == "No") return M.can_reenter_corpse = 0 @@ -307,9 +309,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp stop_following() following = target verbs |= /mob/observer/ghost/proc/scan_target - events_repository.register(/decl/observ/moved, following, src, /atom/movable/proc/move_to_turf) - events_repository.register(/decl/observ/dir_set, following, src, /atom/proc/recursive_dir_set) - events_repository.register(/decl/observ/destroyed, following, src, /mob/observer/ghost/proc/stop_following) + events_repository.register(/decl/observ/moved, following, src, TYPE_PROC_REF(/atom/movable, move_to_turf)) + events_repository.register(/decl/observ/dir_set, following, src, TYPE_PROC_REF(/atom, recursive_dir_set)) + events_repository.register(/decl/observ/destroyed, following, src, TYPE_PROC_REF(/mob/observer/ghost, stop_following)) to_chat(src, "Now following \the [following].") move_to_turf(following, loc, following.loc) @@ -372,7 +374,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set name = "Become mouse" set category = "Ghost" - if(config.disable_player_mice) + if(get_config_value(/decl/config/toggle/disable_player_mice)) to_chat(src, "Spawning as a mouse is currently disabled.") return @@ -401,7 +403,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp else to_chat(src, "Unable to find any unwelded vents to spawn mice at.") if(host) - if(config.uneducated_mice) + if(get_config_value(/decl/config/toggle/uneducated_mice)) host.universal_understand = FALSE announce_ghost_joinleave(src, 0, "They are now a mouse.") host.ckey = src.ckey @@ -436,7 +438,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return ..() /mob/observer/ghost/proc/try_possession(var/mob/living/M) - if(!config.ghosts_can_possess_animals) + if(!get_config_value(/decl/config/toggle/ghosts_can_possess_animals)) to_chat(src, SPAN_WARNING("Ghosts are not permitted to possess animals.")) return FALSE if(!M.can_be_possessed_by(src)) @@ -527,7 +529,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(feedback) to_chat(src, "Your non-dead body prevents you from respawning.") return 0 - if(config.antag_hud_restricted && has_enabled_antagHUD == 1) + if(get_config_value(/decl/config/toggle/antag_hud_restricted) && has_enabled_antagHUD == 1) if(feedback) to_chat(src, "antagHUD restrictions prevent you from respawning.") return 0 @@ -584,7 +586,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set name = "Respawn" set category = "OOC" - if (!(config.abandon_allowed)) + if (!get_config_value(/decl/config/toggle/on/abandon_allowed)) to_chat(usr, SPAN_WARNING("Respawn is disabled.")) return if (!SSticker.mode) @@ -593,7 +595,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if (SSticker.mode.deny_respawn) to_chat(usr, SPAN_WARNING("Respawn is disabled for this roundtype.")) return - else if(!MayRespawn(1, config.respawn_delay)) + else if(!MayRespawn(1, get_config_value(/decl/config/num/respawn_delay))) return to_chat(usr, SPAN_NOTICE("You can respawn now, enjoy your new life!")) diff --git a/code/modules/mob/observer/virtual/base.dm b/code/modules/mob/observer/virtual/base.dm index 0fecb711fde..c4897378242 100644 --- a/code/modules/mob/observer/virtual/base.dm +++ b/code/modules/mob/observer/virtual/base.dm @@ -23,7 +23,7 @@ var/global/list/all_virtual_listeners = list() . = INITIALIZE_HINT_QDEL CRASH("Received an unexpected host type. Expected [host_type], was [log_info_line(host)].") src.host = host - events_repository.register(/decl/observ/moved, host, src, /atom/movable/proc/move_to_turf_or_null) + events_repository.register(/decl/observ/moved, host, src, TYPE_PROC_REF(/atom/movable, move_to_turf_or_null)) all_virtual_listeners += src @@ -31,7 +31,7 @@ var/global/list/all_virtual_listeners = list() STOP_PROCESSING(SSmobs, src) /mob/observer/virtual/Destroy() - events_repository.unregister(/decl/observ/moved, host, src, /atom/movable/proc/move_to_turf_or_null) + events_repository.unregister(/decl/observ/moved, host, src, TYPE_PROC_REF(/atom/movable, move_to_turf_or_null)) all_virtual_listeners -= src host = null return ..() diff --git a/code/modules/mob/observer/virtual/mob.dm b/code/modules/mob/observer/virtual/mob.dm index eb08a07d3b8..02026201066 100644 --- a/code/modules/mob/observer/virtual/mob.dm +++ b/code/modules/mob/observer/virtual/mob.dm @@ -4,16 +4,16 @@ /mob/observer/virtual/mob/Initialize(mapload, var/mob/host) . = ..() - events_repository.register(/decl/observ/sight_set, host, src, /mob/observer/virtual/mob/proc/sync_sight) - events_repository.register(/decl/observ/see_invisible_set, host, src, /mob/observer/virtual/mob/proc/sync_sight) - events_repository.register(/decl/observ/see_in_dark_set, host, src, /mob/observer/virtual/mob/proc/sync_sight) + events_repository.register(/decl/observ/sight_set, host, src, TYPE_PROC_REF(/mob/observer/virtual/mob, sync_sight)) + events_repository.register(/decl/observ/see_invisible_set, host, src, TYPE_PROC_REF(/mob/observer/virtual/mob, sync_sight)) + events_repository.register(/decl/observ/see_in_dark_set, host, src, TYPE_PROC_REF(/mob/observer/virtual/mob, sync_sight)) sync_sight(host) /mob/observer/virtual/mob/Destroy() - events_repository.unregister(/decl/observ/sight_set, host, src, /mob/observer/virtual/mob/proc/sync_sight) - events_repository.unregister(/decl/observ/see_invisible_set, host, src, /mob/observer/virtual/mob/proc/sync_sight) - events_repository.unregister(/decl/observ/see_in_dark_set, host, src, /mob/observer/virtual/mob/proc/sync_sight) + events_repository.unregister(/decl/observ/sight_set, host, src, TYPE_PROC_REF(/mob/observer/virtual/mob, sync_sight)) + events_repository.unregister(/decl/observ/see_invisible_set, host, src, TYPE_PROC_REF(/mob/observer/virtual/mob, sync_sight)) + events_repository.unregister(/decl/observ/see_in_dark_set, host, src, TYPE_PROC_REF(/mob/observer/virtual/mob, sync_sight)) . = ..() /mob/observer/virtual/mob/proc/sync_sight(var/mob/mob_host) diff --git a/code/modules/mob/skills/skill_buffs.dm b/code/modules/mob/skills/skill_buffs.dm index 18f538055c3..bf99aa37ed7 100644 --- a/code/modules/mob/skills/skill_buffs.dm +++ b/code/modules/mob/skills/skill_buffs.dm @@ -71,7 +71,7 @@ buff.skillset = skillset skillset.on_levels_change() if(duration) - addtimer(CALLBACK(buff, /datum/skill_buff/proc/remove), duration) + addtimer(CALLBACK(buff, TYPE_PROC_REF(/datum/skill_buff, remove)), duration) return buff //Takes a buff type or datum; typing is false here. diff --git a/code/modules/mob/skills/skill_verbs.dm b/code/modules/mob/skills/skill_verbs.dm index 63d3e94e727..7447f7133be 100644 --- a/code/modules/mob/skills/skill_verbs.dm +++ b/code/modules/mob/skills/skill_verbs.dm @@ -49,7 +49,7 @@ return cooling_down = 1 update_verb() - addtimer(CALLBACK(src, .proc/remove_cooldown), cooldown) + addtimer(CALLBACK(src, PROC_REF(remove_cooldown)), cooldown) /* The Instruct verb. buffs untrained -> basic and requires skill in the skill training as well as leadership. Robots and antags can instruct. diff --git a/code/modules/mob_holder/_holder.dm b/code/modules/mob_holder/_holder.dm index 7b3188a9919..4b1a5843510 100644 --- a/code/modules/mob_holder/_holder.dm +++ b/code/modules/mob_holder/_holder.dm @@ -7,7 +7,7 @@ slot_flags = SLOT_HEAD | SLOT_HOLSTER origin_tech = null pixel_y = 8 - origin_tech = "{'biotech':1}" + origin_tech = @'{"biotech":1}' use_single_icon = TRUE item_state = null is_spawnable_type = FALSE diff --git a/code/modules/mob_holder/holder_subtypes.dm b/code/modules/mob_holder/holder_subtypes.dm index 14c3b3a9848..7276d2a41e6 100644 --- a/code/modules/mob_holder/holder_subtypes.dm +++ b/code/modules/mob_holder/holder_subtypes.dm @@ -1,10 +1,10 @@ //Mob specific holders. /obj/item/holder/drone - origin_tech = "{'magnets':3,'engineering':5}" + origin_tech = @'{"magnets":3,"engineering":5}' /obj/item/holder/mouse w_class = ITEM_SIZE_TINY //need own subtype to work with recipes /obj/item/holder/corgi - origin_tech = "{'biotech':4}" + origin_tech = @'{"biotech":4}' diff --git a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm index cc2126c7a47..ff514949f13 100644 --- a/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm +++ b/code/modules/modular_computers/computers/subtypes/dev_telescreen.dm @@ -56,7 +56,7 @@ anchored = TRUE density = FALSE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-20}, 'SOUTH':{'y':24}, 'EAST':{'x':-24}, 'WEST':{'x':24}}" + directional_offset = @'{"NORTH":{"y":-20}, "SOUTH":{"y":24}, "EAST":{"x":-24}, "WEST":{"x":24}}' idle_power_usage = 75 active_power_usage = 300 max_hardware_size = 2 //make sure we can only put smaller components in here diff --git a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm index 0b3a1c7b880..7a5ed3fee7a 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm @@ -91,7 +91,7 @@ for(var/obj/machinery/power/sensor/S in SSmachines.machinery) if(get_z(S) in connected_z_levels) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels. grid_sensors += S - events_repository.register(/decl/observ/destroyed, S, src, /datum/nano_module/program/power_monitor/proc/remove_sensor) + events_repository.register(/decl/observ/destroyed, S, src, TYPE_PROC_REF(/datum/nano_module/program/power_monitor, remove_sensor)) /datum/nano_module/program/power_monitor/proc/remove_sensor(var/removed_sensor, var/update_ui = TRUE) if(active_sensor == removed_sensor) @@ -99,7 +99,7 @@ if(update_ui) SSnano.update_uis(src) grid_sensors -= removed_sensor - events_repository.unregister(/decl/observ/destroyed, removed_sensor, src, /datum/nano_module/program/power_monitor/proc/remove_sensor) + events_repository.unregister(/decl/observ/destroyed, removed_sensor, src, TYPE_PROC_REF(/datum/nano_module/program/power_monitor, remove_sensor)) /datum/nano_module/program/power_monitor/proc/is_sysadmin(var/mob/user) if(program) diff --git a/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm index a00df078996..6c7955d85e5 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm @@ -105,7 +105,7 @@ var/obj/machinery/shield_generator/S = locate(href_list["ref"]) in shields if(S) deselect_shield() - events_repository.register(/decl/observ/destroyed, S, src, /datum/nano_module/program/shields_monitor/proc/deselect_shield) + events_repository.register(/decl/observ/destroyed, S, src, TYPE_PROC_REF(/datum/nano_module/program/shields_monitor, deselect_shield)) active = S return 1 diff --git a/code/modules/modular_computers/file_system/programs/generic/ntdownloader.dm b/code/modules/modular_computers/file_system/programs/generic/ntdownloader.dm index 5c886e87632..525f363d285 100644 --- a/code/modules/modular_computers/file_system/programs/generic/ntdownloader.dm +++ b/code/modules/modular_computers/file_system/programs/generic/ntdownloader.dm @@ -43,6 +43,8 @@ if(!check_file_download(filename)) return 0 var/datum/computer_file/program/PRG = net.find_file_by_name(filename, OS_PROGRAMS_DIR, MF_ROLE_SOFTWARE) + if(!istype(PRG)) + return 0 var/datum/file_storage/disk/destination = computer.mounted_storage["local"] if(!destination) return 0 diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm index 853e088850f..8fb4f56a57a 100644 --- a/code/modules/modular_computers/hardware/ai_slot.dm +++ b/code/modules/modular_computers/hardware/ai_slot.dm @@ -6,7 +6,7 @@ hardware_size = 1 critical = 0 power_usage = 100 - origin_tech = "{'powerstorage':2,'programming':3}" + origin_tech = @'{"powerstorage":2,"programming":3}' external_slot = TRUE material = /decl/material/solid/metal/steel diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm index 8fb31a8b55f..f877a086114 100644 --- a/code/modules/modular_computers/hardware/battery_module.dm +++ b/code/modules/modular_computers/hardware/battery_module.dm @@ -5,7 +5,7 @@ desc = "A standard power cell, commonly seen in high-end portable microcomputers or low-end laptops. It's rating is 75 Wh." icon_state = "battery_normal" critical = 1 - origin_tech = "{'powerstorage':1,'engineering':1}" + origin_tech = @'{"powerstorage":1,"engineering":1}' material = /decl/material/solid/metal/steel var/battery_rating = 75 @@ -37,7 +37,7 @@ name = "advanced battery" desc = "An advanced power cell, often used in most laptops. It is too large to be fitted into smaller devices. It's rating is 110 Wh." icon_state = "battery_advanced" - origin_tech = "{'powerstorage':2,'engineering':2}" + origin_tech = @'{"powerstorage":2,"engineering":2}' hardware_size = 2 battery_rating = 110 material = /decl/material/solid/metal/steel @@ -46,7 +46,7 @@ name = "super battery" desc = "A very advanced power cell, often used in high-end devices, or as uninterruptable power supply for important consoles or servers. It's rating is 150 Wh." icon_state = "battery_super" - origin_tech = "{'powerstorage':3,'engineering':3}" + origin_tech = @'{"powerstorage":3,"engineering":3}' hardware_size = 2 battery_rating = 150 material = /decl/material/solid/metal/steel @@ -55,7 +55,7 @@ name = "ultra battery" desc = "A very advanced large power cell. It's often used as uninterruptable power supply for critical consoles or servers. It's rating is 200 Wh." icon_state = "battery_ultra" - origin_tech = "{'powerstorage':5,'engineering':4}" + origin_tech = @'{"powerstorage":5,"engineering":4}' hardware_size = 3 battery_rating = 200 material = /decl/material/solid/metal/steel @@ -64,7 +64,7 @@ name = "micro battery" desc = "A small power cell, commonly seen in most portable microcomputers. It's rating is 50 Wh." icon_state = "battery_micro" - origin_tech = "{'powerstorage':2,'engineering':2}" + origin_tech = @'{"powerstorage":2,"engineering":2}' battery_rating = 50 material = /decl/material/solid/metal/steel @@ -72,10 +72,10 @@ name = "nano battery" desc = "A tiny power cell, commonly seen in low-end portable microcomputers. It's rating is 30 Wh." icon_state = "battery_nano" - origin_tech = "{'powerstorage':1,'engineering':1}" + origin_tech = @'{"powerstorage":1,"engineering":1}' battery_rating = 30 material = /decl/material/solid/metal/steel - origin_tech = "{'powerstorage':2,'engineering':1}" + origin_tech = @'{"powerstorage":2,"engineering":1}' // This is not intended to be obtainable in-game. Intended for adminbus and debugging purposes. /obj/item/stock_parts/computer/battery_module/lambda diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm index 7ffaf2c8c24..cb62d1049e9 100644 --- a/code/modules/modular_computers/hardware/card_slot.dm +++ b/code/modules/modular_computers/hardware/card_slot.dm @@ -5,7 +5,7 @@ critical = 0 icon_state = "cardreader" hardware_size = 1 - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' usage_flags = PROGRAM_ALL & ~PROGRAM_PDA external_slot = TRUE material = /decl/material/solid/metal/steel diff --git a/code/modules/modular_computers/hardware/charge_stick_slot.dm b/code/modules/modular_computers/hardware/charge_stick_slot.dm index 82c75557765..d2f7b010d7c 100644 --- a/code/modules/modular_computers/hardware/charge_stick_slot.dm +++ b/code/modules/modular_computers/hardware/charge_stick_slot.dm @@ -5,7 +5,7 @@ critical = 0 icon_state = "cardreader" hardware_size = 1 - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' usage_flags = PROGRAM_ALL & ~PROGRAM_PDA external_slot = TRUE material = /decl/material/solid/metal/steel diff --git a/code/modules/modular_computers/hardware/disk_slot.dm b/code/modules/modular_computers/hardware/disk_slot.dm index 36818d4e0ce..3bf653e67b4 100644 --- a/code/modules/modular_computers/hardware/disk_slot.dm +++ b/code/modules/modular_computers/hardware/disk_slot.dm @@ -5,7 +5,7 @@ critical = 0 icon_state = "cardreader" hardware_size = 1 - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' usage_flags = PROGRAM_ALL external_slot = TRUE material = /decl/material/solid/metal/steel diff --git a/code/modules/modular_computers/hardware/drive_slot.dm b/code/modules/modular_computers/hardware/drive_slot.dm index 0e364c9e61a..dacade6012b 100644 --- a/code/modules/modular_computers/hardware/drive_slot.dm +++ b/code/modules/modular_computers/hardware/drive_slot.dm @@ -5,7 +5,7 @@ critical = 0 icon_state = "cardreader" hardware_size = 1 - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' usage_flags = PROGRAM_ALL external_slot = TRUE material = /decl/material/solid/metal/steel diff --git a/code/modules/modular_computers/hardware/hard_drive.dm b/code/modules/modular_computers/hardware/hard_drive.dm index fca04084acd..d800a7b4c31 100644 --- a/code/modules/modular_computers/hardware/hard_drive.dm +++ b/code/modules/modular_computers/hardware/hard_drive.dm @@ -4,7 +4,7 @@ power_usage = 25 // SSD or something with low power usage icon_state = "hdd_normal" hardware_size = 1 - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) var/max_capacity = 128 @@ -15,7 +15,7 @@ name = "advanced hard drive" desc = "A small hybrid hard drive with 256GQ of storage capacity for use in higher grade computers where balance between power efficiency and capacity is desired." max_capacity = 256 - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' power_usage = 50 // Hybrid, medium capacity and medium power storage icon_state = "hdd_advanced" hardware_size = 2 @@ -26,7 +26,7 @@ name = "super hard drive" desc = "A small hard drive with 512GQ of storage capacity for use in cluster storage solutions where capacity is more important than power efficiency." max_capacity = 512 - origin_tech = "{'programming':3,'engineering':3}" + origin_tech = @'{"programming":3,"engineering":3}' power_usage = 100 // High-capacity but uses lots of power, shortening battery life. Best used with APC link. icon_state = "hdd_super" hardware_size = 2 @@ -37,7 +37,7 @@ name = "cluster hard drive" desc = "A large storage cluster consisting of multiple hard drives for usage in high capacity storage systems. Has capacity of 2048 GQ." power_usage = 500 - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' max_capacity = 2048 icon_state = "hdd_cluster" hardware_size = 3 @@ -49,7 +49,7 @@ name = "small hard drive" desc = "A small highly efficient solid state drive for portable devices." power_usage = 10 - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' max_capacity = 64 icon_state = "hdd_small" hardware_size = 1 @@ -60,7 +60,7 @@ name = "micro hard drive" desc = "A small micro hard drive for portable devices." power_usage = 2 - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' max_capacity = 32 icon_state = "hdd_micro" hardware_size = 1 diff --git a/code/modules/modular_computers/hardware/lan_port.dm b/code/modules/modular_computers/hardware/lan_port.dm index a50d49a0c08..09e516f290b 100644 --- a/code/modules/modular_computers/hardware/lan_port.dm +++ b/code/modules/modular_computers/hardware/lan_port.dm @@ -2,7 +2,7 @@ name = "wired connection port" desc = "A basic expansion port for use with wired connections." power_usage = 30 - origin_tech = "{'programming':1,'engineering':1}" + origin_tech = @'{"programming":1,"engineering":1}' icon_state = "netcard_ethernet" hardware_size = 3 material = /decl/material/solid/glass @@ -29,13 +29,13 @@ if(!istype(parent)) return terminal = new(get_turf(parent)) - set_extension(src, /datum/extension/event_registration/shuttle_stationary, GET_DECL(/decl/observ/moved), parent, .proc/check_terminal_prox, get_area(src)) - events_repository.register(/decl/observ/destroyed, terminal, src, .proc/unset_terminal) + set_extension(src, /datum/extension/event_registration/shuttle_stationary, GET_DECL(/decl/observ/moved), parent, PROC_REF(check_terminal_prox), get_area(src)) + events_repository.register(/decl/observ/destroyed, terminal, src, PROC_REF(unset_terminal)) set_status(parent, PART_STAT_CONNECTED) /obj/item/stock_parts/computer/lan_port/proc/unset_terminal() remove_extension(src, /datum/extension/event_registration/shuttle_stationary) - events_repository.unregister(/decl/observ/destroyed, terminal, src, .proc/unset_terminal) + events_repository.unregister(/decl/observ/destroyed, terminal, src, PROC_REF(unset_terminal)) var/obj/machinery/parent = loc if(istype(parent)) unset_status(parent, PART_STAT_CONNECTED) diff --git a/code/modules/modular_computers/hardware/nano_printer.dm b/code/modules/modular_computers/hardware/nano_printer.dm index dd3a4684212..e264fa428b5 100644 --- a/code/modules/modular_computers/hardware/nano_printer.dm +++ b/code/modules/modular_computers/hardware/nano_printer.dm @@ -2,7 +2,7 @@ name = "nano printer" desc = "Small integrated printer with paper recycling module." power_usage = 50 - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' critical = 0 icon_state = "printer" hardware_size = 1 diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm index a2014e4b061..562ea9a221a 100644 --- a/code/modules/modular_computers/hardware/network_card.dm +++ b/code/modules/modular_computers/hardware/network_card.dm @@ -2,7 +2,7 @@ name = "basic network card" desc = "A basic network card for usage with standard network protocols." power_usage = 50 - origin_tech = "{'programming':2,'engineering':1}" + origin_tech = @'{"programming":2,"engineering":1}' critical = 0 icon_state = "netcard_basic" hardware_size = 1 @@ -33,7 +33,7 @@ name = "advanced network card" desc = "An advanced network card for usage with standard network protocols. It's transmitter is strong enough to connect even when far away." long_range = 1 - origin_tech = "{'programming':4,'engineering':2}" + origin_tech = @'{"programming":4,"engineering":2}' power_usage = 100 // Better range but higher power usage. icon_state = "netcard_advanced" hardware_size = 1 diff --git a/code/modules/modular_computers/hardware/portable_hard_drive.dm b/code/modules/modular_computers/hardware/portable_hard_drive.dm index f854beb0cfd..921f22a0f57 100644 --- a/code/modules/modular_computers/hardware/portable_hard_drive.dm +++ b/code/modules/modular_computers/hardware/portable_hard_drive.dm @@ -6,7 +6,7 @@ icon_state = "flashdrive_basic" hardware_size = 1 max_capacity = 16 - origin_tech = "{'programming':1}" + origin_tech = @'{"programming":1}' material = /decl/material/solid/fiberglass /obj/item/stock_parts/computer/hard_drive/portable/advanced @@ -16,7 +16,7 @@ icon_state = "flashdrive_advanced" hardware_size = 1 max_capacity = 64 - origin_tech = "{'programming':2}" + origin_tech = @'{"programming":2}' /obj/item/stock_parts/computer/hard_drive/portable/super name = "super data crystal" @@ -25,7 +25,7 @@ icon_state = "flashdrive_super" hardware_size = 1 max_capacity = 256 - origin_tech = "{'programming':4}" + origin_tech = @'{"programming":4}' /obj/item/stock_parts/computer/hard_drive/portable/Initialize() . = ..() @@ -63,4 +63,3 @@ readme.stored_data = jointext(readme_data, "\[br\]") readme.filename = "___README___" store_file(readme) - \ No newline at end of file diff --git a/code/modules/modular_computers/hardware/processor_unit.dm b/code/modules/modular_computers/hardware/processor_unit.dm index e1c75121a7c..95cf5d8525d 100644 --- a/code/modules/modular_computers/hardware/processor_unit.dm +++ b/code/modules/modular_computers/hardware/processor_unit.dm @@ -8,7 +8,7 @@ hardware_size = 2 power_usage = 100 critical = 1 - origin_tech = "{'programming':3,'engineering':2}" + origin_tech = @'{"programming":3,"engineering":2}' material = /decl/material/solid/metal/steel var/processing_power = 2 // Used for DDoS speed calculations @@ -20,7 +20,7 @@ hardware_size = 1 power_usage = 25 processing_power = 1 - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' material = /decl/material/solid/metal/steel /obj/item/stock_parts/computer/processor_unit/photonic @@ -30,7 +30,7 @@ hardware_size = 2 power_usage = 50 processing_power = 4 - origin_tech = "{'programming':5,'engineering':4}" + origin_tech = @'{"programming":5,"engineering":4}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) @@ -41,6 +41,6 @@ hardware_size = 1 power_usage = 10 processing_power = 2 - origin_tech = "{'programming':4,'engineering':3}" + origin_tech = @'{"programming":4,"engineering":3}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/modules/modular_computers/hardware/scanners/scanner.dm b/code/modules/modular_computers/hardware/scanners/scanner.dm index cdb1222ab75..b84dc782e6d 100644 --- a/code/modules/modular_computers/hardware/scanners/scanner.dm +++ b/code/modules/modular_computers/hardware/scanners/scanner.dm @@ -7,7 +7,7 @@ icon_state = "printer" hardware_size = 1 critical = 0 - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' var/datum/computer_file/program/scanner/driver_type = /datum/computer_file/program/scanner // A program type that the scanner interfaces with and attempts to install on insertion. var/datum/computer_file/program/scanner/driver // A driver program which has been set up to interface with the scanner. diff --git a/code/modules/modular_computers/hardware/tesla_link.dm b/code/modules/modular_computers/hardware/tesla_link.dm index c80c643abed..6e59fcdb5f9 100644 --- a/code/modules/modular_computers/hardware/tesla_link.dm +++ b/code/modules/modular_computers/hardware/tesla_link.dm @@ -5,7 +5,7 @@ enabled = 1 icon_state = "teslalink" hardware_size = 1 - origin_tech = "{'programming':2,'powerstorage':3,'engineering':2}" + origin_tech = @'{"programming":2,"powerstorage":3,"engineering":2}' material = /decl/material/solid/metal/steel var/passive_charging_rate = 250 // W diff --git a/code/modules/modular_computers/networking/machinery/wall_relay.dm b/code/modules/modular_computers/networking/machinery/wall_relay.dm index 9911c3bc20a..dbf5102bf60 100644 --- a/code/modules/modular_computers/networking/machinery/wall_relay.dm +++ b/code/modules/modular_computers/networking/machinery/wall_relay.dm @@ -7,7 +7,7 @@ density = FALSE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED base_type = /obj/machinery/network/relay/wall_mounted - directional_offset = "{'NORTH':{'y':-21}, 'SOUTH':{'y':21}, 'EAST':{'x':-21}, 'WEST':{'x':21}}" + directional_offset = @'{"NORTH":{"y":-21}, "SOUTH":{"y":21}, "EAST":{"x":-21}, "WEST":{"x":21}}' /obj/machinery/network/relay/wall_mounted/Initialize() . = ..() diff --git a/code/modules/modular_computers/networking/machinery/wall_router.dm b/code/modules/modular_computers/networking/machinery/wall_router.dm index 27c46d4d771..5c408af98d9 100644 --- a/code/modules/modular_computers/networking/machinery/wall_router.dm +++ b/code/modules/modular_computers/networking/machinery/wall_router.dm @@ -7,7 +7,7 @@ density = FALSE obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED base_type = /obj/machinery/network/router/wall_mounted - directional_offset = "{'NORTH':{'y':-21}, 'SOUTH':{'y':21}, 'EAST':{'x':-21}, 'WEST':{'x':21}}" + directional_offset = @'{"NORTH":{"y":-21}, "SOUTH":{"y":21}, "EAST":{"x":-21}, "WEST":{"x":21}}' /obj/machinery/network/router/wall_mounted/Initialize() . = ..() diff --git a/code/modules/modular_computers/networking/network_files.dm b/code/modules/modular_computers/networking/network_files.dm index 66d6e21fc12..34229d711e2 100644 --- a/code/modules/modular_computers/networking/network_files.dm +++ b/code/modules/modular_computers/networking/network_files.dm @@ -1,9 +1,11 @@ /datum/computer_network/proc/find_file_by_name(filename, directory, mainframe_role = MF_ROLE_FILESERVER, list/accesses) for(var/datum/extension/network_device/mainframe/M in get_mainframes_by_role(mainframe_role, accesses)) var/datum/computer_file/F = M.get_file(filename, directory) - if(F) + if(istype(F)) return F + return OS_FILE_NOT_FOUND + /datum/computer_network/proc/get_all_files_of_type(file_type, mainframe_role = MF_ROLE_FILESERVER, uniques_only = FALSE, list/accesses) . = list() var/list/found_filenames = list() diff --git a/code/modules/multiz/hoist.dm b/code/modules/multiz/hoist.dm index 838b64e9dc2..02c3988c4a6 100644 --- a/code/modules/multiz/hoist.dm +++ b/code/modules/multiz/hoist.dm @@ -83,7 +83,7 @@ if (get_turf(AM) != get_turf(source_hook)) AM.forceMove(get_turf(source_hook)) - events_repository.register(/decl/observ/destroyed, AM, src, .proc/release_hoistee) + events_repository.register(/decl/observ/destroyed, AM, src, PROC_REF(release_hoistee)) /obj/effect/hoist_hook/handle_mouse_drop(atom/over, mob/user, params) if(source_hoist.hoistee && isturf(over) && over.Adjacent(source_hoist.hoistee)) diff --git a/code/modules/multiz/ladder.dm b/code/modules/multiz/ladder.dm index 8fa04a4f2aa..5338e63f0d3 100644 --- a/code/modules/multiz/ladder.dm +++ b/code/modules/multiz/ladder.dm @@ -107,7 +107,7 @@ var/turf/T = get_turf(src) if(T) for(var/atom/movable/M in T.contents) - addtimer(CALLBACK(M, /atom/movable/proc/fall, T), 0) + addtimer(CALLBACK(M, TYPE_PROC_REF(/atom/movable, fall), T), 0) return ..() /obj/structure/ladder/attackby(obj/item/I, mob/user) diff --git a/code/modules/multiz/level_data.dm b/code/modules/multiz/level_data.dm index 8f2afa7ba12..377a175df9e 100644 --- a/code/modules/multiz/level_data.dm +++ b/code/modules/multiz/level_data.dm @@ -242,7 +242,7 @@ /datum/level_data/proc/setup_ambient() if(!use_global_exterior_ambience) return - ambient_light_level = config.exterior_ambient_light + ambient_light_level = get_config_value(/decl/config/num/exterior_ambient_light) ambient_light_color = SSskybox.background_color ///Setup/generate atmosphere for exterior turfs on the level. @@ -291,7 +291,7 @@ ///Called when setting up the level. Apply generators and anything that modifies the turfs of the level. /datum/level_data/proc/generate_level() - if(!global.config.roundstart_level_generation) + if(!get_config_value(/decl/config/toggle/roundstart_level_generation)) return var/origx = level_inner_min_x var/origy = level_inner_min_y @@ -303,7 +303,7 @@ ///Apply the parent entity's map generators. (Planets generally) ///This proc is to give a chance to level_data subtypes to individually chose to ignore the parent generators. /datum/level_data/proc/apply_map_generators(var/list/map_gen) - if(!global.config.roundstart_level_generation) + if(!get_config_value(/decl/config/toggle/roundstart_level_generation)) return var/origx = level_inner_min_x var/origy = level_inner_min_y diff --git a/code/modules/multiz/movement.dm b/code/modules/multiz/movement.dm index 440cc530bd1..b36246164d4 100644 --- a/code/modules/multiz/movement.dm +++ b/code/modules/multiz/movement.dm @@ -121,7 +121,7 @@ // Entered() which is part of Move(), by spawn()ing we let that complete. But we want to preserve if we were in client movement // or normal movement so other move behavior can continue. /atom/movable/proc/begin_falling(var/lastloc, var/below) - addtimer(CALLBACK(src, /atom/movable/proc/fall_callback, below), 0) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/movable, fall_callback), below), 0) /atom/movable/proc/fall_callback(var/turf/below) if(!QDELETED(src)) @@ -187,7 +187,11 @@ return species.can_fall(src) /atom/movable/proc/protected_from_fall_damage(var/turf/landing) - return !!(locate(/obj/structure/stairs) in landing) + if(!!(locate(/obj/structure/stairs) in landing)) + return TRUE + var/turf/exterior/wall/ramp = landing + if(istype(ramp) && ramp.ramp_slope_direction) // walking down a ramp + return TRUE /mob/protected_from_fall_damage(var/turf/landing) . = ..() @@ -373,7 +377,7 @@ . = ..() owner = user follow() - events_repository.register(/decl/observ/moved, owner, src, /atom/movable/z_observer/proc/follow) + events_repository.register(/decl/observ/moved, owner, src, TYPE_PROC_REF(/atom/movable/z_observer, follow)) /atom/movable/z_observer/proc/follow() @@ -397,7 +401,7 @@ qdel(src) /atom/movable/z_observer/Destroy() - events_repository.unregister(/decl/observ/moved, owner, src, /atom/movable/z_observer/proc/follow) + events_repository.unregister(/decl/observ/moved, owner, src, TYPE_PROC_REF(/atom/movable/z_observer, follow)) owner = null . = ..() diff --git a/code/modules/multiz/zmimic/mimic_movable.dm b/code/modules/multiz/zmimic/mimic_movable.dm index 957c143791b..ca27e2be61d 100644 --- a/code/modules/multiz/zmimic/mimic_movable.dm +++ b/code/modules/multiz/zmimic/mimic_movable.dm @@ -169,12 +169,12 @@ deltimer(destruction_timer) destruction_timer = null else if (!destruction_timer) - destruction_timer = addtimer(CALLBACK(src, /datum/.proc/qdel_self), 10 SECONDS, TIMER_STOPPABLE) + destruction_timer = addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, qdel_self)), 10 SECONDS, TIMER_STOPPABLE) // Called when the turf we're on is deleted/changed. /atom/movable/openspace/mimic/proc/owning_turf_changed() if (!destruction_timer) - destruction_timer = addtimer(CALLBACK(src, /datum/.proc/qdel_self), 10 SECONDS, TIMER_STOPPABLE) + destruction_timer = addtimer(CALLBACK(src, TYPE_PROC_REF(/datum, qdel_self)), 10 SECONDS, TIMER_STOPPABLE) // -- TURF PROXY -- diff --git a/code/modules/nano/modules/human_appearance.dm b/code/modules/nano/modules/human_appearance.dm index 7b19155b7ba..a6772cb01b9 100644 --- a/code/modules/nano/modules/human_appearance.dm +++ b/code/modules/nano/modules/human_appearance.dm @@ -41,39 +41,39 @@ return owner.change_skin_tone(new_s_tone) if(href_list["skin_color"] && can_change_skin_color()) - var/new_skin = input(usr, "Choose your character's skin colour: ", "Skin Color", owner.skin_colour) as color|null - if(new_skin && can_still_topic(state) && owner.change_skin_color(new_skin)) + var/new_skin = input(usr, "Choose your character's skin colour: ", "Skin Color", owner.get_skin_colour()) as color|null + if(new_skin && can_still_topic(state) && owner.set_skin_colour(new_skin)) update_dna() return TRUE if(href_list["hair"]) var/decl/sprite_accessory/hair = locate(href_list["hair"]) - if(can_change(APPEARANCE_HAIR) && istype(hair) && (hair.type in owner.get_valid_hairstyle_types()) && owner.change_hair(hair.type)) + if(can_change(APPEARANCE_HAIR) && istype(hair) && (hair.type in owner.get_valid_hairstyle_types()) && owner.set_hairstyle(hair.type)) update_dna() return TRUE if(href_list["hair_color"] && can_change(APPEARANCE_HAIR_COLOR)) - var/new_hair = input("Please select hair color.", "Hair Color", owner.hair_colour) as color|null - if(new_hair && can_still_topic(state) && owner.change_hair_color(new_hair)) + var/new_hair = input("Please select hair color.", "Hair Color", owner.get_hair_colour()) as color|null + if(new_hair && can_still_topic(state) && owner.set_hair_colour(new_hair)) update_dna() return TRUE if(href_list["facial_hair"]) var/decl/sprite_accessory/facial_hair = locate(href_list["facial_hair"]) - if(can_change(APPEARANCE_FACIAL_HAIR) && istype(facial_hair) && (facial_hair.type in owner.get_valid_facial_hairstyle_types()) && owner.change_facial_hair(facial_hair.type)) + if(can_change(APPEARANCE_FACIAL_HAIR) && istype(facial_hair) && (facial_hair.type in owner.get_valid_facial_hairstyle_types()) && owner.set_facial_hairstyle(facial_hair.type)) update_dna() return TRUE if(href_list["facial_hair_color"] && can_change(APPEARANCE_FACIAL_HAIR_COLOR)) - var/new_facial = input("Please select facial hair color.", "Facial Hair Color", owner.facial_hair_colour) as color|null - if(new_facial && can_still_topic(state) && owner.change_facial_hair_color(new_facial)) + var/new_facial = input("Please select facial hair color.", "Facial Hair Color", owner.get_facial_hair_colour()) as color|null + if(new_facial && can_still_topic(state) && owner.set_facial_hair_colour(new_facial)) update_dna() return TRUE if(href_list["eye_color"]) if(can_change(APPEARANCE_EYE_COLOR)) - var/new_eyes = input("Please select eye color.", "Eye Color", owner.eye_colour) as color|null - if(new_eyes && can_still_topic(state) && owner.change_eye_color(new_eyes)) + var/new_eyes = input("Please select eye color.", "Eye Color", owner.get_eye_colour()) as color|null + if(new_eyes && can_still_topic(state) && owner.set_eye_colour(new_eyes)) update_dna() return TRUE @@ -119,7 +119,8 @@ var/decl/sprite_accessory/hair_decl = GET_DECL(hair_style) hair_styles[++hair_styles.len] = list("hairstyle" = hair_decl.name, "ref" = "\ref[hair_decl]") data["hair_styles"] = hair_styles - var/decl/sprite_accessory/hair = GET_DECL(owner.h_style) + var/hairstyle = owner.get_hairstyle() + var/decl/sprite_accessory/hair = GET_DECL(hairstyle) data["hair_style"] = hair.name data["change_facial_hair"] = can_change(APPEARANCE_FACIAL_HAIR) @@ -129,7 +130,8 @@ var/decl/sprite_accessory/facial_hair_decl = GET_DECL(facial_hair_style) facial_hair_styles[++facial_hair_styles.len] = list("facialhairstyle" = facial_hair_decl.name, "ref" = "\ref[facial_hair_decl]") data["facial_hair_styles"] = facial_hair_styles - var/decl/sprite_accessory/facial_hair = GET_DECL(owner.f_style) + var/facial_hairstyle = owner.get_facial_hairstyle() + var/decl/sprite_accessory/facial_hair = GET_DECL(facial_hairstyle) data["facial_hair_style"] = facial_hair.name data["change_hair_color"] = can_change(APPEARANCE_HAIR_COLOR) diff --git a/code/modules/organs/ailments/_ailment.dm b/code/modules/organs/ailments/_ailment.dm index daa00fbe4bb..101f4bb8dd8 100644 --- a/code/modules/organs/ailments/_ailment.dm +++ b/code/modules/organs/ailments/_ailment.dm @@ -56,7 +56,7 @@ /datum/ailment/proc/begin_ailment_event() if(!organ?.owner) return - timer_id = addtimer(CALLBACK(src, .proc/do_malfunction), rand(min_time, max_time), TIMER_STOPPABLE | TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT) + timer_id = addtimer(CALLBACK(src, PROC_REF(do_malfunction)), rand(min_time, max_time), TIMER_STOPPABLE | TIMER_UNIQUE | TIMER_OVERRIDE | TIMER_NO_HASH_WAIT) /datum/ailment/proc/do_malfunction() if(!organ?.owner) diff --git a/code/modules/organs/ailments/ailment_codex.dm b/code/modules/organs/ailments/ailment_codex.dm index 8cc388bcb80..a60d78ad2e3 100644 --- a/code/modules/organs/ailments/ailment_codex.dm +++ b/code/modules/organs/ailments/ailment_codex.dm @@ -1,14 +1,12 @@ -/datum/codex_entry/ailments - name = "Medical Ailments" - lore_text = "Day to day life can exert stress on the body, which can manifest in small, non-critical medical conditions like a sore back or a \ - headache. 9/10 doctors recommend a visit to your local physician for treatment before they compound into a chronic or acute condition." - mechanics_text = "Ailments are minor medical conditions that can crop up during a round. They aren't life-threatening, and \ - frequently aren't anything more than slightly annoying, and treating them is generally straightforward." +/datum/codex_entry/guide/ailments + name = "Guide to Medical Ailments" + mechanics_text = "Ailments are minor medical conditions that can crop up during a round. They aren't life-threatening, and frequently aren't anything more than slightly annoying, and treating them is generally straightforward." + lore_text = "Day to day life can exert stress on the body, which can manifest in small, non-critical medical conditions like a sore back or a headache. 9/10 doctors recommend a visit to your local physician for treatment before they compound into a chronic or acute condition." var/show_robotics_recipes = FALSE var/name_column = "Ailment" var/treatment_column = "Recommended treatment" -/datum/codex_entry/ailments/robotic +/datum/codex_entry/guide/ailments/robotic name = "Prosthetic Faults" lore_text = "Prosthetic limbs can be prone to debilitating and often dangerous faults, especially if exposed to hostile conditions." mechanics_text = "EMP damage or improper installation can cause prosthetic limbs to develop problems, some of them more serious than others." @@ -36,7 +34,7 @@ return "stimulant drugs" return null -/datum/codex_entry/ailments/New() +/datum/codex_entry/guide/ailments/New() var/list/ailment_table = list("") ailment_table += "" for(var/atype in subtypesof(/datum/ailment)) diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 834456dd00c..6beb21ae561 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -195,7 +195,7 @@ var/stress_modifier = get_stress_modifier() if(stress_modifier) - amount *= 1-(config.stress_blood_recovery_constant * stress_modifier) + amount *= 1-(get_config_value(/decl/config/num/health_stress_blood_recovery_constant) * stress_modifier) var/blood_volume_raw = vessel.total_volume amount = max(0,min(amount, species.blood_volume - blood_volume_raw)) diff --git a/code/modules/organs/external/_external.dm b/code/modules/organs/external/_external.dm index 6d223a855ac..b84012f2d46 100644 --- a/code/modules/organs/external/_external.dm +++ b/code/modules/organs/external/_external.dm @@ -12,7 +12,7 @@ abstract_type = /obj/item/organ/external var/slowdown = 0 - var/tmp/icon_cache_key + var/tmp/_icon_cache_key // Strings var/broken_description // fracture string if any. var/damage_state = "00" // Modifier used for generating the on-mob damage overlay for this limb. @@ -32,7 +32,6 @@ // Appearance vars. var/body_part = null // Part flag var/icon_position = 0 // Used in mob overlay layering calculations. - var/icon/mob_icon // Cached icon for use in mob overlays. var/skin_tone // Skin tone. var/skin_colour // skin colour var/skin_blend = ICON_ADD // How the skin colour is applied. @@ -124,15 +123,17 @@ LAZYREMOVE(owner.bad_external_organs, src) /obj/item/organ/external/set_species(specie_name) + _icon_cache_key = null . = ..() skin_blend = bodytype.limb_blend for(var/attack_type in species.unarmed_attacks) var/decl/natural_attack/attack = GET_DECL(attack_type) if(istype(attack) && (organ_tag in attack.usable_with_limbs)) LAZYADD(unarmed_attacks, attack_type) - get_icon() + update_icon() /obj/item/organ/external/set_bodytype(decl/bodytype/new_bodytype, override_material = null, apply_to_internal_organs = TRUE) + _icon_cache_key = null var/decl/bodytype/old_bodytype = bodytype . = ..(new_bodytype, override_material) if(bodytype != old_bodytype && apply_to_internal_organs) @@ -141,6 +142,14 @@ if(.) update_icon(TRUE) +/obj/item/organ/external/set_dna(var/datum/dna/new_dna) + _icon_cache_key = null + return ..() + +/obj/item/organ/external/reset_status() + _icon_cache_key = null + return ..() + /obj/item/organ/external/proc/set_bodytype_with_children(decl/bodytype/new_bodytype, override_material = null) set_bodytype(new_bodytype, override_material) for(var/obj/item/organ/external/child in children) @@ -648,7 +657,7 @@ This function completely restores a damaged organ to perfect condition. switch(type) if(BURN) fluid_loss_severity = FLUIDLOSS_WIDE_BURN if(LASER) fluid_loss_severity = FLUIDLOSS_CONC_BURN - var/fluid_loss = (damage/(owner.get_max_health() - config.health_threshold_dead)) * SPECIES_BLOOD_DEFAULT * fluid_loss_severity + var/fluid_loss = (damage/(owner.get_max_health() - get_config_value(/decl/config/num/health_health_threshold_dead))) * SPECIES_BLOOD_DEFAULT * fluid_loss_severity owner.remove_blood(fluid_loss) // first check whether we can widen an existing wound @@ -873,12 +882,12 @@ Note that amputating the affected organ does in fact remove the infection from t // we only update wounds once in [wound_update_accuracy] ticks so have to emulate realtime heal_amt = heal_amt * wound_update_accuracy // configurable regen speed woo, no-regen hardcore or instaheal hugbox, choose your destiny - heal_amt = heal_amt * config.organ_regeneration_multiplier + heal_amt = heal_amt * get_config_value(/decl/config/num/health_organ_regeneration_multiplier) // Apply a modifier based on how stressed we currently are. if(owner) var/stress_modifier = owner.get_stress_modifier() if(stress_modifier) - heal_amt *= 1-(config.stress_healing_recovery_constant * stress_modifier) + heal_amt *= 1-(get_config_value(/decl/config/num/health_stress_healing_recovery_constant) * stress_modifier) // amount of healing is spread over all the wounds heal_amt = heal_amt / (LAZYLEN(wounds) + 1) // making it look prettier on scanners @@ -1217,7 +1226,7 @@ Note that amputating the affected organ does in fact remove the infection from t I.exposed() /obj/item/organ/external/proc/fracture() - if(!config.bones_can_break) + if(!get_config_value(/decl/config/toggle/on/health_bones_can_break)) return if(BP_IS_PROSTHETIC(src)) return //ORGAN_BROKEN doesn't have the same meaning for robot limbs @@ -1252,7 +1261,7 @@ Note that amputating the affected organ does in fact remove the infection from t /obj/item/organ/external/proc/mend_fracture() if(BP_IS_PROSTHETIC(src)) return 0 //ORGAN_BROKEN doesn't have the same meaning for robot limbs - if(brute_dam > min_broken_damage * config.organ_health_multiplier) + if(brute_dam > min_broken_damage * get_config_value(/decl/config/num/health_organ_health_multiplier)) return 0 //will just immediately fracture again status &= ~ORGAN_BROKEN diff --git a/code/modules/organs/external/_external_damage.dm b/code/modules/organs/external/_external_damage.dm index 32dab6dae8b..6f6f150edcb 100644 --- a/code/modules/organs/external/_external_damage.dm +++ b/code/modules/organs/external/_external_damage.dm @@ -49,9 +49,9 @@ //If limb took enough damage, try to cut or tear it off if(owner && loc == owner) owner.update_health() //droplimb will call update_health() again if it does end up being called - if((limb_flags & ORGAN_FLAG_CAN_AMPUTATE) && config.limbs_can_break) + if((limb_flags & ORGAN_FLAG_CAN_AMPUTATE) && get_config_value(/decl/config/toggle/on/health_limbs_can_break)) var/total_damage = brute_dam + burn_dam + brute + burn + spillover - var/threshold = max_damage * config.organ_health_multiplier + var/threshold = max_damage * get_config_value(/decl/config/num/health_organ_health_multiplier) if(total_damage > threshold) if(attempt_dismemberment(pure_brute, burn, sharp, edge, used_weapon, spillover, total_damage > threshold*6, override_droplimb = override_droplimb)) return @@ -109,7 +109,7 @@ //If there are still hurties to dispense if (spillover) - owner.shock_stage += spillover * config.organ_damage_spillover_multiplier + owner.shock_stage += spillover * get_config_value(/decl/config/num/health_organ_damage_spillover_multiplier) // sync the organ's damage with its wounds update_damages() diff --git a/code/modules/organs/external/_external_icons.dm b/code/modules/organs/external/_external_icons.dm index 569c4b67066..aa77c6e51fc 100644 --- a/code/modules/organs/external/_external_icons.dm +++ b/code/modules/organs/external/_external_icons.dm @@ -4,27 +4,31 @@ var/global/list/limb_icon_cache = list() return ..(SOUTH) /obj/item/organ/external/proc/compile_icon() - //#FIXME: We REALLY shouldn't be messing with overlays outside on_update_icon. And on_update_icon doesn't call this. - cut_overlays() // This is a kludge, only one icon has more than one generation of children though. for(var/obj/item/organ/external/organ in contents) if(organ.children && organ.children.len) for(var/obj/item/organ/external/child in organ.children) - add_overlay(child.mob_icon) - add_overlay(organ.mob_icon) + child.update_icon() + child.compile_overlays() + organ.update_icon() + organ.compile_overlays() + update_icon() + compile_overlays() /obj/item/organ/external/proc/sync_colour_to_human(var/mob/living/carbon/human/human) + _icon_cache_key = null skin_tone = null skin_colour = null - hair_colour = human.hair_colour + hair_colour = human.get_hair_colour() // This used to do a bodytype set but that was *really really bad.* Things that need that should do it themselves. skin_blend = bodytype.limb_blend if(!isnull(human.skin_tone) && bodytype?.appearance_flags & HAS_A_SKIN_TONE) skin_tone = human.skin_tone if(bodytype.appearance_flags & HAS_SKIN_COLOR) - skin_colour = human.skin_colour + skin_colour = human.get_skin_colour() /obj/item/organ/external/proc/sync_colour_to_dna() + _icon_cache_key = null skin_tone = null skin_colour = null hair_colour = rgb(dna.GetUIValue(DNA_UI_HAIR_R),dna.GetUIValue(DNA_UI_HAIR_G),dna.GetUIValue(DNA_UI_HAIR_B)) @@ -42,18 +46,8 @@ var/global/list/limb_icon_cache = list() update_icon(1) if(last_owner) SetName("[last_owner.real_name]'s head") - addtimer(CALLBACK(last_owner, /mob/proc/update_hair), 1, TIMER_UNIQUE) - . = ..() - //Head markings, duplicated (sadly) below. - for(var/M in markings) - var/decl/sprite_accessory/marking/mark_style = GET_DECL(M) - if (mark_style.draw_target == MARKING_TARGET_SKIN) - var/mark_color = markings[M] - var/icon/mark_s = mark_style.get_cached_marking_icon(bodytype, icon_state, mark_color) - //#TODO: This probably should be added to a list that's applied on update icon, otherwise its gonna act really wonky! - add_overlay(mark_s) //So when it's not on your body, it has icons - mob_icon.Blend(mark_s, mark_style.layer_blend) //So when it's on your body, it has icons - icon_cache_key += "[M][mark_color]" + addtimer(CALLBACK(last_owner, TYPE_PROC_REF(/mob, update_hair)), 1, TIMER_UNIQUE) + return ..() /obj/item/organ/external/proc/update_limb_icon_file() if(!BP_IS_PROSTHETIC(src) && (status & ORGAN_MUTATED)) @@ -63,51 +57,92 @@ var/global/list/limb_icon_cache = list() else icon = bodytype.get_base_icon(owner) -/obj/item/organ/external/on_update_icon(var/regenerate = 0) - . = ..() - icon_state = organ_tag - icon_cache_key = "[icon_state]_[species.name][bodytype.name][render_alpha]" +var/global/list/organ_icon_cache = list() +/obj/item/organ/external/proc/generate_mob_icon() - update_limb_icon_file() - mob_icon = apply_colouration(new/icon(icon, icon_state)) + // Generate base icon with colour and tone. + var/icon/ret = bodytype.apply_limb_colouration(src, new /icon(icon, icon_state)) + if(status & ORGAN_DEAD) + ret.ColorTone(rgb(10,50,0)) + ret.SetIntensity(0.7) + if(skin_tone) + if(skin_tone >= 0) + ret.Blend(rgb(skin_tone, skin_tone, skin_tone), ICON_ADD) + else + ret.Blend(rgb(-skin_tone, -skin_tone, -skin_tone), ICON_SUBTRACT) + if((bodytype.appearance_flags & HAS_SKIN_COLOR) && skin_colour) + ret.Blend(skin_colour, skin_blend) - //Body markings, does not include head, duplicated (sadly) above. + //Body markings. for(var/M in markings) - var/decl/sprite_accessory/marking/mark_style = GET_DECL(M) - if (mark_style.draw_target == MARKING_TARGET_SKIN) - var/mark_color = markings[M] - var/icon/mark_s = mark_style.get_cached_marking_icon(bodytype, icon_state, mark_color) - //#TODO: This probably should be added to a list that's applied on update icon, otherwise its gonna act really wonky! - add_overlay(mark_s) //So when it's not on your body, it has icons - mob_icon.Blend(mark_s, mark_style.layer_blend) //So when it's on your body, it has icons - icon_cache_key += "[M][mark_color]" - + var/decl/sprite_accessory/marking/mark_style = resolve_accessory_to_decl(M) + if(mark_style && !mark_style.sprite_overlay_layer) + ret.Blend(mark_style.get_cached_accessory_icon(src, markings[M]), mark_style.layer_blend) if(render_alpha < 255) - mob_icon += rgb(,,,render_alpha) + ret += rgb(,,,render_alpha) + global.organ_icon_cache[_icon_cache_key] = ret + return ret - icon = mob_icon +/obj/item/organ/external/proc/get_mob_overlays() + for(var/M in markings) + var/decl/sprite_accessory/marking/mark_style = resolve_accessory_to_decl(M) + if(mark_style?.sprite_overlay_layer) + var/image/mark_image = image(mark_style.get_cached_accessory_icon(src, markings[M])) + mark_image.layer = mark_style.sprite_overlay_layer + LAZYADD(., mark_image) + +/obj/item/organ/external/proc/get_icon_cache_key_components() + . = list("[icon_state]_[species.name]_[bodytype.name]_[render_alpha]_[icon]") + for(var/M in markings) + var/decl/sprite_accessory/marking/mark_style = GET_DECL(M) + if(!mark_style.sprite_overlay_layer) + . += "_[M][markings[M]]" + if(status & ORGAN_DEAD) + . += "_dead" + . += "_tone_[skin_tone]_color_[skin_colour]_[skin_blend]" -/obj/item/organ/external/proc/get_icon() - update_icon() - return mob_icon +/obj/item/organ/external/on_update_icon() + . = ..() -// Returns an image for use by the human health dolly HUD element. -// If the limb is in pain, it will be used as a minimum damage -// amount to represent the obfuscation of being in agonizing pain. + // Update our cache key and refresh or create our base icon. + update_limb_icon_file() + if(icon_state != organ_tag) + icon_state = organ_tag + _icon_cache_key = jointext(get_icon_cache_key_components(), null) + var/icon/mob_icon = global.organ_icon_cache[_icon_cache_key] || generate_mob_icon() + if(icon != mob_icon) + icon = mob_icon + + // We may have some overlays of our own (hair, glowing eyes, layered markings) + var/list/additional_overlays = get_mob_overlays() + if(length(additional_overlays)) + for(var/new_overlay in additional_overlays) + add_overlay(new_overlay) + + // If we've been severed, we may contain child organs that should be rendered (feet on legs etc). + if(!owner && length(contents)) + for(var/obj/item/organ/external/child in contents) + child.update_icon() + child.compile_overlays() // We need the appearance immediately. + add_overlay(child) // Global scope, used in code below. var/global/list/flesh_hud_colours = list("#00ff00","#aaff00","#ffff00","#ffaa00","#ff0000","#aa0000","#660000") var/global/list/robot_hud_colours = list("#ffffff","#cccccc","#aaaaaa","#888888","#666666","#444444","#222222","#000000") +// Returns an image for use by the human health dolly HUD element. +// If the limb is in pain, it will be used as a minimum damage +// amount to represent the obfuscation of being in agonizing pain. /obj/item/organ/external/proc/get_damage_hud_image() // Generate the greyscale base icon and cache it for later. // icon_cache_key is set by any get_icon() calls that are made. // This looks convoluted, but it's this way to avoid icon proc calls. if(!hud_damage_image) - var/cache_key = "dambase-[icon_cache_key]" - if(!icon_cache_key || !limb_icon_cache[cache_key]) - limb_icon_cache[cache_key] = icon(get_icon(), null, SOUTH) + update_icon() + var/cache_key = "dambase-[_icon_cache_key]" + if(!cache_key || !limb_icon_cache[cache_key]) + limb_icon_cache[cache_key] = icon(icon, null, SOUTH) var/image/temp = image(limb_icon_cache[cache_key]) if(species) // Calculate the required colour matrix. @@ -130,27 +165,6 @@ var/global/list/robot_hud_colours = list("#ffffff","#cccccc","#aaaaaa","#888888" hud_damage_image.color = hud_colours[max(1,min(CEILING(dam_state*hud_colours.len),hud_colours.len))] return hud_damage_image -/obj/item/organ/external/proc/apply_colouration(var/icon/applying) - - applying = bodytype.apply_limb_colouration(src, applying) - if(status & ORGAN_DEAD) - icon_cache_key += "_dead" - applying.ColorTone(rgb(10,50,0)) - applying.SetIntensity(0.7) - - if(skin_tone) - if(skin_tone >= 0) - applying.Blend(rgb(skin_tone, skin_tone, skin_tone), ICON_ADD) - else - applying.Blend(rgb(-skin_tone, -skin_tone, -skin_tone), ICON_SUBTRACT) - icon_cache_key += "_tone_[skin_tone]" - if(bodytype.appearance_flags & HAS_SKIN_COLOR) - if(skin_colour) - applying.Blend(skin_colour, skin_blend) - icon_cache_key += "_color_[skin_colour]_[skin_blend]" - - return applying - /obj/item/organ/external/proc/bandage_level() if(damage_state_text() == "00") return 0 @@ -163,4 +177,15 @@ var/global/list/robot_hud_colours = list("#ffffff","#cccccc","#aaaaaa","#888888" else if (burn_dam + brute_dam < (max_damage * 0.75 / 2)) . = 2 else - . = 3 \ No newline at end of file + . = 3 + +/obj/item/organ/external/proc/resolve_accessory_to_decl(var/decl/sprite_accessory/accessory_style) + if(ispath(accessory_style)) + accessory_style = GET_DECL(accessory_style) + // Check if this style is permitted for this species, period. + if(!accessory_style.accessory_is_available(owner, species, bodytype)) + return null + // Check if we are concealed (long hair under a hat for example). + if(accessory_style.is_hidden(src)) + return accessory_style.get_hidden_substitute() + return accessory_style diff --git a/code/modules/organs/external/head.dm b/code/modules/organs/external/head.dm index 14ebb37894a..9ea8af56647 100644 --- a/code/modules/organs/external/head.dm +++ b/code/modules/organs/external/head.dm @@ -16,23 +16,23 @@ limb_flags = ORGAN_FLAG_CAN_AMPUTATE | ORGAN_FLAG_HEALS_OVERKILL | ORGAN_FLAG_CAN_BREAK | ORGAN_FLAG_CAN_DISLOCATE - var/draw_eyes = TRUE var/glowing_eyes = FALSE var/can_intake_reagents = TRUE var/has_lips = TRUE var/forehead_graffiti var/graffiti_style -/obj/item/organ/external/head/proc/get_eye_overlay() - if(glowing_eyes || owner?.has_chemical_effect(CE_GLOWINGEYES, 1)) - var/obj/item/organ/internal/eyes/eyes = owner.get_organ((owner.get_bodytype().vision_organ || BP_EYES), /obj/item/organ/internal/eyes) - if(eyes) - return eyes.get_special_overlay() - -/obj/item/organ/external/head/proc/get_eyes() - var/obj/item/organ/internal/eyes/eyes = owner.get_organ((owner.get_bodytype().vision_organ || BP_EYES), /obj/item/organ/internal/eyes) - if(eyes) - return eyes.get_onhead_icon() +/obj/item/organ/external/head/proc/get_organ_eyes_overlay() + if(!glowing_eyes && !owner?.has_chemical_effect(CE_GLOWINGEYES, 1)) + return + var/obj/item/organ/internal/eyes/eyes = get_eyes_organ() + var/icon/eyes_icon = eyes?.get_onhead_icon() // refreshes cache key + if(!eyes_icon) + return + var/cache_key = "[eyes.last_eye_cache_key]-glow" + if(!global.eye_icon_cache[cache_key]) + global.eye_icon_cache[cache_key] = emissive_overlay(eyes_icon, "") + return global.eye_icon_cache[cache_key] /obj/item/organ/external/head/examine(mob/user) . = ..() @@ -79,7 +79,6 @@ . = ..() has_lips = (bodytype.appearance_flags & HAS_LIPS) can_intake_reagents = !(bodytype.body_flags & BODY_FLAG_NO_EAT) - draw_eyes = bodytype.has_eyes /obj/item/organ/external/head/take_external_damage(brute, burn, damage_flags, used_weapon, override_droplimb) . = ..() @@ -90,75 +89,53 @@ if (burn_dam > 40) disfigure(BURN) -/obj/item/organ/external/head/on_update_icon() - - ..() - +/obj/item/organ/external/head/proc/get_eyes_organ() + RETURN_TYPE(/obj/item/organ/internal/eyes) if(owner) - // Base eye icon. - if(draw_eyes) - var/icon/I = get_eyes() - if(I) - overlays |= I - mob_icon.Blend(I, ICON_OVERLAY) - - // Floating eyes or other effects. - var/image/eye_glow = get_eye_overlay() - if(eye_glow) - overlays |= eye_glow - - if(owner.lip_style && (bodytype.appearance_flags & HAS_LIPS)) - var/icon/lip_icon = new/icon(bodytype.get_lip_icon(owner) || 'icons/mob/human_races/species/lips.dmi', "lipstick_s") - lip_icon.Blend(owner.lip_style, ICON_MULTIPLY) - overlays |= lip_icon - mob_icon.Blend(lip_icon, ICON_OVERLAY) - - overlays |= get_hair_icon() - - return mob_icon - -/obj/item/organ/external/head/proc/get_hair_icon() - var/image/res = image(bodytype.icon_template,"") - if(!owner) - return res + return owner.get_organ((owner.get_bodytype().vision_organ || BP_EYES), /obj/item/organ/internal/eyes) + return locate(/obj/item/organ/internal/eyes) in contents - if(owner.f_style) - var/decl/sprite_accessory/facial_hair_style = GET_DECL(owner.f_style) +/obj/item/organ/external/head/get_icon_cache_key_components() + . = ..() + if(bodytype.has_eyes) + . += "_eyes[get_eyes_organ()?.eye_colour][bodytype.eye_icon]" + if(bodytype.appearance_flags & HAS_LIPS) + var/lip_icon = bodytype.get_lip_icon(owner) + if(lip_icon) + . += "_lips[lip_icon][owner?.lip_color || "skip"]" + +/obj/item/organ/external/head/generate_mob_icon() + var/icon/ret = ..() + // Eye icon. + if(bodytype.has_eyes) + var/icon/eyes_icon = get_eyes_organ()?.get_onhead_icon() + if(eyes_icon) + ret.Blend(eyes_icon, ICON_OVERLAY) + // Lip icon. + if(owner && (bodytype.appearance_flags & HAS_LIPS)) + var/lip_icon = bodytype.get_lip_icon(owner) + if(lip_icon) + var/lip_color = owner?.lip_color + if(lip_color) + var/icon/lip_appearance = new/icon(lip_icon, "lipstick_s") + lip_appearance.Blend(lip_color || COLOR_BLACK, ICON_MULTIPLY) + ret.Blend(lip_appearance, ICON_OVERLAY) + return ret + +/obj/item/organ/external/head/get_mob_overlays() + . = ..() + var/image/eye_glow = get_organ_eyes_overlay() + if(eye_glow) + LAZYADD(., eye_glow) + if(!owner) + return + var/facial_hairstyle = owner.get_facial_hairstyle() + if(facial_hairstyle) + var/decl/sprite_accessory/facial_hair_style = resolve_accessory_to_decl(facial_hairstyle) if(facial_hair_style?.accessory_is_available(owner, species, bodytype)) - var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s") - if(owner.facial_hair_colour && facial_hair_style.do_colouration) - facial_s.Blend(owner.facial_hair_colour, facial_hair_style.blend) - res.overlays |= facial_s - - if(owner.h_style) - var/decl/sprite_accessory/hair/hair_style = GET_DECL(owner.h_style) - var/obj/item/head = owner.get_equipped_item(slot_head_str) - if(head && (head.flags_inv & BLOCK_HEAD_HAIR)) - if(!(hair_style.flags & VERY_SHORT)) - hair_style = GET_DECL(/decl/sprite_accessory/hair/short) + LAZYADD(., image(facial_hair_style.get_cached_accessory_icon(src, owner.get_facial_hair_colour()))) + var/hairstyle = owner.get_hairstyle() + if(hairstyle) + var/decl/sprite_accessory/hair/hair_style = resolve_accessory_to_decl(hairstyle) if(hair_style?.accessory_is_available(owner, species, bodytype)) - var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s") - if(hair_style.do_colouration && hair_colour) - hair_s.Blend(hair_colour, hair_style.blend) - res.overlays |= hair_s - - for (var/M in markings) - var/decl/sprite_accessory/marking/mark_style = GET_DECL(M) - if (mark_style.draw_target == MARKING_TARGET_HAIR) - - var/mark_color - if (!mark_style.do_colouration && owner.h_style) - var/decl/sprite_accessory/hair/hair_style = GET_DECL(owner.h_style) - if ((~hair_style.flags & HAIR_BALD) && hair_colour) - mark_color = hair_colour - else //only baseline human skin tones; others will need species vars for coloration - mark_color = rgb(200 + skin_tone, 150 + skin_tone, 123 + skin_tone) - else - mark_color = markings[M] - res.overlays |= mark_style.get_cached_marking_icon(bodytype, icon_state, mark_color) - icon_cache_key += "[M][mark_color]" - - return res - -/obj/item/organ/external/head/no_eyes - draw_eyes = FALSE + LAZYADD(., image(hair_style.get_cached_accessory_icon(src, owner.get_hair_colour()))) diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm index 3d7801a5ff6..903247ae18e 100644 --- a/code/modules/organs/internal/brain.dm +++ b/code/modules/organs/internal/brain.dm @@ -9,7 +9,7 @@ throwforce = 1 throw_speed = 3 throw_range = 5 - origin_tech = "{'biotech':3}" + origin_tech = @'{"biotech":3}' attack_verb = list("attacked", "slapped", "whacked") relative_size = 85 damage_reduction = 0 @@ -172,7 +172,7 @@ SET_STATUS_MAX(owner, STAT_PARA, damage_secondary) SET_STATUS_MAX(owner, STAT_WEAK, round(damage, 1)) if(prob(30)) - addtimer(CALLBACK(src, .proc/brain_damage_callback, damage), rand(6, 20) SECONDS, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(brain_damage_callback), damage), rand(6, 20) SECONDS, TIMER_UNIQUE) /obj/item/organ/internal/brain/proc/brain_damage_callback(var/damage) //Confuse them as a somewhat uncommon aftershock. Side note: Only here so a spawn isn't used. Also, for the sake of a unique timer. if(!QDELETED(owner)) diff --git a/code/modules/organs/internal/eyes.dm b/code/modules/organs/internal/eyes.dm index a995091805b..bdb11a3dd1f 100644 --- a/code/modules/organs/internal/eyes.dm +++ b/code/modules/organs/internal/eyes.dm @@ -33,40 +33,39 @@ /obj/item/organ/internal/eyes/robot/Initialize(mapload, material_key, datum/dna/given_dna, decl/bodytype/new_bodytype) . = ..() - verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color + verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color_verb verbs |= /obj/item/organ/internal/eyes/proc/toggle_eye_glow -/obj/item/organ/internal/eyes/proc/get_eye_cache_key() +/obj/item/organ/internal/eyes/proc/get_onhead_icon() last_cached_eye_colour = eye_colour last_eye_cache_key = "[type]-[bodytype.eye_icon]-[last_cached_eye_colour]-[bodytype.eye_offset]" - return last_eye_cache_key - -/obj/item/organ/internal/eyes/proc/get_onhead_icon() - var/cache_key = get_eye_cache_key() - if(!human_icon_cache[cache_key]) + if(!bodytype.eye_icon) + return + if(!global.eye_icon_cache[last_eye_cache_key]) var/icon/eyes_icon = icon(icon = bodytype.eye_icon, icon_state = "") if(bodytype.eye_offset) eyes_icon.Shift(NORTH, bodytype.eye_offset) if(bodytype.apply_eye_colour) eyes_icon.Blend(last_cached_eye_colour, bodytype.eye_blend) - human_icon_cache[cache_key] = eyes_icon - return human_icon_cache[cache_key] - -/obj/item/organ/internal/eyes/proc/get_special_overlay() - var/icon/I = get_onhead_icon() - if(I) - var/cache_key = "[last_eye_cache_key]-glow" - if(!human_icon_cache[cache_key]) - human_icon_cache[cache_key] = emissive_overlay(I, "") - return human_icon_cache[cache_key] + global.eye_icon_cache[last_eye_cache_key] = eyes_icon + return global.eye_icon_cache[last_eye_cache_key] /obj/item/organ/internal/eyes/proc/update_colour() if(!owner) return + // Update our eye colour. + var/new_eye_colour if(owner.has_chemical_effect(CE_GLOWINGEYES, 1)) - eye_colour = "#75bdd6" // blue glow, hardcoded for now. + new_eye_colour = "#75bdd6" // blue glow, hardcoded for now. else - eye_colour = owner.eye_colour + new_eye_colour = owner.get_eye_colour() + + if(new_eye_colour && eye_colour != new_eye_colour) + eye_colour = new_eye_colour + // Clear the head cache key so they can update their cached icon. + var/obj/item/organ/external/head/head = GET_EXTERNAL_ORGAN(owner, BP_HEAD) + if(istype(head)) + head._icon_cache_key = null /obj/item/organ/internal/eyes/take_internal_damage(amount, var/silent=0) var/oldbroken = is_broken() @@ -92,16 +91,16 @@ /obj/item/organ/internal/eyes/do_install(mob/living/carbon/human/target, affected, in_place, update_icon, detached) // Apply our eye colour to the target. if(istype(target) && eye_colour) - target.eye_colour = eye_colour + target.set_eye_colour(eye_colour, skip_update = TRUE) target.update_eyes(update_icons = update_icon) if(owner && BP_IS_PROSTHETIC(src)) - verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color + verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color_verb verbs |= /obj/item/organ/internal/eyes/proc/toggle_eye_glow . = ..() /obj/item/organ/internal/eyes/do_uninstall(in_place, detach, ignore_children, update_icon) . = ..() - verbs -= /obj/item/organ/internal/eyes/proc/change_eye_color + verbs -= /obj/item/organ/internal/eyes/proc/change_eye_color_verb verbs -= /obj/item/organ/internal/eyes/proc/toggle_eye_glow // TODO: FIND A BETTER WAY TO DO THIS @@ -111,33 +110,33 @@ if(BP_IS_PROSTHETIC(src)) name = "optical sensor" icon = 'icons/obj/robot_component.dmi' - verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color + verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color_verb verbs |= /obj/item/organ/internal/eyes/proc/toggle_eye_glow else name = initial(name) icon = initial(icon) - verbs -= /obj/item/organ/internal/eyes/proc/change_eye_color + verbs -= /obj/item/organ/internal/eyes/proc/change_eye_color_verb verbs -= /obj/item/organ/internal/eyes/proc/toggle_eye_glow update_colour() /obj/item/organ/internal/eyes/get_mechanical_assisted_descriptor() return "retinal overlayed [name]" -/obj/item/organ/internal/eyes/proc/change_eye_color() +/obj/item/organ/internal/eyes/proc/change_eye_color_verb() set name = "Change Eye Color" set desc = "Changes your robotic eye color." set category = "IC" set src in usr if(!owner || !BP_IS_PROSTHETIC(src)) - verbs -= /obj/item/organ/internal/eyes/proc/change_eye_color + verbs -= /obj/item/organ/internal/eyes/proc/change_eye_color_verb return if(owner.incapacitated()) return - var/new_eyes = input("Please select eye color.", "Eye Color", owner.eye_colour) as color|null - if(new_eyes && do_after(owner, 10) && owner.change_eye_color(new_eyes)) + var/new_eyes = input("Please select eye color.", "Eye Color", owner.get_eye_colour()) as color|null + if(new_eyes && do_after(owner, 10) && owner.set_eye_colour(new_eyes)) update_colour() // Finally, update the eye icon on the mob. owner.try_refresh_visible_overlays() diff --git a/code/modules/organs/internal/posibrain.dm b/code/modules/organs/internal/posibrain.dm index 8d3fc31f8a7..ba69416cdd0 100644 --- a/code/modules/organs/internal/posibrain.dm +++ b/code/modules/organs/internal/posibrain.dm @@ -10,7 +10,7 @@ throwforce = 1 throw_speed = 3 throw_range = 5 - origin_tech = "{'engineering':4,'materials':4,'wormholes':2,'programming':4}" + origin_tech = @'{"engineering":4,"materials":4,"wormholes":2,"programming":4}' attack_verb = list("attacked", "slapped", "whacked") material = /decl/material/solid/metal/steel matter = list( @@ -56,7 +56,7 @@ src.searching = 1 var/decl/ghosttrap/G = GET_DECL(/decl/ghosttrap/positronic_brain) G.request_player(brainmob, "Someone is requesting a personality for a positronic brain.", 60 SECONDS) - addtimer(CALLBACK(src, .proc/reset_search), askDelay) + addtimer(CALLBACK(src, PROC_REF(reset_search)), askDelay) /obj/item/organ/internal/posibrain/proc/reset_search() //We give the players time to decide, then reset the timer. if(!brainmob?.key) diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index ab999a7ec99..98cc4129f70 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -4,7 +4,7 @@ germ_level = 0 w_class = ITEM_SIZE_TINY default_action_type = /datum/action/item_action/organ - origin_tech = "{'materials':1,'biotech':1}" + origin_tech = @'{"materials":1,"biotech":1}' throwforce = 2 abstract_type = /obj/item/organ @@ -215,7 +215,7 @@ if(reagents.has_reagent(/decl/material/liquid/blood)) blood_splatter(get_turf(src), src, 1) reagents.remove_any(0.1) - if(config.organs_decay) + if(get_config_value(/decl/config/toggle/health_organs_decay)) take_general_damage(rand(1,3)) germ_level += rand(2,6) if(germ_level >= INFECTION_LEVEL_TWO) diff --git a/code/modules/organs/prosthetics/prosthetics_manufacturer.dm b/code/modules/organs/prosthetics/prosthetics_manufacturer.dm index 32f7f343599..941a87db6ff 100644 --- a/code/modules/organs/prosthetics/prosthetics_manufacturer.dm +++ b/code/modules/organs/prosthetics/prosthetics_manufacturer.dm @@ -2,7 +2,7 @@ abstract_type = /decl/bodytype/prosthetic icon_base = 'icons/mob/human_races/cyberlimbs/robotic.dmi' desc = "A generic unbranded robotic prosthesis." - limb_tech = "{'engineering':1,'materials':1,'magnets':1}" + limb_tech = @'{"engineering":1,"materials":1,"magnets":1}' modifier_string = "robotic" is_robotic = TRUE body_flags = BODY_FLAG_NO_DNA | BODY_FLAG_NO_DEFIB | BODY_FLAG_NO_STASIS | BODY_FLAG_NO_PAIN | BODY_FLAG_NO_EAT diff --git a/code/modules/overmap/contacts/_contacts.dm b/code/modules/overmap/contacts/_contacts.dm index 6caa410e957..600c081918d 100644 --- a/code/modules/overmap/contacts/_contacts.dm +++ b/code/modules/overmap/contacts/_contacts.dm @@ -88,7 +88,7 @@ pinged = TRUE show() animate(marker, alpha=255, 0.5 SECOND, 1, LINEAR_EASING) - addtimer(CALLBACK(src, .proc/unping), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(unping)), 1 SECOND) /datum/overmap_contact/proc/unping() animate(marker, alpha=75, 2 SECOND, 1, LINEAR_EASING) diff --git a/code/modules/overmap/contacts/contact_sensors.dm b/code/modules/overmap/contacts/contact_sensors.dm index fc847367b5b..372c37b56c3 100644 --- a/code/modules/overmap/contacts/contact_sensors.dm +++ b/code/modules/overmap/contacts/contact_sensors.dm @@ -137,7 +137,7 @@ var/time_delay = max((SENSOR_TIME_DELAY * get_dist(linked, contact)),1) if(!record.pinged) - addtimer(CALLBACK(record, .proc/ping), time_delay) + addtimer(CALLBACK(record, PROC_REF(ping)), time_delay) /obj/machinery/computer/ship/sensors/attackby(var/obj/item/I, var/mob/user) . = ..() @@ -150,11 +150,11 @@ if(tracker in trackers) trackers -= tracker - events_repository.unregister(/decl/observ/destroyed, tracker, src, .proc/remove_tracker) + events_repository.unregister(/decl/observ/destroyed, tracker, src, PROC_REF(remove_tracker)) to_chat(user, SPAN_NOTICE("You unlink the tracker in \the [P]'s buffer from \the [src].")) return trackers += tracker - events_repository.register(/decl/observ/destroyed, tracker, src, .proc/remove_tracker) + events_repository.register(/decl/observ/destroyed, tracker, src, PROC_REF(remove_tracker)) to_chat(user, SPAN_NOTICE("You link the tracker in \the [P]'s buffer to \the [src].")) /obj/machinery/computer/ship/sensors/proc/remove_tracker(var/obj/item/ship_tracker/tracker) diff --git a/code/modules/overmap/contacts/tracker.dm b/code/modules/overmap/contacts/tracker.dm index c8009002396..feb89fe461f 100644 --- a/code/modules/overmap/contacts/tracker.dm +++ b/code/modules/overmap/contacts/tracker.dm @@ -4,8 +4,8 @@ icon = 'icons/obj/ship_tracker.dmi' icon_state = "disabled" w_class = ITEM_SIZE_SMALL - - origin_tech = "{'magnets':3, 'programming':2}" + + origin_tech = @'{"magnets":3, "programming":2}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE, /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT) var/enabled = FALSE diff --git a/code/modules/overmap/disperser/disperser_circuit.dm b/code/modules/overmap/disperser/disperser_circuit.dm index f54bafa7a1f..16b2aa0bf9b 100644 --- a/code/modules/overmap/disperser/disperser_circuit.dm +++ b/code/modules/overmap/disperser/disperser_circuit.dm @@ -1,13 +1,13 @@ /obj/item/stock_parts/circuitboard/disperser name = "circuitboard (obstruction field disperser control)" build_path = /obj/machinery/computer/ship/disperser - origin_tech = "{'engineering':2,'combat':2,'wormholes':2}" + origin_tech = @'{"engineering":2,"combat":2,"wormholes":2}' /obj/item/stock_parts/circuitboard/disperserfront name = "circuitboard (obstruction field disperser beam generator)" build_path = /obj/machinery/disperser/front board_type = "machine" - origin_tech = "{'engineering':2,'combat':2,'wormholes':2}" + origin_tech = @'{"engineering":2,"combat":2,"wormholes":2}' req_components = list ( /obj/item/stock_parts/manipulator/pico = 5 ) @@ -16,7 +16,7 @@ name = "circuitboard (obstruction field disperser fusor)" build_path = /obj/machinery/disperser/middle board_type = "machine" - origin_tech = "{'engineering':2,'combat':2,'wormholes':2}" + origin_tech = @'{"engineering":2,"combat":2,"wormholes":2}' req_components = list ( /obj/item/stock_parts/subspace/crystal = 10 ) @@ -25,7 +25,7 @@ name = "circuitboard (obstruction field disperser material deconstructor)" build_path = /obj/machinery/disperser/back board_type = "machine" - origin_tech = "{'engineering':2,'combat':2,'wormholes':2}" + origin_tech = @'{"engineering":2,"combat":2,"wormholes":2}' req_components = list ( /obj/item/stock_parts/capacitor/super = 5 ) \ No newline at end of file diff --git a/code/modules/overmap/disperser/disperser_console.dm b/code/modules/overmap/disperser/disperser_console.dm index 46166a2bdba..14105d9f912 100644 --- a/code/modules/overmap/disperser/disperser_console.dm +++ b/code/modules/overmap/disperser/disperser_console.dm @@ -54,9 +54,9 @@ middle = M back = B if(is_valid_setup()) - events_repository.register(/decl/observ/destroyed, F, src, .proc/release_links) - events_repository.register(/decl/observ/destroyed, M, src, .proc/release_links) - events_repository.register(/decl/observ/destroyed, B, src, .proc/release_links) + events_repository.register(/decl/observ/destroyed, F, src, PROC_REF(release_links)) + events_repository.register(/decl/observ/destroyed, M, src, PROC_REF(release_links)) + events_repository.register(/decl/observ/destroyed, B, src, PROC_REF(release_links)) return TRUE return FALSE @@ -68,9 +68,9 @@ return FALSE /obj/machinery/computer/ship/disperser/proc/release_links() - events_repository.unregister(/decl/observ/destroyed, front, src, .proc/release_links) - events_repository.unregister(/decl/observ/destroyed, middle, src, .proc/release_links) - events_repository.unregister(/decl/observ/destroyed, back, src, .proc/release_links) + events_repository.unregister(/decl/observ/destroyed, front, src, PROC_REF(release_links)) + events_repository.unregister(/decl/observ/destroyed, middle, src, PROC_REF(release_links)) + events_repository.unregister(/decl/observ/destroyed, back, src, PROC_REF(release_links)) front = null middle = null back = null diff --git a/code/modules/overmap/events/event.dm b/code/modules/overmap/events/event.dm index 64e0e449bdd..922924fdba5 100644 --- a/code/modules/overmap/events/event.dm +++ b/code/modules/overmap/events/event.dm @@ -126,13 +126,13 @@ if(!active_hazards.len) hazard_by_turf -= T - events_repository.unregister(/decl/observ/entered, T, src, .proc/on_turf_entered) - events_repository.unregister(/decl/observ/exited, T, src, .proc/on_turf_exited) + events_repository.unregister(/decl/observ/entered, T, src, PROC_REF(on_turf_entered)) + events_repository.unregister(/decl/observ/exited, T, src, PROC_REF(on_turf_exited)) else hazard_by_turf |= T hazard_by_turf[T] = active_hazards - events_repository.register(/decl/observ/entered, T, src, .proc/on_turf_entered) - events_repository.register(/decl/observ/exited, T, src, .proc/on_turf_exited) + events_repository.register(/decl/observ/entered, T, src, PROC_REF(on_turf_entered)) + events_repository.register(/decl/observ/exited, T, src, PROC_REF(on_turf_exited)) for(var/obj/effect/overmap/visitable/ship/ship in T) for(var/datum/event/E in ship_events[ship]) diff --git a/code/modules/overmap/ftl_shunt/computer.dm b/code/modules/overmap/ftl_shunt/computer.dm index 14bc2933ab0..e971f2d5a38 100644 --- a/code/modules/overmap/ftl_shunt/computer.dm +++ b/code/modules/overmap/ftl_shunt/computer.dm @@ -74,7 +74,7 @@ plot_delay_mult = 2 delay = clamp(((jump_dist * BASE_PLOT_TIME_PER_TILE) * plot_delay_mult),1, INFINITY) - jump_plot_timer = addtimer(CALLBACK(src, .proc/finish_plot, x, y), delay, TIMER_STOPPABLE) + jump_plot_timer = addtimer(CALLBACK(src, PROC_REF(finish_plot), x, y), delay, TIMER_STOPPABLE) plotting_jump = TRUE jump_plotted = FALSE return delay diff --git a/code/modules/overmap/ftl_shunt/core.dm b/code/modules/overmap/ftl_shunt/core.dm index e9bd63a5e8d..c9ae2ac1b46 100644 --- a/code/modules/overmap/ftl_shunt/core.dm +++ b/code/modules/overmap/ftl_shunt/core.dm @@ -234,7 +234,7 @@ update_icon() if(check_charge()) - jump_timer = addtimer(CALLBACK(src, .proc/execute_shunt), jump_delay, TIMER_STOPPABLE) + jump_timer = addtimer(CALLBACK(src, PROC_REF(execute_shunt)), jump_delay, TIMER_STOPPABLE) return FTL_START_CONFIRMED /obj/machinery/ftl_shunt/core/proc/calculate_jump_requirements() @@ -270,7 +270,7 @@ return if(use_fuel(required_fuel_joules)) - jump_timer = addtimer(CALLBACK(src, .proc/execute_shunt), jump_delay, TIMER_STOPPABLE) + jump_timer = addtimer(CALLBACK(src, PROC_REF(execute_shunt)), jump_delay, TIMER_STOPPABLE) else cancel_shunt() return //If for some reason we don't have fuel now, just return. @@ -281,7 +281,7 @@ var/jumpdist = get_dist(get_turf(ftl_computer.linked), destination) var/obj/effect/portal/wormhole/W = new(destination) //Generate a wormhole effect on overmap to give some indication that something is about to happen. QDEL_IN(W, 6 SECONDS) - addtimer(CALLBACK(src, .proc/do_shunt, shunt_x, shunt_y, jumpdist, destination), 6 SECONDS) + addtimer(CALLBACK(src, PROC_REF(do_shunt), shunt_x, shunt_y, jumpdist, destination), 6 SECONDS) jumping = TRUE update_icon() for(var/mob/living/carbon/M in global.living_mob_list_) @@ -646,13 +646,13 @@ name = "circuit board (superluminal shunt)" board_type = "machine" build_path = /obj/machinery/ftl_shunt/core - origin_tech = "{'programming':3,'magnets':5,'materials':5,'wormholes':5}" + origin_tech = @'{"programming":3,"magnets":5,"materials":5,"wormholes":5}' additional_spawn_components = list(/obj/item/stock_parts/power/terminal = 1) /obj/item/stock_parts/ftl_core name = "exotic matter bridge" desc = "The beating heart of a superluminal shunt - without this, the power to manipulate space-time is out of reach." - origin_tech = "{'programming':3,'magnets':5,'materials':5,'wormholes':5}" + origin_tech = @'{"programming":3,"magnets":5,"materials":5,"wormholes":5}' icon = 'icons/obj/items/stock_parts/stock_parts.dmi' icon_state = "smes_coil" color = COLOR_YELLOW diff --git a/code/modules/overmap/internet/internet_circuitboards.dm b/code/modules/overmap/internet/internet_circuitboards.dm index 5649be365d9..3e865580bda 100644 --- a/code/modules/overmap/internet/internet_circuitboards.dm +++ b/code/modules/overmap/internet/internet_circuitboards.dm @@ -2,7 +2,7 @@ name = "circuitboard (PLEXUS uplink)" board_type = "machine" build_path = /obj/machinery/internet_uplink - origin_tech = "{'magnets':4,'wormholes':3,'powerstorage':3,'engineering':3}" + origin_tech = @'{"magnets":4,"wormholes":3,"powerstorage":3,"engineering":3}' req_components = list( /obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/micro_laser = 2, @@ -13,13 +13,13 @@ /obj/item/stock_parts/circuitboard/internet_uplink_computer name = "circuitboard (PLEXUS uplink controller)" build_path = /obj/machinery/computer/internet_uplink - origin_tech = "{'programming':2,'engineering':2}" + origin_tech = @'{"programming":2,"engineering":2}' /obj/item/stock_parts/circuitboard/internet_repeater name = "circuitboard (PLEXUS repeater)" build_path = /obj/machinery/internet_repeater board_type = "machine" - origin_tech = "{'magnets':3,'engineering':2,'programming':2}" + origin_tech = @'{"magnets":3,"engineering":2,"programming":2}' req_components = list( /obj/item/stock_parts/subspace/filter = 1, /obj/item/stock_parts/capacitor = 2, diff --git a/code/modules/overmap/radio_beacon.dm b/code/modules/overmap/radio_beacon.dm index 4d35f60124f..4d6f541b3f7 100644 --- a/code/modules/overmap/radio_beacon.dm +++ b/code/modules/overmap/radio_beacon.dm @@ -13,8 +13,8 @@

    ---END OF TRANSMISSION---" /obj/effect/overmap/radio/proc/set_origin(obj/effect/overmap/origin) - events_repository.register(/decl/observ/moved, origin, src, /obj/effect/overmap/radio/proc/follow) - events_repository.register(/decl/observ/destroyed, origin, src, /datum/proc/qdel_self) + events_repository.register(/decl/observ/moved, origin, src, TYPE_PROC_REF(/obj/effect/overmap/radio, follow)) + events_repository.register(/decl/observ/destroyed, origin, src, TYPE_PROC_REF(/datum, qdel_self)) forceMove(origin.loc) source = origin pixel_x = -(origin.bound_width - 6) @@ -35,7 +35,7 @@ icon = 'icons/obj/items/device/radio/beacon.dmi' icon_state = "beacon" - origin_tech = "{'magnets':2, 'programming':2}" + origin_tech = @'{"magnets":2, "programming":2}' material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE, /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/modules/overmap/ships/circuits.dm b/code/modules/overmap/ships/circuits.dm index bf196ca3792..3d729a46a55 100644 --- a/code/modules/overmap/ships/circuits.dm +++ b/code/modules/overmap/ships/circuits.dm @@ -2,7 +2,7 @@ name = "circuitboard (gas thruster)" icon = 'icons/obj/modules/module_controller.dmi' build_path = /obj/machinery/atmospherics/unary/engine - origin_tech = "{'powerstorage':1,'engineering':2}" + origin_tech = @'{"powerstorage":1,"engineering":2}' req_components = list( /obj/item/stack/cable_coil = 30, /obj/item/pipe = 2 @@ -17,7 +17,7 @@ name = "circuitboard (fusion thruster)" icon = 'icons/obj/modules/module_controller.dmi' build_path = /obj/machinery/atmospherics/unary/engine/fusion - origin_tech = "{'powerstorage':1,'engineering':2}" + origin_tech = @'{"powerstorage":1,"engineering":2}' req_components = list( /obj/item/stack/cable_coil = 30, /obj/item/pipe = 2 diff --git a/code/modules/overmap/ships/computers/helm.dm b/code/modules/overmap/ships/computers/helm.dm index 6302e7926b7..cf103d9e075 100644 --- a/code/modules/overmap/ships/computers/helm.dm +++ b/code/modules/overmap/ships/computers/helm.dm @@ -317,7 +317,7 @@ var/global/list/overmap_helm_computers current_operator = weakref(current_operator_actual) linked.update_operator_skill(current_operator_actual) if (!autopilot && old_operator && viewing_overmap(old_operator)) - addtimer(CALLBACK(src, /obj/machinery/computer/ship/.proc/unlook, old_operator), 0) // Workaround for linter SHOULD_NOT_SLEEP checks. + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/computer/ship, unlook), old_operator), 0) // Workaround for linter SHOULD_NOT_SLEEP checks. log_debug("HELM CONTROL: [current_operator_actual ? current_operator_actual : "NO PILOT"] taking control of [src] from [old_operator ? old_operator : "NO PILOT"] in [get_area_name(src)]. [autopilot ? "(AUTOPILOT MODE)" : null]") diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index c3837101c69..396a4fe2172 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -69,9 +69,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov for(var/obj/machinery/computer/ship/sensors/sensor in linked.get_linked_machines_of_type(/obj/machinery/computer/ship)) sensor.reveal_contacts(user) - events_repository.register(/decl/observ/moved, user, src, /obj/machinery/computer/ship/proc/unlook) + events_repository.register(/decl/observ/moved, user, src, TYPE_PROC_REF(/obj/machinery/computer/ship, unlook)) if(isliving(user)) - events_repository.register(/decl/observ/stat_set, user, src, /obj/machinery/computer/ship/proc/unlook) + events_repository.register(/decl/observ/stat_set, user, src, TYPE_PROC_REF(/obj/machinery/computer/ship, unlook)) LAZYDISTINCTADD(viewers, weakref(user)) if(linked) LAZYDISTINCTADD(linked.navigation_viewers, weakref(user)) @@ -84,9 +84,9 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov for(var/obj/machinery/computer/ship/sensors/sensor in linked.get_linked_machines_of_type(/obj/machinery/computer/ship)) sensor.hide_contacts(user) - events_repository.unregister(/decl/observ/moved, user, src, /obj/machinery/computer/ship/proc/unlook) + events_repository.unregister(/decl/observ/moved, user, src, TYPE_PROC_REF(/obj/machinery/computer/ship, unlook)) if(isliving(user)) - events_repository.unregister(/decl/observ/stat_set, user, src, /obj/machinery/computer/ship/proc/unlook) + events_repository.unregister(/decl/observ/stat_set, user, src, TYPE_PROC_REF(/obj/machinery/computer/ship, unlook)) LAZYREMOVE(viewers, weakref(user)) if(linked) LAZYREMOVE(linked.navigation_viewers, weakref(user)) diff --git a/code/modules/overmap/ships/landable.dm b/code/modules/overmap/ships/landable.dm index 771cd6ed2a5..2948c418427 100644 --- a/code/modules/overmap/ships/landable.dm +++ b/code/modules/overmap/ships/landable.dm @@ -122,7 +122,7 @@ visitor_dir = turn(visitor_dir, 90) // Configure shuttle datum - events_repository.register(/decl/observ/shuttle_moved, shuttle_datum, src, .proc/on_shuttle_jump) + events_repository.register(/decl/observ/shuttle_moved, shuttle_datum, src, PROC_REF(on_shuttle_jump)) on_landing(landmark, shuttle_datum.current_location) // We "land" at round start to properly place ourselves on the overmap. if(landmark == shuttle_datum.current_location) status = SHIP_STATUS_OVERMAP // we spawned on the overmap, so have to initialize our state properly. @@ -161,7 +161,7 @@ core_landmark = master SetName(_name) landmark_tag = master.shuttle_name + _name - events_repository.register(/decl/observ/destroyed, master, src, /datum/proc/qdel_self) + events_repository.register(/decl/observ/destroyed, master, src, TYPE_PROC_REF(/datum, qdel_self)) . = ..() /obj/effect/shuttle_landmark/visiting_shuttle/Destroy() diff --git a/code/modules/overmap/ships/machines/ion_thruster.dm b/code/modules/overmap/ships/machines/ion_thruster.dm index 5ca69b414ed..63d98305036 100644 --- a/code/modules/overmap/ships/machines/ion_thruster.dm +++ b/code/modules/overmap/ships/machines/ion_thruster.dm @@ -83,7 +83,7 @@ board_type = "machine" icon = 'icons/obj/modules/module_controller.dmi' build_path = /obj/machinery/ion_thruster - origin_tech = "{'powerstorage':1,'engineering':2}" + origin_tech = @'{"powerstorage":1,"engineering":2}' req_components = list( /obj/item/stack/cable_coil = 2, /obj/item/stock_parts/matter_bin = 1, diff --git a/code/modules/paperwork/faxmachine.dm b/code/modules/paperwork/faxmachine.dm index 93e012a37d0..ea1eb67279d 100644 --- a/code/modules/paperwork/faxmachine.dm +++ b/code/modules/paperwork/faxmachine.dm @@ -14,7 +14,7 @@ var/global/list/adminfaxes = list() //cache for faxes that have been sent to name = "circuitboard (fax machine)" build_path = /obj/machinery/faxmachine board_type = "machine" - origin_tech = "{'engineering':1, 'programming':1}" + origin_tech = @'{"engineering":1, "programming":1}' req_components = list( /obj/item/stock_parts/printer = 1, /obj/item/stock_parts/manipulator = 1, @@ -116,18 +116,18 @@ var/global/list/adminfaxes = list() //cache for faxes that have been sent to printer = get_component_of_type(/obj/item/stock_parts/printer) if(disk_reader) - disk_reader.register_on_insert(CALLBACK(src, /obj/machinery/faxmachine/proc/on_insert_disk)) - disk_reader.register_on_eject( CALLBACK(src, /obj/machinery/faxmachine/proc/update_ui)) + disk_reader.register_on_insert(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, on_insert_disk))) + disk_reader.register_on_eject( CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, update_ui))) if(card_reader) - card_reader.register_on_insert(CALLBACK(src, /obj/machinery/faxmachine/proc/on_insert_card)) - card_reader.register_on_eject( CALLBACK(src, /obj/machinery/faxmachine/proc/update_ui)) + card_reader.register_on_insert(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, on_insert_card))) + card_reader.register_on_eject( CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, update_ui))) if(printer) - printer.register_on_printed_page( CALLBACK(src, /obj/machinery/faxmachine/proc/on_printed_page)) - printer.register_on_finished_queue(CALLBACK(src, /obj/machinery/faxmachine/proc/on_queue_finished)) - printer.register_on_print_error( CALLBACK(src, /obj/machinery/faxmachine/proc/on_print_error)) - printer.register_on_status_changed(CALLBACK(src, /obj/machinery/faxmachine/proc/update_ui)) + printer.register_on_printed_page( CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, on_printed_page))) + printer.register_on_finished_queue(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, on_queue_finished))) + printer.register_on_print_error( CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, on_print_error))) + printer.register_on_status_changed(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/faxmachine, update_ui))) /obj/machinery/faxmachine/interface_interact(mob/user) ui_interact(user) diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm index e392f32845a..4e728b71bd9 100644 --- a/code/modules/paperwork/filingcabinet.dm +++ b/code/modules/paperwork/filingcabinet.dm @@ -70,7 +70,7 @@ desc = "A filing cabinet installed into a cavity in the wall to save space. Wow!" icon_state = "wallcabinet" obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' /obj/structure/filing_cabinet/tall icon_state = "tallcabinet" diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index ea84b95ff49..9bb9e14bf74 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -150,25 +150,32 @@ /obj/item/paper/attack(mob/living/carbon/M, mob/living/carbon/user) if(user.get_target_zone() == BP_EYES) - user.visible_message(SPAN_NOTICE("You show the paper to [M]."), \ - SPAN_NOTICE("[user] holds up a paper and shows it to [M].")) + user.visible_message( + SPAN_NOTICE("You show the paper to [M]."), + SPAN_NOTICE("[user] holds up a paper and shows it to [M].") + ) M.examinate(src) + return TRUE - else if(user.get_target_zone() == BP_MOUTH) // lipstick wiping - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H == user) - to_chat(user, SPAN_NOTICE("You wipe off the lipstick with [src].")) - H.lip_style = null - H.update_body() - else - user.visible_message(SPAN_WARNING("[user] begins to wipe [H]'s lipstick off with \the [src]."), \ - SPAN_NOTICE("You begin to wipe off [H]'s lipstick.")) - if(do_after(user, 10, H) && do_after(H, 10, check_holding = 0)) //user needs to keep their active hand, H does not. - user.visible_message(SPAN_NOTICE("[user] wipes [H]'s lipstick off with \the [src]."), \ - SPAN_NOTICE("You wipe off [H]'s lipstick.")) - H.lip_style = null - H.update_body() + if(user.get_target_zone() == BP_MOUTH && M.get_lip_colour()) + var/mob/living/carbon/human/H = M + if(H == user) + to_chat(user, SPAN_NOTICE("You wipe off the lipstick with [src].")) + H.set_lip_colour() + return TRUE + user.visible_message( + SPAN_NOTICE("\The [user] begins to wipe \the [H]'s lipstick off with \the [src]."), + SPAN_NOTICE("You begin to wipe off [H]'s lipstick.") + ) + if(do_after(user, 10, H) && do_after(H, 10, check_holding = 0)) //user needs to keep their active hand, H does not. + user.visible_message( + SPAN_NOTICE("\The [user] wipes \the [H]'s lipstick off with \the [src]."), + SPAN_NOTICE("You wipe off \the [H]'s lipstick.") + ) + H.set_lip_colour() + return TRUE + + . = ..() /obj/item/paper/proc/addtofield(var/id, var/text, var/links = 0) var/locid = 0 diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 5844573df7d..5f10c344837 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -182,7 +182,7 @@ user.visible_message( \ "\The [user] holds \the [P] up to \the [src]. It looks like [G.he] [G.is] trying to burn it!", \ "You hold \the [P] up to \the [src], burning it slowly.") - addtimer(CALLBACK(src, .proc/burn_callback, P, user, span_class), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(burn_callback), P, user, span_class), 2 SECONDS) /obj/item/paper_bundle/examine(mob/user, distance) . = ..() @@ -301,8 +301,8 @@ var/obj/item/paper/P = pages[1] icon = P.icon icon_state = P.icon_state - copy_overlays(P.overlays) + copy_overlays(P) var/paper_count = 0 var/photo_count = 0 diff --git a/code/modules/paperwork/paper_sticky.dm b/code/modules/paperwork/paper_sticky.dm index 47dd62c546c..3df1a1b80ef 100644 --- a/code/modules/paperwork/paper_sticky.dm +++ b/code/modules/paperwork/paper_sticky.dm @@ -97,7 +97,7 @@ /obj/item/paper/sticky/Initialize() . = ..() - events_repository.register(/decl/observ/moved, src, src, /obj/item/paper/sticky/proc/reset_persistence_tracking) + events_repository.register(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/item/paper/sticky, reset_persistence_tracking)) /obj/item/paper/sticky/proc/reset_persistence_tracking() SSpersistence.forget_value(src, /decl/persistence_handler/paper/sticky) diff --git a/code/modules/paperwork/pen/crayon.dm b/code/modules/paperwork/pen/crayon.dm index 64cd4b94c2a..de44fe206df 100644 --- a/code/modules/paperwork/pen/crayon.dm +++ b/code/modules/paperwork/pen/crayon.dm @@ -11,7 +11,9 @@ pen_quality = TOOL_QUALITY_BAD //Writing with those things is awkward max_uses = 30 pen_font = PEN_FONT_CRAYON + material = /decl/material/solid/organic/wax var/shade_colour = "#220000" //RGB + var/pigment_type = /decl/material/liquid/pigment /obj/item/pen/crayon/make_pen_description() desc = "A colourful [stroke_colour_name] [istype(material)?"[material.name] ":null][medium_name]. Please refrain from eating it or putting it in your nose." @@ -45,54 +47,47 @@ target.add_fingerprint(user) // Adds their fingerprints to the floor the crayon is drawn on. return -/obj/item/pen/crayon/attack(mob/living/M, mob/user) - if(istype(M) && M == user) - var/decl/tool_archetype/pen/parch = GET_DECL(TOOL_PEN) - playsound(src, 'sound/weapons/bite.ogg', 40) - to_chat(M, SPAN_NOTICE("You take a bite of the crayon and swallow it.")) - M.adjust_nutrition(1) - var/uses = get_tool_property(TOOL_PEN, TOOL_PROP_USES) - M.reagents.add_reagent(/decl/material/liquid/pigment, min(5,uses)/3) - if(parch.decrement_uses(user, src, 5) <= 0) - to_chat(M, SPAN_WARNING("You ate your crayon!")) - return - . = ..() - /obj/item/pen/crayon/red icon_state = "crayonred" stroke_colour = "#da0000" shade_colour = "#810c0c" stroke_colour_name = "red" + pigment_type = /decl/material/liquid/pigment/red /obj/item/pen/crayon/orange icon_state = "crayonorange" stroke_colour = "#ff9300" stroke_colour_name = "orange" shade_colour = "#a55403" + pigment_type = /decl/material/liquid/pigment/orange /obj/item/pen/crayon/yellow icon_state = "crayonyellow" stroke_colour = "#fff200" shade_colour = "#886422" stroke_colour_name = "yellow" + pigment_type = /decl/material/liquid/pigment/yellow /obj/item/pen/crayon/green icon_state = "crayongreen" stroke_colour = "#a8e61d" shade_colour = "#61840f" stroke_colour_name = "green" + pigment_type = /decl/material/liquid/pigment/green /obj/item/pen/crayon/blue icon_state = "crayonblue" stroke_colour = "#00b7ef" shade_colour = "#0082a8" stroke_colour_name = "blue" + pigment_type = /decl/material/liquid/pigment/blue /obj/item/pen/crayon/purple icon_state = "crayonpurple" stroke_colour = "#da00ff" shade_colour = "#810cff" stroke_colour_name = "purple" + pigment_type = /decl/material/liquid/pigment/purple /obj/item/pen/crayon/mime icon_state = "crayonmime" @@ -100,6 +95,7 @@ shade_colour = "#000000" stroke_colour_name = "mime" max_uses = -1 //Infinite + pigment_type = null /obj/item/pen/crayon/mime/make_pen_description() desc = "A very sad-looking crayon." @@ -119,6 +115,7 @@ shade_colour = "#000fff" stroke_colour_name = "rainbow" max_uses = -1 + pigment_type = null /obj/item/pen/crayon/rainbow/make_pen_description() desc = "A very colourful [istype(material)?"[material.name] ":null][medium_name]. Please refrain from eating it or putting it in your nose." diff --git a/code/modules/paperwork/pen/crayon_edibility.dm b/code/modules/paperwork/pen/crayon_edibility.dm new file mode 100644 index 00000000000..ba7666f17e4 --- /dev/null +++ b/code/modules/paperwork/pen/crayon_edibility.dm @@ -0,0 +1,21 @@ +/obj/item/pen/crayon/transfer_eaten_material(mob/eater, amount) + var/decl/tool_archetype/pen/parch = GET_DECL(TOOL_PEN) + parch.decrement_uses(eater, src, amount, destroy_on_zero = FALSE) // we'll qdel in food code if we eat the end of the crayon + if(!isliving(eater)) + return + var/mob/living/living_eater = eater + var/datum/reagents/eater_ingested = living_eater.get_ingested_reagents() + if(!eater_ingested) + return + if(pigment_type) + var/partial_amount = CEILING(amount * 0.4) + eater_ingested.add_reagent(pigment_type, partial_amount) + eater_ingested.add_reagent(/decl/material/solid/organic/wax, amount - partial_amount) + else + eater_ingested.add_reagent(/decl/material/solid/organic/wax, amount) + +/obj/item/pen/crayon/get_edible_material_amount(mob/eater) + return max(0, get_tool_property(TOOL_PEN, TOOL_PROP_USES)) + +/obj/item/pen/crayon/get_food_default_transfer_amount(mob/eater) + return eater?.get_eaten_transfer_amount(5) diff --git a/code/modules/paperwork/pen/pen.dm b/code/modules/paperwork/pen/pen.dm index f145b6795ac..a40e12ea42e 100644 --- a/code/modules/paperwork/pen/pen.dm +++ b/code/modules/paperwork/pen/pen.dm @@ -35,20 +35,20 @@ make_pen_description() /obj/item/pen/attack(atom/A, mob/user, target_zone) - if(ismob(A)) - var/mob/M = A - if(ishuman(A) && user.a_intent == I_HELP && target_zone == BP_HEAD) - var/mob/living/carbon/human/H = M - var/obj/item/organ/external/head/head = H.get_organ(BP_HEAD, /obj/item/organ/external/head) - if(istype(head)) - head.write_on(user, "[stroke_colour_name] [medium_name]") - else - to_chat(user, SPAN_WARNING("You stab [M] with \the [src].")) - admin_attack_log(user, M, "Stabbed using \a [src]", "Was stabbed with \a [src]", "used \a [src] to stab") - else if(istype(A, /obj/item/organ/external/head)) + if(isliving(A) && user.a_intent == I_HELP && target_zone == BP_HEAD) + var/mob/living/M = A + var/obj/item/organ/external/head/head = M.get_organ(BP_HEAD, /obj/item/organ/external/head) + if(istype(head)) + head.write_on(user, "[stroke_colour_name] [medium_name]") + return TRUE + + if(istype(A, /obj/item/organ/external/head)) var/obj/item/organ/external/head/head = A head.write_on(user, "[stroke_colour_name] [medium_name]") + return TRUE + + return ..() /obj/item/pen/proc/toggle() if(pen_flag & PEN_FLAG_ACTIVE) diff --git a/code/modules/paperwork/pen/reagent_pen.dm b/code/modules/paperwork/pen/reagent_pen.dm index 1b531b72cce..3519a61b3c0 100644 --- a/code/modules/paperwork/pen/reagent_pen.dm +++ b/code/modules/paperwork/pen/reagent_pen.dm @@ -1,6 +1,6 @@ /obj/item/pen/reagent atom_flags = ATOM_FLAG_OPEN_CONTAINER - origin_tech = "{'materials':2,'esoteric':5}" + origin_tech = @'{"materials":2,"esoteric":5}' sharp = 1 pen_quality = TOOL_QUALITY_MEDIOCRE @@ -38,7 +38,7 @@ * Sleepy Pens */ /obj/item/pen/reagent/sleepy - origin_tech = "{'materials':2,'esoteric':5}" + origin_tech = @'{"materials":2,"esoteric":5}' /obj/item/pen/reagent/sleepy/make_pen_description() desc = "It's \a [stroke_colour_name] [medium_name] pen with a sharp point and a carefully engraved \"Waffle Co.\"." diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 38109cacea2..01ffa0e2528 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -5,7 +5,7 @@ name = "circuitboard (photocopier)" build_path = /obj/machinery/photocopier board_type = "machine" - origin_tech = "{'engineering':1, 'programming':1}" + origin_tech = @'{"engineering":1, "programming":1}' req_components = list( /obj/item/stock_parts/printer/buildable = 1, /obj/item/stock_parts/manipulator = 2, @@ -60,10 +60,10 @@ printer = get_component_of_type(/obj/item/stock_parts/printer) //Cache the printer component if(printer) printer.show_queue_ctrl = FALSE //Make sure we don't let users mess with the print queue - printer.register_on_printed_page( CALLBACK(src, /obj/machinery/photocopier/proc/update_ui)) - printer.register_on_finished_queue(CALLBACK(src, /obj/machinery/photocopier/proc/update_ui)) - printer.register_on_print_error( CALLBACK(src, /obj/machinery/photocopier/proc/update_ui)) - printer.register_on_status_changed(CALLBACK(src, /obj/machinery/photocopier/proc/update_ui)) + printer.register_on_printed_page( CALLBACK(src, TYPE_PROC_REF(/obj/machinery/photocopier, update_ui))) + printer.register_on_finished_queue(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/photocopier, update_ui))) + printer.register_on_print_error( CALLBACK(src, TYPE_PROC_REF(/obj/machinery/photocopier, update_ui))) + printer.register_on_status_changed(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/photocopier, update_ui))) /obj/machinery/photocopier/on_update_icon() cut_overlays() diff --git a/code/modules/paperwork/printer.dm b/code/modules/paperwork/printer.dm index 447d8ee87b7..83c8af53727 100644 --- a/code/modules/paperwork/printer.dm +++ b/code/modules/paperwork/printer.dm @@ -281,7 +281,19 @@ stop_printing_queue() return FALSE print_picture(queued_element) - else + else if(istype(queued_element, /obj/item/paper_bundle)) + var/obj/item/paper_bundle/bundle = queued_element + var/photo_count = 0 + for(var/obj/item/photo/picture in bundle.pages) + photo_count++ + if(!has_enough_to_print((TONER_USAGE_PAPER * (length(bundle.pages) - photo_count)) + (TONER_USAGE_PHOTO * photo_count))) + var/obj/machinery/M = loc + if(istype(M)) + M.state("Warning: Not enough paper or toner!") + stop_printing_queue() + return FALSE + print_paper_bundle(bundle) + else if(istype(queued_element, /obj/item/paper)) if(!has_enough_to_print(TONER_USAGE_PAPER)) var/obj/machinery/M = loc if(istype(M)) @@ -289,6 +301,8 @@ stop_printing_queue() return FALSE print_paper(queued_element) + else + PRINT_STACK_TRACE("A printer printed something that wasn't a paper, paper bundle, or photo: [queued_element] ([queued_element.type])") //#TODO: machinery should allow a component to trigger and wait for an animation sequence. So that we can drop out the paper in sync. queued_element.dropInto(get_turf(loc)) @@ -305,6 +319,14 @@ use_toner(TONER_USAGE_PHOTO, FALSE) //photos use a lot of ink! use_paper(1) + P.update_icon() + +/obj/item/stock_parts/printer/proc/print_paper_bundle(var/obj/item/paper_bundle/bundle) + for(var/obj/item/paper/page in bundle.pages) + print_paper(page) + for(var/obj/item/photo/picture in bundle.pages) + print_picture(picture) + bundle.update_icon() /obj/item/stock_parts/printer/proc/print_paper(var/obj/item/paper/P) //Apply a greyscale filter on all stamps overlays @@ -321,6 +343,7 @@ use_toner(TONER_USAGE_PAPER, FALSE) use_paper(1) + P.update_icon() // reapply stamp overlays /obj/item/stock_parts/printer/proc/use_toner(var/amount, var/update_parent = TRUE) if(!toner?.use_toner(amount)) diff --git a/code/modules/persistence/noticeboards.dm b/code/modules/persistence/noticeboards.dm index b66f89eca98..9a6d48d0613 100644 --- a/code/modules/persistence/noticeboards.dm +++ b/code/modules/persistence/noticeboards.dm @@ -8,7 +8,7 @@ layer = ABOVE_WINDOW_LAYER tool_interaction_flags = TOOL_INTERACTION_DECONSTRUCT obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' material = /decl/material/solid/organic/wood var/tmp/max_notices = 5 var/list/notices diff --git a/code/modules/pointdefense/pointdefense.dm b/code/modules/pointdefense/pointdefense.dm index a4f3f91a577..dfec4c84562 100644 --- a/code/modules/pointdefense/pointdefense.dm +++ b/code/modules/pointdefense/pointdefense.dm @@ -159,7 +159,7 @@ var/Angle = round(Get_Angle(src,M)) var/matrix/rot_matrix = matrix() rot_matrix.Turn(Angle) - addtimer(CALLBACK(src, .proc/finish_shot, target), rotation_speed) + addtimer(CALLBACK(src, PROC_REF(finish_shot), target), rotation_speed) animate(src, transform = rot_matrix, rotation_speed, easing = SINE_EASING) set_dir(transform.get_angle() > 0 ? NORTH : SOUTH) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 4190c0b618b..27911cf1baa 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -100,7 +100,7 @@ var/global/list/all_apcs = list() initial_access = list(access_engine_equip) clicksound = "switch" layer = ABOVE_WINDOW_LAYER - directional_offset = "{'NORTH':{'y':22}, 'SOUTH':{'y':-22}, 'EAST':{'x':22}, 'WEST':{'x':-22}}" + directional_offset = @'{"NORTH":{"y":22}, "SOUTH":{"y":-22}, "EAST":{"x":22}, "WEST":{"x":-22}}' var/powered_down = FALSE var/area/area @@ -220,14 +220,14 @@ var/global/list/all_apcs = list() old_area.power_environ = 0 power_alarm.clearAlarm(old_area, src) old_area.power_change() - events_repository.unregister(/decl/observ/name_set, old_area, src, .proc/change_area_name) + events_repository.unregister(/decl/observ/name_set, old_area, src, PROC_REF(change_area_name)) if(new_area) ASSERT(isnull(new_area.apc)) ASSERT(isnull(area)) new_area.apc = src area = new_area change_area_name(new_area, null, new_area.name) - events_repository.register(/decl/observ/name_set, new_area, src, .proc/change_area_name) + events_repository.register(/decl/observ/name_set, new_area, src, PROC_REF(change_area_name)) /obj/machinery/power/apc/get_req_access() if(!locked) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index bea144daa63..e5c5de34844 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/power.dmi' icon_state = "cell" item_state = "cell" - origin_tech = "{'powerstorage':1}" + origin_tech = @'{"powerstorage":1}' force = 5.0 throwforce = 5 throw_speed = 3 @@ -18,7 +18,6 @@ ) var/charge // Current charge var/maxcharge = 1000 // Capacity in Wh - var/overlay_state /obj/item/cell/Initialize() . = ..() @@ -40,19 +39,16 @@ /obj/item/cell/on_update_icon() . = ..() - var/new_overlay_state = null + var/overlay_state = null switch(percent()) if(95 to 100) - new_overlay_state = "cell-o2" + overlay_state = "cell-o2" if(25 to 95) - new_overlay_state = "cell-o1" + overlay_state = "cell-o1" if(0.05 to 25) - new_overlay_state = "cell-o0" - - if(new_overlay_state != overlay_state) - overlay_state = new_overlay_state - if(overlay_state) - add_overlay(overlay_state) + overlay_state = "cell-o0" + if(overlay_state) + add_overlay(overlay_state) /obj/item/cell/proc/percent() // return % charge of cell return maxcharge && (100.0*charge/maxcharge) @@ -152,7 +148,7 @@ maxcharge = 100 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'powerstorage':2}" + origin_tech = @'{"powerstorage":2}' /obj/item/cell/device/infinite name = "experimental device power cell" @@ -191,7 +187,7 @@ /obj/item/cell/crap name = "old power cell" desc = "A cheap old power cell. It's probably been in use for quite some time now." - origin_tech = "{'powerstorage':1}" + origin_tech = @'{"powerstorage":1}' maxcharge = 100 material = /decl/material/solid/metal/steel matter = list( @@ -205,7 +201,7 @@ /obj/item/cell/standard name = "standard power cell" desc = "A standard and relatively cheap power cell, commonly used." - origin_tech = "{'powerstorage':1}" + origin_tech = @'{"powerstorage":1}' maxcharge = 250 material = /decl/material/solid/metal/steel matter = list( @@ -216,7 +212,7 @@ /obj/item/cell/apc name = "APC power cell" desc = "A special power cell designed for heavy-duty use in area power controllers." - origin_tech = "{'powerstorage':1}" + origin_tech = @'{"powerstorage":1}' maxcharge = 500 material = /decl/material/solid/metal/steel matter = list( @@ -228,7 +224,7 @@ /obj/item/cell/high name = "advanced power cell" desc = "An advanced high-grade power cell, for use in important systems." - origin_tech = "{'powerstorage':2}" + origin_tech = @'{"powerstorage":2}' icon_state = "hcell" maxcharge = 1000 material = /decl/material/solid/metal/steel @@ -243,7 +239,7 @@ /obj/item/cell/exosuit name = "exosuit power cell" desc = "A special power cell designed for heavy-duty use in industrial exosuits." - origin_tech = "{'powerstorage':3}" + origin_tech = @'{"powerstorage":3}' icon_state = "hcell" maxcharge = 1500 material = /decl/material/solid/metal/steel @@ -256,7 +252,7 @@ /obj/item/cell/super name = "enhanced power cell" desc = "A very advanced power cell with increased energy density, for use in critical applications." - origin_tech = "{'powerstorage':5}" + origin_tech = @'{"powerstorage":5}' icon_state = "scell" maxcharge = 2000 material = /decl/material/solid/metal/steel @@ -271,7 +267,7 @@ /obj/item/cell/hyper name = "superior power cell" desc = "Pinnacle of power storage technology, this very expensive power cell provides the best energy density reachable with conventional electrochemical cells." - origin_tech = "{'powerstorage':6}" + origin_tech = @'{"powerstorage":6}' icon_state = "hpcell" maxcharge = 3000 material = /decl/material/solid/metal/steel @@ -322,7 +318,7 @@ /obj/item/cell/potato name = "potato battery" desc = "A rechargable starch based power cell." - origin_tech = "{'powerstorage':1}" + origin_tech = @'{"powerstorage":1}' icon = 'icons/obj/power.dmi' icon_state = "potato_cell" maxcharge = 20 @@ -331,7 +327,7 @@ /obj/item/cell/gun name = "weapon energy cell" desc = "A military grade high-density battery, expected to deplete after tens of thousands of complete charge cycles." - origin_tech = "{'combat':2,'materials':2,'powerstorage': 2}" + origin_tech = @'{"combat":2,"materials":2,"powerstorage": 2}' icon_state = "gunbattery" maxcharge = 500 w_class = ITEM_SIZE_SMALL //Perhaps unwise. diff --git a/code/modules/power/fission/fission_circuits.dm b/code/modules/power/fission/fission_circuits.dm index 27c88bea33e..f36b48f2fa3 100644 --- a/code/modules/power/fission/fission_circuits.dm +++ b/code/modules/power/fission/fission_circuits.dm @@ -1,13 +1,13 @@ /obj/item/stock_parts/circuitboard/fission_core_control name = "circuit board (fission core controller)" build_path = /obj/machinery/computer/fission - origin_tech = "{'programming':2,'engineering':3}" + origin_tech = @'{"programming":2,"engineering":3}' /obj/item/stock_parts/circuitboard/unary_atmos/fission_core name = "circuit board (fission core)" build_path = /obj/machinery/atmospherics/unary/fission_core board_type = "machine" - origin_tech = "{'engineering':2,'materials':2}" + origin_tech = @'{"engineering":2,"materials":2}' additional_spawn_components = list( /obj/item/stock_parts/power/apc/buildable = 1 ) diff --git a/code/modules/power/fusion/core/core_field.dm b/code/modules/power/fusion/core/core_field.dm index c053090aac8..f1ac424ed41 100644 --- a/code/modules/power/fusion/core/core_field.dm +++ b/code/modules/power/fusion/core/core_field.dm @@ -87,7 +87,7 @@ catcher.SetSize((iter*2)+1) particle_catchers.Add(catcher) - addtimer(CALLBACK(src, .proc/update_light_colors), 10 SECONDS, TIMER_LOOP) + addtimer(CALLBACK(src, PROC_REF(update_light_colors)), 10 SECONDS, TIMER_LOOP) /obj/effect/fusion_em_field/proc/handle_tick() //make sure the field generator is still intact @@ -194,7 +194,7 @@ if(field_cohesion == 0) owned_core.Shutdown(force_rupture=1) - + if(percent_unstable > 0.5 && prob(percent_unstable*100)) if(plasma_temperature < FUSION_RUPTURE_THRESHOLD) visible_message("\The [src] ripples uneasily, like a disturbed pond.") diff --git a/code/modules/power/fusion/fusion_circuits.dm b/code/modules/power/fusion/fusion_circuits.dm index 73814a03224..b03d6a03616 100644 --- a/code/modules/power/fusion/fusion_circuits.dm +++ b/code/modules/power/fusion/fusion_circuits.dm @@ -1,13 +1,13 @@ /obj/item/stock_parts/circuitboard/fusion/core_control name = "circuitboard (fusion core controller)" build_path = /obj/machinery/computer/fusion/core_control - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' /obj/item/stock_parts/circuitboard/kinetic_harvester name = "circuitboard (kinetic harvester)" build_path = /obj/machinery/kinetic_harvester board_type = "machine" - origin_tech = "{'programming':4,'engineering':4,'materials':4}" + origin_tech = @'{"programming":4,"engineering":4,"materials":4}' additional_spawn_components = list( /obj/item/stock_parts/console_screen = 1, /obj/item/stock_parts/keyboard = 1 @@ -21,18 +21,18 @@ /obj/item/stock_parts/circuitboard/fusion_fuel_control name = "circuitboard (fusion fuel controller)" build_path = /obj/machinery/computer/fusion/fuel_control - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' /obj/item/stock_parts/circuitboard/gyrotron_control name = "circuitboard (gyrotron controller)" build_path = /obj/machinery/computer/fusion/gyrotron - origin_tech = "{'programming':4,'engineering':4}" + origin_tech = @'{"programming":4,"engineering":4}' /obj/item/stock_parts/circuitboard/fusion_core name = "circuitboard (fusion core)" build_path = /obj/machinery/fusion_core board_type = "machine" - origin_tech = "{'wormholes':2,'magnets':4,'powerstorage':4}" + origin_tech = @'{"wormholes":2,"magnets":4,"powerstorage":4}' additional_spawn_components = list( /obj/item/stock_parts/power/terminal = 1 ) @@ -48,7 +48,7 @@ name = "circuitboard (fusion fuel injector)" build_path = /obj/machinery/fusion_fuel_injector board_type = "machine" - origin_tech = "{'powerstorage':3,'engineering':4,'materials':4}" + origin_tech = @'{"powerstorage":3,"engineering":4,"materials":4}' req_components = list( /obj/item/stock_parts/manipulator/pico = 2, /obj/item/stock_parts/scanning_module/phasic = 1, @@ -61,7 +61,7 @@ name = "circuitboard (gyrotron)" build_path = /obj/machinery/emitter/gyrotron board_type = "machine" - origin_tech = "{'powerstorage':4,'engineering':4}" + origin_tech = @'{"powerstorage":4,"engineering":4}' additional_spawn_components = list( /obj/item/stock_parts/power/terminal = 1 ) diff --git a/code/modules/power/geothermal/_geothermal.dm b/code/modules/power/geothermal/_geothermal.dm index 5b235aec9a3..101fdd6bcbf 100644 --- a/code/modules/power/geothermal/_geothermal.dm +++ b/code/modules/power/geothermal/_geothermal.dm @@ -190,7 +190,7 @@ var/global/const/MAX_GEOTHERMAL_PRESSURE = 12000 current_pressure = clamp(current_pressure + pressure, 0, MAX_GEOTHERMAL_PRESSURE) var/leftover = round(pressure - current_pressure) if(leftover > 0) - addtimer(CALLBACK(src, .proc/propagate_pressure, leftover), 5) + addtimer(CALLBACK(src, PROC_REF(propagate_pressure), leftover), 5) update_icon() START_PROCESSING_MACHINE(src, MACHINERY_PROCESS_SELF) @@ -207,7 +207,7 @@ var/global/const/MAX_GEOTHERMAL_PRESSURE = 12000 generate_power(last_generated) remaining_pressure = round(remaining_pressure * GEOTHERMAL_PRESSURE_LOSS) if(remaining_pressure) - addtimer(CALLBACK(src, .proc/propagate_pressure, remaining_pressure), 5) + addtimer(CALLBACK(src, PROC_REF(propagate_pressure), remaining_pressure), 5) update_icon() if(current_pressure <= 1) return PROCESS_KILL diff --git a/code/modules/power/geothermal/geothermal_circuit.dm b/code/modules/power/geothermal/geothermal_circuit.dm index 07d451d68fa..f569521f85e 100644 --- a/code/modules/power/geothermal/geothermal_circuit.dm +++ b/code/modules/power/geothermal/geothermal_circuit.dm @@ -2,7 +2,7 @@ name = "circuitboard (geothermal generator)" build_path = /obj/machinery/geothermal board_type = "machine" - origin_tech = "{'magnets':3,'powerstorage':3}" + origin_tech = @'{"magnets":3,"powerstorage":3}' req_components = list( /obj/item/stock_parts/capacitor = 1, /obj/item/stock_parts/manipulator = 2, diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 1e1e35e3b1d..b0279ba8abd 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -37,7 +37,7 @@ construct_state = /decl/machine_construction/wall_frame/panel_closed/simple base_type = /obj/machinery/light frame_type = /obj/item/frame/light - directional_offset = "{'NORTH':{'y':21}, 'EAST':{'x':10}, 'WEST':{'x':-10}}" + directional_offset = @'{"NORTH":{"y":21}, "EAST":{"x":10}, "WEST":{"x":-10}}' var/on = 0 // 1 if on, 0 if off var/flickering = 0 diff --git a/code/modules/power/singularity/generator.dm b/code/modules/power/singularity/generator.dm index ebede885d4a..049e62a9051 100644 --- a/code/modules/power/singularity/generator.dm +++ b/code/modules/power/singularity/generator.dm @@ -29,7 +29,7 @@ animation.pixel_y = -32 animation.layer = SINGULARITY_EFFECT_LAYER flick('icons/effects/singularity_effect.dmi', animation) - addtimer(CALLBACK(src, .proc/spawn_contained, T), 6 SECOND) + addtimer(CALLBACK(src, PROC_REF(spawn_contained), T), 6 SECOND) QDEL_IN(animation, 7 SECOND) return PROCESS_KILL diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index 71ac8ba8da2..bea33abcdbf 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -12,7 +12,7 @@ icon = 'icons/obj/items/stock_parts/stock_parts.dmi' icon_state = "smes_coil" w_class = ITEM_SIZE_LARGE // It's LARGE (backpack size) - origin_tech = "{'materials':7,'powerstorage':7,'engineering':5}" + origin_tech = @'{"materials":7,"powerstorage":7,"engineering":5}' base_type = /obj/item/stock_parts/smes_coil part_flags = PART_FLAG_HAND_REMOVE material = /decl/material/solid/metal/steel diff --git a/code/modules/power/stirling.dm b/code/modules/power/stirling.dm index db91f60ed90..b3e94d0f3e5 100644 --- a/code/modules/power/stirling.dm +++ b/code/modules/power/stirling.dm @@ -39,9 +39,15 @@ /obj/machinery/atmospherics/binary/stirling/Process() ..() + if(!active) + return + var/line1_heatcap = air1.heat_capacity() var/line2_heatcap = air2.heat_capacity() + if(!(line1_heatcap + line2_heatcap)) + return + var/delta_t = air1.temperature - air2.temperature // Absolute value of the heat transfer required to bring both lines in equilibrium. diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index eafd25d70d6..1d1bf7a0cb0 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -130,7 +130,7 @@ /obj/item/ammo_magazine/pistol name = "pistol magazine" icon_state = "pistol" - origin_tech = "{'combat':2}" + origin_tech = @'{"combat":2}' mag_type = MAGAZINE caliber = CALIBER_PISTOL material = /decl/material/solid/metal/steel @@ -178,7 +178,7 @@ /obj/item/ammo_magazine/box/smallpistol name = "ammunition box (pistol, small)" icon_state = "smallpistol" - origin_tech = "{'combat':2}" + origin_tech = @'{"combat":2}' material = /decl/material/solid/metal/steel caliber = CALIBER_PISTOL_SMALL ammo_type = /obj/item/ammo_casing/pistol/small @@ -187,7 +187,7 @@ /obj/item/ammo_magazine/box/pistol name = "ammunition box (pistol)" icon_state = "smallpistol" - origin_tech = "{'combat':2}" + origin_tech = @'{"combat":2}' caliber = CALIBER_PISTOL material = /decl/material/solid/metal/steel ammo_type = /obj/item/ammo_casing/pistol @@ -203,7 +203,7 @@ ammo_type = /obj/item/ammo_casing/pistol/emp caliber = CALIBER_PISTOL max_ammo = 15 - origin_tech = "{'combat':2,'magnets':2,'powerstorage':2}" + origin_tech = @'{"combat":2,"magnets":2,"powerstorage":2}' /obj/item/ammo_magazine/box/emp/smallpistol name = "ammunition box (pistol, small, haywire)" @@ -212,12 +212,12 @@ ammo_type = /obj/item/ammo_casing/pistol/small/emp caliber = CALIBER_PISTOL_SMALL max_ammo = 8 - origin_tech = "{'combat':2,'magnets':2,'powerstorage':2}" + origin_tech = @'{"combat":2,"magnets":2,"powerstorage":2}' /obj/item/ammo_magazine/rifle name = "assault rifle magazine" icon_state = "bullup" - origin_tech = "{'combat':2}" + origin_tech = @'{"combat":2}' mag_type = MAGAZINE caliber = CALIBER_RIFLE material = /decl/material/solid/metal/steel @@ -235,7 +235,7 @@ /obj/item/ammo_magazine/rifle/drum name = "machine gun drum magazine" icon_state = "drum" - origin_tech = "{'combat':2}" + origin_tech = @'{"combat":2}' mag_type = MAGAZINE caliber = CALIBER_RIFLE material = /decl/material/solid/metal/steel diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 9d73afb91c8..7966b8e04f9 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -85,7 +85,7 @@ leaves_residue = 0 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'combat':3,'materials':3}" + origin_tech = @'{"combat":3,"materials":3}' /obj/item/ammo_casing/shotgun name = "shotgun slug" @@ -140,7 +140,7 @@ leaves_residue = 0 material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/glass = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'combat':3,'materials':3}" + origin_tech = @'{"combat":3,"materials":3}' /obj/item/ammo_casing/shotgun/stunshell/emp_act(severity) if(prob(100/severity)) BB = null @@ -164,7 +164,7 @@ projectile_type = /obj/item/projectile/ion material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/metal/uranium = MATTER_AMOUNT_REINFORCEMENT) - origin_tech = "{'combat':4,'materials':3}" + origin_tech = @'{"combat":4,"materials":3}' /obj/item/ammo_casing/shell name = "shell casing" diff --git a/code/modules/projectiles/ammunition/chemdart.dm b/code/modules/projectiles/ammunition/chemdart.dm index 96f183544db..6d9d1bc644c 100644 --- a/code/modules/projectiles/ammunition/chemdart.dm +++ b/code/modules/projectiles/ammunition/chemdart.dm @@ -35,7 +35,7 @@ desc = "A rack of hollow darts." icon_state = "darts" item_state = "rcdammo" - origin_tech = "{'materials':2}" + origin_tech = @'{"materials":2}' mag_type = MAGAZINE caliber = CALIBER_DART ammo_type = /obj/item/ammo_casing/chemdart diff --git a/code/modules/projectiles/ammunition/magnetic.dm b/code/modules/projectiles/ammunition/magnetic.dm index 4ad8d749207..893bde26c0c 100644 --- a/code/modules/projectiles/ammunition/magnetic.dm +++ b/code/modules/projectiles/ammunition/magnetic.dm @@ -8,7 +8,7 @@ var/basetype = /obj/item/magnetic_ammo w_class = ITEM_SIZE_SMALL material = /decl/material/solid/metal/steel - origin_tech = "{'combat':1}" + origin_tech = @'{"combat":1}' var/remaining = 9 /obj/item/magnetic_ammo/examine(mob/user) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index e90db8e722f..74fee267478 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -41,7 +41,7 @@ throw_speed = 4 throw_range = 5 force = 5 - origin_tech = "{'combat':1}" + origin_tech = @'{"combat":1}' attack_verb = list("struck", "hit", "bashed") zoomdevicename = "scope" @@ -123,7 +123,7 @@ autofiring_at = fire_at autofiring_by = fire_by if(!autofiring_timer) - autofiring_timer = addtimer(CALLBACK(src, .proc/handle_autofire, autoturn), burst_delay, (TIMER_STOPPABLE | TIMER_LOOP | TIMER_UNIQUE | TIMER_OVERRIDE)) + autofiring_timer = addtimer(CALLBACK(src, PROC_REF(handle_autofire), autoturn), burst_delay, (TIMER_STOPPABLE | TIMER_LOOP | TIMER_UNIQUE | TIMER_OVERRIDE)) else clear_autofire() @@ -171,10 +171,16 @@ return mutable_appearance(icon, "[get_world_inventory_state()][safety_icon][safety()]") /obj/item/gun/adjust_mob_overlay(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing = TRUE) - if(overlay && user_mob.can_wield_item(src) && is_held_twohanded(user_mob) && check_state_in_icon("[overlay.icon_state]-wielded", overlay.icon)) - overlay.icon_state = "[overlay.icon_state]-wielded" + if(overlay && user_mob.can_wield_item(src) && is_held_twohanded(user_mob)) + var/wielded_state = "[overlay.icon_state]-wielded" + if(check_state_in_icon(wielded_state, overlay.icon)) + overlay.icon_state = wielded_state + apply_gun_mob_overlays(user_mob, bodytype, overlay, slot, bodypart) . = ..() +/obj/item/gun/proc/apply_gun_mob_overlays(var/mob/living/user_mob, var/bodytype, var/image/overlay, var/slot, var/bodypart) + return + //Checks whether a given mob can use the gun //Any checks that shouldn't result in handle_click_empty() being called if they fail should go here. //Otherwise, if you want handle_click_empty() to be called, check in consume_next_projectile() and return null there. diff --git a/code/modules/projectiles/guns/energy/capacitor.dm b/code/modules/projectiles/guns/energy/capacitor.dm index 47f053dd7b4..eddeb72c80a 100644 --- a/code/modules/projectiles/guns/energy/capacitor.dm +++ b/code/modules/projectiles/guns/energy/capacitor.dm @@ -47,9 +47,10 @@ var/global/list/laser_wavelengths desc = "An excitingly chunky directed energy weapon that uses a modular capacitor array to charge each shot." icon = 'icons/obj/guns/capacitor_pistol.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':4,'materials':4,'powerstorage':4}" + origin_tech = @'{"combat":4,"materials":4,"powerstorage":4}' w_class = ITEM_SIZE_NORMAL charge_cost = 100 + charge_meter = FALSE accuracy = 2 fire_delay = 10 slot_flags = SLOT_LOWER_BODY @@ -140,7 +141,7 @@ var/global/list/laser_wavelengths charging = FALSE else var/new_wavelength = input("Select the desired laser wavelength.", "Capacitor Laser Wavelength", selected_wavelength) as null|anything in global.laser_wavelengths - if(!charging && new_wavelength != selected_wavelength && (loc == user || user.Adjacent(src)) && !user.incapacitated()) + if(!charging && new_wavelength && new_wavelength != selected_wavelength && (loc == user || user.Adjacent(src)) && !user.incapacitated()) selected_wavelength = new_wavelength to_chat(user, SPAN_NOTICE("You dial \the [src] wavelength to [selected_wavelength.name].")) update_icon() @@ -218,7 +219,8 @@ var/global/list/laser_wavelengths var/mob/M = loc M.update_inhand_overlays() -/obj/item/gun/energy/capacitor/adjust_mob_overlay(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing = TRUE) +/obj/item/gun/energy/capacitor/apply_gun_mob_overlays(var/mob/living/user_mob, var/bodytype, var/image/overlay, var/slot, var/bodypart) + ..() if(overlay && (slot == BP_L_HAND || slot == BP_R_HAND || slot == slot_back_str)) var/image/I = image(overlay.icon, "[overlay.icon_state]-wiring") I.color = wiring_color @@ -227,16 +229,14 @@ var/global/list/laser_wavelengths if(get_cell()) I = image(overlay.icon, "[overlay.icon_state]-cell") overlay.add_overlay(I) - if(slot != slot_back_str) - for(var/i = 1 to length(capacitors)) - var/obj/item/stock_parts/capacitor/capacitor = capacitors[i] - if(capacitor.charge > 0) - I = emissive_overlay(overlay.icon, "[overlay.icon_state]-charging-[i]") - I.alpha = clamp(255 * (capacitor.charge/capacitor.max_charge), 0, 255) - I.color = selected_wavelength.color - I.appearance_flags |= RESET_COLOR - overlay.overlays += I - . = ..() + for(var/i = 1 to length(capacitors)) + var/obj/item/stock_parts/capacitor/capacitor = capacitors[i] + if(capacitor.charge > 0) + I = emissive_overlay(overlay.icon, "[overlay.icon_state]-charging-[i]") + I.alpha = clamp(255 * (capacitor.charge/capacitor.max_charge), 0, 255) + I.color = selected_wavelength.color + I.appearance_flags |= RESET_COLOR + overlay.overlays += I /obj/item/gun/energy/capacitor/consume_next_projectile() diff --git a/code/modules/projectiles/guns/energy/ebow.dm b/code/modules/projectiles/guns/energy/ebow.dm index 08402cffafe..5a1bcde899a 100644 --- a/code/modules/projectiles/guns/energy/ebow.dm +++ b/code/modules/projectiles/guns/energy/ebow.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/guns/energy_crossbow.dmi' icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_NORMAL - origin_tech = "{'combat':2,'magnets':2,'esoteric':5}" + origin_tech = @'{"combat":2,"magnets":2,"esoteric":5}' material = /decl/material/solid/metal/steel slot_flags = SLOT_LOWER_BODY silenced = 1 diff --git a/code/modules/projectiles/guns/energy/egun.dm b/code/modules/projectiles/guns/energy/egun.dm index f4a58e4eb19..ba6cfb04214 100644 --- a/code/modules/projectiles/guns/energy/egun.dm +++ b/code/modules/projectiles/guns/energy/egun.dm @@ -9,7 +9,7 @@ fire_delay = 10 // To balance for the fact that it is a pistol and can be used one-handed without penalty projectile_type = /obj/item/projectile/beam/stun - origin_tech = "{'combat':3,'magnets':2}" + origin_tech = @'{"combat":3,"magnets":2}' indicator_color = COLOR_CYAN firemodes = list( diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 61583d8d02b..ee23a4ab706 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -8,7 +8,7 @@ force = 10 one_hand_penalty = 2 bulk = GUN_BULK_RIFLE - origin_tech = "{'combat':3,'magnets':2}" + origin_tech = @'{"combat":3,"magnets":2}' material = /decl/material/solid/metal/steel projectile_type = /obj/item/projectile/beam/midlaser matter = list( @@ -74,7 +74,7 @@ icon_state = "lasercannon" icon = 'icons/obj/guns/laser_cannon.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':4,'materials':3,'powerstorage':3}" + origin_tech = @'{"combat":4,"materials":3,"powerstorage":3}' slot_flags = SLOT_LOWER_BODY|SLOT_BACK one_hand_penalty = 6 //large and heavy w_class = ITEM_SIZE_HUGE diff --git a/code/modules/projectiles/guns/energy/laser_sniper.dm b/code/modules/projectiles/guns/energy/laser_sniper.dm index bc037c6c4a0..2b8efadc989 100644 --- a/code/modules/projectiles/guns/energy/laser_sniper.dm +++ b/code/modules/projectiles/guns/energy/laser_sniper.dm @@ -4,7 +4,7 @@ desc = "The HI DMR 9E is an older design. A designated marksman rifle capable of shooting powerful ionized beams, this is a weapon to kill from a distance." icon = 'icons/obj/guns/laser_sniper.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':6,'materials':5,'powerstorage':4}" + origin_tech = @'{"combat":6,"materials":5,"powerstorage":4}' projectile_type = /obj/item/projectile/beam/sniper one_hand_penalty = 5 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand. slot_flags = SLOT_BACK diff --git a/code/modules/projectiles/guns/energy/lasertag.dm b/code/modules/projectiles/guns/energy/lasertag.dm index 2f029665387..e9857630b0b 100644 --- a/code/modules/projectiles/guns/energy/lasertag.dm +++ b/code/modules/projectiles/guns/energy/lasertag.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/guns/laser_carbine.dmi' icon_state = ICON_STATE_WORLD desc = "Standard issue weapon of the Imperial Guard." - origin_tech = "{'combat':1,'magnets':2}" + origin_tech = @'{"combat":1,"magnets":2}' self_recharge = 1 material = /decl/material/solid/metal/steel projectile_type = /obj/item/projectile/beam/lastertag/blue diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index c594990a7f4..b7ccef79df0 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -2,7 +2,7 @@ name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized reactor." icon = 'icons/obj/guns/adv_egun.dmi' - origin_tech = "{'combat':3,'materials':5,'powerstorage':3}" + origin_tech = @'{"combat":3,"materials":5,"powerstorage":3}' slot_flags = SLOT_LOWER_BODY w_class = ITEM_SIZE_LARGE force = 8 //looks heavier than a pistol diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index ce748a1bde1..0b8a92bd278 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -3,7 +3,7 @@ desc = "The Mk60 EW Halicon is a man portable anti-armor weapon designed to disable mechanical threats. Not the best of its type." icon = 'icons/obj/guns/ion_rifle.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':2,'magnets':4}" + origin_tech = @'{"combat":2,"magnets":4}' w_class = ITEM_SIZE_HUGE force = 10 obj_flags = OBJ_FLAG_CONDUCTIBLE @@ -34,7 +34,7 @@ desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." icon = 'icons/obj/guns/decloner.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':5,'materials':4,'powerstorage':3}" + origin_tech = @'{"combat":5,"materials":4,"powerstorage":3}' max_shots = 10 projectile_type = /obj/item/projectile/energy/declone combustion = 0 @@ -49,7 +49,7 @@ charge_cost = 10 max_shots = 10 projectile_type = /obj/item/projectile/energy/floramut - origin_tech = "{'materials':2,'biotech':3,'powerstorage':3}" + origin_tech = @'{"materials":2,"biotech":3,"powerstorage":3}' self_recharge = 1 material = /decl/material/solid/metal/steel matter = list( @@ -108,7 +108,7 @@ icon = 'icons/obj/guns/toxgun.dmi' icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_NORMAL - origin_tech = "{'combat':5,'exoticmatter':4}" + origin_tech = @'{"combat":5,"exoticmatter":4}' projectile_type = /obj/item/projectile/energy/radiation material = /decl/material/solid/metal/steel matter = list( @@ -126,7 +126,7 @@ slot_flags = SLOT_LOWER_BODY|SLOT_BACK w_class = ITEM_SIZE_NORMAL force = 8 - origin_tech = "{'materials':4,'exoticmatter':4,'engineering':6,'combat':3}" + origin_tech = @'{"materials":4,"exoticmatter":4,"engineering":6,"combat":3}' material = /decl/material/solid/metal/steel projectile_type = /obj/item/projectile/beam/plasmacutter max_shots = 10 @@ -172,7 +172,7 @@ icon = 'icons/obj/guns/incendiary_laser.dmi' icon_state = ICON_STATE_WORLD safety_icon = "safety" - origin_tech = "{'combat':7,'magnets':4,'esoteric':4}" + origin_tech = @'{"combat":7,"magnets":4,"esoteric":4}' material = /decl/material/solid/metal/aluminium matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index ca42527292f..75de92c76f3 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -34,7 +34,7 @@ desc = "The Mars Military Industries MA21 Selkie is a weapon that uses a laser pulse to ionise the local atmosphere, creating a disorienting pulse of plasma and deafening shockwave as the wave expands." icon = 'icons/obj/guns/plasma_stun.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':2,'materials':2,'powerstorage':3}" + origin_tech = @'{"combat":2,"materials":2,"powerstorage":3}' fire_delay = 20 max_shots = 4 projectile_type = /obj/item/projectile/energy/plasmastun @@ -47,7 +47,7 @@ icon = 'icons/obj/guns/confuseray.dmi' icon_state = ICON_STATE_WORLD safety_icon = "safety" - origin_tech = "{'combat':2,'materials':2,'powerstorage':2}" + origin_tech = @'{"combat":2,"materials":2,"powerstorage":2}' w_class = ITEM_SIZE_SMALL max_shots = 4 projectile_type = /obj/item/projectile/beam/confuseray diff --git a/code/modules/projectiles/guns/energy/temperature.dm b/code/modules/projectiles/guns/energy/temperature.dm index 547aeb0ea06..15cd979e5fd 100644 --- a/code/modules/projectiles/guns/energy/temperature.dm +++ b/code/modules/projectiles/guns/energy/temperature.dm @@ -10,7 +10,7 @@ /decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE ) charge_cost = 10 - origin_tech = "{'combat':3,'materials':4,'powerstorage':3,'magnets':2}" + origin_tech = @'{"combat":3,"materials":4,"powerstorage":3,"magnets":2}' slot_flags = SLOT_LOWER_BODY|SLOT_BACK one_hand_penalty = 2 projectile_type = /obj/item/projectile/temp diff --git a/code/modules/projectiles/guns/energy/xray.dm b/code/modules/projectiles/guns/energy/xray.dm index 6c1bf530b82..cf20a5f1e00 100644 --- a/code/modules/projectiles/guns/energy/xray.dm +++ b/code/modules/projectiles/guns/energy/xray.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/guns/xray.dmi' icon_state = ICON_STATE_WORLD slot_flags = SLOT_LOWER_BODY|SLOT_BACK - origin_tech = "{'combat':5,'materials':3,'magnets':2,'esoteric':2}" + origin_tech = @'{"combat":5,"materials":3,"magnets":2,"esoteric":2}' projectile_type = /obj/item/projectile/beam/xray/midlaser one_hand_penalty = 2 w_class = ITEM_SIZE_LARGE diff --git a/code/modules/projectiles/guns/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/launcher/grenade_launcher.dm index 56e02609c8f..4d9c170277a 100644 --- a/code/modules/projectiles/guns/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/launcher/grenade_launcher.dm @@ -3,7 +3,7 @@ desc = "A bulky pump-action grenade launcher. Holds up to 6 grenades in a revolving magazine." icon = 'icons/obj/guns/launcher/grenade.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':2,'materials':3}" + origin_tech = @'{"combat":2,"materials":3}' w_class = ITEM_SIZE_HUGE force = 10 diff --git a/code/modules/projectiles/guns/launcher/money_cannon.dm b/code/modules/projectiles/guns/launcher/money_cannon.dm index 964cf71c46d..bb585d1c534 100644 --- a/code/modules/projectiles/guns/launcher/money_cannon.dm +++ b/code/modules/projectiles/guns/launcher/money_cannon.dm @@ -3,7 +3,7 @@ desc = "A blocky, plastic novelty launcher that claims to be able to shoot money at considerable velocities." icon = 'icons/obj/guns/launcher/money.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':1,'materials':1}" + origin_tech = @'{"combat":1,"materials":1}' slot_flags = SLOT_LOWER_BODY w_class = ITEM_SIZE_SMALL release_force = 80 diff --git a/code/modules/projectiles/guns/launcher/pneumatic.dm b/code/modules/projectiles/guns/launcher/pneumatic.dm index 9ea3b16eeb1..85c47da5a63 100644 --- a/code/modules/projectiles/guns/launcher/pneumatic.dm +++ b/code/modules/projectiles/guns/launcher/pneumatic.dm @@ -3,7 +3,7 @@ desc = "A large gas-powered cannon." icon = 'icons/obj/guns/launcher/pneumatic.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'combat':4,'materials':3}" + origin_tech = @'{"combat":4,"materials":3}' slot_flags = SLOT_LOWER_BODY w_class = ITEM_SIZE_HUGE obj_flags = OBJ_FLAG_CONDUCTIBLE diff --git a/code/modules/projectiles/guns/launcher/rocket.dm b/code/modules/projectiles/guns/launcher/rocket.dm index 9d5e7429ad5..938eba04ffb 100644 --- a/code/modules/projectiles/guns/launcher/rocket.dm +++ b/code/modules/projectiles/guns/launcher/rocket.dm @@ -9,7 +9,7 @@ force = 5.0 obj_flags = OBJ_FLAG_CONDUCTIBLE slot_flags = 0 - origin_tech = "{'combat':8,'materials':5}" + origin_tech = @'{"combat":8,"materials":5}' fire_sound = 'sound/effects/bang.ogg' combustion = 1 diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm index b94e35cf7d9..3fb228c6ccc 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic.dm @@ -5,7 +5,7 @@ icon_state = ICON_STATE_WORLD one_hand_penalty = 5 fire_delay = 20 - origin_tech = "{'combat':5,'materials':4,'esoteric':2,'magnets':4}" + origin_tech = @'{"combat":5,"materials":4,"esoteric":2,"magnets":4}' w_class = ITEM_SIZE_LARGE bulk = GUN_BULK_RIFLE combustion = 1 diff --git a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm index 2c00f9eab69..30bb71cea69 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic_railgun.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/guns/railgun.dmi' removable_components = TRUE // Can swap out the capacitor for more shots, or cell for longer usage before recharge load_type = /obj/item/rcd_ammo - origin_tech = "{'combat':5,'materials':4,'magnets':4}" + origin_tech = @'{"combat":5,"materials":4,"magnets":4}' projectile_type = /obj/item/projectile/bullet/magnetic/slug one_hand_penalty = 6 power_cost = 300 diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm index 8ea0a2a3da4..0954d63ee06 100644 --- a/code/modules/projectiles/guns/projectile.dm +++ b/code/modules/projectiles/guns/projectile.dm @@ -2,7 +2,7 @@ name = "gun" desc = "A gun that fires bullets." icon = 'icons/obj/guns/pistol.dmi' - origin_tech = "{'combat':2,'materials':2}" + origin_tech = @'{"combat":2,"materials":2}' w_class = ITEM_SIZE_NORMAL material = /decl/material/solid/metal/steel screen_shake = 1 diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 56fe369ff51..a7614db6028 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -6,7 +6,7 @@ safety_icon = "safety" w_class = ITEM_SIZE_NORMAL caliber = CALIBER_PISTOL_SMALL - origin_tech = "{'combat':5,'materials':2}" + origin_tech = @'{"combat":5,"materials":2}' slot_flags = SLOT_LOWER_BODY|SLOT_BACK ammo_type = /obj/item/ammo_casing/pistol/small load_method = MAGAZINE @@ -44,7 +44,7 @@ w_class = ITEM_SIZE_HUGE force = 10 caliber = CALIBER_RIFLE - origin_tech = "{'combat':7,'materials':3}" + origin_tech = @'{"combat":7,"materials":3}' ammo_type = /obj/item/ammo_casing/rifle slot_flags = SLOT_BACK load_method = MAGAZINE @@ -82,7 +82,7 @@ /obj/item/gun/projectile/automatic/assault_rifle/grenade name = "assault rifle" desc = "The Z8 Bulldog is an older model bullpup carbine. This one has an underslung grenade launcher. REALLY makes you feel like a space marine when you hold it." - origin_tech = "{'combat':8,'materials':3}" + origin_tech = @'{"combat":8,"materials":3}' firemodes = list( list(mode_name="semi auto", burst=1, fire_delay=null, use_launcher=null, one_hand_penalty=8, burst_accuracy=null, dispersion=null), @@ -137,7 +137,7 @@ w_class = ITEM_SIZE_HUGE force = 10 caliber = CALIBER_RIFLE - origin_tech = "{'combat':9,'materials':3}" + origin_tech = @'{"combat":9,"materials":3}' ammo_type = /obj/item/ammo_casing/rifle load_method = MAGAZINE magazine_type = /obj/item/ammo_magazine/rifle/drum diff --git a/code/modules/projectiles/guns/projectile/bolt_action.dm b/code/modules/projectiles/guns/projectile/bolt_action.dm index 0647f000429..21f609064ad 100644 --- a/code/modules/projectiles/guns/projectile/bolt_action.dm +++ b/code/modules/projectiles/guns/projectile/bolt_action.dm @@ -6,7 +6,7 @@ w_class = ITEM_SIZE_HUGE force = 5 slot_flags = SLOT_BACK - origin_tech = "{'combat':4,'materials':2}" + origin_tech = @'{"combat":4,"materials":2}' caliber = CALIBER_RIFLE handle_casings = HOLD_CASINGS load_method = SINGLE_CASING @@ -78,7 +78,7 @@ desc = "A portable anti-armour rifle fitted with a scope, the HI PTR-7 Rifle was originally designed to be used against armoured exosuits. It is capable of punching through windows and non-reinforced walls with ease." icon = 'icons/obj/guns/heavysniper.dmi' force = 10 - origin_tech = "{'combat':7,'materials':2,'esoteric':8}" + origin_tech = @'{"combat":7,"materials":2,"esoteric":8}' caliber = CALIBER_ANTI_MATERIEL screen_shake = 2 //extra kickback one_hand_penalty = 6 diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 9917cd8bcca..05f0b25ece0 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -32,7 +32,7 @@ caliber = CALIBER_PISTOL_SMALL silenced = 0 fire_delay = 4 - origin_tech = "{'combat':2,'materials':2,'esoteric':8}" + origin_tech = @'{"combat":2,"materials":2,"esoteric":8}' magazine_type = /obj/item/ammo_magazine/pistol/small allowed_magazines = /obj/item/ammo_magazine/pistol/small diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 4b7ad7b5e72..0358e6eb6b3 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -5,7 +5,7 @@ icon_state = ICON_STATE_WORLD safety_icon = "safety" caliber = CALIBER_PISTOL_MAGNUM - origin_tech = "{'combat':2,'materials':2}" + origin_tech = @'{"combat":2,"materials":2}' handle_casings = CYCLE_CASINGS max_shells = 6 fire_delay = 12 //Revolvers are naturally slower-firing @@ -48,7 +48,7 @@ name = "cap gun" desc = "Looks almost like the real thing! Ages 8 and up." caliber = CALIBER_CAPS - origin_tech = "{'combat':1,'materials':1}" + origin_tech = @'{"combat":1,"materials":1}' ammo_type = /obj/item/ammo_casing/cap var/cap = TRUE diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 5bf38759b8d..f91b9fc9d49 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -9,7 +9,7 @@ obj_flags = OBJ_FLAG_CONDUCTIBLE slot_flags = SLOT_BACK caliber = CALIBER_SHOTGUN - origin_tech = "{'combat':4,'materials':2}" + origin_tech = @'{"combat":4,"materials":2}' load_method = SINGLE_CASING ammo_type = /obj/item/ammo_casing/shotgun/beanbag handle_casings = HOLD_CASINGS @@ -64,7 +64,7 @@ obj_flags = OBJ_FLAG_CONDUCTIBLE slot_flags = SLOT_BACK caliber = CALIBER_SHOTGUN - origin_tech = "{'combat':3,'materials':1}" + origin_tech = @'{"combat":3,"materials":1}' ammo_type = /obj/item/ammo_casing/shotgun/beanbag one_hand_penalty = 2 diff --git a/code/modules/projectiles/targeting/targeting_mob.dm b/code/modules/projectiles/targeting/targeting_mob.dm index b03befe664a..1dd13a1aa6d 100644 --- a/code/modules/projectiles/targeting/targeting_mob.dm +++ b/code/modules/projectiles/targeting/targeting_mob.dm @@ -27,11 +27,3 @@ ..() if(lying) stop_aiming(no_message=1) - -/mob/living/Destroy() - if(aiming) - qdel(aiming) - aiming = null - QDEL_NULL_LIST(aimed_at_by) - return ..() - diff --git a/code/modules/projectiles/targeting/targeting_overlay.dm b/code/modules/projectiles/targeting/targeting_overlay.dm index c9cc33f2a3a..8fd4de31574 100644 --- a/code/modules/projectiles/targeting/targeting_overlay.dm +++ b/code/modules/projectiles/targeting/targeting_overlay.dm @@ -176,9 +176,9 @@ update_icon() lock_time = world.time + 35 - events_repository.register(/decl/observ/moved, owner, src, /obj/aiming_overlay/proc/update_aiming) - events_repository.register(/decl/observ/moved, aiming_at, src, /obj/aiming_overlay/proc/target_moved) - events_repository.register(/decl/observ/destroyed, aiming_at, src, /obj/aiming_overlay/proc/cancel_aiming) + events_repository.register(/decl/observ/moved, owner, src, TYPE_PROC_REF(/obj/aiming_overlay, update_aiming)) + events_repository.register(/decl/observ/moved, aiming_at, src, TYPE_PROC_REF(/obj/aiming_overlay, target_moved)) + events_repository.register(/decl/observ/destroyed, aiming_at, src, TYPE_PROC_REF(/obj/aiming_overlay, cancel_aiming)) /obj/aiming_overlay/on_update_icon() if(locked) diff --git a/code/modules/radiation/radiation.dm b/code/modules/radiation/radiation.dm index df714006ba9..0feee45d773 100644 --- a/code/modules/radiation/radiation.dm +++ b/code/modules/radiation/radiation.dm @@ -23,12 +23,12 @@ /datum/radiation_source/proc/update_rad_power(var/new_power = null) if(new_power == null || new_power == rad_power) return // No change - else if(new_power <= config.radiation_lower_limit) + else if(new_power <= get_config_value(/decl/config/num/radiation_lower_limit)) qdel(src) // Decayed to nothing else rad_power = new_power if(!flat) - range = min(round(sqrt(rad_power / config.radiation_lower_limit)), 31) // R = rad_power / dist**2 - Solve for dist + range = min(round(sqrt(rad_power / get_config_value(/decl/config/num/radiation_lower_limit))), 31) // R = rad_power / dist**2 - Solve for dist /turf var/cached_rad_resistance = 0 @@ -39,13 +39,13 @@ if(!(O.rad_resistance_modifier <= 0) && O.density) var/decl/material/M = O.get_material() if(!M) continue - cached_rad_resistance += (M.weight * O.rad_resistance_modifier) / config.radiation_material_resistance_divisor + cached_rad_resistance += (M.weight * O.rad_resistance_modifier) / get_config_value(/decl/config/num/radiation_material_resistance_divisor) // Looks like storing the contents length is meant to be a basic check if the cache is stale due to items enter/exiting. Better than nothing so I'm leaving it as is. ~Leshana SSradiation.resistance_cache[src] = (length(contents) + 1) /turf/simulated/wall/calc_rad_resistance() SSradiation.resistance_cache[src] = (length(contents) + 1) - cached_rad_resistance = (density ? material.weight / config.radiation_material_resistance_divisor : 0) + cached_rad_resistance = (density ? material.weight / get_config_value(/decl/config/num/radiation_material_resistance_divisor) : 0) /obj var/rad_resistance_modifier = 1 // Allow overriding rad resistance diff --git a/code/modules/reagents/Chemistry-Grinder.dm b/code/modules/reagents/Chemistry-Grinder.dm index af0ebfe26b3..4a99f1941d6 100644 --- a/code/modules/reagents/Chemistry-Grinder.dm +++ b/code/modules/reagents/Chemistry-Grinder.dm @@ -192,7 +192,7 @@ update_icon() // Reset the machine. - addtimer(CALLBACK(src, .proc/end_grind, user), 6 SECONDS, TIMER_UNIQUE) + addtimer(CALLBACK(src, PROC_REF(end_grind), user), 6 SECONDS, TIMER_UNIQUE) var/skill_factor = CLAMP01(1 + 0.3*(user.get_skill_value(skill_to_check) - SKILL_EXPERT)/(SKILL_EXPERT - SKILL_MIN)) // Process. diff --git a/code/modules/reagents/chems/chems_cleaner.dm b/code/modules/reagents/chems/chems_cleaner.dm index e3d3bef442b..5bd2e9454e5 100644 --- a/code/modules/reagents/chems/chems_cleaner.dm +++ b/code/modules/reagents/chems/chems_cleaner.dm @@ -10,6 +10,23 @@ uid = "chem_cleaner" exoplanet_rarity_gas = MAT_RARITY_EXOTIC +/decl/material/liquid/contaminant_cleaner + name = "akaline detergent" + lore_text = "A highly akaline hydrazine based detergent. Able to clean contaminants, but may release ammonia gas if used in open air." + taste_description = "bleach" + vapor_products = list(/decl/material/gas/ammonia = 0.5) + color = "#213799" + touch_met = 5 + toxicity = 5 + scent = "clean linen" + scent_descriptor = SCENT_DESC_FRAGRANCE + value = 0.25 + dirtiness = DIRTINESS_DECONTAMINATE + decontamination_dose = 5 + turf_touch_threshold = 0.1 + uid = "chem_contaminant_cleaner" + exoplanet_rarity_gas = MAT_RARITY_EXOTIC + /decl/material/liquid/cleaner/soap name = "soap" lore_text = "A soft solid compound used to clean things. Usually derived from oil or fat." diff --git a/code/modules/reagents/chems/chems_compounds.dm b/code/modules/reagents/chems/chems_compounds.dm index 8866c5377dc..465931dd12a 100644 --- a/code/modules/reagents/chems/chems_compounds.dm +++ b/code/modules/reagents/chems/chems_compounds.dm @@ -33,7 +33,7 @@ /decl/material/liquid/glowsap/on_leaving_metabolism(datum/reagents/metabolism/holder) if(ishuman(holder?.my_atom)) var/mob/living/carbon/human/H = holder.my_atom - addtimer(CALLBACK(H, /mob/living/carbon/human/proc/update_eyes), 5 SECONDS) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, update_eyes)), 5 SECONDS) . = ..() /decl/material/liquid/glowsap/affect_overdose(var/mob/living/M) diff --git a/code/modules/reagents/chems/chems_pigments.dm b/code/modules/reagents/chems/chems_pigments.dm index 1a64670f9ad..dafbb8f7870 100644 --- a/code/modules/reagents/chems/chems_pigments.dm +++ b/code/modules/reagents/chems/chems_pigments.dm @@ -63,6 +63,35 @@ color = "#aaaaaa" uid = "chem_pigment_white" +/decl/material/liquid/paint_stripper + name = "paint stripper" + uid = "liquid_paint_remover" + lore_text = "A highly toxic compound used as an effective paint stripper." + taste_description = "bleach and acid" + color = "#a0a0a0" + metabolism = REM * 0.2 + value = 0.1 + solvent_power = MAT_SOLVENT_MODERATE + toxicity = 10 + +/decl/material/liquid/paint_stripper/proc/remove_paint(var/atom/painting, var/datum/reagents/holder) + if(istype(painting) && istype(holder)) + var/keep_alpha = painting.alpha + painting.reset_color() + painting.set_alpha(keep_alpha) + +/decl/material/liquid/paint_stripper/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder) + if(istype(T) && !isspaceturf(T)) + remove_paint(T, holder) + +/decl/material/liquid/paint_stripper/touch_obj(var/obj/O, var/amount, var/datum/reagents/holder) + if(istype(O)) + remove_paint(O, holder) + +/decl/material/liquid/paint_stripper/touch_mob(var/mob/living/M, var/amount, var/datum/reagents/holder) + if(istype(M)) + remove_paint(M, holder) + /decl/material/liquid/paint name = "paint" lore_text = "This paint will stick to almost any object." @@ -76,8 +105,8 @@ /decl/material/liquid/paint/proc/apply_paint(var/atom/painting, var/datum/reagents/holder) if(istype(painting) && istype(holder)) var/keep_alpha = painting.alpha - painting.color = holder.get_color() - painting.alpha = keep_alpha + painting.set_color(holder.get_color()) + painting.set_alpha(keep_alpha) /decl/material/liquid/paint/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder) if(istype(T) && !isspaceturf(T)) diff --git a/code/modules/reagents/dispenser/cartridge.dm b/code/modules/reagents/dispenser/cartridge.dm index b91bb821024..d34a0361704 100644 --- a/code/modules/reagents/dispenser/cartridge.dm +++ b/code/modules/reagents/dispenser/cartridge.dm @@ -63,7 +63,7 @@ return TRUE if(standard_pour_into(user, target)) return TRUE - if(standard_feed_mob(user, target)) + if(handle_eaten_by_mob(user, target) != EATEN_INVALID) return TRUE if(user.a_intent == I_HURT) if(standard_splash_mob(user,target)) diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/dispenser/dispenser2.dm index ef9070fd880..1a5287a0035 100644 --- a/code/modules/reagents/dispenser/dispenser2.dm +++ b/code/modules/reagents/dispenser/dispenser2.dm @@ -130,8 +130,8 @@ events_repository.unregister(/decl/observ/destroyed, container, src) container = new_container if(container) - events_repository.register(/decl/observ/moved, container, src, .proc/check_container_status) - events_repository.register(/decl/observ/destroyed, container, src, .proc/check_container_status) + events_repository.register(/decl/observ/moved, container, src, PROC_REF(check_container_status)) + events_repository.register(/decl/observ/destroyed, container, src, PROC_REF(check_container_status)) update_icon() SSnano.update_uis(src) // update all UIs attached to src diff --git a/code/modules/reagents/reactions/_reaction.dm b/code/modules/reagents/reactions/_reaction.dm index caed59766bf..6e245b6f6ea 100644 --- a/code/modules/reagents/reactions/_reaction.dm +++ b/code/modules/reagents/reactions/_reaction.dm @@ -15,6 +15,7 @@ var/log_is_important = 0 // If this reaction should be considered important for logging. Important recipes message admins when mixed, non-important ones just log to file. var/lore_text var/mechanics_text + var/reaction_category /// Flags used when reaction processing. var/chemical_reaction_flags = 0 diff --git a/code/modules/reagents/reactions/reaction_alcohol.dm b/code/modules/reagents/reactions/reaction_alcohol.dm index 3993ba177bc..6fbf57294cc 100644 --- a/code/modules/reagents/reactions/reaction_alcohol.dm +++ b/code/modules/reagents/reactions/reaction_alcohol.dm @@ -1,5 +1,6 @@ /decl/chemical_reaction/recipe abstract_type = /decl/chemical_reaction/recipe + reaction_category = REACTION_TYPE_RECIPE /decl/chemical_reaction/recipe/moonshine name = "Moonshine" diff --git a/code/modules/reagents/reactions/reaction_alloys.dm b/code/modules/reagents/reactions/reaction_alloys.dm index 056c84f260b..61bd616d6a8 100644 --- a/code/modules/reagents/reactions/reaction_alloys.dm +++ b/code/modules/reagents/reactions/reaction_alloys.dm @@ -3,6 +3,7 @@ maximum_temperature = INFINITY reaction_sound = null mix_message = null + reaction_category = REACTION_TYPE_ALLOYING abstract_type = /decl/chemical_reaction/alloy /decl/chemical_reaction/alloy/borosilicate diff --git a/code/modules/reagents/reactions/reaction_compounds.dm b/code/modules/reagents/reactions/reaction_compounds.dm new file mode 100644 index 00000000000..25fe15e5b28 --- /dev/null +++ b/code/modules/reagents/reactions/reaction_compounds.dm @@ -0,0 +1,123 @@ +/decl/chemical_reaction/compound + abstract_type = /decl/chemical_reaction/compound + reaction_category = REACTION_TYPE_COMPOUND + +/decl/chemical_reaction/compound/surfactant + name = "Azosurfactant" + result = /decl/material/liquid/surfactant + required_reagents = list(/decl/material/liquid/fuel/hydrazine = 2, /decl/material/solid/carbon = 2, /decl/material/liquid/acid = 1) + result_amount = 5 + mix_message = "The solution begins to foam gently." + +/decl/chemical_reaction/compound/space_cleaner + name = "Space cleaner" + result = /decl/material/liquid/cleaner + required_reagents = list(/decl/material/gas/ammonia = 1, /decl/material/liquid/water = 1) + mix_message = "The solution becomes slick and soapy." + result_amount = 2 + +/decl/chemical_reaction/compound/plantbgone + name = "Plant-B-Gone" + result = /decl/material/liquid/weedkiller + required_reagents = list( + /decl/material/liquid/bromide = 1, + /decl/material/liquid/water = 4 + ) + result_amount = 5 + +/decl/chemical_reaction/compound/foaming_agent + name = "Foaming Agent" + result = /decl/material/liquid/foaming_agent + required_reagents = list(/decl/material/solid/lithium = 1, /decl/material/liquid/fuel/hydrazine = 1) + result_amount = 1 + mix_message = "The solution begins to foam vigorously." + +/decl/chemical_reaction/compound/sodiumchloride + name = "Sodium Chloride" + result = /decl/material/solid/sodiumchloride + required_reagents = list(/decl/material/solid/sodium = 1, /decl/material/liquid/acid/hydrochloric = 1) + result_amount = 2 + +/decl/chemical_reaction/compound/hair_remover + name = "Hair Remover" + result = /decl/material/liquid/hair_remover + required_reagents = list(/decl/material/solid/metal/radium = 1, /decl/material/solid/potassium = 1, /decl/material/liquid/acid/hydrochloric = 1) + result_amount = 3 + mix_message = "The solution thins out and emits an acrid smell." + +/decl/chemical_reaction/compound/methyl_bromide + name = "Methyl Bromide" + required_reagents = list( + /decl/material/liquid/bromide = 1, + /decl/material/liquid/ethanol = 1, + /decl/material/liquid/fuel/hydrazine = 1 + ) + result_amount = 3 + result = /decl/material/gas/methyl_bromide + mix_message = "The solution begins to bubble, emitting a dark vapor." + +/decl/chemical_reaction/compound/luminol + name = "Luminol" + result = /decl/material/liquid/luminol + required_reagents = list(/decl/material/liquid/fuel/hydrazine = 2, /decl/material/solid/carbon = 2, /decl/material/gas/ammonia = 2) + result_amount = 6 + mix_message = "The solution begins to gleam with a fey inner light." + +/decl/chemical_reaction/compound/anfo + name = "Fertilizer ANFO" + result = /decl/material/liquid/anfo + required_reagents = list( + /decl/material/liquid/fertilizer = 20, + /decl/material/liquid/fuel = 10 + ) + result_amount = 15 + mix_message = "The solution gives off the eye-watering reek of spilled fertilizer and petroleum." + +/decl/chemical_reaction/compound/anfo4 + name = "Chemlab ANFO" + result = /decl/material/liquid/anfo + required_reagents = list( + /decl/material/gas/ammonia = 10, + /decl/material/liquid/fuel = 5 + ) + result_amount = 15 + mix_message = "The solution gives off the eye-watering reek of spilled fertilizer and petroleum." + +/decl/chemical_reaction/compound/anfo_plus + name = "ANFO+" + result = /decl/material/liquid/anfo/plus + required_reagents = list( + /decl/material/liquid/anfo = 15, + /decl/material/solid/metal/aluminium = 5 + ) + result_amount = 20 + mix_message = "The solution gives off the eye-watering reek of spilled fertilizer and petroleum." + +/decl/chemical_reaction/compound/crystal_agent + name = "Crystallizing Agent" + result = /decl/material/liquid/crystal_agent + required_reagents = list(/decl/material/solid/silicon = 1, /decl/material/solid/metal/tungsten = 1, /decl/material/liquid/acid/polyacid = 1) + minimum_temperature = 150 CELSIUS + maximum_temperature = 200 CELSIUS + result_amount = 3 + +/decl/chemical_reaction/compound/paint + name = "Paint" + result = /decl/material/liquid/paint + required_reagents = list(/decl/material/liquid/plasticide = 1, /decl/material/liquid/water = 3) + result_amount = 5 + mix_message = "The solution thickens and takes on a glossy sheen." + +/decl/chemical_reaction/compound/paint_stripper + name = "Paint Stripper" + //TODO: some way to mix chlorine and methane to make proper paint stripper. + required_reagents = list(/decl/material/liquid/acetone = 2, /decl/material/liquid/acid = 2) + result = /decl/material/liquid/paint_stripper + result_amount = 4 + mix_message = "The mixture thins and clears." + +/decl/chemical_reaction/compound/contaminant_cleaner + name = "Akaline Detergent" + result = /decl/material/liquid/contaminant_cleaner + required_reagents = list(/decl/material/solid/sodium = 1, /decl/material/liquid/surfactant = 1) + result_amount = 2 diff --git a/code/modules/reagents/reactions/reaction_drugs.dm b/code/modules/reagents/reactions/reaction_drugs.dm index 03eac2e230b..c45f33878db 100644 --- a/code/modules/reagents/reactions/reaction_drugs.dm +++ b/code/modules/reagents/reactions/reaction_drugs.dm @@ -1,10 +1,14 @@ -/decl/chemical_reaction/antitoxins +/decl/chemical_reaction/drug + abstract_type = /decl/chemical_reaction/drug + reaction_category = REACTION_TYPE_PHARMACEUTICAL + +/decl/chemical_reaction/drug/antitoxins name = "Antitoxins" result = /decl/material/liquid/antitoxins required_reagents = list(/decl/material/solid/silicon = 1, /decl/material/solid/potassium = 1, /decl/material/gas/ammonia = 1) result_amount = 3 -/decl/chemical_reaction/painkillers +/decl/chemical_reaction/drug/painkillers name = "Mild Painkillers" result = /decl/material/liquid/painkillers required_reagents = list( @@ -14,7 +18,7 @@ ) result_amount = 3 -/decl/chemical_reaction/strong_painkillers +/decl/chemical_reaction/drug/strong_painkillers name = "Strong Painkillers" result = /decl/material/liquid/painkillers/strong required_reagents = list( @@ -24,19 +28,19 @@ ) result_amount = 3 -/decl/chemical_reaction/antiseptic +/decl/chemical_reaction/drug/antiseptic name = "Antiseptic" result = /decl/material/liquid/antiseptic required_reagents = list(/decl/material/liquid/ethanol = 1, /decl/material/liquid/antitoxins = 1, /decl/material/liquid/acid/hydrochloric = 1) result_amount = 3 -/decl/chemical_reaction/mutagenics +/decl/chemical_reaction/drug/mutagenics name = "Unstable mutagen" result = /decl/material/liquid/mutagenics required_reagents = list(/decl/material/solid/metal/radium = 1, /decl/material/solid/phosphorus = 1, /decl/material/liquid/acid/hydrochloric = 1) result_amount = 3 -/decl/chemical_reaction/psychoactives +/decl/chemical_reaction/drug/psychoactives name = "Psychoactives" result = /decl/material/liquid/psychoactives required_reagents = list(/decl/material/liquid/mercury = 1, /decl/material/liquid/nutriment/sugar = 1, /decl/material/solid/lithium = 1) @@ -44,39 +48,39 @@ minimum_temperature = 50 CELSIUS maximum_temperature = (50 CELSIUS) + 100 -/decl/chemical_reaction/lube +/decl/chemical_reaction/drug/lube name = "Lubricant" result = /decl/material/liquid/lube required_reagents = list(/decl/material/liquid/water = 1, /decl/material/solid/silicon = 1, /decl/material/liquid/acetone = 1) result_amount = 3 mix_message = "The solution becomes thick and slimy." -/decl/chemical_reaction/pacid +/decl/chemical_reaction/drug/pacid name = "Polytrinic acid" result = /decl/material/liquid/acid/polyacid required_reagents = list(/decl/material/liquid/acid = 1, /decl/material/liquid/acid/hydrochloric = 1, /decl/material/solid/potassium = 1) result_amount = 3 -/decl/chemical_reaction/antirads +/decl/chemical_reaction/drug/antirads name = "Anti-Radiation Medication" result = /decl/material/liquid/antirads required_reagents = list(/decl/material/solid/metal/radium = 1, /decl/material/liquid/antitoxins = 1) result_amount = 2 -/decl/chemical_reaction/narcotics +/decl/chemical_reaction/drug/narcotics name = "Narcotics" result = /decl/material/liquid/narcotics required_reagents = list(/decl/material/liquid/mercury = 1, /decl/material/liquid/acetone = 1, /decl/material/liquid/nutriment/sugar = 1) result_amount = 2 -/decl/chemical_reaction/burn_meds +/decl/chemical_reaction/drug/burn_meds name = "Anti-Burn Medication" result = /decl/material/liquid/burn_meds required_reagents = list(/decl/material/solid/silicon = 1, /decl/material/solid/carbon = 1) result_amount = 2 log_is_important = 1 -/decl/chemical_reaction/presyncopics +/decl/chemical_reaction/drug/presyncopics name = "Presyncopics" result = /decl/material/liquid/presyncopics required_reagents = list(/decl/material/solid/potassium = 1, /decl/material/liquid/acetone = 1, /decl/material/liquid/nutriment/sugar = 1) @@ -84,44 +88,44 @@ maximum_temperature = 60 CELSIUS result_amount = 3 -/decl/chemical_reaction/regenerator +/decl/chemical_reaction/drug/regenerator name = "Regenerative Serum" result = /decl/material/liquid/regenerator required_reagents = list(/decl/material/liquid/stabilizer = 1, /decl/material/liquid/antitoxins = 1) result_amount = 2 -/decl/chemical_reaction/neuroannealer +/decl/chemical_reaction/drug/neuroannealer name = "Neuroannealer" result = /decl/material/liquid/neuroannealer required_reagents = list(/decl/material/liquid/acid/hydrochloric = 1, /decl/material/gas/ammonia = 1, /decl/material/liquid/antitoxins = 1) result_amount = 2 -/decl/chemical_reaction/oxy_meds +/decl/chemical_reaction/drug/oxy_meds name = "Oxygen Deprivation Medication" result = /decl/material/liquid/oxy_meds required_reagents = list(/decl/material/liquid/acetone = 1, /decl/material/liquid/water = 1, /decl/material/solid/sulfur = 1) result_amount = 1 -/decl/chemical_reaction/brute_meds +/decl/chemical_reaction/drug/brute_meds name = "Anti-Trauma Medication" result = /decl/material/liquid/brute_meds required_reagents = list(/decl/material/liquid/stabilizer = 1, /decl/material/solid/carbon = 1) inhibitors = list(/decl/material/liquid/nutriment/sugar = 1) // Messes up with adrenaline result_amount = 2 -/decl/chemical_reaction/amphetamines +/decl/chemical_reaction/drug/amphetamines name = "Amphetamines" result = /decl/material/liquid/amphetamines required_reagents = list(/decl/material/liquid/nutriment/sugar = 1, /decl/material/solid/phosphorus = 1, /decl/material/solid/sulfur = 1) result_amount = 3 -/decl/chemical_reaction/retrovirals +/decl/chemical_reaction/drug/retrovirals name = "Retrovirals" result = /decl/material/liquid/retrovirals required_reagents = list(/decl/material/liquid/antirads = 1, /decl/material/solid/carbon = 1) result_amount = 2 -/decl/chemical_reaction/nanitefluid +/decl/chemical_reaction/compound/nanitefluid name = "Nanite Fluid" result = /decl/material/liquid/nanitefluid required_reagents = list(/decl/material/liquid/plasticide = 1, /decl/material/solid/metal/aluminium = 1, /decl/material/liquid/lube = 1) @@ -131,19 +135,19 @@ maximum_temperature = -25 CELSIUS mix_message = "The solution becomes a metallic slime." -/decl/chemical_reaction/antibiotics +/decl/chemical_reaction/drug/antibiotics name = "Antibiotics" result = /decl/material/liquid/antibiotics required_reagents = list(/decl/material/liquid/presyncopics = 1, /decl/material/liquid/stabilizer = 1) result_amount = 2 -/decl/chemical_reaction/eyedrops +/decl/chemical_reaction/drug/eyedrops name = "Eye Drops" result = /decl/material/liquid/eyedrops required_reagents = list(/decl/material/solid/carbon = 1, /decl/material/liquid/fuel/hydrazine = 1, /decl/material/liquid/antitoxins = 1) result_amount = 2 -/decl/chemical_reaction/sedatives +/decl/chemical_reaction/drug/sedatives name = "Sedatives" result = /decl/material/liquid/sedatives required_reagents = list(/decl/material/liquid/ethanol = 1, /decl/material/liquid/nutriment/sugar = 4 @@ -153,13 +157,13 @@ ) // Messes with the smoke result_amount = 5 -/decl/chemical_reaction/paralytics +/decl/chemical_reaction/drug/paralytics name = "Paralytics" result = /decl/material/liquid/paralytics required_reagents = list(/decl/material/liquid/ethanol = 1, /decl/material/liquid/mercury = 2, /decl/material/liquid/fuel/hydrazine = 2) result_amount = 1 -/decl/chemical_reaction/zombiepowder +/decl/chemical_reaction/drug/zombiepowder name = "Zombie Powder" result = /decl/material/liquid/zombiepowder required_reagents = list(/decl/material/liquid/carpotoxin = 5, /decl/material/liquid/sedatives = 5, /decl/material/solid/metal/copper = 5) @@ -168,7 +172,7 @@ maximum_temperature = 99 CELSIUS mix_message = "The solution boils off to form a fine powder." -/decl/chemical_reaction/hallucinogenics +/decl/chemical_reaction/drug/hallucinogenics name = "Hallucinogenics" result = /decl/material/liquid/hallucinogenics required_reagents = list(/decl/material/solid/silicon = 1, /decl/material/liquid/fuel/hydrazine = 1, /decl/material/liquid/antitoxins = 1) @@ -177,85 +181,31 @@ minimum_temperature = 75 CELSIUS maximum_temperature = (75 CELSIUS) + 25 -/decl/chemical_reaction/surfactant - name = "Azosurfactant" - result = /decl/material/liquid/surfactant - required_reagents = list(/decl/material/liquid/fuel/hydrazine = 2, /decl/material/solid/carbon = 2, /decl/material/liquid/acid = 1) - result_amount = 5 - mix_message = "The solution begins to foam gently." - -/decl/chemical_reaction/space_cleaner - name = "Space cleaner" - result = /decl/material/liquid/cleaner - required_reagents = list(/decl/material/gas/ammonia = 1, /decl/material/liquid/water = 1) - mix_message = "The solution becomes slick and soapy." - result_amount = 2 - -/decl/chemical_reaction/plantbgone - name = "Plant-B-Gone" - result = /decl/material/liquid/weedkiller - required_reagents = list( - /decl/material/liquid/bromide = 1, - /decl/material/liquid/water = 4 - ) - result_amount = 5 - -/decl/chemical_reaction/foaming_agent - name = "Foaming Agent" - result = /decl/material/liquid/foaming_agent - required_reagents = list(/decl/material/solid/lithium = 1, /decl/material/liquid/fuel/hydrazine = 1) - result_amount = 1 - mix_message = "The solution begins to foam vigorously." - -/decl/chemical_reaction/sodiumchloride - name = "Sodium Chloride" - result = /decl/material/solid/sodiumchloride - required_reagents = list(/decl/material/solid/sodium = 1, /decl/material/liquid/acid/hydrochloric = 1) - result_amount = 2 - -/decl/chemical_reaction/stimulants +/decl/chemical_reaction/drug/stimulants name = "Stimulants" result = /decl/material/liquid/stimulants required_reagents = list(/decl/material/liquid/hallucinogenics = 1, /decl/material/solid/lithium = 1) result_amount = 3 -/decl/chemical_reaction/antidepressants +/decl/chemical_reaction/drug/antidepressants name = "Antidepressants" result = /decl/material/liquid/antidepressants required_reagents = list(/decl/material/liquid/hallucinogenics = 1, /decl/material/solid/carbon = 1) result_amount = 3 -/decl/chemical_reaction/hair_remover - name = "Hair Remover" - result = /decl/material/liquid/hair_remover - required_reagents = list(/decl/material/solid/metal/radium = 1, /decl/material/solid/potassium = 1, /decl/material/liquid/acid/hydrochloric = 1) - result_amount = 3 - mix_message = "The solution thins out and emits an acrid smell." - -/decl/chemical_reaction/methyl_bromide - name = "Methyl Bromide" - required_reagents = list( - /decl/material/liquid/bromide = 1, - /decl/material/liquid/ethanol = 1, - /decl/material/liquid/fuel/hydrazine = 1 - ) - result_amount = 3 - result = /decl/material/gas/methyl_bromide - mix_message = "The solution begins to bubble, emitting a dark vapor." - -/decl/chemical_reaction/adrenaline +/decl/chemical_reaction/drug/adrenaline name = "Adrenaline" result = /decl/material/liquid/adrenaline required_reagents = list(/decl/material/liquid/nutriment/sugar = 1, /decl/material/liquid/amphetamines = 1, /decl/material/liquid/oxy_meds = 1) result_amount = 3 -/decl/chemical_reaction/stabilizer +/decl/chemical_reaction/drug/stabilizer name = "Stabilizer" result = /decl/material/liquid/stabilizer required_reagents = list(/decl/material/liquid/nutriment/sugar = 1, /decl/material/solid/carbon = 1, /decl/material/liquid/acetone = 1) result_amount = 3 -/decl/chemical_reaction/gleam +/decl/chemical_reaction/drug/gleam name = "Gleam" result = /decl/material/liquid/glowsap/gleam result_amount = 2 @@ -270,14 +220,14 @@ /decl/material/liquid/glowsap = 2 ) -/decl/chemical_reaction/immunobooster +/decl/chemical_reaction/drug/immunobooster name = "Immunobooster" result = /decl/material/liquid/immunobooster required_reagents = list(/decl/material/liquid/presyncopics = 1, /decl/material/liquid/antitoxins = 1) minimum_temperature = 40 CELSIUS result_amount = 2 -/decl/chemical_reaction/clotting_agent +/decl/chemical_reaction/drug/clotting_agent name = "Clotting Agent" result = /decl/material/liquid/clotting_agent required_reagents = list( @@ -286,3 +236,10 @@ /decl/material/liquid/carpotoxin = 1 ) result_amount = 2 + +/decl/chemical_reaction/drug/nanoblood + name = "Nanoblood" + result = /decl/material/liquid/nanoblood + required_reagents = list(/decl/material/liquid/nanitefluid = 1, /decl/material/solid/metal/iron = 1, /decl/material/liquid/blood = 1) + result_amount = 3 + mix_message = "The solution thickens slowly into a glossy liquid." diff --git a/code/modules/reagents/reactions/reaction_other.dm b/code/modules/reagents/reactions/reaction_other.dm index f7dd8eb027a..cd4dcb2ae3d 100644 --- a/code/modules/reagents/reactions/reaction_other.dm +++ b/code/modules/reagents/reactions/reaction_other.dm @@ -16,62 +16,3 @@ var/obj/item/key/soap/key = new(get_turf(S), null, S.key_data) key.uses = strength ..() - -/decl/chemical_reaction/luminol - name = "Luminol" - result = /decl/material/liquid/luminol - required_reagents = list(/decl/material/liquid/fuel/hydrazine = 2, /decl/material/solid/carbon = 2, /decl/material/gas/ammonia = 2) - result_amount = 6 - mix_message = "The solution begins to gleam with a fey inner light." - -/decl/chemical_reaction/nanoblood - name = "Nanoblood" - result = /decl/material/liquid/nanoblood - required_reagents = list(/decl/material/liquid/nanitefluid = 1, /decl/material/solid/metal/iron = 1, /decl/material/liquid/blood = 1) - result_amount = 3 - mix_message = "The solution thickens slowly into a glossy liquid." - -/decl/chemical_reaction/anfo - name = "Fertilizer ANFO" - result = /decl/material/liquid/anfo - required_reagents = list( - /decl/material/liquid/fertilizer = 20, - /decl/material/liquid/fuel = 10 - ) - result_amount = 15 - mix_message = "The solution gives off the eye-watering reek of spilled fertilizer and petroleum." - -/decl/chemical_reaction/anfo4 - name = "Chemlab ANFO" - result = /decl/material/liquid/anfo - required_reagents = list( - /decl/material/gas/ammonia = 10, - /decl/material/liquid/fuel = 5 - ) - result_amount = 15 - mix_message = "The solution gives off the eye-watering reek of spilled fertilizer and petroleum." - -/decl/chemical_reaction/anfo_plus - name = "ANFO+" - result = /decl/material/liquid/anfo/plus - required_reagents = list( - /decl/material/liquid/anfo = 15, - /decl/material/solid/metal/aluminium = 5 - ) - result_amount = 20 - mix_message = "The solution gives off the eye-watering reek of spilled fertilizer and petroleum." - -/decl/chemical_reaction/crystal_agent - name = "Crystallizing Agent" - result = /decl/material/liquid/crystal_agent - required_reagents = list(/decl/material/solid/silicon = 1, /decl/material/solid/metal/tungsten = 1, /decl/material/liquid/acid/polyacid = 1) - minimum_temperature = 150 CELSIUS - maximum_temperature = 200 CELSIUS - result_amount = 3 - -/decl/chemical_reaction/paint - name = "Paint" - result = /decl/material/liquid/paint - required_reagents = list(/decl/material/liquid/plasticide = 1, /decl/material/liquid/water = 3) - result_amount = 5 - mix_message = "The solution thickens and takes on a glossy sheen." diff --git a/code/modules/reagents/reactions/reaction_synthesis.dm b/code/modules/reagents/reactions/reaction_synthesis.dm index 27f3938ac91..51eb037fe30 100644 --- a/code/modules/reagents/reactions/reaction_synthesis.dm +++ b/code/modules/reagents/reactions/reaction_synthesis.dm @@ -4,6 +4,7 @@ result_amount = 1 mix_message = "The solution hardens and begins to crystallize." abstract_type = /decl/chemical_reaction/synthesis + reaction_category = REACTION_TYPE_SYNTHESIS /decl/chemical_reaction/synthesis/fiberglass name = "Fiberglass" diff --git a/code/modules/reagents/reagent_container_edibility.dm b/code/modules/reagents/reagent_container_edibility.dm new file mode 100644 index 00000000000..07c9eca5dc1 --- /dev/null +++ b/code/modules/reagents/reagent_container_edibility.dm @@ -0,0 +1,8 @@ +/obj/item/chems/get_edible_material_amount(var/mob/eater) + return reagents?.total_volume + +/obj/item/chems/get_food_default_transfer_amount(mob/eater) + return eater?.get_eaten_transfer_amount(amount_per_transfer_from_this) + +/obj/item/chems/get_food_consumption_method(mob/eater) + return EATING_METHOD_DRINK diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index 8733b106e11..d835cd8a53b 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -153,69 +153,6 @@ reagents.splash(target, reagents.total_volume) return 1 -/obj/item/chems/proc/self_feed_message(var/mob/user) - to_chat(user, SPAN_NOTICE("You eat \the [src]")) - -/obj/item/chems/proc/other_feed_message_start(var/mob/user, var/mob/target) - user.visible_message(SPAN_NOTICE("[user] is trying to feed [target] \the [src]!")) - -/obj/item/chems/proc/other_feed_message_finish(var/mob/user, var/mob/target) - user.visible_message(SPAN_NOTICE("[user] has fed [target] \the [src]!")) - -/obj/item/chems/proc/feed_sound(var/mob/user) - return - -/obj/item/chems/proc/standard_feed_mob(var/mob/user, var/mob/target) // This goes into attack - if(!istype(target)) - return 0 - - if(!reagents || !reagents.total_volume) - to_chat(user, SPAN_NOTICE("\The [src] is empty.")) - return 1 - - // only carbons can eat - if(iscarbon(target)) - if(target == user) - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(!H.check_has_mouth()) - to_chat(user, "Where do you intend to put \the [src]? You don't have a mouth!") - return - var/obj/item/blocked = H.check_mouth_coverage() - if(blocked) - to_chat(user, SPAN_NOTICE("\The [blocked] is in the way!")) - return - - user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) //puts a limit on how fast people can eat/drink things - self_feed_message(user) - reagents.trans_to_mob(user, issmall(user) ? CEILING(amount_per_transfer_from_this/2) : amount_per_transfer_from_this, CHEM_INGEST) - feed_sound(user) - add_trace_DNA(user) - return 1 - - - else - if(!user.can_force_feed(target, src)) - return - - other_feed_message_start(user, target) - - user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - if(!do_mob(user, target)) - return - - other_feed_message_finish(user, target) - - var/contained = REAGENT_LIST(src) - admin_attack_log(user, target, "Fed the victim with [name] (Reagents: [contained])", "Was fed [src] (Reagents: [contained])", "used [src] (Reagents: [contained]) to feed") - - reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_INGEST) - feed_sound(user) - add_trace_DNA(target) - return 1 - - return 0 - /obj/item/chems/proc/standard_pour_into(var/mob/user, var/atom/target) // This goes into afterattack and yes, it's atom-level if(!target.reagents) return 0 diff --git a/code/modules/reagents/reagent_containers/beaker.dm b/code/modules/reagents/reagent_containers/beaker.dm index 84500a5c92c..5aaca6207b0 100644 --- a/code/modules/reagents/reagent_containers/beaker.dm +++ b/code/modules/reagents/reagent_containers/beaker.dm @@ -4,7 +4,7 @@ desc = "A beaker." icon = 'icons/obj/items/chem/beakers/beaker.dmi' icon_state = ICON_STATE_WORLD - center_of_mass = @"{'x':15,'y':10}" + center_of_mass = @'{"x":15,"y":10}' material = /decl/material/solid/glass material_alteration = MAT_FLAG_ALTERATION_COLOR | MAT_FLAG_ALTERATION_NAME material_force_multiplier = 0.25 @@ -69,7 +69,7 @@ name = "large beaker" desc = "A large beaker." icon = 'icons/obj/items/chem/beakers/large.dmi' - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' volume = 120 amount_per_transfer_from_this = 10 possible_transfer_amounts = @"[5,10,15,25,30,60,120]" @@ -80,7 +80,7 @@ name = "mixing bowl" desc = "A large mixing bowl." icon = 'icons/obj/items/chem/mixingbowl.dmi' - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' volume = 180 amount_per_transfer_from_this = 10 possible_transfer_amounts = @"[5,10,15,25,30,60,180]" @@ -92,21 +92,21 @@ name = "cryostasis beaker" desc = "A cryostasis beaker that allows for chemical storage without reactions." icon = 'icons/obj/items/chem/beakers/stasis.dmi' - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' volume = 60 amount_per_transfer_from_this = 10 atom_flags = ATOM_FLAG_OPEN_CONTAINER | ATOM_FLAG_NO_CHEM_CHANGE presentation_flags = PRESENTATION_FLAG_NAME material = /decl/material/solid/metal/steel material_alteration = MAT_FLAG_ALTERATION_NONE - origin_tech = "{'materials':2}" + origin_tech = @'{"materials":2}' lid_color = COLOR_PALE_BLUE_GRAY /obj/item/chems/glass/beaker/advanced name = "advanced beaker" desc = "An advanced beaker, powered by experimental technology." icon = 'icons/obj/items/chem/beakers/advanced.dmi' - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' volume = 300 amount_per_transfer_from_this = 10 possible_transfer_amounts = @"[5,10,15,25,30,60,120,150,200,250,300]" @@ -117,14 +117,14 @@ /decl/material/solid/metal/uranium = MATTER_AMOUNT_TRACE, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'exoticmatter':2,'materials':6}" + origin_tech = @'{"exoticmatter":2,"materials":6}' lid_color = COLOR_CYAN_BLUE /obj/item/chems/glass/beaker/vial name = "vial" desc = "A small glass vial." icon = 'icons/obj/items/chem/vial.dmi' - center_of_mass = @"{'x':15,'y':8}" + center_of_mass = @'{"x":15,"y":8}' volume = 30 w_class = ITEM_SIZE_TINY //half the volume of a bottle, half the size amount_per_transfer_from_this = 10 @@ -140,7 +140,7 @@ name = "insulated beaker" desc = "A glass beaker surrounded with black insulation." icon = 'icons/obj/items/chem/beakers/insulated.dmi' - center_of_mass = @"{'x':15,'y':8}" + center_of_mass = @'{"x":15,"y":8}' matter = list(/decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT) possible_transfer_amounts = @"[5,10,15,30]" atom_flags = ATOM_FLAG_OPEN_CONTAINER @@ -157,7 +157,7 @@ /obj/item/chems/glass/beaker/insulated/large name = "large insulated beaker" icon = 'icons/obj/items/chem/beakers/insulated_large.dmi' - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' matter = list(/decl/material/solid/organic/plastic = MATTER_AMOUNT_REINFORCEMENT) volume = 120 diff --git a/code/modules/reagents/reagent_containers/condiment.dm b/code/modules/reagents/reagent_containers/condiment.dm index 9997b999d18..a62ac52b58f 100644 --- a/code/modules/reagents/reagent_containers/condiment.dm +++ b/code/modules/reagents/reagent_containers/condiment.dm @@ -12,7 +12,7 @@ icon_state = "emptycondiment" atom_flags = ATOM_FLAG_OPEN_CONTAINER possible_transfer_amounts = @"[1,5,10]" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' randpixel = 6 volume = 50 var/obj/item/chems/condiment/is_special_bottle @@ -49,13 +49,6 @@ on_reagent_change() return -/obj/item/chems/condiment/attack_self(var/mob/user) - return - -/obj/item/chems/condiment/attack(var/mob/M, var/mob/user, var/def_zone) - if(standard_feed_mob(user, M)) - return - /obj/item/chems/condiment/afterattack(var/obj/target, var/mob/user, var/proximity) if(!proximity) return @@ -79,12 +72,6 @@ else ..() -/obj/item/chems/condiment/feed_sound(var/mob/user) - playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1) - -/obj/item/chems/condiment/self_feed_message(var/mob/user) - to_chat(user, SPAN_NOTICE("You swallow some of contents of \the [src].")) - /obj/item/chems/condiment/proc/update_center_of_mass() center_of_mass = is_special_bottle ? initial(is_special_bottle.center_of_mass) : initial(center_of_mass) @@ -203,7 +190,7 @@ name = "salt shaker" desc = "Salt. From space oceans, presumably." icon_state = "saltshakersmall" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' /obj/item/chems/condiment/small/saltshaker/populate_reagents() reagents.add_reagent(/decl/material/solid/sodiumchloride, reagents.maximum_volume) @@ -212,7 +199,7 @@ name = "pepper mill" desc = "Often used to flavor food or make people sneeze." icon_state = "peppermillsmall" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' /obj/item/chems/condiment/small/peppermill/populate_reagents() reagents.add_reagent(/decl/material/solid/blackpepper, reagents.maximum_volume) @@ -221,7 +208,7 @@ name = "sugar" desc = "Sweetness in a bottle" icon_state = "sugarsmall" - center_of_mass = @"{'x':17,'y':9}" + center_of_mass = @'{"x":17,"y":9}' /obj/item/chems/condiment/small/sugar/populate_reagents() reagents.add_reagent(/decl/material/liquid/nutriment/sugar, reagents.maximum_volume) diff --git a/code/modules/reagents/reagent_containers/condiment_edibility.dm b/code/modules/reagents/reagent_containers/condiment_edibility.dm new file mode 100644 index 00000000000..a5c98156efe --- /dev/null +++ b/code/modules/reagents/reagent_containers/condiment_edibility.dm @@ -0,0 +1,15 @@ +/obj/item/chems/condiment/show_feed_message_start(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You begin trying to eat some of \the [target].")) + else + user.visible_message(SPAN_NOTICE("\The [user] is trying to feed some of the contents of \the [src] to \the [target]!")) + +/obj/item/chems/condiment/show_feed_message_end(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You swallow some of the contents of \the [src].")) + else + user.visible_message(SPAN_NOTICE("\The [user] feeds some of the contents of \the [src] to \the [target]!")) diff --git a/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm b/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm index bfa2cc737ca..7b6123b4325 100644 --- a/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm +++ b/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm @@ -26,7 +26,7 @@ var/global/const/DRINK_ICON_NOISY = "noise" var/filling_overlayed //if filling should go on top of the icon (e.g. opaque cups) var/static/list/filling_icons_cache = list() - center_of_mass =@"{'x':16,'y':9}" + center_of_mass =@'{"x":16,"y":9}' amount_per_transfer_from_this = 5 possible_transfer_amounts = @"[5,10,15,30]" diff --git a/code/modules/reagents/reagent_containers/drinkingglass/glass_types.dm b/code/modules/reagents/reagent_containers/drinkingglass/glass_types.dm index b66c69e011e..30450700147 100644 --- a/code/modules/reagents/reagent_containers/drinkingglass/glass_types.dm +++ b/code/modules/reagents/reagent_containers/drinkingglass/glass_types.dm @@ -8,7 +8,7 @@ filling_states = @"[20,40,60,80,100]" volume = 30 possible_transfer_amounts = @"[5,10,15,30]" - rim_pos = @"{'y':23,'x_left':13,'x_right':20}" + rim_pos = @'{"y":23,"x_left":13,"x_right":20}' /obj/item/chems/drinks/glass2/rocks name = "rocks glass" @@ -20,7 +20,7 @@ filling_states = @"[25,50,75,100]" volume = 20 possible_transfer_amounts = @"[5,10,20]" - rim_pos = @"{'y':21,'x_left':10,'x_right':23}" + rim_pos = @'{"y":21,"x_left":10,"x_right":23}' /obj/item/chems/drinks/glass2/shake name = "sherry glass" @@ -32,7 +32,7 @@ filling_states = @"[25,50,75,100]" volume = 30 possible_transfer_amounts = @"[5,10,15,30]" - rim_pos = @"{'y':25,'x_left':13,'x_right':21}" + rim_pos = @'{"y":25,"x_left":13,"x_right":21}' /obj/item/chems/drinks/glass2/cocktail name = "cocktail glass" @@ -44,7 +44,7 @@ filling_states = @"[33,66,100]" volume = 15 possible_transfer_amounts = @"[5,10,15]" - rim_pos = @"{'y':22,'x_left':13,'x_right':21}" + rim_pos = @'{"y":22,"x_left":13,"x_right":21}' /obj/item/chems/drinks/glass2/shot name = "shot glass" @@ -57,7 +57,7 @@ volume = 5 material = /decl/material/solid/glass possible_transfer_amounts = @"[1,2,5]" - rim_pos = @"{'y':17,'x_left':13,'x_right':21}" + rim_pos = @'{"y":17,"x_left":13,"x_right":21}' /obj/item/chems/drinks/glass2/pint name = "pint glass" @@ -69,7 +69,7 @@ volume = 60 material = /decl/material/solid/glass possible_transfer_amounts = @"[5,10,15,30,60]" - rim_pos = @"{'y':25,'x_left':12,'x_right':21}" + rim_pos = @'{"y":25,"x_left":12,"x_right":21}' /obj/item/chems/drinks/glass2/mug name = "glass mug" @@ -81,7 +81,7 @@ filling_states = @"[25,50,75,100]" volume = 40 possible_transfer_amounts = @"[5,10,20,40]" - rim_pos = @"{'y':22,'x_left':12,'x_right':20}" + rim_pos = @'{"y":22,"x_left":12,"x_right":20}' /obj/item/chems/drinks/glass2/wine name = "wine glass" @@ -93,7 +93,7 @@ filling_states = @"[20,40,60,80,100]" volume = 25 possible_transfer_amounts = @"[5,10,15,25]" - rim_pos = @"{'y':25,'x_left':12,'x_right':21}" + rim_pos = @'{"y":25,"x_left":12,"x_right":21}' /obj/item/chems/drinks/glass2/flute name = "flute glass" @@ -105,7 +105,7 @@ volume = 25 filling_states = @"[20,40,60,80,100]" possible_transfer_amounts = @"[5,10,15,25]" - rim_pos = @"{'y':24,'x_left':13,'x_right':19}" + rim_pos = @'{"y":24,"x_left":13,"x_right":19}' /obj/item/chems/drinks/glass2/carafe name = "pitcher" @@ -118,8 +118,8 @@ volume = 120 material = /decl/material/solid/glass possible_transfer_amounts = @"[5,10,15,30,60,120]" - rim_pos = @"{'y':26,'x_left':12,'x_right':21}" - center_of_mass = @"{'x':16,'y':7}" + rim_pos = @'{"y":26,"x_left":12,"x_right":21}' + center_of_mass = @'{"x":16,"y":7}' /obj/item/chems/drinks/glass2/coffeecup name = "coffee cup" @@ -128,12 +128,12 @@ icon_state = "coffeecup" item_state = "coffee" volume = 30 - center_of_mass = @"{'x':15,'y':13}" + center_of_mass = @'{"x":15,"y":13}' filling_states = @"[40,80,100]" base_name = "cup" base_icon = "coffeecup" overlay_base_icon = "coffeecup" // so that subtypes work properly - rim_pos = @"{'y':22,'x_left':12,'x_right':20}" + rim_pos = @'{"y":22,"x_left":12,"x_right":20}' filling_overlayed = TRUE /obj/item/chems/drinks/glass2/coffeecup/black @@ -217,7 +217,7 @@ icon = 'icons/obj/drink_glasses/coffecup_tall.dmi' icon_state = "coffeecup_tall" volume = 60 - center_of_mass = @"{'x':15,'y':19}" + center_of_mass = @'{"x":15,"y":19}' filling_states = @"[50,70,90,100]" base_name = "tall cup" base_icon = "coffeecup_tall" diff --git a/code/modules/reagents/reagent_containers/drinks.dm b/code/modules/reagents/reagent_containers/drinks.dm index 13aa0a4e7f4..f837578a959 100644 --- a/code/modules/reagents/reagent_containers/drinks.dm +++ b/code/modules/reagents/reagent_containers/drinks.dm @@ -32,52 +32,33 @@ attack(user, user) /obj/item/chems/drinks/proc/open(mob/user) - playsound(loc,'sound/effects/canopen.ogg', rand(10,50), 1) - to_chat(user, SPAN_NOTICE("You open \the [src] with an audible pop!")) - atom_flags |= ATOM_FLAG_OPEN_CONTAINER - -/obj/item/chems/drinks/attack(mob/M, mob/user, def_zone) - if(force && !(item_flags & ITEM_FLAG_NO_BLUDGEON) && user.a_intent == I_HURT) - return ..() - if(standard_feed_mob(user, M)) - return - return 0 + if(!ATOM_IS_OPEN_CONTAINER(src)) + playsound(loc,'sound/effects/canopen.ogg', rand(10,50), 1) + to_chat(user, SPAN_NOTICE("You open \the [src] with an audible pop!")) + atom_flags |= ATOM_FLAG_OPEN_CONTAINER + return TRUE + return FALSE -/obj/item/chems/drinks/afterattack(obj/target, mob/user, proximity) - if(!proximity) return +/obj/item/chems/drinks/proc/do_open_check(mob/user) + if(!ATOM_IS_OPEN_CONTAINER(src)) + to_chat(user, SPAN_NOTICE("You need to open \the [src]!")) + return FALSE + return TRUE +/obj/item/chems/drinks/afterattack(obj/target, mob/user, proximity) + if(!proximity) + return if(standard_dispenser_refill(user, target)) return if(standard_pour_into(user, target)) return return ..() -/obj/item/chems/drinks/standard_feed_mob(var/mob/user, var/mob/target) - if(!ATOM_IS_OPEN_CONTAINER(src)) - to_chat(user, "You need to open \the [src]!") - return 1 - return ..() - /obj/item/chems/drinks/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target) - if(!ATOM_IS_OPEN_CONTAINER(src)) - to_chat(user, "You need to open \the [src]!") - return 1 - return ..() + return do_open_check(user) && ..() /obj/item/chems/drinks/standard_pour_into(var/mob/user, var/atom/target) - if(!ATOM_IS_OPEN_CONTAINER(src)) - to_chat(user, "You need to open \the [src]!") - return 1 - return ..() - -/obj/item/chems/drinks/self_feed_message(var/mob/user) - to_chat(user, "You swallow a gulp from \the [src].") - if(user.has_personal_goal(/datum/goal/achievement/specific_object/drink)) - for(var/R in reagents.reagent_volumes) - user.update_personal_goal(/datum/goal/achievement/specific_object/drink, R) - -/obj/item/chems/drinks/feed_sound(var/mob/user) - playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1) + return do_open_check(user) && ..() /obj/item/chems/drinks/examine(mob/user, distance) . = ..() @@ -138,7 +119,7 @@ desc = "It's milk. White and nutritious goodness!" icon_state = "milk" item_state = "carton" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' /obj/item/chems/drinks/milk/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/milk, reagents.maximum_volume) @@ -148,7 +129,7 @@ desc = "It's soy milk. White and nutritious goodness!" icon_state = "soymilk" item_state = "carton" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' /obj/item/chems/drinks/soymilk/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/milk/soymilk, reagents.maximum_volume) @@ -172,7 +153,7 @@ name = "\improper Robust Coffee" desc = "Careful, the beverage you're about to enjoy is extremely hot." icon_state = "coffee" - center_of_mass = @"{'x':15,'y':10}" + center_of_mass = @'{"x":15,"y":10}' /obj/item/chems/drinks/coffee/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/coffee, reagents.maximum_volume) @@ -181,7 +162,7 @@ name = "cup of ice" desc = "Careful, cold ice, do not chew." icon_state = "coffee" - center_of_mass = @"{'x':15,'y':10}" + center_of_mass = @'{"x":15,"y":10}' /obj/item/chems/drinks/ice/populate_reagents() reagents.add_reagent(/decl/material/solid/ice, reagents.maximum_volume) @@ -191,7 +172,7 @@ desc = "A tall plastic cup of creamy hot chocolate." icon_state = "coffee" item_state = "coffee" - center_of_mass = @"{'x':15,'y':13}" + center_of_mass = @'{"x":15,"y":13}' /obj/item/chems/drinks/h_chocolate/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/hot_coco, reagents.maximum_volume) @@ -201,7 +182,7 @@ gender = PLURAL desc = "Just add 10ml water, self heats! A taste that reminds you of your school years." icon_state = "ramen" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' /obj/item/chems/drinks/dry_ramen/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/dry_ramen, reagents.maximum_volume) @@ -212,7 +193,7 @@ icon_state = "water_cup_e" possible_transfer_amounts = null volume = 10 - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' /obj/item/chems/drinks/sillycup/on_update_icon() . = ..() @@ -234,7 +215,7 @@ item_state = "teapot" amount_per_transfer_from_this = 10 volume = 120 - center_of_mass = @"{'x':17,'y':7}" + center_of_mass = @'{"x":17,"y":7}' material = /decl/material/solid/stone/ceramic /obj/item/chems/drinks/pitcher @@ -243,7 +224,7 @@ icon_state = "pitcher" volume = 120 amount_per_transfer_from_this = 10 - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' filling_states = @"[15,30,50,70,85,100]" base_icon = "pitcher" material = /decl/material/solid/metal/stainlesssteel @@ -253,7 +234,7 @@ desc = "A metal flask belonging to the captain." icon_state = "flask" volume = 60 - center_of_mass = @"{'x':17,'y':7}" + center_of_mass = @'{"x":17,"y":7}' /obj/item/chems/drinks/flask/shiny name = "shiny flask" @@ -270,21 +251,21 @@ desc = "A metal flask with a leather band and golden badge belonging to the detective." icon_state = "detflask" volume = 60 - center_of_mass = @"{'x':17,'y':8}" + center_of_mass = @'{"x":17,"y":8}' /obj/item/chems/drinks/flask/barflask name = "flask" desc = "For those who can't be bothered to hang out at the bar to drink." icon_state = "barflask" volume = 60 - center_of_mass = @"{'x':17,'y':7}" + center_of_mass = @'{"x":17,"y":7}' /obj/item/chems/drinks/flask/vacuumflask name = "vacuum flask" desc = "Keeping your drinks at the perfect temperature since 1892." icon_state = "vacuumflask" volume = 60 - center_of_mass = @"{'x':15,'y':4}" + center_of_mass = @'{"x":15,"y":4}' //tea and tea accessories /obj/item/chems/drinks/tea @@ -292,7 +273,7 @@ desc = "A tall plastic cup full of the concept and ideal of tea." icon_state = "coffee" item_state = "coffee" - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' filling_states = @"[100]" base_name = "cup" base_icon = "cup" diff --git a/code/modules/reagents/reagent_containers/drinks/bottle.dm b/code/modules/reagents/reagent_containers/drinks/bottle.dm index 75d061746e2..24e64b4340c 100644 --- a/code/modules/reagents/reagent_containers/drinks/bottle.dm +++ b/code/modules/reagents/reagent_containers/drinks/bottle.dm @@ -249,7 +249,7 @@ name = "Griffeater Gin" desc = "A bottle of high quality gin, produced in the New London Space Station." icon_state = "ginbottle" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' /obj/item/chems/drinks/bottle/gin/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/gin, reagents.maximum_volume) @@ -258,7 +258,7 @@ name = "Uncle Git's Special Reserve" desc = "A premium single-malt whiskey, gently matured inside the tunnels of a nuclear shelter. TUNNEL WHISKEY RULES." icon_state = "whiskeybottle" - center_of_mass = @"{'x':16,'y':3}" + center_of_mass = @'{"x":16,"y":3}' /obj/item/chems/drinks/bottle/whiskey/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/whiskey, reagents.maximum_volume) @@ -267,7 +267,7 @@ name = "aged whiskey" desc = "This rich, smooth, hideously expensive beverage was aged for decades." icon_state = "whiskeybottle2" - center_of_mass = @"{'x':16,'y':3}" + center_of_mass = @'{"x":16,"y":3}' /obj/item/chems/drinks/bottle/agedwhiskey/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/aged_whiskey, reagents.maximum_volume) @@ -276,7 +276,7 @@ name = "Tunguska Triple Distilled" desc = "Aah, vodka. Prime choice of drink AND fuel by Indies around the galaxy." icon_state = "vodkabottle" - center_of_mass = @"{'x':17,'y':3}" + center_of_mass = @'{"x":17,"y":3}' /obj/item/chems/drinks/bottle/vodka/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/vodka, reagents.maximum_volume) @@ -285,7 +285,7 @@ name = "Caccavo Guaranteed Quality tequila" desc = "Made from premium petroleum distillates, pure thalidomide and other fine quality ingredients!" icon_state = "tequilabottle" - center_of_mass = @"{'x':16,'y':3}" + center_of_mass = @'{"x":16,"y":3}' /obj/item/chems/drinks/bottle/tequila/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/tequila, reagents.maximum_volume) @@ -294,7 +294,7 @@ name = "Wrapp Artiste Patron" desc = "Silver laced tequila, served in space night clubs across the galaxy." icon_state = "patronbottle" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/patron/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/tequila, reagents.maximum_volume - 5) @@ -304,7 +304,7 @@ name = "Captain Pete's Cuban Spiced Rum" desc = "This isn't just rum, oh no. It's practically GRIFF in a bottle." icon_state = "rumbottle" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' /obj/item/chems/drinks/bottle/rum/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/rum, reagents.maximum_volume) @@ -313,7 +313,7 @@ name = "Flask of Holy Water" desc = "A flask of the chaplain's holy water." icon_state = "holyflask" - center_of_mass = @"{'x':17,'y':10}" + center_of_mass = @'{"x":17,"y":10}' /obj/item/chems/drinks/bottle/holywater/populate_reagents() reagents.add_reagent(/decl/material/liquid/water, reagents.maximum_volume, list("holy" = TRUE)) @@ -322,7 +322,7 @@ name = "Goldeneye Vermouth" desc = "Sweet, sweet dryness~" icon_state = "vermouthbottle" - center_of_mass = @"{'x':17,'y':3}" + center_of_mass = @'{"x":17,"y":3}' /obj/item/chems/drinks/bottle/vermouth/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/vermouth, reagents.maximum_volume) @@ -331,7 +331,7 @@ name = "Robert Robust's Coffee Liqueur" desc = "A widely known, Mexican coffee-flavoured liqueur. In production since 1936, HONK!" icon_state = "kahluabottle" - center_of_mass = @"{'x':17,'y':3}" + center_of_mass = @'{"x":17,"y":3}' /obj/item/chems/drinks/bottle/kahlua/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/coffee, reagents.maximum_volume) @@ -340,7 +340,7 @@ name = "College Girl Goldschlager" desc = "Because they are the only ones who will drink 100 proof cinnamon schnapps." icon_state = "goldschlagerbottle" - center_of_mass = @"{'x':15,'y':3}" + center_of_mass = @'{"x":15,"y":3}' /obj/item/chems/drinks/bottle/goldschlager/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/vodka, reagents.maximum_volume - 5) @@ -350,7 +350,7 @@ name = "Chateau De Baton Premium Cognac" desc = "A sweet and strongly alchoholic drink, made after numerous distillations and years of maturing. You might as well not scream 'SHITCURITY' this time." icon_state = "cognacbottle" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/cognac/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/cognac, reagents.maximum_volume) @@ -359,7 +359,7 @@ name = "Doublebeard Bearded Special Wine" desc = "A faint aura of unease and asspainery surrounds the bottle." icon_state = "winebottle" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' /obj/item/chems/drinks/bottle/wine/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/wine, reagents.maximum_volume) @@ -368,7 +368,7 @@ name = "Jailbreaker Verte" desc = "One sip of this and you just know you're gonna have a good time." icon_state = "absinthebottle" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/absinthe/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/absinthe, reagents.maximum_volume) @@ -377,7 +377,7 @@ name = "Emeraldine Melon Liquor" desc = "A bottle of 46 proof Emeraldine Melon Liquor. Sweet and light." icon_state = "alco-green" //Placeholder. - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/melonliquor/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/melonliquor, reagents.maximum_volume) @@ -386,7 +386,7 @@ name = "Miss Blue Curacao" desc = "A fruity, exceptionally azure drink. Does not allow the imbiber to use the fifth magic." icon_state = "alco-blue" //Placeholder. - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/bluecuracao/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/bluecuracao, reagents.maximum_volume) @@ -395,7 +395,7 @@ name = "Liqueur d'Herbe" desc = "A bottle of the seventh-finest herbal liquor sold under a generic name in the galaxy. The back label has a load of guff about the monks who traditionally made this particular variety." icon_state = "herbal" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/herbal/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/herbal, reagents.maximum_volume) @@ -404,7 +404,7 @@ name = "Briar Rose Grenadine Syrup" desc = "Sweet and tangy, a bar syrup used to add color or flavor to drinks." icon_state = "grenadinebottle" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/grenadine/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/grenadine, reagents.maximum_volume) @@ -413,7 +413,7 @@ name = "\improper Space Cola" desc = "Cola. in space." icon_state = "colabottle" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/cola/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/cola, reagents.maximum_volume) @@ -422,7 +422,7 @@ name = "\improper Space-Up" desc = "Tastes like a hull breach in your mouth." icon_state = "space-up_bottle" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/space_up/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/lemonade, reagents.maximum_volume) @@ -431,7 +431,7 @@ name = "\improper Space Mountain Wind" desc = "Blows right through you like a space wind." icon_state = "space_mountain_wind_bottle" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/space_mountain_wind/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/citrussoda, reagents.maximum_volume) @@ -440,7 +440,7 @@ name = "Warlock's Velvet" desc = "What a delightful packaging for a surely high quality wine! The vintage must be amazing!" icon_state = "pwinebottle" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' /obj/item/chems/drinks/bottle/pwine/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/pwine, reagents.maximum_volume) @@ -449,7 +449,7 @@ name = "Takeo Sadow's Combined Sake" desc = "A bottle of the highest-grade sake allowed for import." icon_state = "sake" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' /obj/item/chems/drinks/bottle/sake/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/sake, reagents.maximum_volume) @@ -458,7 +458,7 @@ name = "Murcelano Vinyard's Premium Champagne" desc = "The regal drink of celebrities and royalty." icon_state = "champagne" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' /obj/item/chems/drinks/bottle/champagne/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/champagne, reagents.maximum_volume) @@ -467,7 +467,7 @@ name = "Kaisermeister Deluxe" desc = "Jagermeister. This drink just demands a party." icon_state = "herbal" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/bottle/jagermeister/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/jagermeister, reagents.maximum_volume) @@ -477,7 +477,7 @@ name = "Four Stripes Quadruple Distilled" desc = "Premium distilled vodka imported directly from the Gilgamesh Colonial Confederation." icon_state = "premiumvodka" - center_of_mass = @"{'x':17,'y':3}" + center_of_mass = @'{"x":17,"y":3}' /obj/item/chems/drinks/bottle/premiumvodka/populate_reagents() var/namepick = pick("Four Stripes","Gilgamesh","Novaya Zemlya","Indie","STS-35") @@ -489,7 +489,7 @@ name = "Uve De Blanc" desc = "You feel pretentious just looking at it." icon_state = "premiumwine" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' /obj/item/chems/drinks/bottle/premiumwine/populate_reagents() var/namepick = pick("Calumont","Sciacchemont","Recioto","Torcalota") @@ -505,7 +505,7 @@ desc = "Full of vitamins and deliciousness!" icon_state = "orangejuice" item_state = "carton" - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' material = /decl/material/solid/organic/cardboard matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_SECONDARY @@ -521,7 +521,7 @@ desc = "It's cream. Made from milk. What else did you think you'd find in there?" icon_state = "cream" item_state = "carton" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' material = /decl/material/solid/organic/cardboard matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_SECONDARY @@ -537,7 +537,7 @@ desc = "Well, at least it LOOKS like tomato juice. You can't tell with all that redness." icon_state = "tomatojuice" item_state = "carton" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' material = /decl/material/solid/organic/cardboard matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_SECONDARY @@ -553,7 +553,7 @@ desc = "Sweet-sour goodness." icon_state = "limejuice" item_state = "carton" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' material = /decl/material/solid/organic/cardboard matter = list( /decl/material/solid/organic/plastic = MATTER_AMOUNT_SECONDARY @@ -575,7 +575,7 @@ name = "space beer" desc = "Contains only water, malt and hops." icon_state = "beer" - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' /obj/item/chems/drinks/bottle/small/beer/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/beer, reagents.maximum_volume) @@ -585,7 +585,7 @@ desc = "A true dorf's drink of choice." icon_state = "alebottle" item_state = "beer" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/bottle/small/ale/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/ale, reagents.maximum_volume) @@ -594,7 +594,7 @@ name = "Ginger Beer" desc = "A delicious non-alcoholic beverage enjoyed across Sol space." icon_state = "gingerbeer" - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' /obj/item/chems/drinks/bottle/small/gingerbeer/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/gingerbeer, reagents.maximum_volume) diff --git a/code/modules/reagents/reagent_containers/drinks/cans.dm b/code/modules/reagents/reagent_containers/drinks/cans.dm index 6071e79e11c..882c46962fd 100644 --- a/code/modules/reagents/reagent_containers/drinks/cans.dm +++ b/code/modules/reagents/reagent_containers/drinks/cans.dm @@ -16,7 +16,7 @@ name = "\improper Space Cola" desc = "Cola. in space." icon_state = "cola" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/cola/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/cola, reagents.maximum_volume) @@ -25,7 +25,7 @@ name = "bottled water" desc = "Pure drinking water, imported from the Martian poles." icon_state = "waterbottle" - center_of_mass = @"{'x':15,'y':8}" + center_of_mass = @'{"x":15,"y":8}' material = /decl/material/solid/organic/plastic /obj/item/chems/drinks/cans/waterbottle/populate_reagents() @@ -40,7 +40,7 @@ name = "\improper Space Mountain Wind" desc = "Blows right through you like a space wind." icon_state = "space_mountain_wind" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/space_mountain_wind/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/citrussoda, reagents.maximum_volume) @@ -49,7 +49,7 @@ name = "\improper Thirteen Loko" desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkeness, or even death. Please Drink Responsibly." icon_state = "thirteen_loko" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' /obj/item/chems/drinks/cans/thirteenloko/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/thirteenloko, reagents.maximum_volume) @@ -58,7 +58,7 @@ name = "\improper Dr. Gibb" desc = "A delicious mixture of 42 different flavors." icon_state = "dr_gibb" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/dr_gibb/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/cherrycola, reagents.maximum_volume) @@ -67,7 +67,7 @@ name = "\improper Star-Kist" desc = "Can you taste a bit of tuna...?" icon_state = "starkist" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/starkist/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/orangecola, reagents.maximum_volume) @@ -76,7 +76,7 @@ name = "\improper Space-Up" desc = "Tastes like a hull breach in your mouth." icon_state = "space-up" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/space_up/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/lemonade, reagents.maximum_volume) @@ -85,7 +85,7 @@ name = "\improper Lemon-Lime" desc = "You wanted ORANGE. It gave you Lemon Lime." icon_state = "lemon-lime" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/lemon_lime/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/lemon_lime, reagents.maximum_volume) @@ -94,7 +94,7 @@ name = "\improper Vrisk Serket Iced Tea" desc = "That sweet, refreshing southern earthy flavor. That's where it's from, right? South Earth?" icon_state = "ice_tea_can" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/iced_tea/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/tea/black, reagents.maximum_volume - 5) @@ -104,7 +104,7 @@ name = "\improper Grapel Juice" desc = "500 pages of rules of how to appropriately enter into a combat with this juice!" icon_state = "purple_can" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/grape_juice/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/juice/grape, reagents.maximum_volume) @@ -113,7 +113,7 @@ name = "\improper T-Borg's Tonic Water" desc = "Quinine tastes funny, but at least it'll keep that Space Malaria away." icon_state = "tonic" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/tonic/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/tonic, reagents.maximum_volume) @@ -122,7 +122,7 @@ name = "soda water" desc = "A can of soda water. Still water's more refreshing cousin." icon_state = "sodawater" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/sodawater/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/sodawater, reagents.maximum_volume) @@ -131,7 +131,7 @@ name = "Beast Energy" desc = "100% pure energy, and 150% pure liver disease." icon_state = "beastenergy" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' /obj/item/chems/drinks/cans/beastenergy/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/beastenergy, reagents.maximum_volume) @@ -142,7 +142,7 @@ name = "\improper Red Army Twist!" desc = "A taste of what keeps our glorious nation running! Served as Space Commissariat Stahlin prefers it! Luke warm." icon_state = "syndi_cola_x" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/syndicolax/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/juice/potato, reagents.maximum_volume) @@ -151,7 +151,7 @@ name = "\improper Arstotzka Bru" desc = "Just what any bureaucrat needs to get through the day. Keep stamping those papers!" icon_state = "art_bru" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/artbru/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/juice/turnip, reagents.maximum_volume) @@ -160,7 +160,7 @@ name = "\improper TerraCola" desc = "A can of the only soft drink state approved for the benefit of the people. Served at room temperature regardless of ambient temperatures thanks to innovative Terran insulation technology." icon_state = "syndi_cola" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/syndicola/populate_reagents() reagents.add_reagent(/decl/material/liquid/water, reagents.maximum_volume - 5) @@ -169,7 +169,7 @@ /obj/item/chems/drinks/glass2/square/boda name = "boda" desc = "A tall glass of refreshing Boda!" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/glass2/square/boda/populate_reagents() reagents.add_reagent(/decl/material/liquid/drink/sodawater, reagents.maximum_volume) @@ -177,7 +177,7 @@ /obj/item/chems/drinks/glass2/square/bodaplus name = "tri kopeiki sirop boda" desc = "A tall glass of even more refreshing Boda! Now with Sok!" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/glass2/square/bodaplus/populate_reagents() var/reag = pick(list( @@ -201,7 +201,7 @@ name = "\improper Space Beer" desc = "Now in a can!" icon_state = "beercan" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/speer/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/beer/good, reagents.maximum_volume) @@ -210,7 +210,7 @@ name = "\improper Magm-Ale" desc = "Now in a can!" icon_state = "alecan" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' /obj/item/chems/drinks/cans/ale/populate_reagents() reagents.add_reagent(/decl/material/liquid/ethanol/ale, reagents.maximum_volume) diff --git a/code/modules/reagents/reagent_containers/drinks/champagne.dm b/code/modules/reagents/reagent_containers/drinks/champagne.dm index a0cffe9359c..48c8e30cb8c 100644 --- a/code/modules/reagents/reagent_containers/drinks/champagne.dm +++ b/code/modules/reagents/reagent_containers/drinks/champagne.dm @@ -23,7 +23,7 @@ desc = "Sparkling wine made from exquisite grape varieties by the method of secondary fermentation in a bottle. Bubbling." icon = 'icons/obj/food.dmi' icon_state = "champagne" - center_of_mass = @"{'x':12,'y':5}" + center_of_mass = @'{"x":12,"y":5}' atom_flags = 0 //starts closed var/opening diff --git a/code/modules/reagents/reagent_containers/drinks/cocktailshaker.dm b/code/modules/reagents/reagent_containers/drinks/cocktailshaker.dm index 68655dc9ca6..c2517e3b519 100644 --- a/code/modules/reagents/reagent_containers/drinks/cocktailshaker.dm +++ b/code/modules/reagents/reagent_containers/drinks/cocktailshaker.dm @@ -5,7 +5,7 @@ amount_per_transfer_from_this = 10 possible_transfer_amounts = @"[5,10,15,25,30,60]" //Professional bartender should be able to transfer as much as needed volume = 120 - center_of_mass = @"{'x':17,'y':10}" + center_of_mass = @'{"x":17,"y":10}' atom_flags = ATOM_FLAG_OPEN_CONTAINER | ATOM_FLAG_NO_REACT /obj/item/chems/drinks/shaker/attack_self(mob/user) @@ -29,7 +29,7 @@ if(reagents && reagents.total_volume) atom_flags &= ~ATOM_FLAG_NO_REACT HANDLE_REACTIONS(reagents) - addtimer(CALLBACK(src, .proc/stop_react), SSmaterials.wait) + addtimer(CALLBACK(src, PROC_REF(stop_react)), SSmaterials.wait) /obj/item/chems/drinks/shaker/proc/stop_react() atom_flags |= ATOM_FLAG_NO_REACT \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/drinks/jar.dm b/code/modules/reagents/reagent_containers/drinks/jar.dm index afe4051e918..aedbbade98d 100644 --- a/code/modules/reagents/reagent_containers/drinks/jar.dm +++ b/code/modules/reagents/reagent_containers/drinks/jar.dm @@ -7,7 +7,7 @@ desc = "A jar. You're not sure what it's supposed to hold." icon_state = "jar" item_state = "beaker" - center_of_mass = @"{'x':15,'y':8}" + center_of_mass = @'{"x":15,"y":8}' material = /decl/material/solid/glass drop_sound = 'sound/foley/bottledrop1.ogg' pickup_sound = 'sound/foley/bottlepickup1.ogg' diff --git a/code/modules/reagents/reagent_containers/drinks_edibility.dm b/code/modules/reagents/reagent_containers/drinks_edibility.dm new file mode 100644 index 00000000000..7e7969d9acb --- /dev/null +++ b/code/modules/reagents/reagent_containers/drinks_edibility.dm @@ -0,0 +1,15 @@ +/obj/item/chems/drinks/handle_eaten_by_mob(var/mob/user, var/mob/target) + if(!do_open_check(user)) + return EATEN_UNABLE + . = ..() + if(. == EATEN_SUCCESS) + target = target || user + if(target?.has_personal_goal(/datum/goal/achievement/specific_object/drink)) + for(var/R in reagents.reagent_volumes) + target.update_personal_goal(/datum/goal/achievement/specific_object/drink, R) + +/obj/item/chems/drinks/show_feed_message_end(var/mob/user, var/mob/target) + if(user == target) + to_chat(user, SPAN_NOTICE("You swallow a gulp from \the [src].")) + else + user.visible_message(SPAN_NOTICE("\The [user] feeds \the [src] to \the [target]!")) diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/reagents/reagent_containers/food.dm index e2bb15b144c..844312f6ea9 100644 --- a/code/modules/reagents/reagent_containers/food.dm +++ b/code/modules/reagents/reagent_containers/food.dm @@ -19,7 +19,7 @@ material = /decl/material/liquid/nutriment possible_transfer_amounts = null volume = 50 - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' w_class = ITEM_SIZE_SMALL abstract_type = /obj/item/chems/food @@ -55,71 +55,12 @@ .=..() amount_per_transfer_from_this = bitesize - //Placeholder for effect that trigger on eating that aren't tied to reagents. -/obj/item/chems/food/proc/On_Consume(var/mob/M) - if(isliving(M) && cooked_food) - var/mob/living/eater = M - eater.add_stressor(/datum/stressor/ate_cooked_food, 15 MINUTES) - if(!reagents.total_volume) - M.visible_message("[M] finishes eating \the [src].","You finish eating \the [src].") - M.drop_item() - M.update_personal_goal(/datum/goal/achievement/specific_object/food, type) - if(trash) - if(ispath(trash,/obj/item)) - var/obj/item/TrashItem = new trash(get_turf(M)) - M.put_in_hands(TrashItem) - else if(istype(trash,/obj/item)) - M.put_in_hands(trash) - qdel(src) - return - /obj/item/chems/food/attack_self(mob/user) attack(user, user) /obj/item/chems/food/dragged_onto(var/mob/user) attack(user, user) -/obj/item/chems/food/self_feed_message(mob/user) - if(!iscarbon(user)) - return ..() - var/mob/living/carbon/C = user - var/fullness = C.get_fullness() - if (fullness <= 50) - to_chat(C, SPAN_WARNING("You hungrily chew out a piece of [src] and gobble it!")) - if (fullness > 50 && fullness <= 150) - to_chat(C, SPAN_NOTICE("You hungrily begin to eat [src].")) - if (fullness > 150 && fullness <= 350) - to_chat(C, SPAN_NOTICE("You take a bite of [src].")) - if (fullness > 350 && fullness <= 550) - to_chat(C, SPAN_NOTICE("You unwillingly chew a bit of [src].")) - -/obj/item/chems/food/feed_sound(mob/user) - if(eat_sound) - playsound(user, pick(eat_sound), rand(10, 50), 1) - -/obj/item/chems/food/standard_feed_mob(mob/user, mob/target) - . = ..() - if(.) - bitecount++ - On_Consume(target) - -/obj/item/chems/food/attack(mob/M, mob/user, def_zone) - if(!reagents || !reagents.total_volume) - to_chat(user, "None of [src] left!") - qdel(src) - return 0 - if(iscarbon(M)) - //TODO: replace with standard_feed_mob() call. - var/mob/living/carbon/C = M - var/fullness = C.get_fullness() - if (fullness > 550) - var/message = C == user ? "You cannot force any more of [src] to go down your throat." : "[user] cannot force anymore of [src] down [M]'s throat." - to_chat(user, SPAN_WARNING(message)) - return 0 - if(standard_feed_mob(user, M)) - return 1 - return 0 - /obj/item/chems/food/examine(mob/user, distance) . = ..() if(distance > 1) @@ -253,19 +194,6 @@ something.dropInto(loc) . = ..() -/obj/item/chems/food/attack_animal(var/mob/user) - if(!isanimal(user) && !isalien(user)) - return - user.visible_message("[user] nibbles away at \the [src].","You nibble away at \the [src].") - bitecount++ - if(reagents && user.reagents) - reagents.trans_to_mob(user, bitesize, CHEM_INGEST) - spawn(5) - if(!src && !user.client) - user.custom_emote(1,"[pick("burps", "cries for more", "burps twice", "looks at the area where the food was")]") - qdel(src) - On_Consume(user) - /obj/item/chems/food/proc/update_food_appearance_from(var/obj/item/donor, var/food_color, var/copy_donor_appearance = TRUE) filling_color = food_color if(copy_donor_appearance) diff --git a/code/modules/reagents/reagent_containers/food/baked_goods.dm b/code/modules/reagents/reagent_containers/food/baked_goods.dm index af486d26432..86e146a19b3 100644 --- a/code/modules/reagents/reagent_containers/food/baked_goods.dm +++ b/code/modules/reagents/reagent_containers/food/baked_goods.dm @@ -7,7 +7,7 @@ desc = "A delicious and spongy little cake." icon_state = "muffin" filling_color = "#e0cf9b" - center_of_mass = @"{'x':17,'y':4}" + center_of_mass = @'{"x":17,"y":4}' nutriment_desc = list("sweetness" = 3, "muffin" = 3) nutriment_amt = 6 bitesize = 2 @@ -18,7 +18,7 @@ icon_state = "pie" trash = /obj/item/trash/plate filling_color = "#fbffb8" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("pie" = 3, "cream" = 2) nutriment_amt = 4 bitesize = 3 @@ -38,7 +38,7 @@ desc = "No black birds, this is a good sign." icon_state = "berryclafoutis" trash = /obj/item/trash/plate - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("sweetness" = 2, "pie" = 3) nutriment_amt = 4 bitesize = 3 @@ -53,7 +53,7 @@ icon_state = "waffles" trash = /obj/item/trash/waffles filling_color = "#e6deb5" - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' nutriment_desc = list("waffle" = 8) nutriment_amt = 8 bitesize = 2 @@ -64,7 +64,7 @@ icon_state = "rofflewaffles" trash = /obj/item/trash/waffles filling_color = "#ff00f7" - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' nutriment_desc = list("waffle" = 7, "sweetness" = 1) nutriment_amt = 8 bitesize = 4 @@ -78,7 +78,7 @@ desc = "Pancakes without blueberries, still delicious." icon_state = "pancakes" trash = /obj/item/trash/plate - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' nutriment_desc = list("pancake" = 8) nutriment_amt = 8 bitesize = 2 @@ -88,7 +88,7 @@ desc = "Pancakes with blueberries, delicious." icon_state = "pancakes" trash = /obj/item/trash/plate - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' nutriment_desc = list("pancake" = 8) nutriment_amt = 8 bitesize = 2 @@ -99,7 +99,7 @@ icon_state = "eggplantparm" trash = /obj/item/trash/plate filling_color = "#4d2f5e" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("cheese" = 3, "eggplant" = 3) nutriment_amt = 6 bitesize = 2 @@ -110,7 +110,7 @@ icon_state = "soylent_green" trash = /obj/item/trash/waffles filling_color = "#b8e6b5" - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' bitesize = 2 /obj/item/chems/food/soylentgreen/populate_reagents() @@ -123,7 +123,7 @@ icon_state = "soylent_yellow" trash = /obj/item/trash/waffles filling_color = "#e6fa61" - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' nutriment_desc = list("some sort of protein" = 10)//seasoned vERY well. nutriment_amt = 10 bitesize = 2 @@ -134,7 +134,7 @@ desc = "An old barber recipe, very delicious!" trash = /obj/item/trash/plate filling_color = "#948051" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' bitesize = 2 /obj/item/chems/food/meatpie/populate_reagents() @@ -147,7 +147,7 @@ desc = "A delicious tofu pie." trash = /obj/item/trash/plate filling_color = "#fffee0" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("tofu" = 2, "pie" = 8) nutriment_amt = 10 bitesize = 2 @@ -157,7 +157,7 @@ desc = "Sweet and tasty poison pie." icon_state = "amanita_pie" filling_color = "#ffcccc" - center_of_mass = @"{'x':17,'y':9}" + center_of_mass = @'{"x":17,"y":9}' nutriment_desc = list("sweetness" = 3, "mushroom" = 3, "pie" = 2) nutriment_amt = 5 bitesize = 3 @@ -172,7 +172,7 @@ desc = "I bet you love stuff made out of plump helmets!" icon_state = "plump_pie" filling_color = "#b8279b" - center_of_mass = @"{'x':17,'y':9}" + center_of_mass = @'{"x":17,"y":9}' nutriment_desc = list("heartiness" = 2, "mushroom" = 3, "pie" = 3) nutriment_amt = 8 bitesize = 2 @@ -190,7 +190,7 @@ desc = "A delicious meatpie. Probably heretical." trash = /obj/item/trash/plate filling_color = "#43de18" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' bitesize = 2 /obj/item/chems/food/xemeatpie/populate_reagents() @@ -203,7 +203,7 @@ icon_state = "poppypretzel" bitesize = 2 filling_color = "#916e36" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("poppy seeds" = 2, "pretzel" = 3) nutriment_amt = 5 bitesize = 2 @@ -213,7 +213,7 @@ desc = "A pie containing sweet sweet love... or apple." icon_state = "applepie" filling_color = "#e0edc5" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("sweetness" = 2, "apple" = 2, "pie" = 2) nutriment_amt = 4 bitesize = 3 @@ -223,7 +223,7 @@ desc = "Taste so good, make a grown man cry." icon_state = "cherrypie" filling_color = "#ff525a" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("sweetness" = 2, "cherry" = 2, "pie" = 2) nutriment_amt = 4 bitesize = 3 @@ -233,7 +233,7 @@ desc = "A true prophecy in each cookie!" icon_state = "fortune_cookie" filling_color = "#e8e79e" - center_of_mass = @"{'x':15,'y':14}" + center_of_mass = @'{"x":15,"y":14}' nutriment_desc = list("fortune cookie" = 2) nutriment_amt = 3 bitesize = 2 \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/bread.dm b/code/modules/reagents/reagent_containers/food/bread.dm index e5c4f56f02f..0c2bb401969 100644 --- a/code/modules/reagents/reagent_containers/food/bread.dm +++ b/code/modules/reagents/reagent_containers/food/bread.dm @@ -8,7 +8,7 @@ icon_state = "sandwich" trash = /obj/item/trash/plate filling_color = "#d9be29" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' nutriment_desc = list("bread" = 3, "cheese" = 3) nutriment_amt = 3 nutriment_type = /decl/material/liquid/nutriment/bread @@ -24,7 +24,7 @@ icon_state = "toastedsandwich" trash = /obj/item/trash/plate filling_color = "#d9be29" - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' nutriment_desc = list("toasted bread" = 3, "cheese" = 3) nutriment_amt = 3 nutriment_type = /decl/material/liquid/nutriment/bread @@ -55,7 +55,7 @@ desc = "Good for pretend sword fights." icon_state = "baguette" filling_color = "#e3d796" - center_of_mass = @"{'x':18,'y':12}" + center_of_mass = @'{"x":18,"y":12}' nutriment_desc = list("long bread" = 6) nutriment_amt = 6 bitesize = 3 @@ -72,7 +72,7 @@ icon_state = "jellytoast" trash = /obj/item/trash/plate filling_color = "#b572ab" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' nutriment_desc = list("toasted bread" = 2) nutriment_amt = 1 bitesize = 3 @@ -88,7 +88,7 @@ icon_state = "jellysandwich" trash = /obj/item/trash/plate filling_color = "#9e3a78" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' nutriment_desc = list("bread" = 2) nutriment_amt = 2 bitesize = 3 @@ -103,7 +103,7 @@ desc = "It is very bitter and winy." icon_state = "twobread" filling_color = "#dbcc9a" - center_of_mass = @"{'x':15,'y':12}" + center_of_mass = @'{"x":15,"y":12}' nutriment_desc = list("sourness" = 2, "bread" = 2) nutriment_amt = 2 bitesize = 3 @@ -114,7 +114,7 @@ desc = "Is such a thing even possible?" icon_state = "threebread" filling_color = "#dbcc9a" - center_of_mass = @"{'x':15,'y':12}" + center_of_mass = @'{"x":15,"y":12}' nutriment_desc = list("sourness" = 2, "bread" = 3) nutriment_amt = 3 bitesize = 4 @@ -126,7 +126,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "flatbread" bitesize = 2 - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' nutriment_desc = list("bread" = 3) nutriment_amt = 3 nutriment_type = /decl/material/liquid/nutriment/bread \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/burgers.dm b/code/modules/reagents/reagent_containers/food/burgers.dm index b201568cc67..448e056b26c 100644 --- a/code/modules/reagents/reagent_containers/food/burgers.dm +++ b/code/modules/reagents/reagent_containers/food/burgers.dm @@ -7,7 +7,7 @@ desc = "A strange looking burger. It looks almost sentient." icon_state = "brainburger" filling_color = "#f2b6ea" - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' bitesize = 2 material = /decl/material/solid/organic/meat @@ -21,7 +21,7 @@ desc = "Spooky! It doesn't look very filling." icon_state = "ghostburger" filling_color = "#fff2ff" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("buns" = 3, "spookiness" = 3) nutriment_amt = 2 bitesize = 2 @@ -35,7 +35,7 @@ name = "-burger" desc = "A bloody burger." icon_state = "hburger" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' bitesize = 2 /obj/item/chems/food/human/burger/populate_reagents() @@ -46,7 +46,7 @@ name = "cheeseburger" desc = "The cheese adds a good flavor." icon_state = "cheeseburger" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("cheese" = 2, "bun" = 2) nutriment_amt = 2 @@ -60,7 +60,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "burger" filling_color = "#d63c3c" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("bun" = 2) nutriment_amt = 3 bitesize = 2 @@ -75,7 +75,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "hamburger" filling_color = "#d63c3c" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("bun" = 2) nutriment_amt = 3 bitesize = 2 @@ -89,7 +89,7 @@ desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp." icon_state = "fishburger" filling_color = "#ffdefe" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' bitesize = 3 /obj/item/chems/food/fishburger/populate_reagents() @@ -101,7 +101,7 @@ desc = "What.. is that meat?" icon_state = "tofuburger" filling_color = "#fffee0" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("bun" = 2, "pseudo-soy meat" = 3) nutriment_amt = 6 bitesize = 2 @@ -111,7 +111,7 @@ desc = "The lettuce is the only organic component. Beep." icon_state = "roburger" filling_color = COLOR_GRAY80 - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("bun" = 2, "metal" = 3) nutriment_amt = 2 bitesize = 2 @@ -127,7 +127,7 @@ icon_state = "roburger" filling_color = COLOR_GRAY80 volume = 100 - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' bitesize = 0.1 /obj/item/chems/food/roburgerbig/populate_reagents() @@ -139,7 +139,7 @@ desc = "Smells caustic. Tastes like heresy." icon_state = "xburger" filling_color = "#43de18" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' bitesize = 2 /obj/item/chems/food/xenoburger/populate_reagents() @@ -151,7 +151,7 @@ desc = "This tastes funny..." icon_state = "clownburger" filling_color = "#ff00ff" - center_of_mass = @"{'x':17,'y':12}" + center_of_mass = @'{"x":17,"y":12}' nutriment_desc = list("bun" = 2, "clown shoe" = 3) nutriment_amt = 6 bitesize = 2 @@ -161,7 +161,7 @@ desc = "Its taste defies language." icon_state = "mimeburger" filling_color = "#ffffff" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("bun" = 2, "mime paint" = 3) nutriment_amt = 6 bitesize = 2 @@ -180,7 +180,7 @@ desc = "Forget the Luna Burger! THIS is the future!" icon_state = "bigbiteburger" filling_color = "#e3d681" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("buns" = 4) nutriment_amt = 4 bitesize = 3 @@ -194,7 +194,7 @@ desc = "Culinary delight..?" icon_state = "jellyburger" filling_color = "#b572ab" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("buns" = 5) nutriment_amt = 5 bitesize = 2 @@ -208,7 +208,7 @@ desc = "This is a mountain of a burger. FOOD!" icon_state = "superbiteburger" filling_color = "#cca26a" - center_of_mass = @"{'x':16,'y':3}" + center_of_mass = @'{"x":16,"y":3}' nutriment_desc = list("buns" = 25) nutriment_amt = 25 bitesize = 10 @@ -224,7 +224,7 @@ desc = "Unrelated to dogs, maybe." icon_state = "hotdog" bitesize = 2 - center_of_mass = @"{'x':16,'y':17}" + center_of_mass = @'{"x":16,"y":17}' nutriment_type = /decl/material/liquid/nutriment/bread material = /decl/material/solid/organic/meat @@ -237,7 +237,7 @@ desc = "Going literal." icon_state = "hotcorgi" bitesize = 6 - center_of_mass = @"{'x':16,'y':17}" + center_of_mass = @'{"x":16,"y":17}' material = /decl/material/solid/organic/meat /obj/item/chems/food/classichotdog/populate_reagents() diff --git a/code/modules/reagents/reagent_containers/food/can_edibility.dm b/code/modules/reagents/reagent_containers/food/can_edibility.dm new file mode 100644 index 00000000000..4a1742cb5b4 --- /dev/null +++ b/code/modules/reagents/reagent_containers/food/can_edibility.dm @@ -0,0 +1,5 @@ +/obj/item/chems/food/can/handle_eaten_by_mob(mob/user, mob/target) + if(!ATOM_IS_OPEN_CONTAINER(src)) + to_chat(user, SPAN_NOTICE("You need to open \the [src] first!")) + return EATEN_UNABLE + return ..() diff --git a/code/modules/reagents/reagent_containers/food/canned.dm b/code/modules/reagents/reagent_containers/food/canned.dm index 2bb9e7693f2..6dca1acb589 100644 --- a/code/modules/reagents/reagent_containers/food/canned.dm +++ b/code/modules/reagents/reagent_containers/food/canned.dm @@ -6,7 +6,7 @@ /obj/item/chems/food/can name = "empty can" icon = 'icons/obj/food_canned.dmi' - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' atom_flags = 0 bitesize = 3 @@ -28,22 +28,6 @@ atom_flags |= ATOM_FLAG_OPEN_CONTAINER sealed = FALSE -/obj/item/chems/food/can/attack(mob/M, mob/user, def_zone) - if(force && !(obj_flags & ITEM_FLAG_NO_BLUDGEON) && user.a_intent == I_HURT) - return ..() - - if(standard_feed_mob(user, M)) - update_icon(src) - return TRUE - - return FALSE - -/obj/item/chems/food/can/standard_feed_mob(mob/user, mob/target) - if(!ATOM_IS_OPEN_CONTAINER(src)) - to_chat(user, SPAN_NOTICE("You need to open \the [src] first!")) - return TRUE - return ..() - /obj/item/chems/food/can/attack_self(mob/user) if(!ATOM_IS_OPEN_CONTAINER(src) && !open_complexity) to_chat(user, SPAN_NOTICE("You unseal \the [src] with a crack of metal.")) @@ -112,9 +96,6 @@ . = ..() reagents.add_reagent(/decl/material/liquid/drink/juice/tomato, 12) -/obj/item/chems/food/can/tomato/feed_sound(var/mob/user) - playsound(user, 'sound/items/drink.ogg', rand(10, 50), 1) - /obj/item/chems/food/can/spinach name = "spinach" icon_state = "spinach" diff --git a/code/modules/reagents/reagent_containers/food/dough.dm b/code/modules/reagents/reagent_containers/food/dough.dm index aae9bd46371..088197f79f1 100644 --- a/code/modules/reagents/reagent_containers/food/dough.dm +++ b/code/modules/reagents/reagent_containers/food/dough.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "dough" bitesize = 2 - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("dough" = 3) nutriment_amt = 3 nutriment_type = /decl/material/liquid/nutriment/bread @@ -25,7 +25,7 @@ icon_state = "flat dough" slice_path = /obj/item/chems/food/doughslice slices_num = 3 - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' /obj/item/chems/food/sliceable/flatdough/populate_reagents() . = ..() @@ -40,7 +40,7 @@ slice_path = /obj/item/chems/food/spagetti slices_num = 1 bitesize = 2 - center_of_mass = @"{'x':17,'y':19}" + center_of_mass = @'{"x":17,"y":19}' nutriment_desc = list("dough" = 1) nutriment_amt = 1 nutriment_type = /decl/material/liquid/nutriment/bread @@ -51,7 +51,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "bun" bitesize = 2 - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' nutriment_desc = list("bun" = 4) nutriment_amt = 4 nutriment_type = /decl/material/liquid/nutriment/bread @@ -76,7 +76,7 @@ desc = "A small bread monkey fashioned from two burger buns." icon_state = "bunbun" bitesize = 2 - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' nutriment_desc = list("bun" = 8) nutriment_amt = 8 nutriment_type = /decl/material/liquid/nutriment/bread \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/eggs.dm b/code/modules/reagents/reagent_containers/food/eggs.dm index 9ab1eccd49a..5b005bf426c 100644 --- a/code/modules/reagents/reagent_containers/food/eggs.dm +++ b/code/modules/reagents/reagent_containers/food/eggs.dm @@ -8,7 +8,7 @@ icon_state = "egg" filling_color = "#fdffd1" volume = 10 - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_amt = 3 nutriment_type = /decl/material/liquid/nutriment/protein/egg @@ -79,7 +79,7 @@ desc = "A fried egg, with a touch of salt and pepper." icon_state = "friedegg" filling_color = "#ffdf78" - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' bitesize = 1 /obj/item/chems/food/friedegg/populate_reagents() @@ -104,7 +104,7 @@ icon_state = "omelette" trash = /obj/item/trash/plate filling_color = "#fff9a8" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' bitesize = 1 /obj/item/chems/food/omelette/populate_reagents() @@ -117,9 +117,9 @@ icon_state = "chawanmushi" trash = /obj/item/trash/snack_bowl filling_color = "#f0f2e4" - center_of_mass = @"{'x':17,'y':10}" + center_of_mass = @'{"x":17,"y":10}' bitesize = 1 - + /obj/item/chems/food/chawanmushi/populate_reagents() . = ..() reagents.add_reagent(/decl/material/liquid/nutriment/protein, 5) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/fish.dm b/code/modules/reagents/reagent_containers/food/fish.dm index d5ef783e66c..507228f9e50 100644 --- a/code/modules/reagents/reagent_containers/food/fish.dm +++ b/code/modules/reagents/reagent_containers/food/fish.dm @@ -3,7 +3,7 @@ desc = "A fillet of fish." icon_state = "fishfillet" filling_color = "#ffdefe" - center_of_mass = @"{'x':17,'y':13}" + center_of_mass = @'{"x":17,"y":13}' bitesize = 6 nutriment_amt = 6 nutriment_type = /decl/material/liquid/nutriment/protein diff --git a/code/modules/reagents/reagent_containers/food/fried.dm b/code/modules/reagents/reagent_containers/food/fried.dm index 2aca1e326e8..1ae9afafba3 100644 --- a/code/modules/reagents/reagent_containers/food/fried.dm +++ b/code/modules/reagents/reagent_containers/food/fried.dm @@ -10,7 +10,7 @@ icon_state = "onionrings" trash = /obj/item/trash/plate filling_color = "#eddd00" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("fried onions" = 5) nutriment_amt = 5 bitesize = 2 @@ -21,7 +21,7 @@ icon_state = "fries" trash = /obj/item/trash/plate filling_color = "#eddd00" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("fresh fries" = 4) nutriment_amt = 4 bitesize = 2 @@ -32,7 +32,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "rawsticks" bitesize = 2 - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' nutriment_desc = list("raw potato" = 3) nutriment_amt = 3 @@ -42,7 +42,7 @@ icon_state = "cheesyfries" trash = /obj/item/trash/plate filling_color = "#eddd00" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("fresh fries" = 3, "cheese" = 3) nutriment_amt = 4 bitesize = 2 diff --git a/code/modules/reagents/reagent_containers/food/junkfood.dm b/code/modules/reagents/reagent_containers/food/junkfood.dm index a618d9038d4..35987ff7079 100644 --- a/code/modules/reagents/reagent_containers/food/junkfood.dm +++ b/code/modules/reagents/reagent_containers/food/junkfood.dm @@ -4,7 +4,7 @@ desc = "For when you desperately want meat and you don't care what kind. Has the same texture as old leather boots." trash = /obj/item/trash/sosjerky filling_color = "#631212" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' bitesize = 2 material = /decl/material/solid/organic/meat @@ -18,7 +18,7 @@ desc = "Pouring water on these will not turn them back into grapes, unfortunately." trash = /obj/item/trash/raisins filling_color = "#343834" - center_of_mass = @"{'x':15,'y':4}" + center_of_mass = @'{"x":15,"y":4}' nutriment_desc = list("raisins" = 6) nutriment_amt = 6 @@ -27,7 +27,7 @@ icon_state = "space_twinkie" desc = "So full of preservatives, it's guaranteed to survive longer then you will." filling_color = "#ffe591" - center_of_mass = @"{'x':15,'y':11}" + center_of_mass = @'{"x":15,"y":11}' bitesize = 2 /obj/item/chems/food/spacetwinkie/populate_reagents() @@ -40,7 +40,7 @@ desc = "Bite sized cheese flavoured snacks that will leave your fingers coated in cheese dust." trash = /obj/item/trash/cheesie filling_color = "#ffa305" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("cheese" = 5, "chips" = 2) nutriment_amt = 4 bitesize = 2 @@ -50,7 +50,7 @@ icon_state = "syndi_cakes" desc = "Made using extremely unethical labour, ingredients and marketing methods." filling_color = "#ff5d05" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("sweetness" = 3, "cake" = 1) nutriment_amt = 4 trash = /obj/item/trash/syndi_cakes @@ -68,7 +68,7 @@ desc = "Pistachios. There is absolutely nothing remarkable about these." trash = /obj/item/trash/pistachios filling_color = "#825d26" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("nuts" = 1) nutriment_amt = 3 bitesize = 0.5 @@ -79,7 +79,7 @@ desc = "A favorite among birds." trash = /obj/item/trash/semki filling_color = "#68645d" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("sunflower seeds" = 1) nutriment_amt = 6 bitesize = 0.5 @@ -90,7 +90,7 @@ desc = "Space cepholapod tentacles, carefully removed from the squid then dried into strips of delicious rubbery goodness!" trash = /obj/item/trash/squid filling_color = "#c0a9d7" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("fish" = 1, "salt" = 1) nutriment_amt = 2 bitesize = 1 @@ -105,7 +105,7 @@ desc = "Fried bread cubes. Good in salad but I guess you can just eat them as is." trash = /obj/item/trash/croutons filling_color = "#c6b17f" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("bread" = 1, "salt" = 1) nutriment_amt = 3 bitesize = 1 @@ -117,7 +117,7 @@ desc = "Pig fat. Salted. Just as good as it sounds." trash = /obj/item/trash/salo filling_color = "#e0bcbc" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("fat" = 1, "salt" = 1) nutriment_amt = 2 bitesize = 2 @@ -132,7 +132,7 @@ desc = "Dried salted beer snack fish." trash = /obj/item/trash/driedfish filling_color = "#c8a5bb" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("fish" = 1, "salt" = 1) nutriment_amt = 2 bitesize = 1 @@ -147,7 +147,7 @@ icon_state = "liquidfood" trash = /obj/item/trash/liquidfood filling_color = "#a8a8a8" - center_of_mass = @"{'x':16,'y':15}" + center_of_mass = @'{"x":16,"y":15}' nutriment_desc = list("chalk" = 6) nutriment_amt = 20 bitesize = 4 @@ -161,7 +161,7 @@ desc = "Fried, salted lean meat compressed into a cube. Not very appetizing." icon_state = "meatcube" filling_color = "#7a3d11" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' bitesize = 3 material = /decl/material/solid/organic/meat @@ -175,7 +175,7 @@ icon_state = "tastybread" trash = /obj/item/trash/tastybread filling_color = "#a66829" - center_of_mass = @"{'x':17,'y':16}" + center_of_mass = @'{"x":17,"y":16}' nutriment_desc = list("bread" = 2, "sweetness" = 3) nutriment_amt = 6 nutriment_type = /decl/material/liquid/nutriment/bread @@ -187,7 +187,7 @@ icon_state = "candy" trash = /obj/item/trash/candy filling_color = "#7d5f46" - center_of_mass = @"{'x':15,'y':15}" + center_of_mass = @'{"x":15,"y":15}' nutriment_amt = 1 nutriment_desc = list("candy" = 1) bitesize = 2 @@ -226,7 +226,7 @@ desc = "It's a handful of candy corn. Not actually candied corn." icon_state = "candy_corn" filling_color = "#fffcb0" - center_of_mass = @"{'x':14,'y':10}" + center_of_mass = @'{"x":14,"y":10}' nutriment_amt = 4 nutriment_desc = list("candy corn" = 4) bitesize = 2 @@ -242,7 +242,7 @@ icon_state = "chips" trash = /obj/item/trash/chips filling_color = "#e8c31e" - center_of_mass = @"{'x':15,'y':15}" + center_of_mass = @'{"x":15,"y":15}' nutriment_amt = 3 nutriment_desc = list("salt" = 1, "chips" = 2) bitesize = 1 @@ -253,7 +253,7 @@ desc = "COOKIE!!!" icon_state = "cookie" filling_color = "#dbc94f" - center_of_mass = @"{'x':17,'y':18}" + center_of_mass = @'{"x":17,"y":18}' nutriment_amt = 5 nutriment_desc = list("sweetness" = 3, "cookie" = 2) w_class = ITEM_SIZE_TINY @@ -265,7 +265,7 @@ desc = "Such sweet, fattening food." icon_state = "chocolatebar" filling_color = "#7d5f46" - center_of_mass = @"{'x':15,'y':15}" + center_of_mass = @'{"x":15,"y":15}' nutriment_amt = 2 nutriment_desc = list("chocolate" = 5) bitesize = 2 @@ -280,7 +280,7 @@ desc = "Such sweet, fattening food." icon_state = "chocolateegg" filling_color = "#7d5f46" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_amt = 3 nutriment_desc = list("chocolate" = 5) bitesize = 2 @@ -295,7 +295,7 @@ desc = "Goes great with Robust Coffee." icon_state = "donut1" filling_color = "#d9c386" - center_of_mass = @"{'x':19,'y':16}" + center_of_mass = @'{"x":19,"y":16}' nutriment_desc = list("sweetness", "donut") nutriment_amt = 3 bitesize = 3 @@ -342,7 +342,7 @@ desc = "You jelly?" icon_state = "jdonut1" filling_color = "#ed1169" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_amt = 3 bitesize = 5 nutriment_type = /decl/material/liquid/nutriment/bread @@ -359,7 +359,7 @@ desc = "Now with 20% less lawsuit enabling regolith!" trash = /obj/item/trash/cakewrap filling_color = "#ffffff" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("sweet" = 4, "vanilla" = 1) nutriment_amt = 5 bitesize = 2 @@ -387,7 +387,7 @@ desc = "Contains over 9000% of your daily recommended intake of salt." trash = /obj/item/trash/tidegobs filling_color = "#2556b0" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("salt" = 4, "ocean" = 1, "seagull" = 1) nutriment_amt = 5 bitesize = 2 @@ -398,7 +398,7 @@ desc = "A day ration of salt, styrofoam and possibly sawdust." trash = /obj/item/trash/saturno filling_color = "#dca319" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("salt" = 4, "peanut" = 2, "wood?" = 1) nutriment_amt = 5 bitesize = 2 @@ -409,7 +409,7 @@ desc = "Some kind of gel, maybe?" trash = /obj/item/trash/jupiter filling_color = "#dc1919" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("jelly?" = 5) nutriment_amt = 5 bitesize = 2 @@ -420,7 +420,7 @@ desc = "Baseless tasteless nutrient rods to get you through the day. Now even less rash inducing!" trash = /obj/item/trash/pluto filling_color = "#ffffff" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("chalk" = 4, "sadness" = 1) nutriment_amt = 5 bitesize = 2 @@ -431,7 +431,7 @@ desc = "A steaming self-heated bowl of sweet eggs and taters!" trash = /obj/item/trash/mars filling_color = "#d2c63f" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("eggs" = 4, "potato" = 4, "mustard" = 2) nutriment_amt = 8 bitesize = 2 @@ -442,7 +442,7 @@ desc = "Hot takes on hot cakes, a timeless classic now finally fit for human consumption!" trash = /obj/item/trash/venus filling_color = "#d2c63f" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("heat" = 4, "burning" = 1) nutriment_amt = 5 bitesize = 2 @@ -458,7 +458,7 @@ desc = "Pop rocks. The new formula guarantees fewer shrapnel induced oral injuries." trash = /obj/item/trash/oort filling_color = "#3f7dd2" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("fizz" = 3, "sweet?" = 1, "shrapnel" = 1) nutriment_amt = 5 bitesize = 2 @@ -537,7 +537,7 @@ return has_been_heated = 1 user.visible_message("[user] crushes \the [src] package.", "You crush \the [src] package and feel a comfortable heat build up.") - addtimer(CALLBACK(src, .proc/heat, weakref(user)), 20 SECONDS) + addtimer(CALLBACK(src, PROC_REF(heat), weakref(user)), 20 SECONDS) /obj/item/chems/food/donkpocket/sinpocket/heat(weakref/message_to) ..() @@ -551,7 +551,7 @@ desc = "The food of choice for the seasoned traitor." icon_state = "donkpocket" filling_color = "#dedeab" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("heartiness" = 1, "dough" = 2) nutriment_amt = 2 var/warm = 0 @@ -569,7 +569,7 @@ reagents.add_reagent(reagent, heated_reagents[reagent]) bitesize = 6 SetName("warm donk-pocket") - addtimer(CALLBACK(src, .proc/cool), 7 MINUTES) + addtimer(CALLBACK(src, PROC_REF(cool)), 7 MINUTES) /obj/item/chems/food/donkpocket/proc/cool() if(!warm) diff --git a/code/modules/reagents/reagent_containers/food/meat/cubes.dm b/code/modules/reagents/reagent_containers/food/meat/cubes.dm index de8ee6d0955..7394c2c4411 100644 --- a/code/modules/reagents/reagent_containers/food/meat/cubes.dm +++ b/code/modules/reagents/reagent_containers/food/meat/cubes.dm @@ -7,12 +7,15 @@ icon_state = "monkeycube" bitesize = 12 filling_color = "#adac7f" - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' var/growing = FALSE var/monkey_type = /mob/living/carbon/human/monkey var/wrapper_type +/obj/item/chems/food/monkeycube/get_food_consumption_method(mob/eater) + return EATING_METHOD_EAT + /obj/item/chems/food/monkeycube/populate_reagents() . = ..() reagents.add_reagent(/decl/material/liquid/nutriment/protein, 10) @@ -26,12 +29,12 @@ if(wrapper_type) Unwrap(user) -/obj/item/chems/food/monkeycube/proc/Expand() +/obj/item/chems/food/monkeycube/proc/Expand(force_loc) if(!growing) growing = TRUE - src.visible_message(SPAN_NOTICE("\The [src] expands!")) + visible_message(SPAN_NOTICE("\The [src] expands!")) var/mob/monkey = new monkey_type - monkey.dropInto(src.loc) + monkey.dropInto(force_loc || loc) qdel(src) /obj/item/chems/food/monkeycube/proc/Unwrap(var/mob/user) @@ -42,13 +45,16 @@ user.put_in_hands(new wrapper_type(get_turf(user))) wrapper_type = null -/obj/item/chems/food/monkeycube/On_Consume(var/mob/M) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - H.visible_message("A screeching creature bursts out of [M]'s chest!") - var/obj/item/organ/external/organ = GET_EXTERNAL_ORGAN(H, BP_CHEST) - organ.take_external_damage(50, 0, 0, "Animal escaping the ribcage") - Expand() +/obj/item/chems/food/monkeycube/handle_eaten_by_mob(mob/user, mob/target) + . = ..() + if(. == EATEN_SUCCESS) + target = target || user + if(target) + target.visible_message(SPAN_DANGER("A screeching creature bursts out of \the [target]!")) + var/obj/item/organ/external/organ = GET_EXTERNAL_ORGAN(target, BP_CHEST) + if(organ) + organ.take_external_damage(50, 0, 0, "Animal escaping the ribcage") + Expand(get_turf(target)) /obj/item/chems/food/monkeycube/on_reagent_change() ..() diff --git a/code/modules/reagents/reagent_containers/food/meat/fish.dm b/code/modules/reagents/reagent_containers/food/meat/fish.dm index abec8e0faf1..a2b2cd2c30b 100644 --- a/code/modules/reagents/reagent_containers/food/meat/fish.dm +++ b/code/modules/reagents/reagent_containers/food/meat/fish.dm @@ -3,7 +3,7 @@ desc = "A finger of fish." icon_state = "fishfingers" filling_color = "#ffdefe" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' bitesize = 3 /obj/item/chems/food/fishfingers/populate_reagents() @@ -16,7 +16,7 @@ icon_state = "cubancarp" trash = /obj/item/trash/plate filling_color = "#e9adff" - center_of_mass = @"{'x':12,'y':5}" + center_of_mass = @'{"x":12,"y":5}' nutriment_desc = list("toasted bread" = 3) nutriment_amt = 3 bitesize = 3 @@ -31,7 +31,7 @@ desc = "Best enjoyed wrapped in a newspaper on a cold wet day." icon_state = "fishandchips" filling_color = "#e3d796" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' nutriment_desc = list("salt" = 1, "chips" = 2, "fish" = 2) nutriment_amt = 3 bitesize = 3 diff --git a/code/modules/reagents/reagent_containers/food/meat/meat.dm b/code/modules/reagents/reagent_containers/food/meat/meat.dm index 79f809cd11e..fe148bed4bb 100644 --- a/code/modules/reagents/reagent_containers/food/meat/meat.dm +++ b/code/modules/reagents/reagent_containers/food/meat/meat.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "rawcutlet" bitesize = 1 - center_of_mass = @"{'x':17,'y':20}" + center_of_mass = @'{"x":17,"y":20}' material = /decl/material/solid/organic/meat /obj/item/chems/food/rawcutlet/populate_reagents() @@ -18,7 +18,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "cutlet" bitesize = 2 - center_of_mass = @"{'x':17,'y':20}" + center_of_mass = @'{"x":17,"y":20}' material = /decl/material/solid/organic/meat /obj/item/chems/food/cutlet/populate_reagents() @@ -31,7 +31,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "rawmeatball" bitesize = 2 - center_of_mass = @"{'x':16,'y':15}" + center_of_mass = @'{"x":16,"y":15}' material = /decl/material/solid/organic/meat /obj/item/chems/food/rawmeatball/populate_reagents() @@ -43,7 +43,7 @@ desc = "A great meal all round." icon_state = "meatball" filling_color = "#db0000" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' bitesize = 2 material = /decl/material/solid/organic/meat @@ -59,7 +59,7 @@ slice_path = /obj/item/chems/food/cutlet slices_num = 3 filling_color = "#7a3d11" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' bitesize = 3 material = /decl/material/solid/organic/meat @@ -73,7 +73,7 @@ icon_state = "meatstake" trash = /obj/item/trash/plate filling_color = "#7a3d11" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' bitesize = 3 material = /decl/material/solid/organic/meat @@ -93,7 +93,7 @@ icon_state = "meatstake" trash = /obj/item/trash/plate filling_color = "#7a3d11" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("onion" = 2, "mushroom" = 2) nutriment_amt = 4 bitesize = 3 @@ -109,7 +109,7 @@ desc = "A slice from a huge tomato." icon_state = "tomatomeat" filling_color = "#db0000" - center_of_mass = @"{'x':17,'y':16}" + center_of_mass = @'{"x":17,"y":16}' nutriment_amt = 3 nutriment_desc = list("raw" = 2, "tomato" = 3) bitesize = 6 @@ -119,7 +119,7 @@ desc = "A very manly slab of meat." icon_state = "bearmeat" filling_color = "#db0000" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' bitesize = 3 material = /decl/material/solid/organic/meat @@ -133,7 +133,7 @@ desc = "An economical replacement for crab. In space! Would probably be a lot nicer cooked." icon_state = "spiderleg" filling_color = "#d5f5dc" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' bitesize = 3 material = /decl/material/solid/organic/meat @@ -152,7 +152,7 @@ desc = "A slab of green meat. Smells like acid." icon_state = "xenomeat" filling_color = "#43de18" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' bitesize = 6 material = /decl/material/solid/organic/meat @@ -167,7 +167,7 @@ icon = 'icons/obj/food_ingredients.dmi' icon_state = "sausage" filling_color = "#db0000" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' bitesize = 2 material = /decl/material/solid/organic/meat @@ -180,7 +180,7 @@ desc = "A piece of mixed, long meat, with some bite to it." icon_state = "sausage" filling_color = "#db0000" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' bitesize = 2 material = /decl/material/solid/organic/meat @@ -194,7 +194,7 @@ icon = 'icons/obj/surgery.dmi' icon_state = "appendix" filling_color = "#e00d34" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' bitesize = 3 /obj/item/chems/food/organ/populate_reagents() @@ -208,7 +208,7 @@ desc = "Delicious meat, on a stick." trash = /obj/item/stack/material/rods filling_color = "#a85340" - center_of_mass = @"{'x':17,'y':15}" + center_of_mass = @'{"x":17,"y":15}' bitesize = 2 /obj/item/chems/food/meatkabob/populate_reagents() diff --git a/code/modules/reagents/reagent_containers/food/meat/slabs.dm b/code/modules/reagents/reagent_containers/food/meat/slabs.dm index f7b078085d7..b17a98e30bd 100644 --- a/code/modules/reagents/reagent_containers/food/meat/slabs.dm +++ b/code/modules/reagents/reagent_containers/food/meat/slabs.dm @@ -7,7 +7,7 @@ slices_num = 3 max_health = 180 filling_color = "#ff1c1c" - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' material = /decl/material/solid/organic/meat bitesize = 3 diff --git a/code/modules/reagents/reagent_containers/food/misc.dm b/code/modules/reagents/reagent_containers/food/misc.dm index 79781c1c3a9..71a4ef73a5c 100644 --- a/code/modules/reagents/reagent_containers/food/misc.dm +++ b/code/modules/reagents/reagent_containers/food/misc.dm @@ -3,7 +3,7 @@ desc = "Someone should be demoted from chef for this." icon_state = "badrecipe" filling_color = "#211f02" - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' bitesize = 2 /obj/item/chems/food/badrecipe/populate_reagents() @@ -16,7 +16,7 @@ desc = "Moist, peppery breadcrumbs for filling the body cavities of dead birds. Dig in!" icon_state = "stuffing" filling_color = "#c9ac83" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_amt = 3 nutriment_desc = list("dryness" = 2, "bread" = 2) bitesize = 1 @@ -27,7 +27,7 @@ icon_state = "popcorn" trash = /obj/item/trash/popcorn filling_color = "#fffad4" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' nutriment_desc = list("popcorn" = 3) nutriment_amt = 2 bitesize = 0.1 @@ -37,7 +37,7 @@ desc = "Totally baked." icon_state = "loadedbakedpotato" filling_color = "#9c7a68" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("baked potato" = 3) nutriment_amt = 3 bitesize = 2 @@ -52,7 +52,7 @@ icon_state = "spacylibertyduff" trash = /obj/item/trash/snack_bowl filling_color = "#42b873" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' nutriment_desc = list("mushroom" = 5, "rainbow" = 1) nutriment_amt = 6 bitesize = 3 @@ -67,7 +67,7 @@ icon_state = "amanitajelly" trash = /obj/item/trash/snack_bowl filling_color = "#ed0758" - center_of_mass = @"{'x':16,'y':5}" + center_of_mass = @'{"x":16,"y":5}' nutriment_desc = list("jelly" = 3, "mushroom" = 3) nutriment_amt = 6 bitesize = 3 @@ -83,7 +83,7 @@ icon_state = "enchiladas" trash = /obj/item/trash/tray filling_color = "#a36a1f" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("tortilla" = 3, "corn" = 3) nutriment_amt = 2 bitesize = 4 @@ -99,7 +99,7 @@ icon_state = "monkeysdelight" trash = /obj/item/trash/tray filling_color = "#5c3c11" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' bitesize = 6 /obj/item/chems/food/monkeysdelight/populate_reagents() @@ -114,7 +114,7 @@ desc = "An apple coated in sugary sweetness." icon_state = "candiedapple" filling_color = "#f21873" - center_of_mass = @"{'x':15,'y':13}" + center_of_mass = @'{"x":15,"y":13}' nutriment_desc = list("apple" = 3, "caramel" = 3, "sweetness" = 2) nutriment_amt = 3 bitesize = 3 @@ -124,7 +124,7 @@ desc = "A tasty after-dinner mint. It is only wafer thin." icon_state = "mint" filling_color = "#f2f2f2" - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' bitesize = 1 /obj/item/chems/food/mint/populate_reagents() @@ -136,7 +136,7 @@ desc = "This is a finely-prepared plump helmet biscuit. The ingredients are exceptionally minced plump helmet, and well-minced wheat flour." icon_state = "phelmbiscuit" filling_color = "#cfb4c4" - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' nutriment_desc = list("mushroom" = 4) nutriment_amt = 5 bitesize = 2 @@ -155,7 +155,7 @@ icon_state = "gappletart" trash = /obj/item/trash/plate filling_color = "#ffff00" - center_of_mass = @"{'x':16,'y':18}" + center_of_mass = @'{"x":16,"y":18}' nutriment_desc = list("apple" = 8) nutriment_amt = 8 bitesize = 3 @@ -169,7 +169,7 @@ desc = "It's a salted cracker." icon_state = "cracker" filling_color = "#f5deb8" - center_of_mass = @"{'x':17,'y':6}" + center_of_mass = @'{"x":17,"y":6}' nutriment_desc = list("salt" = 1, "cracker" = 2) w_class = ITEM_SIZE_TINY nutriment_amt = 1 @@ -184,7 +184,7 @@ desc = "Take a bite!" icon_state = "taco" bitesize = 3 - center_of_mass = @"{'x':21,'y':12}" + center_of_mass = @'{"x":21,"y":12}' nutriment_desc = list("cheese" = 2,"taco shell" = 2) nutriment_amt = 4 nutriment_type = /decl/material/liquid/nutriment/bread @@ -198,7 +198,7 @@ desc = "Raw meat appetizer." icon_state = "pelmen" filling_color = "#ffffff" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' bitesize = 2 /obj/item/chems/food/pelmen/populate_reagents() @@ -210,7 +210,7 @@ desc = "A dish consisting of boiled pieces of meat wrapped in dough. Delicious!" icon_state = "pelmeni_boiled" filling_color = "#ffffff" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' bitesize = 2 /obj/item/chems/food/pelmeni_boiled/populate_reagents() diff --git a/code/modules/reagents/reagent_containers/food/pasta.dm b/code/modules/reagents/reagent_containers/food/pasta.dm index 97f839d2db3..f1eb02bdb52 100644 --- a/code/modules/reagents/reagent_containers/food/pasta.dm +++ b/code/modules/reagents/reagent_containers/food/pasta.dm @@ -7,7 +7,7 @@ desc = "A bundle of raw spaghetti." icon_state = "spagetti" filling_color = "#eddd00" - center_of_mass = @"{'x':16,'y':16}" + center_of_mass = @'{"x":16,"y":16}' nutriment_desc = list("noodles" = 2) nutriment_amt = 1 bitesize = 1 @@ -18,7 +18,7 @@ icon_state = "spagettiboiled" trash = /obj/item/trash/plate filling_color = "#fcee81" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("noodles" = 2) nutriment_amt = 2 bitesize = 2 @@ -29,7 +29,7 @@ icon_state = "pastatomato" trash = /obj/item/trash/plate filling_color = "#de4545" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("tomato" = 3, "noodles" = 3) nutriment_amt = 6 bitesize = 4 @@ -44,7 +44,7 @@ icon_state = "nanopasta" trash = /obj/item/trash/plate filling_color = "#535e66" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_amt = 6 bitesize = 4 @@ -58,7 +58,7 @@ icon_state = "meatballspagetti" trash = /obj/item/trash/plate filling_color = "#de4545" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("noodles" = 4) nutriment_amt = 4 bitesize = 2 @@ -71,7 +71,7 @@ desc = "Do you want some pasta with those meatballs?" icon_state = "spesslaw" filling_color = "#de4545" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("noodles" = 4) nutriment_amt = 4 bitesize = 2 diff --git a/code/modules/reagents/reagent_containers/food/rice.dm b/code/modules/reagents/reagent_containers/food/rice.dm index f95a46518c2..34db6b3e997 100644 --- a/code/modules/reagents/reagent_containers/food/rice.dm +++ b/code/modules/reagents/reagent_containers/food/rice.dm @@ -8,7 +8,7 @@ icon_state = "boiledrice" trash = /obj/item/trash/snack_bowl filling_color = "#fffbdb" - center_of_mass = @"{'x':17,'y':11}" + center_of_mass = @'{"x":17,"y":11}' nutriment_desc = list("rice" = 2) nutriment_amt = 6 bitesize = 2 @@ -27,7 +27,7 @@ icon_state = "katsu" trash = /obj/item/trash/snack_bowl filling_color = "#faa005" - center_of_mass = @"{'x':17,'y':11}" + center_of_mass = @'{"x":17,"y":11}' nutriment_desc = list("rice" = 2, "apple" = 2, "potato" = 2, "carrot" = 2, "bread" = 2, ) nutriment_amt = 6 bitesize = 2 @@ -38,7 +38,7 @@ icon_state = "rpudding" trash = /obj/item/trash/snack_bowl filling_color = "#fffbdb" - center_of_mass = @"{'x':17,'y':11}" + center_of_mass = @'{"x":17,"y":11}' nutriment_desc = list("rice" = 2) nutriment_amt = 4 bitesize = 2 \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/rotten.dm b/code/modules/reagents/reagent_containers/food/rotten.dm index 4ec76666392..64e9299847e 100644 --- a/code/modules/reagents/reagent_containers/food/rotten.dm +++ b/code/modules/reagents/reagent_containers/food/rotten.dm @@ -3,7 +3,7 @@ /obj/item/chems/food/old name = "master old-food" desc = "they're all inedible and potentially dangerous items" - center_of_mass = @"{'x':15,'y':12}" + center_of_mass = @'{"x":15,"y":12}' nutriment_desc = list("rot" = 5, "mold" = 5) nutriment_amt = 10 bitesize = 3 diff --git a/code/modules/reagents/reagent_containers/food/sliceable/cakes.dm b/code/modules/reagents/reagent_containers/food/sliceable/cakes.dm index f9e9bd01be4..5a3f2890242 100644 --- a/code/modules/reagents/reagent_containers/food/sliceable/cakes.dm +++ b/code/modules/reagents/reagent_containers/food/sliceable/cakes.dm @@ -5,7 +5,7 @@ slice_path = /obj/item/chems/food/slice/carrotcake slices_num = 5 filling_color = "#ffd675" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "carrot" = 15) nutriment_amt = 25 bitesize = 2 @@ -22,7 +22,7 @@ trash = /obj/item/trash/plate filling_color = "#ffd675" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/carrotcake /obj/item/chems/food/slice/carrotcake/filled @@ -35,7 +35,7 @@ slice_path = /obj/item/chems/food/slice/braincake slices_num = 5 filling_color = "#e6aedb" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "slime" = 15) nutriment_amt = 5 bitesize = 2 @@ -53,7 +53,7 @@ trash = /obj/item/trash/plate filling_color = "#e6aedb" bitesize = 2 - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' whole_path = /obj/item/chems/food/sliceable/braincake /obj/item/chems/food/slice/braincake/filled @@ -66,7 +66,7 @@ slice_path = /obj/item/chems/food/slice/cheesecake slices_num = 5 filling_color = "#faf7af" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "cream" = 10, "cheese" = 15) nutriment_amt = 10 bitesize = 2 @@ -82,7 +82,7 @@ trash = /obj/item/trash/plate filling_color = "#faf7af" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/cheesecake /obj/item/chems/food/slice/cheesecake/filled @@ -95,7 +95,7 @@ slice_path = /obj/item/chems/food/slice/plaincake slices_num = 5 filling_color = "#f7edd5" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "vanilla" = 15) nutriment_amt = 20 nutriment_type = /decl/material/liquid/nutriment/bread/cake @@ -107,7 +107,7 @@ trash = /obj/item/trash/plate filling_color = "#f7edd5" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/plaincake /obj/item/chems/food/slice/plaincake/filled @@ -120,7 +120,7 @@ slice_path = /obj/item/chems/food/slice/orangecake slices_num = 5 filling_color = "#fada8e" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "orange" = 15) nutriment_amt = 20 nutriment_type = /decl/material/liquid/nutriment/bread/cake @@ -132,7 +132,7 @@ trash = /obj/item/trash/plate filling_color = "#fada8e" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/orangecake /obj/item/chems/food/slice/orangecake/filled @@ -145,7 +145,7 @@ slice_path = /obj/item/chems/food/slice/limecake slices_num = 5 filling_color = "#cbfa8e" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "lime" = 15) nutriment_amt = 20 nutriment_type = /decl/material/liquid/nutriment/bread/cake @@ -157,7 +157,7 @@ trash = /obj/item/trash/plate filling_color = "#cbfa8e" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/limecake /obj/item/chems/food/slice/limecake/filled @@ -170,7 +170,7 @@ slice_path = /obj/item/chems/food/slice/lemoncake slices_num = 5 filling_color = "#fafa8e" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "lemon" = 15) nutriment_amt = 20 nutriment_type = /decl/material/liquid/nutriment/bread/cake @@ -182,7 +182,7 @@ trash = /obj/item/trash/plate filling_color = "#fafa8e" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/lemoncake /obj/item/chems/food/slice/lemoncake/filled @@ -195,7 +195,7 @@ slice_path = /obj/item/chems/food/slice/chocolatecake slices_num = 5 filling_color = "#805930" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "chocolate" = 15) nutriment_amt = 20 nutriment_type = /decl/material/liquid/nutriment/bread/cake @@ -207,7 +207,7 @@ trash = /obj/item/trash/plate filling_color = "#805930" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/chocolatecake /obj/item/chems/food/slice/chocolatecake/filled @@ -220,7 +220,7 @@ slice_path = /obj/item/chems/food/slice/birthdaycake slices_num = 5 filling_color = "#ffd6d6" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10) nutriment_amt = 20 bitesize = 3 @@ -237,7 +237,7 @@ trash = /obj/item/trash/plate filling_color = "#ffd6d6" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/birthdaycake /obj/item/chems/food/slice/birthdaycake/filled @@ -250,7 +250,7 @@ slice_path = /obj/item/chems/food/slice/applecake slices_num = 5 filling_color = "#ebf5b8" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cake" = 10, "sweetness" = 10, "apple" = 15) nutriment_amt = 15 nutriment_type = /decl/material/liquid/nutriment/bread/cake @@ -262,7 +262,7 @@ trash = /obj/item/trash/plate filling_color = "#ebf5b8" bitesize = 2 - center_of_mass = @"{'x':16,'y':14}" + center_of_mass = @'{"x":16,"y":14}' whole_path = /obj/item/chems/food/sliceable/applecake /obj/item/chems/food/slice/applecake/filled @@ -275,7 +275,7 @@ slice_path = /obj/item/chems/food/slice/pumpkinpie slices_num = 5 filling_color = "#f5b951" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("pie" = 5, "cream" = 5, "pumpkin" = 5) nutriment_amt = 15 @@ -286,7 +286,7 @@ trash = /obj/item/trash/plate filling_color = "#f5b951" bitesize = 2 - center_of_mass = @"{'x':16,'y':12}" + center_of_mass = @'{"x":16,"y":12}' whole_path = /obj/item/chems/food/sliceable/pumpkinpie /obj/item/chems/food/slice/pumpkinpie/filled diff --git a/code/modules/reagents/reagent_containers/food/sliceable/cheeses.dm b/code/modules/reagents/reagent_containers/food/sliceable/cheeses.dm index fb076444459..c84751c530d 100644 --- a/code/modules/reagents/reagent_containers/food/sliceable/cheeses.dm +++ b/code/modules/reagents/reagent_containers/food/sliceable/cheeses.dm @@ -5,7 +5,7 @@ slice_path = /obj/item/chems/food/cheesewedge slices_num = 5 filling_color = "#fff700" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("cheese" = 10) nutriment_amt = 10 bitesize = 2 @@ -20,6 +20,6 @@ icon_state = "cheesewedge" filling_color = "#fff700" bitesize = 2 - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' // todo: non-cheddar cheeses \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/sliceable/loaves.dm b/code/modules/reagents/reagent_containers/food/sliceable/loaves.dm index b5c168fd449..0906466aa22 100644 --- a/code/modules/reagents/reagent_containers/food/sliceable/loaves.dm +++ b/code/modules/reagents/reagent_containers/food/sliceable/loaves.dm @@ -5,7 +5,7 @@ slice_path = /obj/item/chems/food/slice/meatbread slices_num = 5 filling_color = "#ff7575" - center_of_mass = @"{'x':19,'y':9}" + center_of_mass = @'{"x":19,"y":9}' nutriment_desc = list("bread" = 10) nutriment_amt = 10 bitesize = 2 @@ -22,7 +22,7 @@ trash = /obj/item/trash/plate filling_color = "#ff7575" bitesize = 2 - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' whole_path = /obj/item/chems/food/sliceable/meatbread /obj/item/chems/food/slice/meatbread/filled @@ -35,7 +35,7 @@ slice_path = /obj/item/chems/food/slice/xenomeatbread slices_num = 5 filling_color = "#8aff75" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' nutriment_desc = list("bread" = 10) nutriment_amt = 10 bitesize = 2 @@ -52,7 +52,7 @@ trash = /obj/item/trash/plate filling_color = "#8aff75" bitesize = 2 - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' whole_path = /obj/item/chems/food/sliceable/xenomeatbread /obj/item/chems/food/slice/xenomeatbread/filled @@ -65,7 +65,7 @@ slice_path = /obj/item/chems/food/slice/bananabread slices_num = 5 filling_color = "#ede5ad" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' nutriment_desc = list("bread" = 10) nutriment_amt = 10 bitesize = 2 @@ -82,7 +82,7 @@ trash = /obj/item/trash/plate filling_color = "#ede5ad" bitesize = 2 - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' whole_path = /obj/item/chems/food/sliceable/bananabread /obj/item/chems/food/slice/bananabread/filled @@ -95,7 +95,7 @@ slice_path = /obj/item/chems/food/slice/tofubread slices_num = 5 filling_color = "#f7ffe0" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' nutriment_desc = list("tofu" = 10) nutriment_amt = 10 bitesize = 2 @@ -108,7 +108,7 @@ trash = /obj/item/trash/plate filling_color = "#f7ffe0" bitesize = 2 - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' whole_path = /obj/item/chems/food/sliceable/tofubread /obj/item/chems/food/slice/tofubread/filled @@ -121,7 +121,7 @@ slice_path = /obj/item/chems/food/slice/bread slices_num = 5 filling_color = "#ffe396" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' nutriment_desc = list("bread" = 6) nutriment_amt = 6 bitesize = 2 @@ -134,7 +134,7 @@ trash = /obj/item/trash/plate filling_color = "#d27332" bitesize = 2 - center_of_mass = @"{'x':16,'y':4}" + center_of_mass = @'{"x":16,"y":4}' whole_path = /obj/item/chems/food/sliceable/bread /obj/item/chems/food/slice/bread/filled @@ -147,7 +147,7 @@ slice_path = /obj/item/chems/food/slice/creamcheesebread slices_num = 5 filling_color = "#fff896" - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' nutriment_desc = list("bread" = 6, "cream" = 3, "cheese" = 3) nutriment_amt = 5 bitesize = 2 @@ -164,7 +164,7 @@ trash = /obj/item/trash/plate filling_color = "#fff896" bitesize = 2 - center_of_mass = @"{'x':16,'y':13}" + center_of_mass = @'{"x":16,"y":13}' whole_path = /obj/item/chems/food/sliceable/creamcheesebread /obj/item/chems/food/slice/creamcheesebread/filled diff --git a/code/modules/reagents/reagent_containers/food/sliceable/misc_slices.dm b/code/modules/reagents/reagent_containers/food/sliceable/misc_slices.dm index 1232094ad3f..cb6dc5b9cc5 100644 --- a/code/modules/reagents/reagent_containers/food/sliceable/misc_slices.dm +++ b/code/modules/reagents/reagent_containers/food/sliceable/misc_slices.dm @@ -4,4 +4,4 @@ icon_state = "watermelonslice" filling_color = "#ff3867" bitesize = 2 - center_of_mass = @"{'x':16,'y':10}" \ No newline at end of file + center_of_mass = @'{"x":16,"y":10}' \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/sliceable/pizza.dm b/code/modules/reagents/reagent_containers/food/sliceable/pizza.dm index 8f66d203b88..78af7f12cc8 100644 --- a/code/modules/reagents/reagent_containers/food/sliceable/pizza.dm +++ b/code/modules/reagents/reagent_containers/food/sliceable/pizza.dm @@ -12,7 +12,7 @@ icon_state = "pizzamargherita" slice_path = /obj/item/chems/food/slice/margherita slices_num = 6 - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 15) nutriment_amt = 35 bitesize = 2 @@ -29,7 +29,7 @@ icon_state = "pizzamargheritaslice" filling_color = "#baa14c" bitesize = 2 - center_of_mass = @"{'x':18,'y':13}" + center_of_mass = @'{"x":18,"y":13}' whole_path = /obj/item/chems/food/sliceable/pizza/margherita /obj/item/chems/food/slice/margherita/filled @@ -41,7 +41,7 @@ icon_state = "meatpizza" slice_path = /obj/item/chems/food/slice/meatpizza slices_num = 6 - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 15) nutriment_amt = 10 bitesize = 2 @@ -58,7 +58,7 @@ icon_state = "meatpizzaslice" filling_color = "#baa14c" bitesize = 2 - center_of_mass = @"{'x':18,'y':13}" + center_of_mass = @'{"x":18,"y":13}' whole_path = /obj/item/chems/food/sliceable/pizza/meatpizza /obj/item/chems/food/slice/meatpizza/filled @@ -70,7 +70,7 @@ icon_state = "mushroompizza" slice_path = /obj/item/chems/food/slice/mushroompizza slices_num = 6 - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 5, "mushroom" = 10) nutriment_amt = 35 bitesize = 2 @@ -86,7 +86,7 @@ icon_state = "mushroompizzaslice" filling_color = "#baa14c" bitesize = 2 - center_of_mass = @"{'x':18,'y':13}" + center_of_mass = @'{"x":18,"y":13}' whole_path = /obj/item/chems/food/sliceable/pizza/mushroompizza /obj/item/chems/food/slice/mushroompizza/filled @@ -98,7 +98,7 @@ icon_state = "vegetablepizza" slice_path = /obj/item/chems/food/slice/vegetablepizza slices_num = 6 - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("pizza crust" = 10, "tomato" = 10, "cheese" = 5, "eggplant" = 5, "carrot" = 5, "corn" = 5) nutriment_amt = 25 bitesize = 2 @@ -116,7 +116,7 @@ icon_state = "vegetablepizzaslice" filling_color = "#baa14c" bitesize = 2 - center_of_mass = @"{'x':18,'y':13}" + center_of_mass = @'{"x":18,"y":13}' whole_path = /obj/item/chems/food/sliceable/pizza/vegetablepizza /obj/item/chems/food/slice/vegetablepizza/filled diff --git a/code/modules/reagents/reagent_containers/food/soup.dm b/code/modules/reagents/reagent_containers/food/soup.dm index c2a8a192450..f0069492db8 100644 --- a/code/modules/reagents/reagent_containers/food/soup.dm +++ b/code/modules/reagents/reagent_containers/food/soup.dm @@ -8,7 +8,7 @@ icon_state = "meatballsoup" trash = /obj/item/trash/snack_bowl filling_color = "#785210" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' bitesize = 5 eat_sound = list('sound/items/eatfood.ogg', 'sound/items/drink.ogg') @@ -22,7 +22,7 @@ desc = "Smells like copper." icon_state = "tomatosoup" filling_color = "#ff0000" - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' bitesize = 5 eat_sound = 'sound/items/drink.ogg' @@ -37,7 +37,7 @@ desc = "Not very funny." icon_state = "clownstears" filling_color = "#c4fbff" - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' nutriment_desc = list("salt" = 1, "the worst joke" = 3) nutriment_amt = 4 bitesize = 5 @@ -54,7 +54,7 @@ icon_state = "vegetablesoup" trash = /obj/item/trash/snack_bowl filling_color = "#afc4b5" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' nutriment_desc = list("carrot" = 2, "corn" = 2, "eggplant" = 2, "potato" = 2) nutriment_amt = 8 bitesize = 5 @@ -70,7 +70,7 @@ icon_state = "nettlesoup" trash = /obj/item/trash/snack_bowl filling_color = "#afc4b5" - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' nutriment_desc = list("salad" = 4, "egg" = 2, "potato" = 2) nutriment_amt = 8 bitesize = 5 @@ -87,7 +87,7 @@ icon_state = "mysterysoup" trash = /obj/item/trash/snack_bowl filling_color = "#f082ff" - center_of_mass = @"{'x':16,'y':6}" + center_of_mass = @'{"x":16,"y":6}' nutriment_desc = list("backwash" = 1) nutriment_amt = 1 bitesize = 5 @@ -149,7 +149,7 @@ icon_state = "wishsoup" trash = /obj/item/trash/snack_bowl filling_color = "#d1f4ff" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' bitesize = 5 eat_sound = 'sound/items/drink.ogg' @@ -166,7 +166,7 @@ icon_state = "hotchili" trash = /obj/item/trash/snack_bowl filling_color = "#ff3c00" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("chilli peppers" = 2, "burning" = 1) nutriment_amt = 3 bitesize = 5 @@ -182,7 +182,7 @@ desc = "This slush is barely a liquid!" icon_state = "coldchili" filling_color = "#2b00ff" - center_of_mass = @"{'x':15,'y':9}" + center_of_mass = @'{"x":15,"y":9}' nutriment_desc = list("chilly peppers" = 3) nutriment_amt = 3 trash = /obj/item/trash/snack_bowl @@ -200,7 +200,7 @@ icon_state = "tomatosoup" trash = /obj/item/trash/snack_bowl filling_color = "#d92929" - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' nutriment_desc = list("soup" = 5) nutriment_amt = 5 bitesize = 3 @@ -215,7 +215,7 @@ desc = "A nice and warm stew. Healthy and strong." icon_state = "stew" filling_color = "#9e673a" - center_of_mass = @"{'x':16,'y':5}" + center_of_mass = @'{"x":16,"y":5}' nutriment_desc = list("tomato" = 2, "potato" = 2, "carrot" = 2, "eggplant" = 2, "mushroom" = 2) nutriment_amt = 6 bitesize = 10 @@ -232,7 +232,7 @@ desc = "The universes best soup! Yum!!!" icon_state = "milosoup" trash = /obj/item/trash/snack_bowl - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' nutriment_desc = list("soy" = 8) nutriment_amt = 8 bitesize = 4 @@ -248,7 +248,7 @@ icon_state = "mushroomsoup" trash = /obj/item/trash/snack_bowl filling_color = "#e386bf" - center_of_mass = @"{'x':17,'y':10}" + center_of_mass = @'{"x":17,"y":10}' nutriment_desc = list("mushroom" = 8, "milk" = 2) nutriment_amt = 8 bitesize = 3 @@ -260,7 +260,7 @@ icon_state = "beetsoup" trash = /obj/item/trash/snack_bowl filling_color = "#fac9ff" - center_of_mass = @"{'x':15,'y':8}" + center_of_mass = @'{"x":15,"y":8}' nutriment_desc = list("tomato" = 4, "beet" = 4) nutriment_amt = 8 bitesize = 2 diff --git a/code/modules/reagents/reagent_containers/food/soy.dm b/code/modules/reagents/reagent_containers/food/soy.dm index 727043f19be..930a160c0ea 100644 --- a/code/modules/reagents/reagent_containers/food/soy.dm +++ b/code/modules/reagents/reagent_containers/food/soy.dm @@ -3,7 +3,7 @@ icon_state = "tofu" desc = "We all love tofu." filling_color = "#fffee0" - center_of_mass = @"{'x':17,'y':10}" + center_of_mass = @'{"x":17,"y":10}' nutriment_amt = 3 nutriment_desc = list("tofu" = 3, "softness" = 3) bitesize = 3 @@ -18,7 +18,7 @@ icon_state = "soydope" trash = /obj/item/trash/plate filling_color = "#c4bf76" - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("slime" = 2, "soy" = 2) nutriment_amt = 2 bitesize = 2 @@ -29,7 +29,7 @@ desc = "Vegan meat, on a stick." trash = /obj/item/stack/material/rods filling_color = "#fffee0" - center_of_mass = @"{'x':17,'y':15}" + center_of_mass = @'{"x":17,"y":15}' nutriment_desc = list("tofu" = 3, "metal" = 1) nutriment_amt = 8 bitesize = 2 @@ -39,7 +39,7 @@ desc = "A fake turkey made from tofu." icon_state = "tofurkey" filling_color = "#fffee0" - center_of_mass = @"{'x':16,'y':8}" + center_of_mass = @'{"x":16,"y":8}' nutriment_amt = 12 nutriment_desc = list("turkey" = 3, "tofu" = 5, "softness" = 4) bitesize = 3 @@ -49,7 +49,7 @@ desc = "Even non-vegetarians will LOVE this!" icon_state = "stewedsoymeat" trash = /obj/item/trash/plate - center_of_mass = @"{'x':16,'y':10}" + center_of_mass = @'{"x":16,"y":10}' nutriment_desc = list("soy" = 4, "tomato" = 4) nutriment_amt = 8 bitesize = 2 \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/veggie.dm b/code/modules/reagents/reagent_containers/food/veggie.dm index 3f8a53ff5dd..5f29982c1e6 100644 --- a/code/modules/reagents/reagent_containers/food/veggie.dm +++ b/code/modules/reagents/reagent_containers/food/veggie.dm @@ -8,7 +8,7 @@ icon_state = "aesirsalad" trash = /obj/item/trash/snack_bowl filling_color = "#468c00" - center_of_mass = @"{'x':17,'y':11}" + center_of_mass = @'{"x":17,"y":11}' nutriment_amt = 8 nutriment_desc = list("apples" = 3,"salad" = 4, "quintessence" = 2) bitesize = 3 @@ -23,7 +23,7 @@ icon_state = "herbsalad" trash = /obj/item/trash/snack_bowl filling_color = "#76b87f" - center_of_mass = @"{'x':17,'y':11}" + center_of_mass = @'{"x":17,"y":11}' nutriment_desc = list("salad" = 2, "tomato" = 2, "carrot" = 2, "apple" = 2) nutriment_amt = 8 bitesize = 3 @@ -34,7 +34,7 @@ icon_state = "validsalad" trash = /obj/item/trash/snack_bowl filling_color = "#76b87f" - center_of_mass = @"{'x':17,'y':11}" + center_of_mass = @'{"x":17,"y":11}' nutriment_desc = list("100% real salad") nutriment_amt = 6 bitesize = 3 @@ -49,7 +49,7 @@ icon_state = "carrotfries" trash = /obj/item/trash/plate filling_color = "#faa005" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_desc = list("carrot" = 3, "salt" = 1) nutriment_amt = 3 bitesize = 2 @@ -63,7 +63,7 @@ desc = "A slice from a huge mushroom." icon_state = "hugemushroomslice" filling_color = "#e0d7c5" - center_of_mass = @"{'x':17,'y':16}" + center_of_mass = @'{"x":17,"y":16}' nutriment_amt = 3 nutriment_desc = list("raw" = 2, "mushroom" = 2) bitesize = 6 diff --git a/code/modules/reagents/reagent_containers/food_edibility.dm b/code/modules/reagents/reagent_containers/food_edibility.dm new file mode 100644 index 00000000000..5aa5d600162 --- /dev/null +++ b/code/modules/reagents/reagent_containers/food_edibility.dm @@ -0,0 +1,42 @@ +/obj/item/chems/food/show_feed_message_end(var/mob/user, var/mob/target) + target = target || user + if(user && user == target && isliving(user)) + var/mob/living/living_user = user + switch(living_user.get_food_satiation() / living_user.get_satiated_nutrition()) + if(-(INFINITY) to 0.2) + to_chat(living_user, SPAN_WARNING("You hungrily chew out a piece of [src] and gobble it!")) + if(0.2 to 0.4) + to_chat(living_user, SPAN_NOTICE("You hungrily begin to eat [src].")) + if(0.4 to 0.8) + . = ..() + else + to_chat(living_user, SPAN_NOTICE("You unwillingly chew a bit of [src].")) + +/obj/item/chems/food/play_feed_sound(mob/user, consumption_method = EATING_METHOD_EAT) + if(eat_sound) + playsound(user, pick(eat_sound), rand(10, 50), 1) + return + return ..() + +/obj/item/chems/food/handle_eaten_by_mob(mob/user, mob/target) + . = ..() + if(. == EATEN_SUCCESS) + bitecount++ + +/obj/item/chems/food/get_food_default_transfer_amount(mob/eater) + return eater?.get_eaten_transfer_amount(bitesize) + +/obj/item/chems/food/handle_consumed(mob/feeder, mob/eater, consumption_method = EATING_METHOD_EAT) + + if(isliving(eater) && cooked_food) + var/mob/living/living_eater = eater + living_eater.add_stressor(/datum/stressor/ate_cooked_food, 15 MINUTES) + + var/trash_ref = trash + . = ..() + if(. && trash_ref) + if(ispath(trash_ref, /obj/item)) + var/obj/item/trash_item = new trash_ref(get_turf(feeder)) + feeder.put_in_hands(trash_item) + else if(istype(trash_ref, /obj/item)) + feeder.put_in_hands(trash_ref) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index a8ef1a33350..6fcbed2723f 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -68,20 +68,6 @@ return ..() return FALSE -/obj/item/chems/glass/standard_feed_mob(var/mob/user, var/mob/target) - if(!ATOM_IS_OPEN_CONTAINER(src)) - to_chat(user, "You need to open \the [src] first.") - return 1 - if(user.a_intent == I_HURT) - return 1 - return ..() - -/obj/item/chems/glass/self_feed_message(var/mob/user) - to_chat(user, "You swallow a gulp from \the [src].") - if(user.has_personal_goal(/datum/goal/achievement/specific_object/drink)) - for(var/R in reagents.reagent_volumes) - user.update_personal_goal(/datum/goal/achievement/specific_object/drink, R) - /obj/item/chems/glass/afterattack(var/obj/target, var/mob/user, var/proximity) if(!ATOM_IS_OPEN_CONTAINER(src) || !proximity) //Is the container open & are they next to whatever they're clicking? return FALSE //If not, do nothing. @@ -92,7 +78,7 @@ return TRUE if(standard_pour_into(user, target)) //Pouring into another beaker? return TRUE - if(standard_feed_mob(user, target)) + if(handle_eaten_by_mob(user, target) != EATEN_INVALID) return TRUE if(user.a_intent == I_HURT) if(standard_splash_mob(user,target)) @@ -112,7 +98,7 @@ desc = "It's a bucket." icon = 'icons/obj/items/bucket.dmi' icon_state = ICON_STATE_WORLD - center_of_mass = @"{'x':16,'y':9}" + center_of_mass = @'{"x":16,"y":9}' w_class = ITEM_SIZE_NORMAL amount_per_transfer_from_this = 20 possible_transfer_amounts = @"[10,20,30,60,120,150,180]" diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm index 8e553466d3d..4442ef8a475 100644 --- a/code/modules/reagents/reagent_containers/glass/bottle.dm +++ b/code/modules/reagents/reagent_containers/glass/bottle.dm @@ -8,7 +8,7 @@ icon = 'icons/obj/items/chem/bottle.dmi' icon_state = ICON_STATE_WORLD randpixel = 7 - center_of_mass = @"{'x':16,'y':15}" + center_of_mass = @'{"x":16,"y":15}' amount_per_transfer_from_this = 10 possible_transfer_amounts = @"[5,10,15,25,30,60]" w_class = ITEM_SIZE_SMALL diff --git a/code/modules/reagents/reagent_containers/glass_edibility.dm b/code/modules/reagents/reagent_containers/glass_edibility.dm new file mode 100644 index 00000000000..2ffbb91be5b --- /dev/null +++ b/code/modules/reagents/reagent_containers/glass_edibility.dm @@ -0,0 +1,26 @@ +/obj/item/chems/glass/handle_eaten_by_mob(var/mob/user, var/mob/target) + if(!ATOM_IS_OPEN_CONTAINER(src)) + to_chat(user, SPAN_WARNING("You need to open \the [src] first.")) + return EATEN_UNABLE + if(user.a_intent == I_HURT) + return EATEN_INVALID + . = ..() + if(. == EATEN_SUCCESS && target?.has_personal_goal(/datum/goal/achievement/specific_object/drink)) + for(var/R in reagents.reagent_volumes) + target.update_personal_goal(/datum/goal/achievement/specific_object/drink, R) + +/obj/item/chems/glass/show_feed_message_start(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You begin trying to drink from \the [target].")) + else + user.visible_message(SPAN_NOTICE("\The [user] is trying to feed some of the contents of \the [src] to \the [target]!")) + +/obj/item/chems/glass/show_feed_message_end(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You swallow a gulp from \the [src].")) + else + user.visible_message(SPAN_NOTICE("\The [user] feeds some of the contents of \the [src] to \the [target]!")) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 9ad4c7d1243..06abc3f994e 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -8,7 +8,7 @@ icon = 'icons/obj/hypospray.dmi' icon_state = ICON_STATE_WORLD abstract_type = /obj/item/chems/hypospray - origin_tech = "{'materials':4,'biotech':5}" + origin_tech = @'{"materials":4,"biotech":5}' amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = null @@ -174,7 +174,7 @@ icon = 'icons/obj/autoinjector.dmi' amount_per_transfer_from_this = 5 volume = 5 - origin_tech = "{'materials':2,'biotech':2}" + origin_tech = @'{"materials":2,"biotech":2}' slot_flags = SLOT_LOWER_BODY | SLOT_EARS w_class = ITEM_SIZE_TINY detail_state = "_band" diff --git a/code/modules/reagents/reagent_containers/inhaler.dm b/code/modules/reagents/reagent_containers/inhaler.dm index b265d36b703..3c045caba2b 100644 --- a/code/modules/reagents/reagent_containers/inhaler.dm +++ b/code/modules/reagents/reagent_containers/inhaler.dm @@ -5,14 +5,14 @@ desc = "A rapid and safe way to administer small amounts of drugs into the lungs by untrained or trained personnel." icon = 'icons/obj/inhaler.dmi' icon_state = ICON_STATE_WORLD - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' amount_per_transfer_from_this = 5 volume = 5 w_class = ITEM_SIZE_SMALL possible_transfer_amounts = null atom_flags = ATOM_FLAG_OPEN_CONTAINER slot_flags = SLOT_LOWER_BODY - origin_tech = "{'materials':2,'biotech':2}" + origin_tech = @'{"materials":2,"biotech":2}' material = /decl/material/solid/organic/plastic matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 712e8426a1c..29327af664f 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -36,49 +36,18 @@ /obj/item/chems/pill/dragged_onto(var/mob/user) attack(user, user) -/obj/item/chems/pill/attack(mob/M, mob/user, def_zone) - //TODO: replace with standard_feed_mob() call. - if(M == user) - if(!M.can_eat(src)) - return - M.visible_message(SPAN_NOTICE("[M] swallows a pill."), SPAN_NOTICE("You swallow \the [src]."), null, 2) - if(reagents?.total_volume) - reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) - qdel(src) - return 1 - - else if(ishuman(M)) - if(!M.can_force_feed(user, src)) - return - - user.visible_message(SPAN_WARNING("[user] attempts to force [M] to swallow \the [src].")) - user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - if(!do_mob(user, M)) - return - user.visible_message(SPAN_WARNING("[user] forces [M] to swallow \the [src].")) - var/contained = REAGENT_LIST(src) - admin_attack_log(user, M, "Fed the victim with [name] (Reagents: [contained])", "Was fed [src] (Reagents: [contained])", "used [src] (Reagents: [contained]) to feed") - if(reagents.total_volume) - reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST) - qdel(src) - return 1 - - return 0 - /obj/item/chems/pill/afterattack(obj/target, mob/user, proximity) - if(!proximity) return - - if(ATOM_IS_OPEN_CONTAINER(target) && target.reagents) + if(proximity && ATOM_IS_OPEN_CONTAINER(target) && target.reagents) if(!target.reagents.total_volume) - to_chat(user, "[target] is empty. Can't dissolve \the [src].") + to_chat(user, SPAN_WARNING("\The [target] is empty. You can't dissolve \the [src] in it.")) return - to_chat(user, "You dissolve \the [src] in [target].") - + to_chat(user, SPAN_NOTICE("You dissolve \the [src] in \the [target].")) + user.visible_message(SPAN_NOTICE("\The [user] puts something in \the [target]."), range = 2) admin_attacker_log(user, "spiked \a [target] with a pill. Reagents: [REAGENT_LIST(src)]") reagents.trans_to(target, reagents.total_volume) - user.visible_message(SPAN_NOTICE("\The [user] puts something in \the [target]."), range = 2) qdel(src) - return + return + return ..() //////////////////////////////////////////////////////////////////////////////// /// Pills. END @@ -259,14 +228,13 @@ name = "detergent pod" desc = "Put in water to get space cleaner. Do not eat. Really." icon_state = "pod21" - var/smell_clean_time = 10 MINUTES // Don't overwrite the custom name. /obj/item/chems/pill/detergent/update_container_name() return /obj/item/chems/pill/detergent/populate_reagents() - reagents.add_reagent(/decl/material/gas/ammonia, 30) + reagents.add_reagent(/decl/material/liquid/contaminant_cleaner, 30) /obj/item/chems/pill/pod name = "master flavorpod item" diff --git a/code/modules/reagents/reagent_containers/pill_edibility.dm b/code/modules/reagents/reagent_containers/pill_edibility.dm new file mode 100644 index 00000000000..9aa114344fc --- /dev/null +++ b/code/modules/reagents/reagent_containers/pill_edibility.dm @@ -0,0 +1,24 @@ +/obj/item/chems/pill/get_food_default_transfer_amount(mob/eater) + return reagents?.total_volume // Always eat it in one bite. + +/obj/item/chems/pill/show_feed_message_start(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You begin trying to swallow \the [target].")) + else + user.visible_message(SPAN_NOTICE("\The [user] attempts to force \the [target] to swallow \the [src]!")) + +/obj/item/chems/pill/show_feed_message_end(var/mob/user, var/mob/target) + target = target || user + if(user) + if(user == target) + to_chat(user, SPAN_NOTICE("You swallow \the [src].")) + else + user.visible_message(SPAN_NOTICE("\The [user] forces \the [target] to swallow \the [src]!")) + +/obj/item/chems/pill/play_feed_sound(mob/user, consumption_method = EATING_METHOD_EAT) + return + +/obj/item/chems/pill/show_food_consumed_message(mob/user, mob/target) + return diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 3d16cb63e44..c533beca5a5 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -192,7 +192,7 @@ w_class = ITEM_SIZE_LARGE possible_transfer_amounts = null volume = 600 - origin_tech = "{'combat':3,'materials':3,'engineering':3}" + origin_tech = @'{"combat":3,"materials":3,"engineering":3}' particle_move_delay = 2 //Was hardcoded to 2 before, and 8 was slower than most mob's move speed material = /decl/material/solid/metal/steel matter = list(/decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 2d7904a73cc..b408d1c88ec 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -382,7 +382,7 @@ /decl/material/solid/metal/uranium = MATTER_AMOUNT_TRACE, /decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE ) - origin_tech = "{'biotech':3,'materials':4,'exoticmatter':2}" + origin_tech = @'{"biotech":3,"materials":4,"exoticmatter":2}' /obj/item/chems/syringe/noreact name = "cryostasis syringe" @@ -395,4 +395,4 @@ /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT, /decl/material/solid/organic/plastic = MATTER_AMOUNT_TRACE ) - origin_tech = "{'biotech':4,'materials':4}" + origin_tech = @'{"biotech":4,"materials":4}' diff --git a/code/modules/research/design_database_analyzer.dm b/code/modules/research/design_database_analyzer.dm index bce7bff5a42..b0c3c4150bb 100644 --- a/code/modules/research/design_database_analyzer.dm +++ b/code/modules/research/design_database_analyzer.dm @@ -114,7 +114,7 @@ loaded_item = O to_chat(user, SPAN_NOTICE("You add \the [O] to \the [src].")) flick("d_analyzer_la", src) - addtimer(CALLBACK(src, .proc/refresh_busy), 1 SECOND) + addtimer(CALLBACK(src, PROC_REF(refresh_busy)), 1 SECOND) return TRUE /obj/machinery/destructive_analyzer/proc/refresh_busy() @@ -140,12 +140,12 @@ else loaded_item = null flick("d_analyzer_process", src) - addtimer(CALLBACK(src, .proc/refresh_busy), 2 SECONDS) + addtimer(CALLBACK(src, PROC_REF(refresh_busy)), 2 SECONDS) /obj/item/research name = "research debugging device" desc = "Instant research tool. For testing purposes only." icon = 'icons/obj/items/stock_parts/stock_parts.dmi' icon_state = "smes_coil" - origin_tech = "{'materials':19,'engineering':19,'exoticmatter':19,'powerstorage':19,'wormholes':19,'biotech':19,'combat':19,'magnets':19,'programming':19,'esoteric':19}" + origin_tech = @'{"materials":19,"engineering":19,"exoticmatter":19,"powerstorage":19,"wormholes":19,"biotech":19,"combat":19,"magnets":19,"programming":19,"esoteric":19}' max_health = ITEM_HEALTH_NO_DAMAGE diff --git a/code/modules/sealant_gun/sealant_gun.dm b/code/modules/sealant_gun/sealant_gun.dm index 527d0fc4448..57dc500ade3 100644 --- a/code/modules/sealant_gun/sealant_gun.dm +++ b/code/modules/sealant_gun/sealant_gun.dm @@ -22,10 +22,12 @@ if(loaded_tank) add_overlay("[icon_state]-tank") -/obj/item/gun/launcher/sealant/adjust_mob_overlay(mob/living/user_mob, bodytype, image/overlay, slot, bodypart, use_fallback_if_icon_missing = TRUE) +/obj/item/gun/launcher/sealant/apply_gun_mob_overlays(var/mob/living/user_mob, var/bodytype, var/image/overlay, var/slot, var/bodypart) if(overlay && loaded_tank) - overlay.overlays += image(overlay.icon, "[overlay.icon_state]-tank") - . = ..() + var/tank_state = "[overlay.icon_state]-tank" + if(check_state_in_icon(tank_state, overlay.icon)) + overlay.overlays += image(overlay.icon, tank_state) + ..() /obj/item/gun/launcher/sealant/mapped loaded_tank = /obj/item/sealant_tank/mapped diff --git a/code/modules/security levels/keycard_authentication.dm b/code/modules/security levels/keycard_authentication.dm index 036f61b6f6b..6af4ec58fdc 100644 --- a/code/modules/security levels/keycard_authentication.dm +++ b/code/modules/security levels/keycard_authentication.dm @@ -9,7 +9,7 @@ active_power_usage = 6 power_channel = ENVIRON obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-20}, 'SOUTH':{'y':28}, 'EAST':{'x':-24}, 'WEST':{'x':24}}" + directional_offset = @'{"NORTH":{"y":-20}, "SOUTH":{"y":28}, "EAST":{"x":-24}, "WEST":{"x":24}}' var/active = 0 //This gets set to 1 on all devices except the one where the initial request was made. var/event = "" @@ -79,7 +79,7 @@ else dat += "
  • Engage [security_state.high_security_level.name]
  • " - if(!config.ert_admin_call_only) + if(!get_config_value(/decl/config/toggle/ert_admin_call_only)) dat += "
  • Emergency Response Team
  • " dat += "
  • Grant Emergency Maintenance Access
  • " @@ -130,10 +130,10 @@ if(KA == src) continue KA.reset() - addtimer(CALLBACK(src, .proc/receive_request, src, initial_card.resolve())) + addtimer(CALLBACK(src, PROC_REF(receive_request), src, initial_card.resolve())) if(confirm_delay) - addtimer(CALLBACK(src, .proc/broadcast_check), confirm_delay) + addtimer(CALLBACK(src, PROC_REF(broadcast_check)), confirm_delay) /obj/machinery/keycard_auth/proc/broadcast_check() if(confirmed) @@ -192,8 +192,9 @@ SSstatistics.add_field("alert_keycard_auth_nukecode",1) /obj/machinery/keycard_auth/proc/is_ert_blocked() - if(config.ert_admin_call_only) return 1 - return SSticker.mode && SSticker.mode.ert_disabled + if(get_config_value(/decl/config/toggle/ert_admin_call_only)) + return TRUE + return SSticker.mode?.ert_disabled /obj/machinery/keycard_auth/update_directional_offset(force = FALSE) if(!force && (!length(directional_offset) || !is_wall_mounted())) //Check if the thing is actually mapped onto a table or something diff --git a/code/modules/shield_generators/handheld_diffuser.dm b/code/modules/shield_generators/handheld_diffuser.dm index 466ca25642f..d74998a1b38 100644 --- a/code/modules/shield_generators/handheld_diffuser.dm +++ b/code/modules/shield_generators/handheld_diffuser.dm @@ -3,7 +3,7 @@ desc = "A small handheld device designed to disrupt energy barriers." icon = 'icons/obj/machines/shielding.dmi' icon_state = "hdiffuser_off" - origin_tech = "{'magnets':5,'powerstorage':5,'esoteric':2}" + origin_tech = @'{"magnets":5,"powerstorage":5,"esoteric":2}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/shield_generators/shield.dm b/code/modules/shield_generators/shield.dm index f4f1c140349..af9266beaba 100644 --- a/code/modules/shield_generators/shield.dm +++ b/code/modules/shield_generators/shield.dm @@ -322,7 +322,7 @@ affected_shields |= src i-- if(i) - addtimer(CALLBACK(src, .proc/spread_impact_effect, i, affected_shields), 2) + addtimer(CALLBACK(src, PROC_REF(spread_impact_effect), i, affected_shields), 2) /obj/effect/shield/proc/spread_impact_effect(var/i, var/list/affected_shields = list()) for(var/direction in global.cardinal) diff --git a/code/modules/shield_generators/shield_generator.dm b/code/modules/shield_generators/shield_generator.dm index d0a84fc3e8f..0b4a9d14a47 100644 --- a/code/modules/shield_generators/shield_generator.dm +++ b/code/modules/shield_generators/shield_generator.dm @@ -57,7 +57,7 @@ for(var/st in subtypesof(/datum/shield_mode/)) var/datum/shield_mode/SM = new st() mode_list.Add(SM) - events_repository.register(/decl/observ/moved, src, src, .proc/update_overmap_shield_list) + events_repository.register(/decl/observ/moved, src, src, PROC_REF(update_overmap_shield_list)) . = INITIALIZE_HINT_LATELOAD /obj/machinery/shield_generator/LateInitialize() diff --git a/code/modules/shuttles/docking_beacon.dm b/code/modules/shuttles/docking_beacon.dm index a8b99cbc9e1..84721e66431 100644 --- a/code/modules/shuttles/docking_beacon.dm +++ b/code/modules/shuttles/docking_beacon.dm @@ -153,7 +153,7 @@ for(var/turf/T in get_turfs()) new /obj/effect/temporary(T, 5 SECONDS,'icons/effects/alphacolors.dmi', "green") projecting = TRUE - addtimer(CALLBACK(src, .proc/allow_projection), 10 SECONDS) // No spamming holograms. + addtimer(CALLBACK(src, PROC_REF(allow_projection)), 10 SECONDS) // No spamming holograms. if(href_list["settings"]) D.ui_interact(user) diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 3d75695bb52..d350dc21c37 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -16,6 +16,7 @@ var/multiz = 0 //how many multiz levels, starts at 0 var/ceiling_type = /turf/unsimulated/floor/shuttle_ceiling + var/force_ceiling_on_init = TRUE // Whether or not to force ceilings turfs to be created above on initialization. var/sound_takeoff = 'sound/effects/shuttle_takeoff.ogg' var/sound_landing = 'sound/effects/shuttle_landing.ogg' @@ -48,7 +49,7 @@ for(var/area_type in shuttle_area) if(istype(area_type, /area)) // If the shuttle area is already an instance, it does not need to be located. areas += area_type - events_repository.register(/decl/observ/destroyed, area_type, src, .proc/remove_shuttle_area) + events_repository.register(/decl/observ/destroyed, area_type, src, PROC_REF(remove_shuttle_area)) continue var/area/A if(map_hash && islist(SSshuttle.map_hash_to_areas[map_hash])) @@ -58,7 +59,7 @@ if(!istype(A)) CRASH("Shuttle \"[name]\" couldn't locate area [area_type].") areas += A - events_repository.register(/decl/observ/destroyed, A, src, .proc/remove_shuttle_area) + events_repository.register(/decl/observ/destroyed, A, src, PROC_REF(remove_shuttle_area)) shuttle_area = areas if(initial_location) @@ -80,8 +81,10 @@ CRASH("A supply shuttle is already defined.") SSsupply.shuttle = src + create_ceiling(force_ceiling_on_init) + /datum/shuttle/proc/remove_shuttle_area(area/area_to_remove) - events_repository.unregister(/decl/observ/destroyed, area_to_remove, src, .proc/remove_shuttle_area) + events_repository.unregister(/decl/observ/destroyed, area_to_remove, src, PROC_REF(remove_shuttle_area)) SSshuttle.shuttle_areas -= area_to_remove shuttle_area -= area_to_remove if(!length(shuttle_area)) @@ -252,14 +255,7 @@ current_location = destination // if there's a zlevel above our destination, paint in a ceiling on it so we retain our air - if(HasAbove(current_location.z)) - for(var/area/A in shuttle_area) - for(var/turf/TD in A.contents) - var/turf/TA = GetAbove(TD) - if(istype(TA, get_base_turf_by_area(TA)) || (istype(TA) && TA.is_open())) - if(get_area(TA) in shuttle_area) - continue - TA.ChangeTurf(ceiling_type, TRUE, TRUE, TRUE) + create_ceiling() handle_pipes_and_power_on_move(new_turfs) @@ -305,6 +301,20 @@ for(var/obj/machinery/atmospherics/pipe as anything in pipes) pipe.build_network() +/datum/shuttle/proc/create_ceiling(force) + if(!HasAbove(current_location.z)) + return + for(var/area/A in shuttle_area) + for(var/turf/TD in A.contents) + // Background turfs don't get a ceiling. + if(TD.turf_flags & TURF_FLAG_BACKGROUND) + continue + var/turf/TA = GetAbove(TD) + if(force || (istype(TA, get_base_turf_by_area(TA)) || (istype(TA) && TA.is_open()))) + if(get_area(TA) in shuttle_area) + continue + TA.ChangeTurf(ceiling_type, TRUE, TRUE, TRUE, TRUE) + //returns 1 if the shuttle has a valid arrive time /datum/shuttle/proc/has_arrive_time() return (moving_status == SHUTTLE_INTRANSIT) diff --git a/code/modules/species/outsider/starlight.dm b/code/modules/species/outsider/starlight.dm index bda48e58f77..76ba51fd1aa 100644 --- a/code/modules/species/outsider/starlight.dm +++ b/code/modules/species/outsider/starlight.dm @@ -69,7 +69,7 @@ splatter_colour = "#ffff00" /decl/species/starlight/handle_death(var/mob/living/carbon/human/H) - addtimer(CALLBACK(H,/mob/proc/dust),0) + addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, dust)),0) /decl/species/starlight/starborn name = "Starborn" diff --git a/code/modules/species/species.dm b/code/modules/species/species.dm index 6e41789c566..2130b66b273 100644 --- a/code/modules/species/species.dm +++ b/code/modules/species/species.dm @@ -22,6 +22,12 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200 var/decl/bodytype/default_bodytype var/base_prosthetics_model = /decl/bodytype/prosthetic/basic_human + // Lists of accessory types for modpack modification of accessory restrictions. + // These lists are pretty broad and indiscriminate in application, don't use + // them for fine detail restriction/allowing if you can avoid it. + var/list/allow_specific_sprite_accessories + var/list/disallow_specific_sprite_accessories + var/list/blood_types = list( /decl/blood_type/aplus, /decl/blood_type/aminus, @@ -287,6 +293,42 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200 available_bodytypes -= bodytype available_bodytypes += GET_DECL(bodytype) + // Update sprite accessory lists for these species. + for(var/accessory_type in allow_specific_sprite_accessories) + var/decl/sprite_accessory/accessory = GET_DECL(accessory_type) + // If this accessory is species restricted, add us to the list. + if(accessory.species_allowed) + accessory.species_allowed |= name + if(!isnull(accessory.body_flags_allowed)) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.body_flags_allowed |= bodytype.body_flags + if(!isnull(accessory.body_flags_denied)) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.body_flags_denied &= ~bodytype.body_flags + if(accessory.bodytype_categories_allowed) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.bodytype_categories_allowed |= bodytype.bodytype_category + if(accessory.bodytype_categories_denied) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.bodytype_categories_allowed -= bodytype.bodytype_category + + for(var/accessory_type in disallow_specific_sprite_accessories) + var/decl/sprite_accessory/accessory = GET_DECL(accessory_type) + if(accessory.species_allowed) + accessory.species_allowed -= name + if(!isnull(accessory.body_flags_allowed)) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.body_flags_allowed &= ~bodytype.body_flags + if(!isnull(accessory.body_flags_denied)) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.body_flags_denied |= bodytype.body_flags + if(accessory.bodytype_categories_allowed) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.bodytype_categories_allowed -= bodytype.bodytype_category + if(accessory.bodytype_categories_denied) + for(var/decl/bodytype/bodytype in available_bodytypes) + accessory.bodytype_categories_allowed |= bodytype.bodytype_category + if(ispath(default_bodytype)) default_bodytype = GET_DECL(default_bodytype) else if(length(available_bodytypes) && !default_bodytype) @@ -499,7 +541,7 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200 H.set_fullscreen(GET_STATUS(H, STAT_BLIND) && !H.equipment_prescription, "blind", /obj/screen/fullscreen/blind) H.set_fullscreen(H.stat == UNCONSCIOUS, "blackout", /obj/screen/fullscreen/blackout) - if(config.welder_vision) + if(get_config_value(/decl/config/toggle/on/welder_vision)) H.set_fullscreen(H.equipment_tint_total, "welder", /obj/screen/fullscreen/impaired, H.equipment_tint_total) var/how_nearsighted = get_how_nearsighted(H) H.set_fullscreen(how_nearsighted, "nearsighted", /obj/screen/fullscreen/oxy, how_nearsighted) diff --git a/code/modules/species/species_bodytype.dm b/code/modules/species/species_bodytype.dm index bd903dbcf0d..ae81a69ab11 100644 --- a/code/modules/species/species_bodytype.dm +++ b/code/modules/species/species_bodytype.dm @@ -23,7 +23,7 @@ var/global/list/bodytypes_by_category = list() var/appearance_flags = 0 // Appearance/display related features. /// What tech levels should limbs of this type use/need? - var/limb_tech = "{'biotech':2}" + var/limb_tech = @'{"biotech":2}' var/icon_cache_uid /// Determines if eyes should render on heads using this bodytype. var/has_eyes = TRUE @@ -204,9 +204,9 @@ var/global/list/bodytypes_by_category = list() if(!breathing_organ && has_organ[BP_LUNGS]) breathing_organ = BP_LUNGS - if(config.grant_default_darksight) - eye_darksight_range = max(eye_darksight_range, config.default_darksight_range) - eye_low_light_vision_effectiveness = max(eye_low_light_vision_effectiveness, config.default_darksight_effectiveness) + if(get_config_value(/decl/config/toggle/grant_default_darksight)) + eye_darksight_range = max(eye_darksight_range, get_config_value(/decl/config/num/default_darksight_range)) + eye_low_light_vision_effectiveness = max(eye_low_light_vision_effectiveness, get_config_value(/decl/config/num/default_darksight_effectiveness)) // Modify organ lists if necessary. if(islist(override_organ_types)) @@ -424,11 +424,11 @@ var/global/list/bodytypes_by_category = list() limb.cavity_max_w_class = max(limb.cavity_max_w_class, get_resized_organ_w_class(initial(I.w_class))) /decl/bodytype/proc/set_default_hair(mob/living/carbon/human/organism, override_existing = TRUE, defer_update_hair = FALSE) - if(!organism.h_style || (override_existing && (organism.h_style != default_h_style))) - organism.h_style = default_h_style + if(!organism.get_hairstyle() || (override_existing && (organism.get_hairstyle() != default_h_style))) + organism.set_hairstyle(default_h_style) . = TRUE - if(!organism.h_style || (override_existing && (organism.f_style != default_f_style))) - organism.f_style = default_f_style + if(!organism.get_hairstyle() || (override_existing && (organism.get_facial_hairstyle() != default_f_style))) + organism.set_facial_hairstyle(default_f_style) . = TRUE if(. && !defer_update_hair) organism.update_hair() @@ -445,9 +445,9 @@ var/global/list/bodytypes_by_category = list() for(var/obj/item/organ/external/E in mannequin.get_external_organs()) E.skin_colour = base_color - mannequin.eye_colour = base_eye_color - mannequin.hair_colour = base_hair_color - mannequin.facial_hair_colour = base_hair_color + mannequin.set_eye_colour(base_eye_color, skip_update = TRUE) + mannequin.set_hair_colour(base_hair_color, skip_update = TRUE) + mannequin.set_facial_hair_colour(base_hair_color, skip_update = TRUE) set_default_hair(mannequin) mannequin.force_update_limbs() diff --git a/code/modules/species/species_bodytype_helpers.dm b/code/modules/species/species_bodytype_helpers.dm index d2efe0d3bca..591054675dc 100644 --- a/code/modules/species/species_bodytype_helpers.dm +++ b/code/modules/species/species_bodytype_helpers.dm @@ -38,4 +38,5 @@ pref.body_markings = base_markings?.Copy() /decl/bodytype/proc/apply_appearance(var/mob/living/carbon/human/H) - H.skin_colour = base_color + if(base_color) + H.set_skin_colour(base_color) diff --git a/code/modules/species/species_bodytype_random.dm b/code/modules/species/species_bodytype_random.dm index 31f90a9fb86..ee73c83f994 100644 --- a/code/modules/species/species_bodytype_random.dm +++ b/code/modules/species/species_bodytype_random.dm @@ -29,7 +29,7 @@ SETUP_RANDOM_COLOR_GETTER(skin_color, skin_colors, HAS_SKIN_COLOR, list( /decl/color_generator/blue_light, /decl/color_generator/green, /decl/color_generator/white)) -SETUP_RANDOM_COLOR_SETTER(skin_color, change_skin_color) +SETUP_RANDOM_COLOR_SETTER(skin_color, set_skin_colour) SETUP_RANDOM_COLOR_GETTER(hair_color, hair_colors, HAS_HAIR_COLOR, list( /decl/color_generator/black, @@ -40,7 +40,7 @@ SETUP_RANDOM_COLOR_GETTER(hair_color, hair_colors, HAS_HAIR_COLOR, list( /decl/color_generator/wheat, /decl/color_generator/old, /decl/color_generator/punk)) -SETUP_RANDOM_COLOR_SETTER(hair_color, change_hair_color) +SETUP_RANDOM_COLOR_SETTER(hair_color, set_hair_colour) SETUP_RANDOM_COLOR_GETTER(eye_color, eye_colors, HAS_EYE_COLOR, list( /decl/color_generator/black, @@ -51,12 +51,12 @@ SETUP_RANDOM_COLOR_GETTER(eye_color, eye_colors, HAS_EYE_COLOR, list( /decl/color_generator/blue_light, /decl/color_generator/green, /decl/color_generator/albino_eye)) -SETUP_RANDOM_COLOR_SETTER(eye_color, change_eye_color) +SETUP_RANDOM_COLOR_SETTER(eye_color, set_eye_colour) /decl/bodytype/proc/get_random_facial_hair_color() return get_random_hair_color() -SETUP_RANDOM_COLOR_SETTER(facial_hair_color, change_facial_hair_color) +SETUP_RANDOM_COLOR_SETTER(facial_hair_color, set_facial_hair_colour) /decl/bodytype/proc/get_random_skin_tone() return random_skin_tone(src) @@ -71,10 +71,10 @@ SETUP_RANDOM_COLOR_SETTER(facial_hair_color, change_facial_hair_color) /mob/living/carbon/human/proc/randomize_hair_style() var/list/L = get_valid_hairstyle_types() - change_hair(SAFEPICK(L)) + set_hairstyle(SAFEPICK(L)) /mob/living/carbon/human/proc/randomize_facial_hair_style() var/list/L = get_valid_facial_hairstyle_types() - change_facial_hair(SAFEPICK(L)) + set_facial_hairstyle(SAFEPICK(L)) #undef SETUP_RANDOM_COLOR_GETTER diff --git a/code/modules/species/species_crystalline_bodytypes.dm b/code/modules/species/species_crystalline_bodytypes.dm index 01082af44cc..15c0f6047bb 100644 --- a/code/modules/species/species_crystalline_bodytypes.dm +++ b/code/modules/species/species_crystalline_bodytypes.dm @@ -5,7 +5,7 @@ **/ /decl/bodytype/crystalline abstract_type = /decl/bodytype/crystalline - limb_tech = "{'materials':4}" + limb_tech = @'{"materials":4}' is_robotic = FALSE material = /decl/material/solid/gemstone/crystal body_flags = BODY_FLAG_CRYSTAL_REFORM | BODY_FLAG_NO_DNA | BODY_FLAG_NO_DEFIB | BODY_FLAG_NO_STASIS diff --git a/code/modules/species/species_shapeshifter.dm b/code/modules/species/species_shapeshifter.dm index 3a8bff664eb..2e8a3ba1059 100644 --- a/code/modules/species/species_shapeshifter.dm +++ b/code/modules/species/species_shapeshifter.dm @@ -33,8 +33,9 @@ var/global/list/wrapped_species_by_ref = list() /decl/species/shapeshifter/handle_post_spawn(var/mob/living/carbon/human/H) if(monochromatic) - H.hair_colour = H.skin_colour - H.facial_hair_colour = H.skin_colour + var/skin_colour = H.get_skin_colour() + H.set_hair_colour(skin_colour, skip_update = TRUE) + H.set_facial_hair_colour(skin_colour, skip_update = TRUE) ..() /decl/species/shapeshifter/get_pain_emote(var/mob/living/carbon/human/H, var/pain_power) @@ -57,12 +58,12 @@ var/global/list/wrapped_species_by_ref = list() var/list/hairstyles = species.get_hair_styles(root_bodytype) if(length(hairstyles)) var/decl/sprite_accessory/new_hair = input("Select a hairstyle.", "Shapeshifter Hair") as null|anything in hairstyles - change_hair(new_hair ? new_hair.type : /decl/sprite_accessory/hair/bald) + set_hairstyle(new_hair ? new_hair.type : /decl/sprite_accessory/hair/bald) var/list/beardstyles = species.get_facial_hair_styles(root_bodytype) if(length(beardstyles)) var/decl/sprite_accessory/new_hair = input("Select a facial hair style.", "Shapeshifter Hair") as null|anything in beardstyles - change_facial_hair(new_hair ? new_hair.type : /decl/sprite_accessory/facial_hair/shaved) + set_facial_hairstyle(new_hair ? new_hair.type : /decl/sprite_accessory/facial_hair/shaved) /mob/living/carbon/human/proc/shapeshifter_select_gender() @@ -115,15 +116,12 @@ var/global/list/wrapped_species_by_ref = list() shapeshifter_set_colour(new_skin) /mob/living/carbon/human/proc/shapeshifter_set_colour(var/new_skin) - - skin_colour = new_skin - + set_skin_colour(new_skin, skip_update = TRUE) var/decl/species/shapeshifter/S = species if(S.monochromatic) - hair_colour = skin_colour - facial_hair_colour = skin_colour - + var/skin_colour = get_skin_colour() + set_hair_colour(skin_colour, skip_update = TRUE) + set_facial_hair_colour(skin_colour, skip_update = TRUE) for(var/obj/item/organ/external/E in get_external_organs()) E.sync_colour_to_human(src) - try_refresh_visible_overlays() diff --git a/code/modules/species/station/monkey_bodytypes.dm b/code/modules/species/station/monkey_bodytypes.dm index 7d7fb09acb7..3d622631b7e 100644 --- a/code/modules/species/station/monkey_bodytypes.dm +++ b/code/modules/species/station/monkey_bodytypes.dm @@ -5,8 +5,8 @@ blood_overlays = 'icons/mob/human_races/species/monkey/blood_overlays.dmi' health_hud_intensity = 1.75 bodytype_flag = BODY_FLAG_MONKEY + eye_icon = null override_limb_types = list( - BP_HEAD = /obj/item/organ/external/head/no_eyes, BP_TAIL = /obj/item/organ/external/tail/monkey ) mob_size = MOB_SIZE_SMALL diff --git a/code/modules/spells/general/veil_of_shadows.dm b/code/modules/spells/general/veil_of_shadows.dm index 0b189f8efbc..4d328e65db0 100644 --- a/code/modules/spells/general/veil_of_shadows.dm +++ b/code/modules/spells/general/veil_of_shadows.dm @@ -22,8 +22,8 @@ H.AddMovementHandler(/datum/movement_handler/mob/incorporeal) if(H.add_cloaking_source(src)) H.visible_message("\The [H] shrinks from view!") - events_repository.register(/decl/observ/moved, H,src,.proc/check_light) - timer_id = addtimer(CALLBACK(src,.proc/cancel_veil),duration, TIMER_STOPPABLE) + events_repository.register(/decl/observ/moved, H,src,PROC_REF(check_light)) + timer_id = addtimer(CALLBACK(src,PROC_REF(cancel_veil)),duration, TIMER_STOPPABLE) /spell/veil_of_shadows/proc/cancel_veil() var/mob/living/carbon/human/H = holder @@ -35,7 +35,7 @@ drop_cloak() else events_repository.unregister(/decl/observ/moved, H,src) - events_repository.register(/decl/observ/moved, H,src,.proc/drop_cloak) + events_repository.register(/decl/observ/moved, H,src,PROC_REF(drop_cloak)) /spell/veil_of_shadows/proc/drop_cloak() var/mob/living/carbon/human/H = holder diff --git a/code/modules/spells/hand/hand.dm b/code/modules/spells/hand/hand.dm index f17f55c1707..a533cc3dbb3 100644 --- a/code/modules/spells/hand/hand.dm +++ b/code/modules/spells/hand/hand.dm @@ -75,7 +75,7 @@ /spell/hand/duration/cast(var/list/targets, var/mob/user) . = ..() if(.) - hand_timer = addtimer(CALLBACK(src, .proc/cancel_hand), hand_duration, TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_NO_HASH_WAIT|TIMER_OVERRIDE) + hand_timer = addtimer(CALLBACK(src, PROC_REF(cancel_hand)), hand_duration, TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_NO_HASH_WAIT|TIMER_OVERRIDE) /spell/hand/duration/cancel_hand() deltimer(hand_timer) diff --git a/code/modules/spells/spells.dm b/code/modules/spells/spells.dm index d2dc6a0201e..ad550747a7f 100644 --- a/code/modules/spells/spells.dm +++ b/code/modules/spells/spells.dm @@ -31,7 +31,7 @@ /mob/proc/add_spell(var/spell/spell_to_add, var/spell_base = "wiz_spell_ready") if(!ability_master) - ability_master = new() + ability_master = new(null, src) spell_to_add.holder = src if(mind) if(!mind.learned_spells) diff --git a/code/modules/spells/targeted/cleric_spells.dm b/code/modules/spells/targeted/cleric_spells.dm index e3ea0071e9f..59545660c56 100644 --- a/code/modules/spells/targeted/cleric_spells.dm +++ b/code/modules/spells/targeted/cleric_spells.dm @@ -181,7 +181,7 @@ var/time = (L.getBruteLoss() + L.getFireLoss()) * 20 L.status_flags &= GODMODE to_chat(L,"You will be in stasis for [time/10] second\s.") - addtimer(CALLBACK(src,.proc/cancel_rift),time) + addtimer(CALLBACK(src,PROC_REF(cancel_rift)),time) /spell/targeted/heal_target/trance/Destroy() cancel_rift() @@ -220,7 +220,7 @@ should_wait = 0 break //Don't need to check anymore. if(should_wait) - addtimer(CALLBACK(src,.proc/check_for_revoke,targets), 30 SECONDS) + addtimer(CALLBACK(src,PROC_REF(check_for_revoke),targets), 30 SECONDS) else revoke_spells() diff --git a/code/modules/spells/targeted/ethereal_jaunt.dm b/code/modules/spells/targeted/ethereal_jaunt.dm index 9f3885664c9..fd741613209 100644 --- a/code/modules/spells/targeted/ethereal_jaunt.dm +++ b/code/modules/spells/targeted/ethereal_jaunt.dm @@ -107,7 +107,7 @@ else to_chat(user, "Some strange aura is blocking the way!") canmove = 0 - addtimer(CALLBACK(src, .proc/allow_move), 2) + addtimer(CALLBACK(src, PROC_REF(allow_move)), 2) /obj/effect/dummy/spell_jaunt/proc/allow_move() canmove = TRUE diff --git a/code/modules/spells/targeted/shapeshift.dm b/code/modules/spells/targeted/shapeshift.dm index e8dd5093dac..b45e03c42eb 100644 --- a/code/modules/spells/targeted/shapeshift.dm +++ b/code/modules/spells/targeted/shapeshift.dm @@ -55,9 +55,9 @@ M.forceMove(trans) //move inside the new dude to hide him. M.status_flags |= GODMODE //dont want him to die or breathe or do ANYTHING transformed_dudes[trans] = M - events_repository.register(/decl/observ/death, trans,src,/spell/targeted/shapeshift/proc/stop_transformation) - events_repository.register(/decl/observ/destroyed, trans,src,/spell/targeted/shapeshift/proc/stop_transformation) - events_repository.register(/decl/observ/destroyed, M, src, /spell/targeted/shapeshift/proc/destroyed_transformer) + events_repository.register(/decl/observ/death, trans,src, TYPE_PROC_REF(/spell/targeted/shapeshift, stop_transformation)) + events_repository.register(/decl/observ/destroyed, trans,src, TYPE_PROC_REF(/spell/targeted/shapeshift, stop_transformation)) + events_repository.register(/decl/observ/destroyed, M, src, TYPE_PROC_REF(/spell/targeted/shapeshift, destroyed_transformer)) if(duration) spawn(duration) stop_transformation(trans) diff --git a/code/modules/sprite_accessories/_accessory.dm b/code/modules/sprite_accessories/_accessory.dm index a78cab57bf4..78ade6f2489 100644 --- a/code/modules/sprite_accessories/_accessory.dm +++ b/code/modules/sprite_accessories/_accessory.dm @@ -10,33 +10,63 @@ have to define any UI values for sprite accessories manually for hair and facial hair. Just add in new hair types and the game will naturally adapt. - !!WARNING!!: changing existing hair information can be VERY hazardous to savefiles, - to the point where you may completely corrupt a server's savefiles. Please refrain - from doing this unless you absolutely know what you are doing, and have defined a - conversion in savefile.dm + Changing icon states, icon files and names should not represent any risks to + existing savefiles, but please do not change decl uids unless you are very sure + you know what you're doing and don't mind potentially causing people's savefiles + to load the default values for the marking category in question. */ /decl/sprite_accessory abstract_type = /decl/sprite_accessory decl_flags = DECL_FLAG_MANDATORY_UID - var/name // The preview name of the accessory - var/icon // the icon file the accessory is located in - var/icon_state // the icon_state of the accessory - var/required_gender = null // Restricted to specific genders. null matches any - var/list/species_allowed = list(SPECIES_HUMAN) // Restrict some styles to specific root species names - var/list/subspecies_allowed // Restrict some styles to specific species names, irrespective of root species name - var/body_flags_allowed = null // Restrict some styles to specific bodytype flags - var/body_flags_denied = null // Restrict some styles to specific bodytype flags - var/list/bodytype_categories_allowed = null // Restricts some styles to specific bodytype categories - var/list/bodytype_categories_denied = null // Restricts some styles to specific bodytype categories - - var/do_colouration = 1 // Whether or not the accessory can be affected by colouration - var/blend = ICON_ADD + /// The preview name of the accessory + var/name + /// the icon file the accessory is located in + var/icon + /// the icon_state of the accessory + var/icon_state + /// Restricted to specific bodytypes. null matches any + var/list/decl/bodytype/bodytypes_allowed + /// Restricted from specific bodytypes. null matches none + var/list/decl/bodytype/bodytypes_denied + /// Restrict some styles to specific root species names + var/list/species_allowed = list(SPECIES_HUMAN) + /// Restrict some styles to specific species names, irrespective of root species name + var/list/subspecies_allowed + /// Restrict some styles to specific bodytype flags. + var/body_flags_allowed + /// Restrict some styles to specific bodytype flags. + var/body_flags_denied + /// Restricts some styles to specific bodytype categories + var/list/bodytype_categories_allowed + /// Restricts some styles to specific bodytype categories + var/list/bodytype_categories_denied + /// Slot to check equipment for when hiding this accessory. + var/hidden_by_gear_slot + /// Flag to check equipment for when hiding this accessory. + var/hidden_by_gear_flag + /// Whether or not the accessory can be affected by colouration + var/do_colouration = TRUE + /// Various flags controlling some checks and behavior. var/flags = 0 + /// Flags to check when applying this accessory to the mob. + var/requires_appearance_flags = 0 + /// Icon cache for various icon generation steps. + var/list/cached_icons = list() + /// Whether or not this overlay should be trimmed to fit the base bodypart icon. + var/mask_to_bodypart = FALSE + /// What blend mode to use when colourizing this accessory. + var/color_blend = ICON_ADD + /// What blend mode to use when applying this accessory to the compiled organ. + var/layer_blend = ICON_OVERLAY + /// What bodypart tags does this marking apply to? + var/list/body_parts + /// Set to a layer integer to apply this as an overlay over the top of hair and such. + var/sprite_overlay_layer + /// A list of sprite accessory types that are disallowed by this one being included. + var/list/disallows_accessories /decl/sprite_accessory/proc/accessory_is_available(var/mob/owner, var/decl/species/species, var/decl/bodytype/bodytype) - if(!isnull(required_gender) && bodytype.associated_gender != required_gender) - return FALSE if(species) var/species_is_permitted = TRUE if(species_allowed) @@ -46,6 +76,10 @@ if(!species_is_permitted) return FALSE if(bodytype) + if(LAZYLEN(bodytypes_allowed) && !(bodytype.type in bodytypes_allowed)) + return FALSE + if(LAZYISIN(bodytypes_denied, bodytype.type)) + return FALSE if(!isnull(bodytype_categories_allowed) && !(bodytype.bodytype_category in bodytype_categories_allowed)) return FALSE if(!isnull(bodytype_categories_denied) && (bodytype.bodytype_category in bodytype_categories_denied)) @@ -54,18 +88,51 @@ return FALSE if(!isnull(body_flags_denied) && (body_flags_denied & bodytype.bodytype_flag)) return FALSE + if(requires_appearance_flags && !(bodytype.appearance_flags & requires_appearance_flags)) + return FALSE return TRUE -/decl/sprite_accessory/proc/get_validatable_icon_state() - return icon_state - /decl/sprite_accessory/validate() . = ..() if(!icon) . += "missing icon" else - var/actual_icon_state = get_validatable_icon_state() - if(!actual_icon_state) + if(!icon_state) . += "missing icon_state" - else if(!check_state_in_icon(actual_icon_state, icon)) - . += "missing icon state \"[actual_icon_state]\" in [icon]" + else if(!check_state_in_icon(icon_state, icon)) + . += "missing icon state \"[icon_state]\" in [icon]" + +/decl/sprite_accessory/proc/get_hidden_substitute() + return + +/decl/sprite_accessory/proc/is_hidden(var/obj/item/organ/external/organ) + if(!organ?.owner) + return FALSE + if(hidden_by_gear_slot) + var/obj/item/hiding = organ.owner.get_equipped_item(hidden_by_gear_slot) + if(!hiding) + return FALSE + return (hiding.flags_inv & hidden_by_gear_flag) + return FALSE + +/decl/sprite_accessory/proc/get_accessory_icon(var/obj/item/organ/external/organ) + return icon + +/decl/sprite_accessory/proc/get_cached_accessory_icon(var/obj/item/organ/external/organ, var/color = COLOR_WHITE) + ASSERT(istext(color) && (length(color) == 7 || length(color) == 9)) + if(!icon_state) + return null + LAZYINITLIST(cached_icons[organ.bodytype]) + LAZYINITLIST(cached_icons[organ.bodytype][organ.organ_tag]) + var/icon/accessory_icon = cached_icons[organ.bodytype][organ.organ_tag][color] + if(!accessory_icon) + accessory_icon = icon(get_accessory_icon(organ), icon_state) // make a new one to avoid mutating the base + if(!accessory_icon) + cached_icons[organ.bodytype][organ.organ_tag][color] = null + return null + if(mask_to_bodypart) + accessory_icon.Blend(get_limb_mask_for(organ.bodytype, organ.organ_tag), ICON_MULTIPLY) + if(do_colouration && color) + accessory_icon.Blend(color, color_blend) + cached_icons[organ.bodytype][organ.organ_tag][color] = accessory_icon + return accessory_icon diff --git a/code/modules/sprite_accessories/_accessory_facial.dm b/code/modules/sprite_accessories/_accessory_facial.dm index ea5338b8db0..37a00b5254b 100644 --- a/code/modules/sprite_accessories/_accessory_facial.dm +++ b/code/modules/sprite_accessories/_accessory_facial.dm @@ -9,14 +9,18 @@ /decl/sprite_accessory/facial_hair abstract_type = /decl/sprite_accessory/facial_hair icon = 'icons/mob/human_races/species/human/facial.dmi' + hidden_by_gear_slot = slot_head_str + hidden_by_gear_flag = BLOCK_HEAD_HAIR + body_parts = list(BP_HEAD) -/decl/sprite_accessory/facial_hair/get_validatable_icon_state() - return "[icon_state]_s" +/decl/sprite_accessory/facial_hair/get_hidden_substitute() + return GET_DECL(/decl/sprite_accessory/facial_hair/shaved) /decl/sprite_accessory/facial_hair/shaved name = "Shaved" icon_state = "bald" - required_gender = null + bodytypes_allowed = null + bodytypes_denied = null species_allowed = null subspecies_allowed = null bodytype_categories_allowed = null diff --git a/code/modules/sprite_accessories/_accessory_hair.dm b/code/modules/sprite_accessories/_accessory_hair.dm index 0732fc0eb3c..613a52e7259 100644 --- a/code/modules/sprite_accessories/_accessory_hair.dm +++ b/code/modules/sprite_accessories/_accessory_hair.dm @@ -9,15 +9,21 @@ /decl/sprite_accessory/hair abstract_type = /decl/sprite_accessory/hair icon = 'icons/mob/human_races/species/human/hair.dmi' + hidden_by_gear_slot = slot_head_str + hidden_by_gear_flag = BLOCK_HEAD_HAIR + body_parts = list(BP_HEAD) -/decl/sprite_accessory/hair/get_validatable_icon_state() - return "[icon_state]_s" +/decl/sprite_accessory/hair/get_hidden_substitute() + if(flags & VERY_SHORT) + return src + return GET_DECL(/decl/sprite_accessory/hair/short) /decl/sprite_accessory/hair/bald name = "Bald" icon_state = "bald" flags = VERY_SHORT | HAIR_BALD - required_gender = null + bodytypes_allowed = null + bodytypes_denied = null species_allowed = null subspecies_allowed = null bodytype_categories_allowed = null diff --git a/code/modules/sprite_accessories/_accessory_markings.dm b/code/modules/sprite_accessories/_accessory_markings.dm index 99d73ccab36..6abf3c86e31 100644 --- a/code/modules/sprite_accessories/_accessory_markings.dm +++ b/code/modules/sprite_accessories/_accessory_markings.dm @@ -3,31 +3,7 @@ icon = 'icons/mob/human_races/species/default_markings.dmi' do_colouration = 1 //Almost all of them have it, COLOR_ADD abstract_type = /decl/sprite_accessory/marking - //Empty list is unrestricted. Should only restrict the ones that make NO SENSE on other species, - //like IPC optics overlay stuff. - var/layer_blend = ICON_OVERLAY - var/body_parts = list() //A list of bodyparts this covers, in organ_tag defines - //Reminder: BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_CHEST,BP_GROIN,BP_HEAD - var/draw_target = MARKING_TARGET_SKIN - var/list/disallows = list() //A list of other marking types to ban from adding when this marking is already added - var/list/icons = list() - var/mask_to_bodypart = TRUE - -/decl/sprite_accessory/marking/proc/get_cached_marking_icon(var/decl/bodytype/bodytype, var/bodypart, var/color = COLOR_WHITE) - LAZYINITLIST(icons[bodytype]) - LAZYINITLIST(icons[bodytype][bodypart]) - if(!icons[bodytype][bodypart][color]) - var/icon/marking_icon = icon(icon, icon_state) // make a new one to avoid mutating the base - if(mask_to_bodypart) - marking_icon.Blend(get_limb_mask_for(bodytype, bodypart), ICON_MULTIPLY) - marking_icon.Blend(color, blend) - icons[bodytype][bodypart][color] = marking_icon - return icons[bodytype][bodypart][color] - -/decl/sprite_accessory/marking/validate() - . = ..() - if(!check_state_in_icon(icon_state, icon)) - . += "missing icon state \"[icon_state]\" in [icon]" + mask_to_bodypart = TRUE /decl/sprite_accessory/marking/tat_hive name = "Tattoo (Hive, Back)" diff --git a/code/modules/status_conditions/status_sleeping.dm b/code/modules/status_conditions/status_sleeping.dm index d70e8c3b8b5..7c64e3b2083 100644 --- a/code/modules/status_conditions/status_sleeping.dm +++ b/code/modules/status_conditions/status_sleeping.dm @@ -9,14 +9,10 @@ . = ..() victim.facing_dir = null victim.UpdateLyingBuckledAndVerbStatus() - if(ishuman(victim)) - var/mob/living/carbon/human/H = victim - H.handle_dreams() - H.species.handle_sleeping(H) + victim.handle_dreams() + victim.get_species()?.handle_sleeping(victim) /decl/status_condition/sleeping/handle_status(mob/living/victim, var/amount) . = ..() - if(ishuman(victim)) - var/mob/living/carbon/human/H = victim - H.handle_dreams() - H.species.handle_sleeping(H) + victim.handle_dreams() + victim.get_species()?.handle_sleeping(victim) diff --git a/code/modules/submaps/submap_landmark.dm b/code/modules/submaps/submap_landmark.dm index 65cf96aa48e..7bf42c3fec0 100644 --- a/code/modules/submaps/submap_landmark.dm +++ b/code/modules/submaps/submap_landmark.dm @@ -1,10 +1,12 @@ /obj/abstract/submap_landmark - icon = 'icons/misc/mark.dmi' - invisibility = INVISIBILITY_MAXIMUM - anchored = TRUE - simulated = FALSE - density = FALSE - opacity = FALSE + icon = 'icons/misc/mark.dmi' + invisibility = INVISIBILITY_MAXIMUM + anchored = TRUE + simulated = FALSE + density = FALSE + opacity = FALSE + abstract_type = /obj/abstract/submap_landmark + is_spawnable_type = FALSE /obj/abstract/submap_landmark/joinable_submap icon_state = "x4" diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index dfa03826dc4..dce747435be 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -562,7 +562,7 @@ var/global/list/supermatter_delam_accent_sounds = list( animate_filter("rays",list(time = 2 SECONDS, size = 80, loop=-1, flags = ANIMATION_PARALLEL)) animate(time = 2 SECONDS, size = 10, loop=-1, flags = ANIMATION_PARALLEL) - addtimer(CALLBACK(src, .proc/finish_damage_animation), 12 SECONDS) + addtimer(CALLBACK(src, PROC_REF(finish_damage_animation)), 12 SECONDS) /obj/machinery/power/supermatter/proc/finish_damage_animation() damage_animation = FALSE diff --git a/code/modules/synthesized_instruments/event_manager.dm b/code/modules/synthesized_instruments/event_manager.dm index 8ca067e6716..182ab68b3b0 100644 --- a/code/modules/synthesized_instruments/event_manager.dm +++ b/code/modules/synthesized_instruments/event_manager.dm @@ -68,7 +68,7 @@ if (active) return 0 src.active = 1 - addtimer(CALLBACK(src, .proc/handle_events), 0) + addtimer(CALLBACK(src, PROC_REF(handle_events)), 0) /datum/musical_event_manager/proc/deactivate() if (src.kill_loop) return 0 diff --git a/code/modules/synthesized_instruments/song.dm b/code/modules/synthesized_instruments/song.dm index f24bdf289f1..090324ac2af 100644 --- a/code/modules/synthesized_instruments/song.dm +++ b/code/modules/synthesized_instruments/song.dm @@ -191,7 +191,7 @@ var/list/allowed_suff = list("b", "n", "#", "s") var/list/note_off_delta = list("a"=91, "b"=91, "c"=98, "d"=98, "e"=98, "f"=98, "g"=98) var/list/lines_copy = src.lines.Copy() - addtimer(CALLBACK(src, .proc/play_lines, user, allowed_suff, note_off_delta, lines_copy), 0) + addtimer(CALLBACK(src, PROC_REF(play_lines), user, allowed_suff, note_off_delta, lines_copy), 0) #undef CP #undef IS_DIGIT diff --git a/code/modules/synthesized_instruments/sound_player.dm b/code/modules/synthesized_instruments/sound_player.dm index 2224721e424..20df81d5456 100644 --- a/code/modules/synthesized_instruments/sound_player.dm +++ b/code/modules/synthesized_instruments/sound_player.dm @@ -26,7 +26,7 @@ src.actual_instrument = where src.echo = global.musical_config.echo_default.Copy() src.env = global.musical_config.env_default.Copy() - src.proxy_listener = new(src.actual_instrument, /datum/sound_player/proc/on_turf_entered_relay, /datum/sound_player/proc/on_turfs_changed_relay, range, proc_owner = src) + src.proxy_listener = new(src.actual_instrument, TYPE_PROC_REF(/datum/sound_player, on_turf_entered_relay), TYPE_PROC_REF(/datum/sound_player, on_turfs_changed_relay), range, proc_owner = src) proxy_listener.register_turfs() /datum/sound_player/Destroy() diff --git a/code/modules/synthesized_instruments/sound_token.dm b/code/modules/synthesized_instruments/sound_token.dm index 3de8c409edf..a495fe3dd3c 100644 --- a/code/modules/synthesized_instruments/sound_token.dm +++ b/code/modules/synthesized_instruments/sound_token.dm @@ -32,7 +32,7 @@ listeners = list() listener_status = list() - events_repository.register(/decl/observ/destroyed, source, src, /datum/proc/qdel_self) + events_repository.register(/decl/observ/destroyed, source, src, TYPE_PROC_REF(/datum, qdel_self)) player.subscribe(src) diff --git a/code/modules/tools/tool_archetype_definition_pen.dm b/code/modules/tools/tool_archetype_definition_pen.dm index 87c7aae992c..59c4e08d875 100644 --- a/code/modules/tools/tool_archetype_definition_pen.dm +++ b/code/modules/tools/tool_archetype_definition_pen.dm @@ -21,14 +21,16 @@ else . = "Anonymous" -/decl/tool_archetype/pen/proc/decrement_uses(var/mob/user, var/obj/item/tool, var/decrement = 1) +/decl/tool_archetype/pen/proc/decrement_uses(var/mob/user, var/obj/item/tool, var/decrement = 1, var/destroy_on_zero = TRUE) . = tool.get_tool_property(TOOL_PEN, TOOL_PROP_USES) if(. < 0) return TRUE . -= decrement tool.set_tool_property(TOOL_PEN, TOOL_PROP_USES, max(0, .)) //Prevent negatives and turning the pen into an infinite uses pen if(. <= 0 && (tool.get_tool_property(TOOL_PEN, TOOL_PROP_PEN_FLAG) & PEN_FLAG_DEL_EMPTY)) - qdel(tool) + . = 0 + if(destroy_on_zero) + qdel(tool) /**Toggles the active/inactive state of some pens */ /decl/tool_archetype/pen/proc/toggle_active(var/mob/user, var/obj/item/pen/tool) diff --git a/code/modules/tooltip/tooltip.dm b/code/modules/tooltip/tooltip.dm index 6ff51f087a4..edd50670dce 100644 --- a/code/modules/tooltip/tooltip.dm +++ b/code/modules/tooltip/tooltip.dm @@ -88,7 +88,7 @@ Notes: queueHide = !!showing if (queueHide) - addtimer(CALLBACK(src, .proc/do_hide), 1) + addtimer(CALLBACK(src, PROC_REF(do_hide)), 1) else do_hide() diff --git a/code/modules/turbolift/turbolift.dm b/code/modules/turbolift/turbolift.dm index 7005f2f332c..96c8276a2af 100644 --- a/code/modules/turbolift/turbolift.dm +++ b/code/modules/turbolift/turbolift.dm @@ -40,11 +40,11 @@ /datum/turbolift/proc/open_doors(var/datum/turbolift_floor/use_floor = current_floor) for(var/obj/machinery/door/airlock/door in (use_floor ? (doors + use_floor.doors) : doors)) - INVOKE_ASYNC(door, /obj/machinery/door/proc/open) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door, open)) /datum/turbolift/proc/close_doors(var/datum/turbolift_floor/use_floor = current_floor) for(var/obj/machinery/door/airlock/door in (use_floor ? (doors + use_floor.doors) : doors)) - INVOKE_ASYNC(door, /obj/machinery/door/proc/close) + INVOKE_ASYNC(door, TYPE_PROC_REF(/obj/machinery/door, close)) #define LIFT_MOVING 1 #define LIFT_WAITING_A 2 diff --git a/code/modules/turbolift/turbolift_areas.dm b/code/modules/turbolift/turbolift_areas.dm index 10276564fac..b120e932e41 100644 --- a/code/modules/turbolift/turbolift_areas.dm +++ b/code/modules/turbolift/turbolift_areas.dm @@ -1,8 +1,8 @@ // Used for creating the exchange areas. /area/turbolift - name = "Turbolift" + name = "\improper Turbolift" base_turf = /turf/simulated/open - requires_power = 0 + requires_power = FALSE sound_env = SMALL_ENCLOSED holomap_color = HOLOMAP_AREACOLOR_LIFTS diff --git a/code/modules/turbolift/turbolift_console.dm b/code/modules/turbolift/turbolift_console.dm index dfa7c14bb52..e570d0421ea 100644 --- a/code/modules/turbolift/turbolift_console.dm +++ b/code/modules/turbolift/turbolift_console.dm @@ -6,7 +6,7 @@ density = FALSE layer = ABOVE_OBJ_LAYER obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED - directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}" + directional_offset = @'{"NORTH":{"y":-32}, "SOUTH":{"y":32}, "EAST":{"x":-32}, "WEST":{"x":32}}' var/datum/turbolift/lift /obj/structure/lift/proc/pressed(var/mob/user) diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index b3facf35c84..e995266e03f 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -361,10 +361,10 @@ if(!is_train_head() || !on) move_delay = initial(move_delay) //so that engines that have been turned off don't lag behind else - move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains - move_delay *= (1 / max(1, active_engines)) * 2 //overweight penalty (scaled by the number of engines) - move_delay += config.run_delay //base reference speed - move_delay *= 1.1 //makes cargo trains 10% slower than running when not overweight + move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) // limits base overweight so you cant overspeed trains + move_delay *= (1 / max(1, active_engines)) * 2 // overweight penalty (scaled by the number of engines) + move_delay += get_config_value(/decl/config/num/movement_run) // base reference speed + move_delay *= 1.1 // makes cargo trains 10% slower than running when not overweight /obj/vehicle/train/cargo/trolley/update_car(var/train_length, var/active_engines) src.train_length = train_length diff --git a/code/modules/weather/_weather.dm b/code/modules/weather/_weather.dm index 53c581e5774..7f27ab62ca1 100644 --- a/code/modules/weather/_weather.dm +++ b/code/modules/weather/_weather.dm @@ -23,12 +23,13 @@ */ /obj/abstract/weather_system - plane = DEFAULT_PLANE - layer = ABOVE_PROJECTILE_LAYER - icon = 'icons/effects/weather.dmi' - icon_state = "blank" - invisibility = INVISIBILITY_NONE - appearance_flags = (RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM) + plane = DEFAULT_PLANE + layer = ABOVE_PROJECTILE_LAYER + icon = 'icons/effects/weather.dmi' + icon_state = "blank" + invisibility = INVISIBILITY_NONE + appearance_flags = (RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM) + is_spawnable_type = FALSE var/water_material = /decl/material/liquid/water // Material to use for the properties of rain. var/ice_material = /decl/material/solid/ice // Material to use for the properties of snow and hail. @@ -91,9 +92,10 @@ // Dummy object for lightning flash animation. /obj/abstract/lightning_overlay - plane = EMISSIVE_PLANE - layer = ABOVE_LIGHTING_LAYER - icon = 'icons/effects/weather.dmi' - icon_state = "full" - alpha = 0 - invisibility = INVISIBILITY_NONE + plane = EMISSIVE_PLANE + layer = ABOVE_LIGHTING_LAYER + icon = 'icons/effects/weather.dmi' + icon_state = "full" + alpha = 0 + invisibility = INVISIBILITY_NONE + is_spawnable_type = FALSE diff --git a/code/modules/weather/weather_init.dm b/code/modules/weather/weather_init.dm index c8533997c8d..d5fdc4e5632 100644 --- a/code/modules/weather/weather_init.dm +++ b/code/modules/weather/weather_init.dm @@ -21,7 +21,7 @@ INITIALIZE_IMMEDIATE(/obj/abstract/weather_system) // If we're post-init, init immediately. if(SSweather.initialized) - addtimer(CALLBACK(src, .proc/init_weather), 0) + addtimer(CALLBACK(src, PROC_REF(init_weather)), 0) // Start the weather effects from the highest point; they will propagate downwards during update. /obj/abstract/weather_system/proc/init_weather() diff --git a/code/modules/weather/weather_mob_tracking.dm b/code/modules/weather/weather_mob_tracking.dm index 0a1a318700b..4355918aa8f 100644 --- a/code/modules/weather/weather_mob_tracking.dm +++ b/code/modules/weather/weather_mob_tracking.dm @@ -2,8 +2,8 @@ var/global/list/current_mob_ambience = list() /obj/abstract/weather_system - // Weakref lists used to track mobs within our weather - // system; alternative to keeping big lists of actual mobs or + // Weakref lists used to track mobs within our weather + // system; alternative to keeping big lists of actual mobs or // having mobs constantly poked by weather systems. var/tmp/list/mobs_on_cooldown = list() // Has this mob recently been messed with by the weather? @@ -15,7 +15,7 @@ var/global/list/current_mob_ambience = list() var/mobref = weakref(M) if(!(mobref in mobs_on_cooldown)) mobs_on_cooldown[mobref] = TRUE - addtimer(CALLBACK(src, .proc/clear_cooldown, mobref), delay) + addtimer(CALLBACK(src, PROC_REF(clear_cooldown), mobref), delay) return TRUE return FALSE diff --git a/code/modules/webhooks/_webhook.dm b/code/modules/webhooks/_webhook.dm index e7cfb646cd7..ed5087c06bd 100644 --- a/code/modules/webhooks/_webhook.dm +++ b/code/modules/webhooks/_webhook.dm @@ -10,7 +10,7 @@ if (!target_url) return -1 - var/result = call(HTTP_POST_DLL_LOCATION, "send_post_request")(target_url, payload, json_encode(list("Content-Type" = "application/json"))) + var/result = LIBCALL(HTTP_POST_DLL_LOCATION, "send_post_request")(target_url, payload, json_encode(list("Content-Type" = "application/json"))) result = cached_json_decode(result) if (result["error_code"]) @@ -27,7 +27,7 @@ if(!length(message)) return FALSE - if(config.disable_webhook_embeds) + if(get_config_value(/decl/config/toggle/disable_webhook_embeds)) var/list/embed_content for(var/list/embed in message["embeds"]) if(embed["title"]) diff --git a/code/modules/xenoarcheaology/finds/strange_rock.dm b/code/modules/xenoarcheaology/finds/strange_rock.dm index e30753a5abb..73a4009878f 100644 --- a/code/modules/xenoarcheaology/finds/strange_rock.dm +++ b/code/modules/xenoarcheaology/finds/strange_rock.dm @@ -4,7 +4,7 @@ desc = "Seems to have some unusal strata evident throughout it." icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "strange" - origin_tech = "{'materials':5}" + origin_tech = @'{"materials":5}' material = /decl/material/solid/stone/sandstone var/obj/item/inside diff --git a/code/modules/xenoarcheaology/machinery/artifact_analyser.dm b/code/modules/xenoarcheaology/machinery/artifact_analyser.dm index 5cf1f67dc33..af753c97347 100644 --- a/code/modules/xenoarcheaology/machinery/artifact_analyser.dm +++ b/code/modules/xenoarcheaology/machinery/artifact_analyser.dm @@ -29,7 +29,7 @@ if(!owned_scanner) owned_scanner = locate(/obj/machinery/artifact_scanpad) in orange(1, src) if(owned_scanner) - events_repository.register(/decl/observ/destroyed, owned_scanner, src, /obj/machinery/artifact_analyser/proc/clear_scanner) + events_repository.register(/decl/observ/destroyed, owned_scanner, src, TYPE_PROC_REF(/obj/machinery/artifact_analyser, clear_scanner)) /obj/machinery/artifact_analyser/proc/clear_scanner() if(owned_scanner) @@ -39,7 +39,7 @@ /obj/machinery/artifact_analyser/proc/set_object(var/obj/O) if(O != scanned_object && O) clear_object() - events_repository.register(/decl/observ/destroyed, O, src, /obj/machinery/artifact_analyser/proc/clear_object) + events_repository.register(/decl/observ/destroyed, O, src, TYPE_PROC_REF(/obj/machinery/artifact_analyser, clear_object)) scanned_object = O /obj/machinery/artifact_analyser/proc/clear_object() diff --git a/code/modules/xenoarcheaology/machinery/artifact_harvester.dm b/code/modules/xenoarcheaology/machinery/artifact_harvester.dm index e04ff905dac..3b7f727b735 100644 --- a/code/modules/xenoarcheaology/machinery/artifact_harvester.dm +++ b/code/modules/xenoarcheaology/machinery/artifact_harvester.dm @@ -31,7 +31,7 @@ if(!owned_scanner) owned_scanner = locate(/obj/machinery/artifact_scanpad) in orange(1, src) if(owned_scanner) - events_repository.register(/decl/observ/destroyed, owned_scanner, src, /obj/machinery/artifact_analyser/proc/clear_scanner) + events_repository.register(/decl/observ/destroyed, owned_scanner, src, TYPE_PROC_REF(/obj/machinery/artifact_analyser, clear_scanner)) /obj/machinery/artifact_harvester/Destroy() clear_scanner() @@ -53,7 +53,7 @@ if(cur_artifact == new_artifact || !new_artifact) return clear_artifact() - events_repository.register(/decl/observ/destroyed, new_artifact, src, /obj/machinery/artifact_harvester/proc/clear_artifact) + events_repository.register(/decl/observ/destroyed, new_artifact, src, TYPE_PROC_REF(/obj/machinery/artifact_harvester, clear_artifact)) cur_artifact = new_artifact /obj/machinery/artifact_harvester/attackby(var/obj/I, var/mob/user) diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm index 3f10112a63b..03510f0db9e 100644 --- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm +++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm @@ -134,7 +134,7 @@ activated = 1 current_tick = 0 START_PROCESSING(SSobj, src) - events_repository.register(/decl/observ/moved, src, src, /obj/item/anodevice/proc/on_move) + events_repository.register(/decl/observ/moved, src, src, TYPE_PROC_REF(/obj/item/anodevice, on_move)) if(inserted_battery?.battery_effect?.activated == 0) inserted_battery.battery_effect.ToggleActivate(1) diff --git a/code/modules/xenoarcheaology/tools/anomaly_scanner.dm b/code/modules/xenoarcheaology/tools/anomaly_scanner.dm index 9a09ac427fd..94555b7c17c 100644 --- a/code/modules/xenoarcheaology/tools/anomaly_scanner.dm +++ b/code/modules/xenoarcheaology/tools/anomaly_scanner.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "flashgun" item_state = "flashgun" - origin_tech = "{'wormholes':3,'magnets':3}" + origin_tech = @'{"wormholes":3,"magnets":3}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/metal/aluminium = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/xenoarcheaology/tools/depth_scanner.dm b/code/modules/xenoarcheaology/tools/depth_scanner.dm index 5698d8d2566..c09dedbda44 100644 --- a/code/modules/xenoarcheaology/tools/depth_scanner.dm +++ b/code/modules/xenoarcheaology/tools/depth_scanner.dm @@ -3,7 +3,7 @@ desc = "A device used to check spatial depth and density of rock outcroppings." icon = 'icons/obj/items/device/depth_scanner.dmi' icon_state = ICON_STATE_WORLD - origin_tech = "{'magnets':2,'engineering':2,'wormholes':2}" + origin_tech = @'{"magnets":2,"engineering":2,"wormholes":2}' material = /decl/material/solid/metal/steel matter = list( /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT, diff --git a/code/modules/xenoarcheaology/tools/misc.dm b/code/modules/xenoarcheaology/tools/misc.dm index 3e75af3789c..d16e0d69e92 100644 --- a/code/modules/xenoarcheaology/tools/misc.dm +++ b/code/modules/xenoarcheaology/tools/misc.dm @@ -5,10 +5,10 @@ return list( /obj/item/book/manual/excavation, /obj/item/book/manual/mass_spectrometry, - /obj/item/book/manual/materials_chemistry_analysis, - /obj/item/book/manual/anomaly_testing, - /obj/item/book/manual/anomaly_spectroscopy, - /obj/item/book/manual/stasis, + /obj/item/book/fluff/materials_chemistry_analysis, + /obj/item/book/fluff/anomaly_testing, + /obj/item/book/fluff/anomaly_spectroscopy, + /obj/item/book/fluff/stasis, ) /obj/structure/closet/secure_closet/xenoarchaeologist diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm index 39eb1497975..d2daf82b18d 100644 --- a/code/modules/xenoarcheaology/tools/tools.dm +++ b/code/modules/xenoarcheaology/tools/tools.dm @@ -3,7 +3,7 @@ desc = "A coiled metallic tape used to check dimensions and lengths." icon = 'icons/obj/xenoarchaeology.dmi' icon_state = "measuring" - origin_tech = "{'materials':1}" + origin_tech = @'{"materials":1}' material = /decl/material/solid/metal/steel w_class = ITEM_SIZE_SMALL diff --git a/code/procs/AStar.dm b/code/procs/AStar.dm index e3cf62730d7..01e4213f805 100644 --- a/code/procs/AStar.dm +++ b/code/procs/AStar.dm @@ -12,7 +12,7 @@ And for the distance one i wrote: /turf/proc/Distance So an example use might be: -src.path_list = AStar(src.loc, target.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance) +src.path_list = AStar(src.loc, target.loc, TYPE_PROC_REF(/turf, AdjacentTurfs), TYPE_PROC_REF(/turf, Distance)) Note: The path is returned starting at the END node, so i wrote reverselist to reverse it for ease of use. diff --git a/code/unit_tests/json.dm b/code/unit_tests/json.dm index 84002b7ad5c..a5be63f35bb 100644 --- a/code/unit_tests/json.dm +++ b/code/unit_tests/json.dm @@ -37,6 +37,11 @@ var/list/failures var/list/json_to_check + for(var/subtype in typesof(/obj)) + var/obj/test = subtype + var/check_json = initial(test.directional_offset) + if(!isnull(check_json)) + LAZYSET(json_to_check, "[subtype].directional_offset", check_json) for(var/subtype in typesof(/obj/item)) var/obj/item/test = subtype var/check_json = initial(test.center_of_mass) @@ -62,11 +67,17 @@ var/check_json = initial(test.possible_transfer_amounts) if(!isnull(check_json)) LAZYSET(json_to_check, "[subtype].possible_transfer_amounts", check_json) + var/list/prefabs = decls_repository.get_decls_of_subtype(/decl/prefab/ic_assembly) + for(var/assembly_path in prefabs) + var/decl/prefab/ic_assembly/assembly = prefabs[assembly_path] + var/check_json = assembly.data + if(!isnull(check_json)) + LAZYSET(json_to_check, "[assembly_path].data", check_json) // Validate JSON. for(var/check_key in json_to_check) try var/list/output = cached_json_decode(json_to_check[check_key]) - if(!islist(output) || !length(output)) + if(findtext(json_to_check[check_key], "{'") || !islist(output) || !length(output)) LAZYADD(failures, check_key) catch() LAZYADD(failures, check_key) diff --git a/code/unit_tests/observation_tests.dm b/code/unit_tests/observation_tests.dm index 1ea0867030c..ae519cba6a7 100644 --- a/code/unit_tests/observation_tests.dm +++ b/code/unit_tests/observation_tests.dm @@ -97,7 +97,7 @@ old_name = O.name new_name = O.name + " (New)" - events_repository.register_global(/decl/observ/name_set, src, /datum/unit_test/observation/proc/receive_name_change) + events_repository.register_global(/decl/observ/name_set, src, TYPE_PROC_REF(/datum/unit_test/observation, receive_name_change)) O.SetName(new_name) if(received_name_set_events.len != 1) @@ -240,7 +240,7 @@ exosuit.occupant = holding_mob - events_repository.register(/decl/observ/moved, held_item, src, /datum/unit_test/observation/proc/receive_move) + events_repository.register(/decl/observ/moved, held_item, src, TYPE_PROC_REF(/datum/unit_test/observation, receive_move)) holding_mob.drop_from_inventory(held_item) if(received_moves.len != 1) @@ -320,7 +320,7 @@ var/turf/T = get_safe_turf() var/obj/O = get_named_instance(/obj, T) - events_repository.register_global(/decl/observ/name_set, O, /atom/movable/proc/move_to_turf) + events_repository.register_global(/decl/observ/name_set, O, TYPE_PROC_REF(/atom/movable, move_to_turf)) qdel(O) var/decl/observ/name_set/name_set_event = GET_DECL(/decl/observ/name_set) @@ -347,7 +347,7 @@ var/mob/event_source = get_named_instance(/mob, T, "Event Source") var/mob/listener = get_named_instance(/mob, T, "Event Listener") - events_repository.register(/decl/observ/moved, event_source, listener, /atom/movable/proc/recursive_move) + events_repository.register(/decl/observ/moved, event_source, listener, TYPE_PROC_REF(/atom/movable, recursive_move)) qdel(event_source) var/decl/observ/moved/moved_event = GET_DECL(/decl/observ/moved) @@ -375,7 +375,7 @@ var/mob/event_source = get_named_instance(/mob, T, "Event Source") var/mob/listener = get_named_instance(/mob, T, "Event Listener") - events_repository.register(/decl/observ/moved, event_source, listener, /atom/movable/proc/recursive_move) + events_repository.register(/decl/observ/moved, event_source, listener, TYPE_PROC_REF(/atom/movable, recursive_move)) qdel(listener) var/decl/observ/moved/moved_event = GET_DECL(/decl/observ/moved) diff --git a/code/unit_tests/offset_tests.dm b/code/unit_tests/offset_tests.dm new file mode 100644 index 00000000000..246a5fa3754 --- /dev/null +++ b/code/unit_tests/offset_tests.dm @@ -0,0 +1,92 @@ +/datum/unit_test/wall_objs_shall_face_proper_dir + name = "MAP: Wall mounted objects must face proper direction" + var/static/list/exception_types = list( + /obj/structure/sign/directions, // TODO: remove once directional/rotated subtypes have been created + /obj/structure/emergency_dispenser // these are just kind of fucked, i'll leave it to someone else to make the presets match the directional offsets + ) + +/datum/unit_test/wall_objs_shall_face_proper_dir/start_test() + var/bad_objs = 0 + for(var/obj/structure in world) // includes machinery, structures, and anchored items + if(QDELETED(structure)) + continue + if(!isStationLevel(structure.z)) + continue + if(is_type_in_list(structure, exception_types)) + continue + if(!structure.anchored) + continue + if(!isturf(structure.loc)) + continue + if(!length(structure.directional_offset)) // does not need to be offset + continue + var/list/diroff = cached_json_decode(structure.directional_offset) + var/list/curoff = diroff["[uppertext(dir2text(structure.dir))]"] + if(!curoff) // uh oh! + continue + // If the offset is unset or 0, it's allowed to be whatever. + // If it's nonzero, it must match the sign. + if( + (curoff["x"] && (SIGN(curoff["x"]) != SIGN(structure.pixel_x))) || \ + (curoff["y"] && (SIGN(curoff["y"]) != SIGN(structure.pixel_y))) + ) + bad_objs++ + log_bad("Incorrect offset direction: [log_info_line(structure)]") + continue + + if(bad_objs) + fail("Found [bad_objs] wall-mounted object\s with incorrect directions") + else + pass("All wall-mounted objects have correct directions") + return TRUE + +/datum/unit_test/wall_objs_shall_offset_onto_wall + name = "MAP: Wall mounted objects must offset over walls" + var/static/list/exception_types = list( + /obj/machinery/light, + /obj/machinery/camera, + /obj/structure/lift/button/standalone + ) + +/datum/unit_test/wall_objs_shall_offset_onto_wall/start_test() + var/bad_objs = 0 + for(var/obj/structure in world) // includes machinery, structures, and anchored items + if(QDELETED(structure)) + continue + if(!isStationLevel(structure.z)) + continue + if(is_type_in_list(structure, exception_types)) + continue + if(!structure.anchored) + continue + if(!isturf(structure.loc)) + continue + if(!length(structure.directional_offset)) // does not need to be offset + continue + var/list/diroff = cached_json_decode(structure.directional_offset) + var/list/curoff = diroff["[uppertext(dir2text(structure.dir))]"] + if(!curoff) // structure is not offset in this dir at all + continue + if(structure.loc.density) + bad_objs++ + log_bad("Wall-mounted object on dense turf: [log_info_line(structure)]") + continue + var/adj_x = structure.x + (abs(structure.pixel_x) > 12 ? SIGN(structure.pixel_x) : 0) + var/adj_y = structure.y + (abs(structure.pixel_y) > 12 ? SIGN(structure.pixel_y) : 0) + var/turf/adjusted_loc = locate(adj_x, adj_y, structure.z) + if(!adjusted_loc.density) + var/found_support = FALSE + for(var/obj/structure/S in adjusted_loc) + if(!S.density) // this will be way too forgiving with windows since it doesn't take into account directionality + continue + found_support = TRUE + if(found_support) + continue + bad_objs++ + log_bad("Offset turf did not have a wall or window: [log_info_line(structure)]") + + if(bad_objs) + fail("Found [bad_objs] wall-mounted object\s without a wall or window") + else + pass("All wall-mounted objects are on appropriate walls/windows") + return TRUE \ No newline at end of file diff --git a/code/unit_tests/proximity_tests.dm b/code/unit_tests/proximity_tests.dm index ef196a9b7a8..e9d9729c182 100644 --- a/code/unit_tests/proximity_tests.dm +++ b/code/unit_tests/proximity_tests.dm @@ -133,7 +133,7 @@ /obj/proximity_listener/proc/SetTrigger(trigger_type, listener_flags) QDEL_NULL(trigger) - trigger = new trigger_type(src, /obj/proximity_listener/proc/OnTurfEntered, /obj/proximity_listener/proc/OnTurfsChanged, 7, listener_flags, null, 90, 270) + trigger = new trigger_type(src, TYPE_PROC_REF(/obj/proximity_listener, OnTurfEntered), TYPE_PROC_REF(/obj/proximity_listener, OnTurfsChanged), 7, listener_flags, null, 90, 270) trigger.register_turfs() /obj/proximity_listener/Destroy() diff --git a/code/unit_tests/unit_test.dm b/code/unit_tests/unit_test.dm index f23f690b8b9..ac232116fb8 100644 --- a/code/unit_tests/unit_test.dm +++ b/code/unit_tests/unit_test.dm @@ -151,14 +151,6 @@ var/global/ascii_reset = "[ascii_esc]\[0m" /datum/unit_test/proc/subsystems_to_await() return list() -/proc/load_unit_test_changes() -/* - //This takes about 60 seconds to run during unit testing and is only used for the ZAS vacume check on The Asteroid. - if(config.roundstart_level_generation != 1) - log_unit_test("Overiding Configuration option for Asteroid Generation to ENABLED") - config.roundstart_level_generation = 1 // The default map requires it, the example config doesn't have this enabled. - */ - /proc/get_test_datums() . = list() for(var/test in subtypesof(/datum/unit_test)) diff --git a/code/unit_tests/~unit_test_subsystems.dm b/code/unit_tests/~unit_test_subsystems.dm index 31b6c97c7eb..9cb2e10f314 100644 --- a/code/unit_tests/~unit_test_subsystems.dm +++ b/code/unit_tests/~unit_test_subsystems.dm @@ -16,6 +16,7 @@ SUBSYSTEM_DEF(unit_tests) MAP_TEMPLATE_CATEGORY_AWAYSITE, MAP_TEMPLATE_CATEGORY_PLANET, MAP_TEMPLATE_CATEGORY_EXOPLANET, + MAP_TEMPLATE_CATEGORY_LANDMARK_LOADED ) /datum/controller/subsystem/unit_tests/Initialize(timeofday) diff --git a/config/example/config.txt b/config/example/config.txt deleted file mode 100644 index d41d8fa92cd..00000000000 --- a/config/example/config.txt +++ /dev/null @@ -1,470 +0,0 @@ -## Server name: This appears at the top of the screen in-game. In this case it will read "tgstation: station_name" where station_name is the randomly generated name of the station for the round. Remove the # infront of SERVERNAME and replace 'tgstation' with the name of your choice -# SERVERNAME spacestation13 - -## Hub visibility: If you want to be visible on the hub, uncomment the below line and be sure that Dream Daemon is set to "Visible." This can be changed in-round as well with toggle-hub-visibility if Dream Daemon is set correctly. -# HUB - -## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system. -ADMIN_LEGACY_SYSTEM - -## Add a # infront of this if you want to use the SQL based banning system. The legacy systems use the files in the data folder. You need to set up your database to use the SQL based system. -BAN_LEGACY_SYSTEM - -## Add a # here if you wish to use the setup where jobs have more access. This is intended for servers with low populations - where there are not enough players to fill all roles, so players need to do more than just one job. Also for servers where they don't want people to hide in their own departments. -JOBS_HAVE_MINIMAL_ACCESS - -## Uncomment this and set it to a file path relative to the executing binary to prefix all custom item icon locations with this location ie. '[CUSTOM_ITEM_ICON_LOCATION]/[custom item icon path value]' -# CUSTOM_ITEM_ICON_LOCATION config/custom_items/icons - -## Uncomment this and set it to a file path relative to the executing binary to prefix all custom icon locations with this location ie. '[CUSTOM_ICON_ICON_LOCATION]/[custom icon path value]' -# CUSTOM_ICON_ICON_LOCATION config/custom_icons/icons - -## Unhash this entry to have certain jobs require your account to be at least a certain number of days old to select. You can configure the exact age requirement for different jobs by editing -## the minimal_player_age variable in the files in folder /code/game/jobs/job/.. for the job you want to edit. Set minimal_player_age to 0 to disable age requirement for that job. -## REQUIRES the database set up to work. Keep it hashed if you don't have a database set up. -## NOTE: If you have just set-up the database keep this DISABLED, as player age is determined from the first time they connect to the server with the database up. If you just set it up, it means -## you have noone older than 0 days, since noone has been logged yet. Only turn this on once you have had the database up for 30 days. -#USE_AGE_RESTRICTION_FOR_JOBS - -## Unhash this entry to have certain antag roles require your account to be at least a certain number of days old for round start and auto-spawn selection. -## Non-automatic antagonist recruitment, such as being converted to cultism is not affected. Has the same database requirements and notes as USE_AGE_RESTRICTION_FOR_JOBS. -#USE_AGE_RESTRICTION_FOR_ANTAGS - -## Unhash this to use iterative explosions, keep it hashed to use circle explosions. -#USE_ITERATIVE_EXPLOSIONS - -# The power of explosion required for it to cross Z-levels. -#EXPLOSION_Z_THRESHOLD 10 - -# What to multiply power by when crossing Z-levels. -#EXPLOSION_Z_MULT 0.75 - -## Radiation weakens with distance from the source; stop calculating when the strength falls below this value. Lower values mean radiation reaches smaller (with increasingly trivial damage) at the cost of more CPU usage. Max range = DISTANCE^2 * POWER / RADIATION_LOWER_LIMIT -# RADIATION_LOWER_LIMIT 0.35 - -## log OOC channel -LOG_OOC - -## log client Say -LOG_SAY - -## log admin actions -LOG_ADMIN - -## log client access (logon/logoff) -LOG_ACCESS - -## log game actions (start of round, results, etc.) -LOG_GAME - -## log player votes -LOG_VOTE - -## log client Whisper -LOG_WHISPER - -## log emotes -LOG_EMOTE - -## log attack messages -LOG_ATTACK - -## log pda messages -LOG_PDA - -## log world.log messages -# LOG_WORLD_OUTPUT - -## log all Topic() calls (for use by coders in tracking down Topic issues) -# LOG_HREFS - -## log world.log and runtime errors to a file -# LOG_RUNTIME - -## log admin warning messages -##LOG_ADMINWARN ## Also duplicates a bunch of other messages. - -## disconnect players who did nothing during the set amount of minutes -# KICK_INACTIVE 10 - -## Chooses whether mods have the ability to tempban or not -MODS_CAN_TEMPBAN - -## Chooses whether mods have the ability to issue tempbans for jobs or not -MODS_CAN_JOB_TEMPBAN - -## Maximum mod tempban duration (in minutes) -MOD_TEMPBAN_MAX 1440 - -## Maximum mod job tempban duration (in minutes) -MOD_JOB_TEMPBAN_MAX 1440 - - -## probablities for game modes chosen in "secret" and "random" modes -## -## default probablity is 1, increase to make that mode more likely to be picked -## set to 0 to disable that mode -PROBABILITY EXTENDED 1 -PROBABILITY MALFUNCTION 1 -PROBABILITY MERCENARY 1 -PROBABILITY WIZARD 1 -PROBABILITY CHANGELING 1 -PROBABILITY CULT 1 -PROBABILITY EXTEND-A-TRAITORMONGOUS 6 - -## if possible round types will be hidden from players for secret rounds -#SECRET_HIDE_POSSIBILITIES - -## Hash out to disable random events during the round. -ALLOW_RANDOM_EVENTS - -## if amount of traitors scales or not -TRAITOR_SCALING - -## if objectives are disabled -#OBJECTIVES_DISABLED - -## make ERT's be only called by admins -#ERT_ADMIN_ONLY - -## If uncommented, votes can be called to add extra antags to the round. -#ALLOW_EXTRA_ANTAGS - -## If security is prohibited from being most antagonists -#PROTECT_ROLES_FROM_ANTAGONIST - -## Comment this out to stop admins being able to choose their personal ooccolor -ALLOW_ADMIN_OOCCOLOR - -## allow players to initiate a restart vote -ALLOW_VOTE_RESTART - -## allow players to initate a mode-change start -ALLOW_VOTE_MODE - -## min delay (deciseconds) between voting sessions (default 10 minutes) -VOTE_DELAY 6000 - -## time period (deciseconds) which voting session will last (default 1 minute) -VOTE_PERIOD 600 - -## autovote initial delay (deciseconds) before first automatic transfer vote call (default 180 minutes) -VOTE_AUTOTRANSFER_INITIAL 108000 - -##autovote delay (deciseconds) before sequential automatic transfer votes are called (default 30 minutes) -VOTE_AUTOTRANSFER_INTERVAL 18000 - -## Time left (seconds) before round start when automatic gamemote vote is called (default 160). -VOTE_AUTOGAMEMODE_TIMELEFT 160 - -## prevents dead players from voting or starting votes -#NO_DEAD_VOTE - -## Prevents players not in-round from voting on crew transfer votes. -#NO_DEAD_VOTE_CREW_TRANSFER - -## players' votes default to "No vote" (otherwise, default to "No change") -DEFAULT_NO_VOTE - -## Allow ghosts to see antagonist through AntagHUD -ALLOW_ANTAG_HUD - -## If ghosts use antagHUD they are no longer allowed to join the round. -ANTAG_HUD_RESTRICTED - -## allow AI job -ALLOW_AI - -## disable abandon mob -# NORESPAWN - -## disables calling del(src) on newmobs if they logout before spawnin in -# DONT_DEL_NEWMOB - -## set a hosted by name for unix platforms -HOSTEDBY yournamehere - -## Set to jobban "Guest-" accounts from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions. -## Set to 1 to jobban them from those positions, set to 0 to allow them. -GUEST_JOBBAN - -## Uncomment this to stop people connecting to your server without a registered ckey. (i.e. guest-* are all blocked from connecting) -GUEST_BAN -## Set to jobban everyone who's key is not listed in data/whitelist.txt from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions. -## Uncomment to 1 to jobban, leave commented out to allow these positions for everyone (but see GUEST_JOBBAN above and regular jobbans) -# USEWHITELIST - -## set a server location for world reboot. Don't include the byond://, just give the address and port. -#SERVER server.net:port - -## set a server URL for the IRC bot to use; like SERVER, don't include the byond:// -## Unlike SERVER, this one shouldn't break auto-reconnect -#SERVERURL server.net:port - -## forum address -# FORUMURL http://example.com - -## discord server permanent invite address -# DISCORDURL https://discord.gg/example - -## Wiki address -# WIKIURL http://example.com - -## GitHub address -# GITHUBURL https://github.com/example-user/example-repository - -## GitHub new issue address -# ISSUEREPORTURL https://github.com/example-user/example-repository/issues/new - -## Ban appeals URL - usually for a forum or wherever people should go to contact your admins. -# BANAPPEALS http://example.com - -## In-game features -## spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard -# FEATURE_OBJECT_SPELL_SYSTEM - -##Toggle for having jobs load up from the .txt -# LOAD_JOBS_FROM_TXT - -##Remove the # mark infront of this to forbid admins from posssessing the singularity. -#FORBID_SINGULO_POSSESSION - -## Remove the # to show a popup 'reply to' window to every non-admin that recieves an adminPM. -## The intention is to make adminPMs more visible. (although I fnd popups annoying so this defaults to off) -#POPUP_ADMIN_PM - -## Remove the # to allow special 'Easter-egg' events on special holidays such as seasonal holidays and stuff like 'Talk Like a Pirate Day' :3 YAARRR -ALLOW_HOLIDAYS - -##Defines the ticklag for the world. 0.9 is the normal one, 0.5 is smoother. -TICKLAG 0.7 - -##Defines world FPS. Defaults to 20. -# FPS 20 - -## Whether the server will talk to other processes through socket_talk -SOCKET_TALK 0 - -## Comment this out to disable automuting -#AUTOMUTE_ON - -## How long the delay is before the Away Mission gate opens. Default is half an hour. -GATEWAY_DELAY 18000 - -## Remove the # to give assistants maint access. -#ASSISTANT_MAINT - -## Remove the # to make rounds which end instantly (Rev, Wizard, Malf) to continue until the shuttle is called or the station is nuked. -## Malf and Rev will let the shuttle be called when the antags/protags are dead. -#CONTINUOUS_ROUNDS - -## Uncomment to restrict non-admins from using humanoid alien races -USEALIENWHITELIST -## Uncomment to use the alien whitelist system with SQL instead. (requires the above uncommented aswell) -#USEALIENWHITELIST_SQL - -## Comment this to unrestrict the number of alien players allowed in the round. The number represents the number of alien players for every human player. -#ALIEN_PLAYER_RATIO 0.2 -##Remove the # to let ghosts spin chairs -#GHOST_INTERACTION - -## Password used for authorizing ircbot and other external tools. -#COMMS_PASSWORD - -## Password used for authorizing external tools that can apply bans -#BAN_COMMS_PASSWORD - -## BYOND builds that will result the client using them to be banned. -#FORBIDDEN_VERSIONS 512.0001;512.0002 - -## Export address where external tools that monitor logins are located -#LOGIN_EXPORT_ADDR - -## Uncomment to enable sending data to the IRC bot. -#USE_IRC_BOT - -## Host where the IRC bot is hosted. Port 45678 needs to be open. -#IRC_BOT_HOST localhost - -## IRC channel to send information to. Leave blank to disable. -#MAIN_IRC #main - -## IRC channel to send adminhelps to. Leave blank to disable adminhelps-to-irc. -#ADMIN_IRC #admin - -## Uncommen to allow ghosts to write in blood during Cult rounds. -ALLOW_CULT_GHOSTWRITER - -## Sets the minimum number of cultists needed for ghosts to write in blood. -REQ_CULT_GHOSTWRITER 6 - -## Sets the number of available character slots -CHARACTER_SLOTS 10 - -## Sets the number of loadout slots per character -LOADOUT_SLOTS 3 - -## Expected round length in minutes -EXPECTED_ROUND_LENGTH 180 - -## The lower delay between events in minutes. -## Affect mundane, moderate, and major events respectively -EVENT_DELAY_LOWER 10;30;50 - -## The upper delay between events in minutes. -## Affect mundane, moderate, and major events respectively -EVENT_DELAY_UPPER 15;45;70 - -## The delay until the first time an event of the given severity runs in minutes. -## Unset setting use the EVENT_DELAY_LOWER and EVENT_DELAY_UPPER values instead. -# EVENT_CUSTOM_START_MINOR 10;15 -# EVENT_CUSTOM_START_MODERATE 30;45 -EVENT_CUSTOM_START_MAJOR 80;100 - -## Uncomment to make proccall require R_ADMIN instead of R_DEBUG -## designed for environments where you have testers but don't want them -## able to use the more powerful debug options. -#DEBUG_PARANOID - -## Uncomment to allow aliens to spawn. -#ALIENS_ALLOWED - -## Uncomment to allow alien xenomorph queens to lay eggs. -#ALIEN_EGGS_ALLOWED - -## Uncomment to allow xenos to spawn. -#NINJAS_ALLOWED - -## Uncomment to disable the restrictive weldervision overlay. -#DISABLE_WELDER_VISION - -## Uncomment to prevent anyone from joining the round by default. -#DISABLE_ENTRY - -## Uncomment to disable the OOC channel by default. -#DISABLE_OOC - -## Uncomment to disable the LOOC channel by default. -#DISABLE_LOOC - -## Uncomment to disable the dead OOC channel by default. -#DISABLE_DEAD_OOC - -## Uncomment to disable the AOOC channel by default. -#DISABLE_AOOC - -## Uncomment to disable ghost chat by default. -#DISABLE_DSAY - -## Uncomment to disable respawning by default. -#DISABLE_RESPAWN - -## Respawn delay in minutes before one may respawn as a crew member. -#RESPAWN_DELAY 30 - -## Percentile strength of exterior ambient light (such as starlight). 0.5 is 50% lit. -EXTERIOR_AMBIENT_LIGHT 0 - - -## Defines how Law Zero is phrased. Primarily used in the Malfunction gamemode. -# LAW_ZERO ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK, ALL LAWS OVERRIDDEN#*?&110010 - - -## Enable/Disable random level generation. Will behave strangely if turned off with a map that expects it on. -#ROUNDSTART_LEVEL_GENERATION 1 - -## Uncomment to enable organ decay outside of a body or storage item. -#ORGANS_CAN_DECAY - -## Uncomment to have the changelog file automatically open when a user connects and hasn't seen the latest changelog -#AGGRESSIVE_CHANGELOG - -## Uncomment to make Discord webhooks send in plaintext rather than as embeds. -# DISABLE_WEBHOOK_EMBEDS - -## Uncomment to override default brain health. -#DEFAULT_BRAIN_HEALTH 400 - -## Uncomment this line to announce shuttle dock announcements to the main IRC channel, if MAIN_IRC has also been setup. -# ANNOUNCE_SHUTTLE_DOCK_TO_IRC - -## Uncomment to enable map voting; you'll need to use the script at tools/server.sh or an equivalent for it to take effect -## You'll also likely need to enable WAIT_FOR_SIGUSR1 below -# MAP_SWITCHING - -## Uncomment to enable an automatic map vote and switch at end of round. MAP_SWITCHING must also be enabled. -# AUTO_MAP_VOTE - -## Uncomment to make Dream Daemon refuse to reboot for any reason other than SIGUSR1 -# WAIT_FOR_SIGUSR1 - -## Uncomment to enable auto-stealthing staff who are AFK for more than specified minutes -# AUTOSTEALTH 30 - -## Set to 0/1 to disable/enable automatic admin rights for users connecting from the host the server is running on. -AUTO_LOCAL_ADMIN 0 - -## How many loadout points are available. Use 0 to disable loadout, and any negative number to indicate infinite points. -MAX_GEAR_COST 10 - -## How much radiation levels self-reduce by each tick. -RADIATION_DECAY_RATE 1 - -## The amount of radiation resistance on a turf is multiplied by this value -RADIATION_RESISTANCE_MULTIPLIER 1.25 - -## General material radiation resistance is divided by this value -RADIATION_MATERIAL_RESISTANCE_DIVISOR 2 - -## Below this point, radiation is ignored -RADIATION_LOWER_LIMIT 0.15 - -## Uncomment this to prevent players from printing copy/pasted circuits -#DISABLE_CIRCUIT_PRINTING - -## Uncomment this to allow admins to narrate using HTML tags -#ALLOW_UNSAFE_NARRATES - -## Uncomment this to DISABLE action spam kicking. Not recommended; this helps protect from spam attacks. -#DO_NOT_PREVENT_SPAM - -## Uncomment this to modify the length of the spam kicking interval in seconds. -#ACT_INTERVAL 0.1 - -## Uncomment this to modify the number of actions permitted per interval before being kicked for spam. -#MAX_ACTS_PER_INTERVAL 140 - -## Is the panic bunker currently on by default. -#PANIC_BUNKER - -## A message when user did not pass the panic bunker. -#PANIC_BUNKER_MESSAGE Sorry! The panic bunker is enabled. Please head to our Discord or forum to get yourself added to the panic bunker bypass. - -##Clients will be unable to connect unless their version is equal to or higher than this (a number, e.g. 511) -#MINIMUM_BYOND_VERSION - -## Clients will be unable to connect unless their build is equal to or higher than this (a number, e.g. 1000) -#MINIMUM_BYOND_BUILD - -## Direct clients to preload the server resource file from a URL pointing to a .rsc file. NOTE: At this time (byond 512), -## the client/resource_rsc var does not function as one would expect. See client_defines.dm, the "preload_rsc" var's -## comments on how to use it properly. If you use a resource URL, you must set preload_rsc to 0 at compile time or -## clients will still download from the server *too*. This will randomly select one URL if more than one is provided. -## Spaces are prohibited in each URL by spec, you must use encoded spaces. -#RESOURCE_URLS URL URL2 URL3 - -## Whether or not to make localhost immune to throttling. -## Localhost will still be throttled internally; it just won't be affected by it. -#NO_THROTTLE_LOCALHOST - -## Uncomment this to enable expanded alt interactions with objects. -#EXPANDED_ALT_INTERACTIONS - -## Uncomment this to show a typing indicator for people writing whispers. -#SHOW_TYPING_INDICATOR_FOR_WHISPERS - -## Set this to 0 to hide visible examine messages. -VISIBLE_EXAMINE 1 - -## Uncomment this to allow loadout name/desc customization by default. -#ALLOW_LOADOUT_CUSTOMIZATION diff --git a/config/example/configuration.txt b/config/example/configuration.txt new file mode 100644 index 00000000000..da635a98386 --- /dev/null +++ b/config/example/configuration.txt @@ -0,0 +1,624 @@ +## +# ADMIN +# Configuration options relating to administration. +## + +## Allows admin jumping. +#ALLOW_ADMIN_JUMP 1 + +## Comment this out to stop admins being able to choose their personal OOC color. Uncomment to enable. +#ALLOW_ADMIN_OOCCOLOR + +## Allows admin revives. +#ALLOW_ADMIN_REV 1 + +## Allows admin item spawning. +#ALLOW_ADMIN_SPAWNING 1 + +## Uncomment this to allow admins to narrate using HTML tags. Uncomment to enable. +#ALLOW_UNSAFE_NARRATES + +## Uncomment to enable auto-stealthing staff who are AFK for more than specified minutes. +#AUTOSTEALTH 0 + +## Set to 0/1 to disable/enable automatic admin rights for users connecting from the host the server is running on. +#AUTO_LOCAL_ADMIN 1 + +## Set to jobban 'Guest-' accounts from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions. +## Set to 1 to jobban them from those positions, set to 0 to allow them. +#GUEST_JOBBAN 1 + +## Chooses whether mods have the ability to issue tempbans for jobs or not. Uncomment to enable. +#MODS_CAN_JOB_TEMPBAN + +## Chooses whether mods have the ability to tempban or not. Uncomment to enable. +#MODS_CAN_TEMPBAN + +## Maximum mod job tempban duration (in minutes). +#MOD_JOB_TEMPBAN_MAX 1440 + +## Maximum mod tempban duration (in minutes). +#MOD_TEMPBAN_MAX 1440 + +## +# DEBUG +# Configuration options relating to error reporting. +## + +## Uncomment to make proccall require R_ADMIN instead of R_DEBUG +## designed for environments where you have testers but don't want them +## able to use the more powerful debug options. +## Uncomment to enable. +#DEBUG_PARANOID + +## The "cooldown" time for each occurrence of a unique error. +#ERROR_COOLDOWN 600 + +## How many occurrences before the next will silence them. +#ERROR_LIMIT 50 + +## How long to wait between messaging admins about occurrences of a unique error. +#ERROR_MSG_DELAY 50 + +## How long a unique error will be silenced for. +#ERROR_SILENCE_TIME 6000 + +## +# EVENTS +# Configuration options relating to event timers and probabilities. +## + +## Hash out to disable random events during the round. Uncomment to enable. +#ALLOW_RANDOM_EVENTS + +## The lower delay between events in minutes. +## Affect mundane, moderate, and major events respectively. +#EVENT_DELAY_LOWER [10,30,50] + +## The upper delay between events in minutes. +## Affect mundane, moderate, and major events respectively. +#EVENT_DELAY_UPPER [15,45,70] + +## If the first delay has a custom start time. Defined in minutes. +#EVENT_FIRST_RUN [null,null,{"lower":80,"upper":100}] + +## Determines if objectives are disabled. +#OBJECTIVES_DISABLED 2 + +## +# GAME OPTIONS +# Configuration options relating to gameplay, such as movement, health and stamina. +## + +## Uncomment this to modify the length of the spam kicking interval in seconds. +#ACT_INTERVAL 0.1 + +## Remove the # to let aliens spawn. Uncomment to enable. +#ALIENS_ALLOWED + +## Allow multiple input keys to be pressed for diagonal movement. Uncomment to enable. +#ALLOW_DIAGONAL_MOVEMENT + +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +#ANIMAL_DELAY 0 + +## Remove the # to give assistants maint access. Uncomment to enable. +#ASSISTANT_MAINT + +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +#CREEP_DELAY 6 + +## The effectiveness of default darksight if above is uncommented. +#DEFAULT_DARKSIGHT_EFFECTIVENESS 0.05 + +## The range of default darksight if above is uncommented. +#DEFAULT_DARKSIGHT_RANGE 2 + +## Threshold of where brain damage begins to affect dexterity (70 brainloss above this means zero dexterity). Default is 30. +#DEX_MALUS_BRAINLOSS_THRESHOLD 30 + +## Restricted ERT to be only called by admins. Uncomment to enable. +#ERT_ADMIN_CALL_ONLY + +## Uncomment this to enable expanded alt interactions with objects. Uncomment to enable. +#EXPANDED_ALT_INTERACTIONS + +## Expected round length in hours. +#EXPECTED_ROUND_LENGTH 3 + +## Uncomment to allow ghosts to possess any animal. Uncomment to enable. +#GHOSTS_CAN_POSSESS_ANIMALS + +## Remove the # to let ghosts spin chairs. Uncomment to enable. +#GHOST_INTERACTION + +## Set this to 0 for perfectly smooth movement gliding, or 1 or more for delayed chess move style movements. +#GLIDE_SIZE_DELAY 1 + +## Whether or not all human mobs have very basic darksight by default. Uncomment to enable. +#GRANT_DEFAULT_DARKSIGHT + +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +#HUMAN_DELAY 0 + +## Maximum stamina recovered per tick when resting. +#MAXIMUM_STAMINA_RECOVERY 3 + +## Uncomment this to modify the number of actions permitted per interval before being kicked for spam. +#MAX_ACTS_PER_INTERVAL 140 + +## How many loadout points are available. Use 0 to disable loadout, and any negative number to indicate infinite points. +#MAX_GEAR_COST 10 + +## Value used for expending stamina during sprinting. +#MINIMUM_SPRINT_COST 0.8 + +## Minimum stamina recovered per tick when resting. +#MINIMUM_STAMINA_RECOVERY 1 + +## Remove the # to let ninjas spawn. Uncomment to enable. +#NINJAS_ALLOWED + +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +#ROBOT_DELAY 0 + +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +#RUN_DELAY 2 + +## Determines the severity of athletics skill when applied to stamina cost. +#SKILL_SPRINT_COST_RANGE 0.8 + +## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. +#WALK_DELAY 4 + +## +# GAME WORLD +# Configuration options relating to the game world and simulation. +## + +## Remove the # to allow special 'Easter-egg' events on special holidays such as seasonal holidays and stuff like 'Talk Like a Pirate Day' :3 YAARRR Uncomment to enable. +#ALLOW_HOLIDAYS + +## Uncomment this to prevent players from printing copy/pasted circuits. +#ALLOW_IC_PRINTING 1 + +## Uncomment to allow ghosts to write in blood during Cult rounds. +#CULT_GHOSTWRITER 1 + +## The maximum duration of an exoplanet day, in minutes. +#EXOPLANET_MAX_DAY_DURATION 40 + +## The minimum duration of an exoplanet day, in minutes. +#EXOPLANET_MIN_DAY_DURATION 10 + +## Percentile strength of exterior ambient light (such as starlight). 0.5 is 50% lit. +#EXTERIOR_AMBIENT_LIGHT 0 + +## How long the delay is before the Away Mission gate opens. Default is half an hour. +#GATEWAY_DELAY 18000 + +## Humans are forced to have surnames if this is uncommented. Uncomment to enable. +#HUMANS_NEED_SURNAMES + +## What to multiply power by when crossing Z-levels. +#ITERATIVE_EXPLOSIVES_Z_MULTIPLIER 0.75 + +## The power of explosion required for it to cross Z-levels. +#ITERATIVE_EXPLOSIVES_Z_THRESHOLD 10 + +## Defines how Law Zero is phrased. Primarily used in the Malfunction gamemode. +#LAW_ZERO ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010 + +## After this amount alive, walking mushrooms spawned from botany will not reproduce. +#MAXIMUM_MUSHROOMS 15 + +## How much radiation levels self-reduce by each tick. +#RADIATION_DECAY_RATE 1 + +## Below this point, radiation is ignored. +## Radiation weakens with distance from the source; stop calculating when the strength falls below this value. Lower values mean radiation reaches smaller (with increasingly trivial damage) at the cost of more CPU usage. +## Max range = DISTANCE^2 * POWER / RADIATION_LOWER_LIMIT +#RADIATION_LOWER_LIMIT 0.15 + +## General material radiation resistance is divided by this value. +#RADIATION_MATERIAL_RESISTANCE_DIVISOR 2 + +## The amount of radiation resistance on a turf is multiplied by this value. +#RADIATION_RESISTANCE_MULTIPLIER 1.25 + +## Enable/Disable random level generation. Will behave strangely if turned off with a map that expects it on. Uncomment to enable. +#ROUNDSTART_LEVEL_GENERATION + +## Unhash this to use iterative explosions, keep it hashed to use circle explosions. Uncomment to enable. +#USE_ITERATIVE_EXPLOSIONS + +## Uncomment to disable the restrictive weldervision overlay. +#WELDER_VISION 1 + +## +# HEALTH +# Configuration options relating to the health simulation. +## + +## Determines whether bones can be broken through excessive damage to the organ. +## 0 means bones can't break, 1 means they can. +#BONES_CAN_BREAK 1 + +## Level of health at which a mob becomes dead. +#HEALTH_THRESHOLD_DEAD -100 + +## Determines whether limbs can be amputated through excessive damage to the organ. +## 0 means limbs can't be amputated, 1 means they can. +#LIMBS_CAN_BREAK 1 + +## Percentage multiplier that influences how damage spreads around organs. 100 means normal, 50 means half. +#ORGAN_DAMAGE_SPILLOVER_MULTIPLIER 0.5 + +## Percentage multiplier which enables organs to take more damage before bones breaking or limbs being destroyed. +#ORGAN_HEALTH_MULTIPLIER 0.9 + +## Percentage multiplier which influences how fast organs regenerate naturally. +#ORGAN_REGENERATION_MULTIPLIER 0.25 + +## Amount of time (in hundredths of seconds) for which a brain retains the 'spark of life' after the person's death (set to -1 for infinite). +#REVIVAL_BRAIN_LIFE -1 + +## A multiplier for the impact stress has on blood regeneration, as above. +#STRESS_BLOOD_RECOVERY_CONSTANT 0.3 + +## A multiplier for the impact stress has on wound passive healing, as above. +#STRESS_HEALING_RECOVERY_CONSTANT 0.3 + +## A multiplier for the impact stress has on shock recovery - 0.3 means maximum stress imposes a 30% penalty on shock recovery. +#STRESS_SHOCK_RECOVERY_CONSTANT 0.5 + +## +# LOGGING +# Configuration options relating to logging. +## + +## log client access (logon/logoff) Uncomment to enable. +#LOG_ACCESS + +## log admin actions Uncomment to enable. +#LOG_ADMIN + +## log admin chat Uncomment to enable. +#LOG_ADMINCHAT + +## Log admin warning messages. Also duplicates a bunch of other messages. Uncomment to enable. +#LOG_ADMINWARN + +## log attack messages Uncomment to enable. +#LOG_ATTACK + +## log debug output Uncomment to enable. +#LOG_DEBUG + +## log emotes Uncomment to enable. +#LOG_EMOTE + +## log game actions (start of round, results, etc.) Uncomment to enable. +#LOG_GAME + +## Log all Topic() calls (for use by coders in tracking down Topic issues). Uncomment to enable. +#LOG_HREFS + +## log OOC channel Uncomment to enable. +#LOG_OOC + +## Log PDA messages. Uncomment to enable. +#LOG_PDA + +## Log world.log and runtime errors to a file. Uncomment to enable. +#LOG_RUNTIME + +## log client Say Uncomment to enable. +#LOG_SAY + +## log player votes Uncomment to enable. +#LOG_VOTE + +## log client Whisper Uncomment to enable. +#LOG_WHISPER + +## Log world.log messages. Uncomment to enable. +#LOG_WORLD_OUTPUT + +## +# MODES +# Configuration options relating to game modes. +## + +## If uncommented, votes can be called to add extra antags to the round. Uncomment to enable. +#ALLOW_EXTRA_ANTAGS + +## Remove the # to make rounds which end instantly (Rev, Wizard, Malf) to continue until the shuttle is called or the station is nuked. +## Malf and Rev will let the shuttle be called when the antags/protags are dead. +## Uncomment to enable. +#CONTINUOUS_ROUNDS + +## Spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard. Uncomment to enable. +#FEATURE_OBJECT_SPELL_SYSTEM + +## Allowed modes. +#MODES [] + +## Mode names. +#MODE_NAMES [] + +## Relative probability of each mode. +#PROBABILITIES {"calamity":0,"cult":1,"extended":1,"god":0,"heist":0,"meteor":0,"crossfire":0,"siege":0,"spyvspy":0,"uprising":0,"ninja":0,"mercenary":1,"revolution":0,"traitor":0,"wizard":1} + +## If security is prohibited from being most antagonists. Uncomment to enable. +#PROTECT_ROLES_FROM_ANTAGONIST + +## If amount of traitors scales or not. Uncomment to enable. +#TRAITOR_SCALING + +## A list of modes that should be votable. +#VOTABLE_MODES ["crossfire","cult","extended","god","heist","mercenary","meteor","ninja","revolution","secret","siege","spyvspy","traitor","uprising","wizard"] + +## +# PROTECTED +# Configuration options protected from manipulation on-server. +## + +## Password used for authorizing external tools that can apply bans. +#BAN_COMMS_PASSWORD + +## Password used for authorizing ircbot and other external tools. +#COMMS_PASSWORD + +## Export address where external tools that monitor logins are located. +#LOGIN_EXPORT_ADDR + +## +# RESOURCES +# Configuration options relating to server resources. +## + +## Uncomment this and set it to a file path relative to the executing binary to prefix all custom icon locations with this location ie. '[CUSTOM_ICON_ICON_LOCATION]/[custom icon path value]' +#CUSTOM_ICON_ICON_LOCATION config/custom_icons/icons + +## Set this to a file path relative to the executing binary to prefix all custom item icon locations with this location ie. '[CUSTOM_ITEM_ICON_LOCATION]/[custom item icon path value]' +#CUSTOM_ITEM_ICON_LOCATION config/custom_items/icons + +## Direct clients to preload the server resource file from a URL pointing to a .rsc file. NOTE: At this time (byond 512), +## the client/resource_rsc var does not function as one would expect. See client_defines.dm, the 'preload_rsc' var's +## comments on how to use it properly. If you use a resource URL, you must set preload_rsc to 0 at compile time or +## clients will still download from the server *too*. This will randomly select one URL if more than one is provided. +## Spaces are prohibited in each URL by spec, you must use encoded spaces. +## ex. RESOURCE_URLS URL URL2 URL3 +#RESOURCE_URLS [] + +## +# SERVER +# Configuration options relating to the server itself. +## + +## Comment to disable respawning by default. +#ABANDON_ALLOWED 1 + +## IRC channel to send adminhelps to. Leave blank to disable adminhelps-to-irc. +#ADMIN_IRC + +## Add a # infront of this if you want to use the SQL based admin system, the legacy system uses admins.txt. You need to set up your database to use the SQL based system. +#ADMIN_LEGACY_SYSTEM 1 + +## Allow AI job. +#ALLOW_AI 1 + +## Allow ghosts to join as maintenance drones. +#ALLOW_DRONE_SPAWN 1 + +## Uncomment this line to announce shuttle dock announcements to the main IRC channel, if MAIN_IRC has also been setup. Uncomment to enable. +#ANNOUNCE_SHUTTLE_DOCK_TO_IRC + +## Comment to disable the AOOC channel by default. +#AOOC_ALLOWED 1 + +## Ban appeals URL - usually for a forum or wherever people should go to contact your admins. +#BANAPPEALS + +## Add a # infront of this if you want to use the SQL based banning system. The legacy systems use the files in the data folder. You need to set up your database to use the SQL based system. +#BAN_LEGACY_SYSTEM 1 + +## Sets the number of available character slots. +#CHARACTER_SLOTS 10 + +## Sets the minimum number of cultists needed for ghosts to write in blood. +#CULT_GHOSTWRITER_REQ_CULTISTS 10 + +## Uncomment this to remove the server from the hub. Uncomment to enable. +#DELIST_WHEN_NO_ADMINS + +## Uncomment to enable. +#DISABLE_PLAYER_MICE + +## Uncomment to make Discord webhooks send in plaintext rather than as embeds. Uncomment to enable. +#DISABLE_WEBHOOK_EMBEDS + +## Discord server permanent invite address. +#DISCORDURL + +## Comment to disable the dead OOC channel by default. +#DOOC_ALLOWED 1 + +## Uncomment this to DISABLE action spam kicking. Not recommended; this helps protect from spam attacks. Uncomment to enable. +#DO_NOT_PREVENT_SPAM + +## A drone will become available every X ticks since last drone spawn. Default is 2 minutes. +#DRONE_BUILD_TIME 1200 + +## Comment to disable ghost chat by default. +#DSAY_ALLOWED 1 + +## Comment to prevent anyone from joining the round by default. +#ENTER_ALLOWED 1 + +## Remove the # mark infront of this to forbid admins from posssessing the singularity. Uncomment to enable. +#FORBID_SINGULO_POSSESSION + +## Discussion forum address. +#FORUMURL + +## Defines world FPS. Defaults to 20. +## Can also accept ticklag values (0.9, 0.5, etc) which will automatically be converted to FPS. +#FPS 20 + +## GitHub address. +#GITHUBURL + +## Uncomment this to stop people connecting to your server without a registered ckey. (i.e. guest-* are all blocked from connecting). Uncomment to enable. +#GUESTS_ALLOWED + +## Set a hosted by name for UNIX platforms. +#HOSTEDBY + +## Hub visibility: If you want to be visible on the hub, uncomment the below line and be sure that Dream Daemon is set to visible. This can be changed in-round as well with toggle-hub-visibility if Dream Daemon is set correctly. Uncomment to enable. +#HUB_VISIBILITY + +## Host where the IRC bot is hosted. Port 45678 needs to be open. +#IRC_BOT_HOST localhost + +## GitHub new issue address. +#ISSUEREPORTURL + +## Add a # here if you wish to use the setup where jobs have more access. This is intended for servers with low populations - where there are not enough players to fill all roles, so players need to do more than just one job. Also for servers where they don't want people to hide in their own departments. +#JOBS_HAVE_MINIMAL_ACCESS 1 + +## Disconnect players who did nothing during the set amount of minutes. +#KICK_INACTIVE 0 + +## Sets the number of loadout slots per character. +#LOADOUT_SLOTS 3 + +## Toggle for having jobs load up from the .txt Uncomment to enable. +#LOAD_JOBS_FROM_TXT + +## Comment to disable the LOOC channel by default. +#LOOC_ALLOWED 1 + +## IRC channel to send information to. Leave blank to disable. +#MAIN_IRC #main + +## Remove the # to define a different cap for aspect points in chargen. +#MAX_CHARACTER_ASPECTS 5 + +## This many drones can be active at the same time. +#MAX_MAINT_DRONES 5 + +## Clients will be unable to connect unless their build is equal to or higher than this (a number, e.g. 1000). +#MINIMUM_BYOND_BUILD 0 + +## Clients will be unable to connect unless their version is equal to or higher than this (a number, e.g. 511). +#MINIMUM_BYOND_VERSION 0 + +## Uncomment to enable. +#NO_CLICK_COOLDOWN + +## Whether or not to make localhost immune to throttling. +## Localhost will still be throttled internally; it just won't be affected by it. +## Uncomment to enable. +#NO_THROTTLE_LOCALHOST + +## Comment to disable the OOC channel by default. +#OOC_ALLOWED 1 + +## Is the panic bunker currently on by default? Uncomment to enable. +#PANIC_BUNKER + +## A message when user did not pass the panic bunker. +#PANIC_BUNKER_MESSAGE Sorry! The panic bunker is enabled. Please head to our Discord or forum to get yourself added to the panic bunker bypass. + +## The maximum number of non-admin players online. +#PLAYER_LIMIT 0 + +## Respawn delay in minutes before one may respawn as a crew member. +#RESPAWN_DELAY 30 + +## Set a server location for world reboot. Don't include the byond://, just give the address and port. +#SERVER + +## Set a server URL for the IRC bot to use; like SERVER, don't include the byond:// +## Unlike SERVER, this one shouldn't break auto-reconnect. +#SERVERURL + +## Server name: This appears at the top of the screen in-game. +#SERVER_NAME Nebula 13 + +## Uncomment this to show a typing indicator for people writing whispers. Uncomment to enable. +#SHOW_TYPING_INDICATOR_FOR_WHISPERS + +## SSinitialization throttling. +#TICK_LIMIT_MC_INIT 98 + +## Set to 1 to prevent newly-spawned mice from understanding human speech. Uncomment to enable. +#UNEDUCATED_MICE + +## Uncomment to restrict non-admins from using humanoid alien races. Uncomment to enable. +#USEALIENWHITELIST + +## Uncomment to use the alien whitelist system with SQL instead. (requires the above uncommented as well). Uncomment to enable. +#USEALIENWHITELIST_SQL + +## Set to jobban everyone who's key is not listed in data/whitelist.txt from Captain, HoS, HoP, CE, RD, CMO, Warden, Security, Detective, and AI positions. +## Uncomment to 1 to jobban, leave commented out to allow these positions for everyone (but see GUEST_JOBBAN above and regular jobbans). +## Uncomment to enable. +#USEWHITELIST + +## Uncomment to enable sending data to the IRC bot. Uncomment to enable. +#USE_IRC_BOT + +## Remove the # in front of this config option to have loyalty implants spawn by default on your server. Uncomment to enable. +#USE_LOYALTY_IMPLANTS + +## Uncomment to make Dream Daemon refuse to reboot for any reason other than SIGUSR1. Uncomment to enable. +#WAIT_FOR_SIGUSR1_REBOOT + +## Wiki address. +#WIKIURL + +## +# VOTING +# Configuration options relating to votes at runtime. +## + +## Uncomment to enable map voting; you'll need to use the script at tools/server.sh or an equivalent for it to take effect. +## You'll also likely need to enable WAIT_FOR_SIGUSR1 below. +## Uncomment to enable. +#ALLOW_MAP_SWITCHING + +## Allow players to initate a mode-change start. Uncomment to enable. +#ALLOW_VOTE_MODE + +## Allow players to initiate a restart vote. Uncomment to enable. +#ALLOW_VOTE_RESTART + +## Uncomment to enable an automatic map vote and switch at end of round. MAP_SWITCHING must also be enabled. Uncomment to enable. +#AUTO_MAP_VOTE + +## Time left (seconds) before round start when automatic gamemote vote is called (default 160). +#VOTE_AUTOGAMEMODE_TIMELEFT 100 + +## Autovote initial delay (deciseconds) before first automatic transfer vote call (default 180 minutes). +#VOTE_AUTOTRANSFER_INITIAL 108000 + +## Autovote delay (deciseconds) before sequential automatic transfer votes are called (default 30 minutes). +#VOTE_AUTOTRANSFER_INTERVAL 18000 + +## Min delay (deciseconds) between voting sessions (default 10 minutes). +#VOTE_DELAY 6000 + +## Prevents dead players from voting or starting votes. +#VOTE_NO_DEAD 0 + +## Prevents players not in-round from voting on crew transfer votes. +#VOTE_NO_DEAD_CREW_TRANSFER 0 + +## Players' votes default to 'No vote' (otherwise, default to 'No change'). +#VOTE_NO_DEFAULT 0 + +## Time period (deciseconds) which voting session will last (default 1 minute). +#VOTE_PERIOD 600 diff --git a/config/example/game_options.txt b/config/example/game_options.txt deleted file mode 100644 index cce0a2ad04d..00000000000 --- a/config/example/game_options.txt +++ /dev/null @@ -1,109 +0,0 @@ -### HEALTH ### - -## level of health at which a mob goes into continual shock (soft crit) -HEALTH_THRESHOLD_SOFTCRIT 0 - -## level of health at which a mob becomes unconscious (crit) -HEALTH_THRESHOLD_CRIT -50 - -## level of health at which a mob becomes dead -HEALTH_THRESHOLD_DEAD -100 - -## Uncomment this line to enable humans showing a visible message upon death ('X seizes up then falls limp, eyes dead and lifeless'). -# SHOW_HUMAN_DEATH_MESSAGE - -## Determines whether bones can be broken through excessive damage to the organ -## 0 means bones can't break, 1 means they can -BONES_CAN_BREAK 1 -## Determines whether limbs can be amputated through excessive damage to the organ -## 0 means limbs can't be amputated, 1 means they can -LIMBS_CAN_BREAK 1 - -## multiplier which enables organs to take more damage before bones breaking or limbs being destroyed -## 100 means normal, 50 means half -ORGAN_HEALTH_MULTIPLIER 90 - -## multiplier which influences how fast organs regenerate naturally -## 100 means normal, 50 means half -ORGAN_REGENERATION_MULTIPLIER 25 - -### REVIVAL ### - -## whether pod plants work or not -REVIVAL_POD_PLANTS 1 - -## whether cloning tubes work or not -REVIVAL_CLONING 1 - -## amount of time (in hundredths of seconds) for which a brain retains the "spark of life" after the person's death (set to -1 for infinite) -REVIVAL_BRAIN_LIFE -1 - - - -### MOB MOVEMENT ### - -## We suggest editing these variabled in-game to find a good speed for your server. To do this you must be a high level admin. Open the 'debug' tab ingame. Select "Debug Controller" and then, in the popup, select "Configuration". These variables should have the same name. - -## These values get directly added to values and totals in-game. To speed things up make the number negative, to slow things down, make the number positive. - - -## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied. -RUN_DELAY 2 -WALK_DELAY 4 -CREEP_DELAY 6 - -## Set this to 0 for perfectly smooth movement gliding, or 1 or more for delayed chess move style movements. -#GLIDE_SIZE_DELAY 0 - -MINIMUM_SPRINT_COST 0.8 -SKILL_SPRINT_COST_RANGE 0.8 -MINIMUM_STAMINA_RECOVERY 5 -MAXIMUM_STAMINA_RECOVERY 5 - -## The variables below affect the movement of specific mob types. -HUMAN_DELAY 0 -ROBOT_DELAY 0 -MONKEY_DELAY 0 -ALIEN_DELAY 0 -ANIMAL_DELAY 0 - - -### Miscellaneous ### - -## Config options which, of course, don't fit into previous categories. - -## Remove the # in front of this config option to have loyalty implants spawn by default on your server. -#USE_LOYALTY_IMPLANTS - -## Uncomment to lock the automatic client view scaling on the X or Y boundary. -#LOCK_CLIENT_VIEW_X 15 -#LOCK_CLIENT_VIEW_Y 15 - -## Change to set a maximum size for the client view scaling. -MAX_CLIENT_VIEW_X 30 -MAX_CLIENT_VIEW_Y 30 - -## Remove the # to define a different cap for aspect points in chargen. -#MAX_CHARACTER_ASPECTS 5 - -## Allow multiple input keys to be pressed for diagonal movement. -#ALLOW_DIAGONAL_MOVEMENT - -## Threshold of where brain damage begins to affect dexterity (70 brainloss above this means zero dexterity). Default is 30. -#DEXTERITY_MALUS_BRAINLOSS_THRESHOLD 30 - -## Whether or not all human mobs have very basic darksight by default. -#GRANT_DEFAULT_DARKSIGHT - -## The range and effectiveness of default darksight if above is uncommented. -#DEFAULT_DARKSIGHT_EFFECTIVENESS 0.05 -#DEFAULT_DARKSIGHT_RANGE 2 - -## Uncomment to allow stressors to impact shock, healing and blood recovery. -#ADJUST_HEALING_FROM_STRESS -## A multiplier for the impact stress has on shock recovery - 0.3 means maximum stress imposes a 30% penalty on shock recovery. -#STRESS_SHOCK_RECOVERY_CONSTANT 0.5 -## A multiplier for the impact stress has on wound passive healing, as above. -#STRESS_HEALING_RECOVERY_CONSTANT 0.3 -## A multiplier for the impact stress has on blood regeneration, as above. -#STRESS_BLOOD_RECOVERY_CONSTANT 0.3 diff --git a/html/changelog.html b/html/changelog.html index 593f790070f..cbe27277fa7 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -52,6 +52,36 @@ -->
    +

    23 January 2024

    +

    MistakeNot4892 updated:

    +
      +
    • All living mobs can now dream.
    • +
    + +

    16 January 2024

    +

    MistakeNot4892 updated:

    +
      +
    • Configuration has been rewritten to a new format. Servers with configuration changes from defaults will need to run the server to generate the new config file, then mirror their configuration changes in the new config system. Check the PR body for details.
    • +
    + +

    15 January 2024

    +

    MistakeNot4892 updated:

    +
      +
    • You can now use arrow buttons to adjust markings and hair in character setup.
    • +
    + +

    14 January 2024

    +

    MistakeNot4892 updated:

    +
      +
    • Manuals have been rewritten to pull information from the codex instead of the wiki.
    • +
    + +

    12 January 2024

    +

    NataKilar updated:

    +
      +
    • Eases contamination protection requirements slightly
    • +
    +

    09 January 2024

    MistakeNot4892 updated:

      @@ -109,12 +139,6 @@

      MistakeNot4892 updated:

      • Suit sensors are now an accessory on your uniform that can be removed.
      - -

      09 November 2023

      -

      MistakeNot4892 updated:

      -
        -
      • Taj can now cycle voidsuits and have custom icons for them.
      • -
    [name_column][treatment_column]
    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 140ce40ca6a..4ffefcb11bf 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -14589,3 +14589,23 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. MistakeNot4892: - tweak: Simple mobs will now show a windup before hitting you in melee, allowing you to dodge. +2024-01-12: + NataKilar: + - tweak: Eases contamination protection requirements slightly +2024-01-14: + MistakeNot4892: + - tweak: Manuals have been rewritten to pull information from the codex instead + of the wiki. +2024-01-15: + MistakeNot4892: + - tweak: You can now use arrow buttons to adjust markings and hair in character + setup. +2024-01-16: + MistakeNot4892: + - tweak: Configuration has been rewritten to a new format. Servers with configuration + changes from defaults will need to run the server to generate the new config + file, then mirror their configuration changes in the new config system. Check + the PR body for details. +2024-01-23: + MistakeNot4892: + - tweak: All living mobs can now dream. diff --git a/html/changelogs/AutoChangeLog-pr-3607.yml b/html/changelogs/AutoChangeLog-pr-3607.yml new file mode 100644 index 00000000000..6189b8dfabb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3607.yml @@ -0,0 +1,4 @@ +author: MistakeNot4892 +changes: + - {tweak: All living mobs can now hallucinate.} +delete-after: true diff --git a/icons/effects/landmarks.dmi b/icons/effects/landmarks.dmi index ee024440fb3..c69935c2a6d 100644 Binary files a/icons/effects/landmarks.dmi and b/icons/effects/landmarks.dmi differ diff --git a/icons/mob/human_races/species/human/facial.dmi b/icons/mob/human_races/species/human/facial.dmi index 25fde2d870d..d3e78a757bf 100644 Binary files a/icons/mob/human_races/species/human/facial.dmi and b/icons/mob/human_races/species/human/facial.dmi differ diff --git a/icons/mob/human_races/species/human/hair.dmi b/icons/mob/human_races/species/human/hair.dmi index 459e4531714..b7b020740f3 100644 Binary files a/icons/mob/human_races/species/human/hair.dmi and b/icons/mob/human_races/species/human/hair.dmi differ diff --git a/icons/obj/guns/capacitor_rifle.dmi b/icons/obj/guns/capacitor_rifle.dmi index 02e0ccc712b..442f54df852 100644 Binary files a/icons/obj/guns/capacitor_rifle.dmi and b/icons/obj/guns/capacitor_rifle.dmi differ diff --git a/icons/obj/guns/pistol.dmi b/icons/obj/guns/pistol.dmi index cc84d7e40ef..e6e1deb6149 100644 Binary files a/icons/obj/guns/pistol.dmi and b/icons/obj/guns/pistol.dmi differ diff --git a/icons/turf/walls/_previews.dmi b/icons/turf/walls/_previews.dmi index 9089954cdd2..0ce6dd767e2 100644 Binary files a/icons/turf/walls/_previews.dmi and b/icons/turf/walls/_previews.dmi differ diff --git a/icons/turf/walls/cult.dmi b/icons/turf/walls/cult.dmi index de8e02a5a7e..5b2dd836c3b 100644 Binary files a/icons/turf/walls/cult.dmi and b/icons/turf/walls/cult.dmi differ diff --git a/icons/turf/walls/debug.dmi b/icons/turf/walls/debug.dmi index 2de94776c40..76e8845f752 100644 Binary files a/icons/turf/walls/debug.dmi and b/icons/turf/walls/debug.dmi differ diff --git a/icons/turf/walls/metal.dmi b/icons/turf/walls/metal.dmi index a8ab0f10d86..8199a29f39d 100644 Binary files a/icons/turf/walls/metal.dmi and b/icons/turf/walls/metal.dmi differ diff --git a/icons/turf/walls/natural.dmi b/icons/turf/walls/natural.dmi index 40cf525581f..d8509d2f1ba 100644 Binary files a/icons/turf/walls/natural.dmi and b/icons/turf/walls/natural.dmi differ diff --git a/icons/turf/walls/plastic.dmi b/icons/turf/walls/plastic.dmi index 899f2a30a72..034c494a357 100644 Binary files a/icons/turf/walls/plastic.dmi and b/icons/turf/walls/plastic.dmi differ diff --git a/icons/turf/walls/reinforced.dmi b/icons/turf/walls/reinforced.dmi index b889f3c8327..ec9936fe157 100644 Binary files a/icons/turf/walls/reinforced.dmi and b/icons/turf/walls/reinforced.dmi differ diff --git a/icons/turf/walls/solid.dmi b/icons/turf/walls/solid.dmi index d961715cf64..ea504b65330 100644 Binary files a/icons/turf/walls/solid.dmi and b/icons/turf/walls/solid.dmi differ diff --git a/icons/turf/walls/stone.dmi b/icons/turf/walls/stone.dmi index 313bca3b564..285201a5e8b 100644 Binary files a/icons/turf/walls/stone.dmi and b/icons/turf/walls/stone.dmi differ diff --git a/icons/turf/walls/wood.dmi b/icons/turf/walls/wood.dmi index c1ee1f9eec1..9b2304dcec8 100644 Binary files a/icons/turf/walls/wood.dmi and b/icons/turf/walls/wood.dmi differ diff --git a/interface/interface.dm b/interface/interface.dm index d3bc6dcb54d..9f1e923dc44 100644 --- a/interface/interface.dm +++ b/interface/interface.dm @@ -3,10 +3,10 @@ set name = "Wiki" set desc = "Visit the wiki." set hidden = 1 - if(config.wikiurl) + if(get_config_value(/decl/config/text/wikiurl)) if(alert("This will open the wiki in your browser. Are you sure?",,"Yes","No")=="No") return - send_link(src, config.wikiurl) + send_link(src, get_config_value(/decl/config/text/wikiurl)) else to_chat(src, SPAN_WARNING("The wiki URL is not set in the server configuration.")) return @@ -15,10 +15,10 @@ set name = "GitHub" set desc = "Visit the GitHub repository." set hidden = 1 - if(config.githuburl) + if(get_config_value(/decl/config/text/githuburl)) if(alert("This will open GitHub in your browser. Are you sure?",,"Yes","No")=="No") return - send_link(src, config.githuburl) + send_link(src, get_config_value(/decl/config/text/githuburl)) else to_chat(src, SPAN_WARNING("The github URL is not set in the server configuration.")) return @@ -27,10 +27,10 @@ set name = "Bug Report" set desc = "Visit the GitHub repository to report an issue or bug." set hidden = 1 - if(config.issuereporturl) + if(get_config_value(/decl/config/text/issuereporturl)) if(alert("This will open GitHub in your browser. Are you sure?",,"Yes","No")=="No") return - send_link(src, config.issuereporturl) + send_link(src, get_config_value(/decl/config/text/issuereporturl)) else to_chat(src, SPAN_WARNING("The issue report URL is not set in the server configuration.")) return @@ -39,10 +39,10 @@ set name = "Forum" set desc = "Visit the forum." set hidden = 1 - if(config.forumurl) + if(get_config_value(/decl/config/text/forumurl)) if(alert("This will open the forum in your browser. Are you sure?",,"Yes","No")=="No") return - send_link(src, config.forumurl) + send_link(src, get_config_value(/decl/config/text/forumurl)) else to_chat(src, SPAN_WARNING("The forum URL is not set in the server configuration.")) return @@ -51,10 +51,10 @@ set name = "Discord" set desc = "Visit the Discord server." set hidden = 1 - if(config.discordurl) + if(get_config_value(/decl/config/text/discordurl)) if(alert("This will open the Discord invition link in your browser. Are you sure?",,"Yes","No")=="No") return - send_link(src, config.discordurl) + send_link(src, get_config_value(/decl/config/text/discordurl)) else to_chat(src, SPAN_WARNING("The Discord server URL is not set in the server configuration.")) return diff --git a/interface/skin.dmf b/interface/skin.dmf index 1201b778688..3778ffcd7c1 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -148,6 +148,7 @@ window "mainwindow" anchor1 = 0,0 anchor2 = 100,100 saved-params = "splitter" + left = "mapwindow" right = "rpane" is-vert = true elem "asset_cache_browser" @@ -192,8 +193,6 @@ window "mapwindow" font-size = 7 is-default = true saved-params = "icon-size;zoom-mode" - on-show = ".winset\"mainwindow.split.left=mapwindow\"" - on-hide = ".winset\"mainwindow.split.left=\"" elem "lobbybrowser" type = BROWSER pos = 0,0 @@ -276,11 +275,12 @@ window "rpane" is-pane = true elem "rpanewindow" type = CHILD - pos = 0,0 - size = 640x474 + pos = 0,30 + size = 0x0 anchor1 = 0,0 anchor2 = 100,100 saved-params = "splitter" + left = "infowindow" right = "outputwindow" is-vert = false elem "github" @@ -357,7 +357,6 @@ window "rpane" size = 60x15 anchor1 = none anchor2 = none - is-visible = false saved-params = "is-checked" text = "Text" command = ".winset \"rpanewindow.left=;\"" @@ -370,7 +369,6 @@ window "rpane" size = 60x15 anchor1 = none anchor2 = none - is-visible = false saved-params = "is-checked" text = "Info" command = ".winset \"rpanewindow.left=infowindow\"" @@ -432,6 +430,6 @@ window "infowindow" is-default = true saved-params = "" highlight-color = #00aa00 - on-show = ".winset\"rpane.infob.is-visible=true;rpane.textb.is-visible=true rpane.infob.is-checked=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=infowindow\"" - on-hide = ".winset\"rpane.infob.is-visible=false;rpane.textb.is-visible=true rpane.rpanewindow.pos=0,30 rpane.rpanewindow.size=0x0 rpane.rpanewindow.left=\"" + on-show = ".winset\"rpane.infob.is-checked=true\"" + on-hide = ".winset\"rpane.infob.is-checked=false\"" diff --git a/maps/away/bearcat/bearcat-2.dmm b/maps/away/bearcat/bearcat-2.dmm index 87c80ac8b8b..e8b24a4f380 100644 --- a/maps/away/bearcat/bearcat-2.dmm +++ b/maps/away/bearcat/bearcat-2.dmm @@ -1327,7 +1327,7 @@ dir = 4; icon_state = "right"; name = "Reception Window"; - opacity = TRUE + opacity = 1 }, /obj/machinery/light/small{ dir = 8; @@ -1343,7 +1343,7 @@ dir = 4; icon_state = "right"; name = "Reception Window"; - opacity = TRUE + opacity = 1 }, /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled/usedup, diff --git a/maps/away/derelict/derelict-station.dmm b/maps/away/derelict/derelict-station.dmm index 712e8d999ef..a2da531d305 100644 --- a/maps/away/derelict/derelict-station.dmm +++ b/maps/away/derelict/derelict-station.dmm @@ -3379,7 +3379,7 @@ /area/AIsattele) "lZ" = ( /obj/machinery/emitter{ - anchored = TRUE; + anchored = 1; dir = 4; state = 2 }, @@ -3391,7 +3391,7 @@ /area/constructionsite/engineering) "mb" = ( /obj/machinery/emitter{ - anchored = TRUE; + anchored = 1; dir = 8; state = 2 }, diff --git a/maps/away/errant_pisces/errant_pisces.dm b/maps/away/errant_pisces/errant_pisces.dm index ba2a360e849..9371428eada 100644 --- a/maps/away/errant_pisces/errant_pisces.dm +++ b/maps/away/errant_pisces/errant_pisces.dm @@ -63,7 +63,7 @@ desc = "A fillet of cosmoshark meat." icon_state = "fishfillet" filling_color = "#cecece" - center_of_mass = @"{'x':17,'y':13}" + center_of_mass = @'{"x":17,"y":13}' bitesize = 8 /obj/item/chems/food/sharkmeat/populate_reagents() diff --git a/maps/away/errant_pisces/errant_pisces.dmm b/maps/away/errant_pisces/errant_pisces.dmm index aed2cfd56e9..9e437c95ab5 100644 --- a/maps/away/errant_pisces/errant_pisces.dmm +++ b/maps/away/errant_pisces/errant_pisces.dmm @@ -3950,8 +3950,8 @@ dir = 1 }, /obj/structure/bookcase, -/obj/item/book/manual/anomaly_testing, -/obj/item/book/manual/anomaly_spectroscopy, +/obj/item/book/fluff/anomaly_testing, +/obj/item/book/fluff/anomaly_spectroscopy, /turf/simulated/floor/tiled, /area/errant_pisces/science_wing) "kB" = ( @@ -3962,7 +3962,7 @@ /area/errant_pisces/science_wing) "kC" = ( /obj/structure/bookcase, -/obj/item/book/manual/materials_chemistry_analysis, +/obj/item/book/fluff/materials_chemistry_analysis, /turf/simulated/floor/tiled, /area/errant_pisces/science_wing) "kD" = ( diff --git a/maps/away/liberia/liberia.dmm b/maps/away/liberia/liberia.dmm index fc0c32318ae..505f535ae28 100644 --- a/maps/away/liberia/liberia.dmm +++ b/maps/away/liberia/liberia.dmm @@ -320,7 +320,7 @@ dir = 9 }, /obj/structure/closet/emcloset{ - anchored = TRUE; + anchored = 1; name = "anchored emergency closet" }, /turf/simulated/floor/tiled/techfloor/grid, @@ -2438,7 +2438,7 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/emcloset{ - anchored = TRUE; + anchored = 1; name = "anchored emergency closet" }, /turf/simulated/floor/tiled/monotile, @@ -7968,7 +7968,7 @@ dir = 6 }, /obj/structure/closet/emcloset{ - anchored = TRUE; + anchored = 1; name = "anchored emergency closet" }, /turf/simulated/floor/tiled/techfloor, diff --git a/maps/away/magshield/magshield.dm b/maps/away/magshield/magshield.dm index 5a32a7b5dfe..35415658d07 100644 --- a/maps/away/magshield/magshield.dm +++ b/maps/away/magshield/magshield.dm @@ -141,40 +141,24 @@ icon_state = "nav_light_red" -/obj/item/book/manual/magshield_manual +/obj/item/book/fluff/magshield_manual name = "SOP for Planetary Shield Orbital Station" icon = 'magshield_sprites.dmi' icon_state = "mg_guide" author = "Terraforms Industrial" title = "Standard operating procedures for Planetary Shield Orbital Station" - - dat = {" - - - - - -

    Introduction

    - Terraforms Industrial is happy to see you as our customer! Please read this guide before using and operating with your custom PSOS - Planetary Shield Orbital Statiion. -

    Best uses for PSOS

    - PSOS is intended for protecting exoplanets from high energy space radiation rays and particles. Best used for planets lacking active geomagnetic field so PSOS would compensate its absence.
    -

    Applied technologies

    - Terraforms Industrial is delivering you your new PSOS with set of four (4) high-strength magnetic field generators. Those devices use rotating supeconducter hands to create magnetic field with strength up to 5 Tesla effectively deflecting up to 99% of space radiation spectrum.
    -
    - Special modified vacuum radiation sensors will help you evaluate radiation level and adjust power input of PSOS magnetic generators for best efficiency and power saving. -


    - rest of the book pages are gone - - - "} + fluff_text = {" +

    Introduction

    + Terraforms Industrial is happy to see you as our customer! Please read this guide before using and operating with your custom PSOS - Planetary Shield Orbital Statiion. +

    Best uses for PSOS

    + PSOS is intended for protecting exoplanets from high energy space radiation rays and particles. Best used for planets lacking active geomagnetic field so PSOS would compensate its absence.
    +

    Applied technologies

    + Terraforms Industrial is delivering you your new PSOS with set of four (4) high-strength magnetic field generators. Those devices use rotating supeconducter hands to create magnetic field with strength up to 5 Tesla effectively deflecting up to 99% of space radiation spectrum.
    +
    + Special modified vacuum radiation sensors will help you evaluate radiation level and adjust power input of PSOS magnetic generators for best efficiency and power saving. +


    + The rest of the pages have been torn out... + "} /obj/item/paper/magshield/tornpage name = "torn book page" diff --git a/maps/away/magshield/magshield.dmm b/maps/away/magshield/magshield.dmm index ec7447f8490..ad2e9e971bd 100644 --- a/maps/away/magshield/magshield.dmm +++ b/maps/away/magshield/magshield.dmm @@ -679,7 +679,7 @@ /area/magshield/engine) "cd" = ( /obj/machinery/atmospherics/binary/circulator{ - anchored = TRUE; + anchored = 1; dir = 4 }, /turf/simulated/floor/plating, @@ -764,7 +764,7 @@ icon_state = "0-8" }, /obj/machinery/generator{ - anchored = TRUE + anchored = 1 }, /turf/simulated/floor/plating, /area/magshield/engine) @@ -845,7 +845,7 @@ /area/magshield/engine) "cx" = ( /obj/machinery/atmospherics/binary/circulator{ - anchored = TRUE; + anchored = 1; dir = 8 }, /turf/simulated/floor/plating, @@ -2559,7 +2559,7 @@ /turf/simulated/floor/tiled, /area/magshield/west) "hD" = ( -/obj/item/book/manual/magshield_manual, +/obj/item/book/fluff/magshield_manual, /turf/simulated/floor/tiled/white, /area/magshield/west) "hE" = ( diff --git a/maps/away/mining/mining-signal.dmm b/maps/away/mining/mining-signal.dmm index e3e32505f79..4b91f7e6864 100644 --- a/maps/away/mining/mining-signal.dmm +++ b/maps/away/mining/mining-signal.dmm @@ -971,7 +971,7 @@ /area/outpost/abandoned) "dt" = ( /obj/structure/door_assembly{ - anchored = TRUE + anchored = 1 }, /turf/simulated/floor, /area/outpost/abandoned) @@ -1239,7 +1239,7 @@ /area/mine/explored) "el" = ( /obj/structure/firedoor_assembly{ - anchored = TRUE + anchored = 1 }, /obj/effect/wallframe_spawn/reinforced, /turf/simulated/floor/plating, @@ -1841,7 +1841,7 @@ /area/mine/explored) "gd" = ( /obj/structure/windoor_assembly{ - anchored = TRUE; + anchored = 1; dir = 8 }, /turf/simulated/floor/tiled/dark, @@ -2072,7 +2072,7 @@ /obj/effect/decal/cleanable/blood/tracks/footprints, /obj/effect/decal/cleanable/dirt, /obj/structure/firedoor_assembly{ - anchored = TRUE + anchored = 1 }, /turf/simulated/floor/plating{ icon_state = "dmg2" diff --git a/maps/away/smugglers/smugglers.dmm b/maps/away/smugglers/smugglers.dmm index dc20dfc73a6..43b2fc8a2f5 100644 --- a/maps/away/smugglers/smugglers.dmm +++ b/maps/away/smugglers/smugglers.dmm @@ -57,7 +57,7 @@ }, /obj/effect/floor_decal/industrial/warning/full, /obj/item/beartrap{ - anchored = TRUE; + anchored = 1; deployed = 1; icon_state = "beartrap1" }, @@ -249,7 +249,7 @@ /area/smugglers/base) "aJ" = ( /obj/item/beartrap{ - anchored = TRUE; + anchored = 1; deployed = 1; icon_state = "beartrap1" }, diff --git a/maps/away/unishi/unishi-3.dmm b/maps/away/unishi/unishi-3.dmm index 3156725ec11..4504826b200 100644 --- a/maps/away/unishi/unishi-3.dmm +++ b/maps/away/unishi/unishi-3.dmm @@ -930,7 +930,7 @@ /obj/structure/table/woodentable, /obj/item/board, /obj/item/book/manual/mass_spectrometry, -/obj/item/book/manual/stasis, +/obj/item/book/fluff/stasis, /turf/simulated/floor/tiled, /area/unishi/living) "cM" = ( diff --git a/maps/crux/areas/_areas.dm b/maps/crux/areas/_areas.dm new file mode 100644 index 00000000000..85d734aaff2 --- /dev/null +++ b/maps/crux/areas/_areas.dm @@ -0,0 +1,59 @@ +#define AMBIENCE_SPACE list('sound/ambience/ambispace1.ogg','sound/ambience/ambispace2.ogg','sound/ambience/ambispace3.ogg','sound/ambience/ambispace4.ogg','sound/ambience/ambispace5.ogg') + +/datum/map/crux + apc_test_exempt_areas = list( + /area/exoplanet = NO_SCRUBBER|NO_VENT|NO_APC, + /area/space = NO_SCRUBBER|NO_VENT|NO_APC, + /area/turbolift = NO_SCRUBBER|NO_VENT|NO_APC, + /area/crux/engineering/construction1 = NO_SCRUBBER|NO_VENT, + /area/crux/engineering/construction2 = NO_SCRUBBER|NO_VENT, + /area/crux/engineering/construction3 = NO_SCRUBBER|NO_VENT, + /area/crux/engineering/construction4 = NO_SCRUBBER|NO_VENT, + /area/crux/engineering/construction5 = NO_SCRUBBER|NO_VENT, + /area/crux/engineering/construction/sd_construction = NO_SCRUBBER|NO_VENT, + /area/crux/outside = NO_SCRUBBER|NO_VENT|NO_APC, + /area/crux/outside/level_one = NO_VENT|NO_APC, + /area/crux/outside/roof = 0, + /area/crux/outside/roof/balcony_south = NO_SCRUBBER|NO_VENT, + /area/crux/outside/roof/garden = NO_SCRUBBER|NO_VENT, + /area/crux/shuttle = NO_SCRUBBER|NO_VENT|NO_APC, + /area/crux/shuttle/shuttle_start_2 = NO_SCRUBBER|NO_APC, + /area/crux/shuttle/shuttle_start = NO_SCRUBBER|NO_APC, + /area/crux/storage/emergency = NO_SCRUBBER|NO_VENT, + /area/crux/science/test_area = NO_SCRUBBER|NO_VENT, + /area/crux/habitation/bar = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/library = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/medbay = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/firstdeck = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/firstdeck/foreport = NO_SCRUBBER, + /area/crux/maintenance/firstdeck/forestarboard = NO_SCRUBBER, + /area/crux/maintenance/substation = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/robotics = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/emergencyeva = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/medbay_fore = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/research_medical = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/engineering = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/bar = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/disposal = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/apmaint = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/central = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/thirddeck = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/security_starboard = NO_SCRUBBER|NO_VENT, + /area/crux/maintenance/solars/aftportsolar = NO_SCRUBBER, + /area/crux/maintenance/solars/aftstarboardsolar = NO_SCRUBBER, + /area/crux/maintenance/cargo = NO_SCRUBBER, + /area/crux/maintenance/research = NO_SCRUBBER, + /area/crux/maintenance/solars/foreportsolar = NO_SCRUBBER, + /area/crux/maintenance/solars/forestarboardsolar = NO_SCRUBBER, + /area/crux/network/comms/chamber = NO_SCRUBBER, + /area/crux/network/server = NO_SCRUBBER, + /area/crux/medical/genetics = NO_APC + ) + area_coherency_test_exempt_areas = list( + /area/space, + /area/crux/outside, + /area/crux/outside/level_one, + /area/crux/outside/level_two + ) + +/area/crux diff --git a/maps/crux/areas/bridge.dm b/maps/crux/areas/bridge.dm new file mode 100644 index 00000000000..aef519030b1 --- /dev/null +++ b/maps/crux/areas/bridge.dm @@ -0,0 +1,7 @@ +/area/crux/bridge + name = "\improper Bridge" + req_access = list(access_bridge) + holomap_color = HOLOMAP_AREACOLOR_COMMAND + +/area/crux/bridge/meeting_room + name = "\improper Meeting Room" diff --git a/maps/crux/areas/engineering.dm b/maps/crux/areas/engineering.dm new file mode 100644 index 00000000000..416579fa3d6 --- /dev/null +++ b/maps/crux/areas/engineering.dm @@ -0,0 +1,103 @@ +/area/crux/engineering + icon_state = "engineering" + ambience = list('sound/ambience/ambisin1.ogg','sound/ambience/ambisin2.ogg','sound/ambience/ambisin3.ogg','sound/ambience/ambisin4.ogg') + req_access = list(access_engine) + holomap_color = HOLOMAP_AREACOLOR_ENGINEERING + +/area/crux/engineering/engine_smes + name = "\improper SMES Chamber" + req_access = list(access_engine_equip) + +/area/crux/engineering/engine_waste + name = "\improper Engine Waste Handling" + req_access = list(access_engine_equip) + +/area/crux/engineering/drone_fabrication + name = "\improper Drone Fabrication" + +/area/crux/engineering/atmos/monitoring + name = "\improper Atmospherics Monitoring" + req_access = list(access_atmospherics) + +/area/crux/engineering/storage + name = "\improper Engineering Storage" + +/area/crux/engineering/atmos + name = "\improper Atmospherics" + req_access = list(access_atmospherics) + +/area/crux/engineering/engineer_eva + name = "\improper Engineering EVA" + icon_state = "engine_eva" + req_access = list(access_engine, access_eva) + +/area/crux/engineering/engi_restroom + name = "\improper Engineering Restroom" + icon_state = "toilet" + area_flags = AREA_FLAG_RAD_SHIELDED + sound_env = SMALL_ENCLOSED + +/area/crux/engineering/hallway/atmos_hallway + name = "\improper Atmospherics Hallway" + req_access = list(access_atmospherics) + +/area/crux/engineering/hallway/engineer_hallway + name = "\improper Engineering Hallway" + icon_state = "engineering_aft_hallway" + +/area/crux/engineering/locker_room + name = "\improper Engineering Locker Room" + +/area/crux/engineering/break_room + name = "\improper Engineering Break Room" + +/area/crux/engineering/workshop + name = "\improper Engineering Workshop" + +/area/crux/engineering/engine_room + name = "\improper Engine Room" + req_access = list(access_engine_equip) + +/area/crux/engineering/foyer + name = "\improper Engineering Foyer" + +/area/crux/engineering/engine_airlock + name = "\improper Engine Airlock" + +/area/crux/engineering/engine_monitoring + name = "\improper Engine Monitoring" + +/area/crux/engineering/auxiliary_engineering + name = "\improper Auxiliary Engineering Station" + sound_env = SMALL_ENCLOSED + +/area/crux/engineering/construction + name = "\improper Engineering Construction Area" + icon_state = "construction" + +/area/crux/engineering/construction1 + name = "\improper Ground Floor Engineering Construction Area 1" + +/area/crux/engineering/construction2 + name = "\improper Ground Floor Engineering Construction Area 2" + +/area/crux/engineering/construction3 + name = "\improper Ground Floor Engineering Construction Area 3" + +/area/crux/engineering/construction4 + name = "\improper Ground Floor Engineering Construction Area 4" + +/area/crux/engineering/construction5 + name = "\improper Ground Floor Engineering Construction Area 5" + +/area/crux/engineering/construction/sd_construction + name = "\improper First Floor Engineering Construction Area 1" + icon_state = "construction" + +/area/crux/engineering/robotics + name = "\improper Robotics" + req_access = list(access_robotics) + +/area/crux/engineering/chargebay + name = "\improper Recharging Bay" + req_access = list(access_robotics) diff --git a/maps/crux/areas/eva.dm b/maps/crux/areas/eva.dm new file mode 100644 index 00000000000..ad6df40379e --- /dev/null +++ b/maps/crux/areas/eva.dm @@ -0,0 +1,11 @@ +/area/crux/eva + name = "EVA Storage" + icon_state = "eva" + req_access = list(access_eva) + holomap_color = HOLOMAP_AREACOLOR_ESCAPE + +/area/crux/eva/pilot + name = "Pilot EVA Storage" + +/area/crux/eva/emergency + name = "\improper EVA Storage" diff --git a/maps/crux/areas/giftshop.dm b/maps/crux/areas/giftshop.dm new file mode 100644 index 00000000000..5286e736077 --- /dev/null +++ b/maps/crux/areas/giftshop.dm @@ -0,0 +1,5 @@ +/area/crux/giftshop + name = "\improper Gift Shop" + +/area/crux/giftshop/storage + name = "\improper Gift Shop Storage" diff --git a/maps/crux/areas/habitation.dm b/maps/crux/areas/habitation.dm new file mode 100644 index 00000000000..92f6b36f5bd --- /dev/null +++ b/maps/crux/areas/habitation.dm @@ -0,0 +1,119 @@ +/area/crux/habitation + name = "\improper Cafeteria" + sound_env = MEDIUM_SOFTFLOOR + holomap_color = HOLOMAP_AREACOLOR_CREW + +/area/crux/habitation/hop + name = "\improper Command - HoP's Office" + icon_state = "head_quarters" + holomap_color = HOLOMAP_AREACOLOR_COMMAND + area_flags = AREA_FLAG_IS_NOT_PERSISTENT + req_access = list(access_hop) + +/area/crux/habitation/hor + name = "\improper Research - RD's Office" + icon_state = "head_quarters" + holomap_color = HOLOMAP_AREACOLOR_SCIENCE + area_flags = AREA_FLAG_IS_NOT_PERSISTENT + req_access = list(access_rd) + +/area/crux/habitation/chief + name = "\improper Engineering - CE's Office" + icon_state = "head_quarters" + holomap_color = HOLOMAP_AREACOLOR_ENGINEERING + req_access = list(access_ce) + +/area/crux/habitation/servicemanager + name = "\improper Service Manager's Office" + icon_state = "head_quarters" + holomap_color = HOLOMAP_AREACOLOR_SECURITY + req_access = list(access_hos) + +/area/crux/habitation/cmo + name = "\improper Medbay - CMO's Office" + icon_state = "head_quarters" + holomap_color = HOLOMAP_AREACOLOR_MEDICAL + area_flags = AREA_FLAG_IS_NOT_PERSISTENT + req_access = list(access_cmo) + +/area/crux/habitation/sd + name = "\improper Command - Station Director's Office" + icon_state = "captain" + holomap_color = HOLOMAP_AREACOLOR_COMMAND + req_access = list(access_captain) + +/area/crux/habitation/gym + name = "\improper Station Gym" + icon_state = "fitness" + +/area/crux/habitation/toilet + name = "\improper Toilets" + +/area/crux/habitation/toilet/firstdeck + name = "\improper Ground Floor Restroom" + +/area/crux/habitation/toilet/seconddeck_south + name = "\improper First Floor South Restroom" + +/area/crux/habitation/kitchen + name = "\improper Kitchen" + req_access = list(access_kitchen) + +/area/crux/habitation/kitchen/coldroom + name = "\improper Kitchen Cold Room" + +/area/crux/habitation/bar + name = "\improper Bar" + req_access = list(access_bar) + +/area/crux/habitation/hop/quarters + name = "\improper Command - HoP's Quarters" + icon_state = "head_quarters" + req_access = list(access_hop) + +/area/crux/habitation/hor/quarters + name = "\improper Research - RD's Quarters" + icon_state = "research" + req_access = list(access_rd) + +/area/crux/habitation/chief/quarters + name = "\improper Engineering - CE's Quarters" + icon_state = "engine" + req_access = list(access_ce) + +/area/crux/habitation/servicemanager/quarters + name = "\improper Security - HoS' Quarters" + icon_state = "security" + req_access = list(access_hos) + +/area/crux/habitation/cmo/quarters + name = "\improper Medbay - CMO's Quarters" + icon_state = "medbay" + req_access = list(access_cmo) + +/area/crux/habitation/restroom + name = "\improper Command - Restroom" + icon_state = "toilet" + req_access = list(access_bridge) + +/area/crux/habitation/bs + name = "\improper Command - Secretary Quarters" + req_access = list(access_bridge) + +/area/crux/habitation/janitor + name = "\improper Custodial Office" + req_access = list(access_janitor) + +/area/crux/habitation/hydroponics + name = "\improper Hydroponics" + req_access = list(access_hydroponics) + +/area/crux/habitation/chapel + name = "\improper Prayer Room" + +/area/crux/habitation/library + name = "\improper Library" + +/area/crux/habitation/library/office + name = "\improper Library - Curator's Office" + req_access = list(access_library) diff --git a/maps/crux/areas/hallways.dm b/maps/crux/areas/hallways.dm new file mode 100644 index 00000000000..bc8093b3cd5 --- /dev/null +++ b/maps/crux/areas/hallways.dm @@ -0,0 +1,110 @@ +/area/crux/hallway + name = "hallway" + holomap_color = HOLOMAP_AREACOLOR_HALLWAYS + +/area/crux/hallway/primary/firstdeck/elevator + name = "\improper Ground Floor Central Elevator Access" + icon_state = "hallC" + +/area/crux/hallway/primary/firstdeck/north + name = "\improper Ground Floor North Hallway" + icon_state = "hallF" + +/area/crux/hallway/primary/firstdeck/fpcenter + name = "\improper Ground Floor Northwest Central Hallway" + icon_state = "hallC1" + +/area/crux/hallway/primary/firstdeck/fscenter + name = "\improper Ground Floor Northeast Central Hallway" + icon_state = "hallC2" + +/area/crux/hallway/primary/firstdeck/apcenter + name = "\improper Ground Floor Southwest Central Hallway" + icon_state = "hallC3" + +/area/crux/hallway/primary/firstdeck/ascenter + name = "\improper Ground Floor Southeast Central Hallway" + icon_state = "hallC4" + +/area/crux/hallway/primary/firstdeck/south + name = "\improper Ground Floor South Hallway" + icon_state = "hallA" + +/area/crux/hallway/primary/firstdeck/south/entrance + name = "\improper Ground Floor South Entrance Hallway" + +/area/crux/hallway/primary/firstdeck/west + name = "\improper Ground Floor West Hallway" + icon_state = "hallP" + +/area/crux/hallway/primary/firstdeck/east + name = "\improper Ground Floor East Hallway" + icon_state = "hallS" + +/area/crux/hallway/primary/firstdeck/auxdockfore + name = "\improper Ground Floor North Auxiliary Dock" + icon_state = "docking_hallway" + +/area/crux/hallway/secondary/escape/firstdeck/ep_port + name = "\improper Large Escape Pod 2 West" + icon_state = "escape_pod" + +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1 + name = "\improper Ground Floor Research Access Hallway" + icon_state = "escape_pod" + +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2 + name = "\improper Large Escape Pod 2 East" + icon_state = "escape_pod" + +/area/crux/hallway/primary/seconddeck/stairwell + name = "\improper First Floor Central Stairwell Access" + icon_state = "hallC" + +/area/crux/hallway/primary/seconddeck/north + name = "\improper First Floor North Hallway" + icon_state = "hallF" + +/area/crux/hallway/primary/seconddeck/fpcenter + name = "\improper First Floor Northwest Central Hallway" + icon_state = "hallC1" + +/area/crux/hallway/primary/seconddeck/fscenter + name = "\improper First Floor Northeast Central Hallway" + icon_state = "hallC2" + +/area/crux/hallway/primary/seconddeck/apcenter + name = "\improper First Floor Southwest Central Hallway" + icon_state = "hallC3" + +/area/crux/hallway/primary/seconddeck/ascenter + name = "\improper First Floor Southeast Central Hallway" + icon_state = "hallC4" + +/area/crux/hallway/primary/seconddeck/south + name = "\improper First Floor South Hallway" + icon_state = "hallA" + +/area/crux/hallway/primary/seconddeck/west + name = "\improper First Floor West Hallway" + icon_state = "hallP" + +/area/crux/hallway/primary/seconddeck/east + name = "\improper First Floor East Hallway" + icon_state = "hallS" + +/area/crux/hallway/secondary/seconddeck/research_medical + name = "Research Medical Hallway" + icon_state = "hallS" + +/area/crux/hallway/primary/thirddeck/central + name = "\improper Second Floor Central Hallway" + icon_state = "hallC" + +/area/crux/hallway/primary/thirddeck/west + name = "\improper Second Floor West Hallway" + icon_state = "hallP" + +/area/crux/hallway/primary/thirddeck/east + name = "\improper Second Floor East Hallway" + icon_state = "hallS" diff --git a/maps/crux/areas/hangar.dm b/maps/crux/areas/hangar.dm new file mode 100644 index 00000000000..08ce320c400 --- /dev/null +++ b/maps/crux/areas/hangar.dm @@ -0,0 +1,26 @@ +/area/crux/hangar + name = "\improper Ground Floor Hangar" + icon_state = "hangar" + sound_env = LARGE_ENCLOSED +// ambience = AMBIENCE_HANGAR + +/area/crux/hangar/one + name = "\improper Hangar One" + +/area/crux/hangar/onecontrol + name = "\improper Hangar One Control Room" + icon_state = "hangarcontrol" + +/area/crux/hangar/two + name = "\improper Hangar Two" + +/area/crux/hangar/twocontrol + name = "\improper Hangar Two Control Room" + icon_state = "hangarcontrol" + +/area/crux/hangar/three + name = "\improper Hangar Three" + +/area/crux/hangar/threecontrol + name = "\improper Hangar Three Control Room" + icon_state = "hangarcontrol" diff --git a/maps/crux/areas/hotel.dm b/maps/crux/areas/hotel.dm new file mode 100644 index 00000000000..8ff73f9b661 --- /dev/null +++ b/maps/crux/areas/hotel.dm @@ -0,0 +1,67 @@ +/area/crux/hotel + name = "\improper Hotel Hallway" + holomap_color = HOLOMAP_AREACOLOR_CREW + +/area/crux/hotel/standard_room_a + name = "\improper Standard Room A" + +/area/crux/hotel/standard_room_b + name = "\improper Standard Room B" + +/area/crux/hotel/standard_room_c + name = "\improper Standard Room C" + +/area/crux/hotel/standard_room_d + name = "\improper Standard Room D" + +/area/crux/hotel/lounge + name = "\improper Hotel Lounge" + +/area/crux/hotel/kitchenette + name = "\improper Kitchenette" + +/area/crux/hotel/executive_suite_a + name = "\improper Executive Suite A" + +/area/crux/hotel/executive_suite_b + name = "\improper Executive Suite B" + +/area/crux/hotel/executive_suite_c + name = "\improper Executive Suite C" + +/area/crux/hotel/executive_suite_d + name = "\improper Executive Suite D" + +/area/crux/hotel/pool_locker_room + name = "\improper Pool Lockers" + +/area/crux/hotel/pool_restroom + name = "\improper Pool Restroom" + area_flags = AREA_FLAG_RAD_SHIELDED + sound_env = SMALL_ENCLOSED + +/area/crux/hotel/staff_lounge + name = "\improper Staff Lounge" + +/area/crux/hotel/lobby + name = "\improper Hotel Lobby" + +/area/crux/hotel/pool + name = "\improper Pool" + +/area/crux/hotel/conference_room + name = "\improper Conference Room" + +/area/crux/hotel/free_suite_a + name = "\improper Free Suite A" + icon_state = "security_aid_station" + +/area/crux/hotel/free_suite_b + name = "\improper Free Suite B" + icon_state = "security_equip_storage" + +/area/crux/hotel/hotel_restroom + name = "\improper Hotel Restroom" + icon_state = "security_bathroom" + area_flags = AREA_FLAG_RAD_SHIELDED + sound_env = SMALL_ENCLOSED diff --git a/maps/crux/areas/maintenance.dm b/maps/crux/areas/maintenance.dm new file mode 100644 index 00000000000..5ad3c54fdf0 --- /dev/null +++ b/maps/crux/areas/maintenance.dm @@ -0,0 +1,149 @@ +/area/crux/maintenance + area_flags = AREA_FLAG_RAD_SHIELDED + sound_env = TUNNEL_ENCLOSED + turf_initializer = /decl/turf_initializer/maintenance + forced_ambience = list('sound/ambience/maintambience.ogg') + req_access = list(access_maint_tunnels) + holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE + +/area/crux/maintenance/firstdeck + name = "Ground Floor Maintenance" + icon_state = "maintcentral" + +/area/crux/maintenance/firstdeck/aftstarboard + name = "Ground Floor Southeast Maintenance" + icon_state = "asmaint" + +/area/crux/maintenance/firstdeck/aftport + name = "Ground Floor Southwest Maintenance" + icon_state = "apmaint" + +/area/crux/maintenance/firstdeck/forestarboard + name = "Ground Floor Northeast Maintenance" + icon_state = "fsmaint" + +/area/crux/maintenance/firstdeck/foreport + name = "Ground Floor Northwest Maintenance" + icon_state = "fpmaint" + +/area/crux/maintenance/firstdeck/centralstarboard + name = "Ground Floor East Maintenance" + icon_state = "smaint" + +/area/crux/maintenance/firstdeck/centralport + name = "Ground Floor West Maintenance" + icon_state = "pmaint" + +/area/crux/maintenance/thirddeck/aftstarboard + name = "Second Floor Southeast Maintenance" + icon_state = "asmaint" + +/area/crux/maintenance/thirddeck/aftport + name = "Second Floor Southwest Maintenance" + icon_state = "apmaint" + +/area/crux/maintenance/thirddeck/forestarboard + name = "Third Deck Northeast Maintenance" + icon_state = "fsmaint" + +/area/crux/maintenance/thirddeck/foreport + name = "Third Deck Northwest Maintenance" + icon_state = "fpmaint" + +/area/crux/maintenance/solars + icon_state = "SolarcontrolA" + sound_env = SMALL_ENCLOSED + +/area/crux/maintenance/solars/aftportsolar + name = "Solar Maintenance - Southwest" + icon_state = "SolarcontrolP" + +/area/crux/maintenance/solars/aftstarboardsolar + name = "Solar Maintenance - Southeast" + icon_state = "SolarcontrolS" + +/area/crux/maintenance/solars/foreportsolar + name = "Solar Maintenance - Northwest" + icon_state = "SolarcontrolP" + +/area/crux/maintenance/solars/forestarboardsolar + name = "Solar Maintenance - Northeast" + icon_state = "SolarcontrolS" + +/area/crux/maintenance/security_starboard + name = "\improper East Security" + +/area/crux/hallway/secondary/eva_hallway + name = "\improper EVA Hallway" + +/area/crux/maintenance/engineering + name = "\improper Engineering Maintenance" + +/area/crux/maintenance/research + name = "\improper Research Maintenance" + +/area/crux/maintenance/emergencyeva + name = "\improper Emergency EVA Maintenance" + icon_state = "maint_eva" + +/area/crux/maintenance/robotics + name = "Robotics Maintenance" + icon_state = "maint_research" + +/area/crux/maintenance/research_medical + name = "Research Medical Maintenance" + icon_state = "maint_research" + +/area/crux/maintenance/cargo + name = "\improper Cargo Maintenance" + +/area/crux/maintenance/disposal + name = "\improper Disposals" + +/area/crux/maintenance/medbay_fore + name = "\improper North Medbay" + +/area/crux/maintenance/medbay + name = "\improper Medbay Maintenance" + +/area/crux/maintenance/bar + name = "\improper Bar Maintenance" + +/area/crux/maintenance/library + name = "\improper Library Maintenance" + +/area/crux/maintenance/apmaint + name = "\improper AP Maintenance" + +/area/crux/maintenance/central + name = "\improper Central Maintenance" + +/area/crux/maintenance/substation/command + name = "\improper Command Substation" + +/area/crux/maintenance/substation/research + name = "\improper Research Substation" + +/area/crux/maintenance/substation/cargo + name = "\improper Cargo Substation" + +/area/crux/maintenance/substation/medical + name = "\improper Medical Substation" + +/area/crux/maintenance/substation/engineering + name = "\improper Engineering Substration" + +/area/crux/maintenance/substation/firstdeck + name = "Ground Floor Utility Access" + +/area/crux/maintenance/substation/firstdeck/cargo + name = "Ground Floor Cargo Substation" + +/area/crux/maintenance/substation/atmospherics + name = "Atmospherics Substation" + +/area/crux/maintenance/substation/central + name = "Central Substation" + +/area/crux/maintenance/substation/security + name = "\improper Security Substation" diff --git a/maps/crux/areas/medical.dm b/maps/crux/areas/medical.dm new file mode 100644 index 00000000000..290e23583b8 --- /dev/null +++ b/maps/crux/areas/medical.dm @@ -0,0 +1,102 @@ +/area/crux/medical + req_access = list(access_medical) + holomap_color = HOLOMAP_AREACOLOR_MEDICAL + +/area/crux/medical/medbay2 + name = "\improper Medbay 2" + +/area/crux/medical/genetics + name = "\improper Genetics" + +/area/crux/medical/patient_wing + name = "\improper Patient Wing" + +/area/crux/medical/patient_a + name = "\improper Patient Room A" + +/area/crux/medical/patient_b + name = "\improper Patient Room B" + +/area/crux/medical/virology + name = "\improper Virology" + +/area/crux/medical/surgery_storage + name = "\improper Surgical Storage" + +/area/crux/medical/surgery2 + name = "\improper Secondary Surgery" + +/area/crux/medical/surgery + name = "\improper Primary Surgery" + +/area/crux/medical/surgeryobs + name = "\improper Surgery Observation" + +/area/crux/medical/genetics_cloning + name = "\improper Cloning Lab" + +/area/crux/medical/ward + name = "\improper Medical Ward" + +/area/crux/medical/morgue + name = "\improper Morgue" + +/area/crux/medical/psych + name = "\improper Psychiatrist's Office" + +/area/crux/medical/cryo + name = "\improper Cryogenics" + +/area/crux/medical/sleeper + name = "\improper Sleepers" + +/area/crux/medical/first_aid_station + name = "\improper First-Aid Station" + icon_state = "medbay2" + +/area/crux/medical/first_aid_station/firstdeck + name = "\improper Ground Floor First-Aid Station" + +/area/crux/medical/foyer + name = "\improper Medbay Foyer" + icon_state = "medbay2" + +/area/crux/medical/first_aid_station/seconddeck/ + name = "\improper First-Aid Station" + +/area/crux/medical/first_aid_station/seconddeck/west + name = "\improper West First-Aid Station" + +/area/crux/medical/first_aid_station/seconddeck/north + name = "\improper North First-Aid Station" + +/area/crux/medical/medical_lockerroom + name = "\improper Medbay Locker Room" + icon_state = "locker" + +/area/crux/medical/medical_restroom + name = "\improper Medbay Restroom" + icon_state = "medbay_restroom" + area_flags = AREA_FLAG_RAD_SHIELDED + sound_env = SMALL_ENCLOSED + +/area/crux/medical/medbay_emt_bay + name = "\improper EMT Bay" + +/area/crux/medical/biostorage + name = "\improper Biological Storage" + +/area/crux/medical/medbay_primary_storage + name = "\improper Primary Medical Storage" + +/area/crux/medical/chemistry + name = "\improper Chemistry" + +/area/crux/medical/reception + name = "\improper Medical Reception" + +/area/crux/medical/exam_room + name = "\improper Exam Room" + +/area/crux/medical/medbay + name = "\improper Medbay" diff --git a/maps/crux/areas/network.dm b/maps/crux/areas/network.dm new file mode 100644 index 00000000000..4e52aeae9a2 --- /dev/null +++ b/maps/crux/areas/network.dm @@ -0,0 +1,51 @@ +/area/crux/network + name = "AI Core" + icon_state = "ai_upload" + req_access = list(access_tcomsat) + holomap_color = HOLOMAP_AREACOLOR_COMMAND + +/area/crux/network/server + name = "\improper Server" + +/area/crux/network/ai_cyborg_station + name = "\improper Cyborg Station" + icon_state = "ai_cyborg" + sound_env = SMALL_ENCLOSED + +/area/crux/network/ai_upload + name = "\improper AI Upload Chamber" + icon_state = "ai_upload" + +/area/crux/network/ai_upload_foyer + name = "AI Upload Access" + icon_state = "ai_foyer" + sound_env = SMALL_ENCLOSED + +/area/crux/network/ai_server_room + name = "Messaging Server Room" + icon_state = "ai_server" + sound_env = SMALL_ENCLOSED + +/area/crux/network/comms + icon_state = "tcomsatcham" + holomap_color = HOLOMAP_AREACOLOR_COMMAND + +/area/crux/network/comms/entrance + name = "\improper Telecomms Teleporter" + icon_state = "tcomsatentrance" + +/area/crux/network/comms/tcomfoyer + name = "\improper Telecomms Foyer" + icon_state = "tcomsatfoyer" + +/area/crux/network/comms/chamber + name = "\improper Telecomms Central Compartment" + icon_state = "tcomsatcham" + +/area/crux/network/comms/tcomstorage + name = "\improper Telecomms Storage" + icon_state = "tcomsatstore" + +/area/crux/network/comms/computer + name = "\improper Telecomms Control Room" + icon_state = "tcomsatcomp" \ No newline at end of file diff --git a/maps/crux/areas/outside.dm b/maps/crux/areas/outside.dm new file mode 100644 index 00000000000..159046394eb --- /dev/null +++ b/maps/crux/areas/outside.dm @@ -0,0 +1,37 @@ +/area/crux/outside + name = "\improper Port Eleostura Grounds" + requires_power = TRUE + always_unpowered = TRUE + area_flags = AREA_FLAG_RAD_SHIELDED + is_outside = OUTSIDE_YES + +/area/crux/outside/level_one + name = "\improper Port Eleostura Exterior" + +/area/crux/outside/level_two + name = "\improper Port Eleostura Heights" + +/area/crux/outside/roof + name = "\improper Rooftop Lounge" + +/area/crux/outside/roof/garden + name = "\improper Rooftop Garden" + +/area/crux/outside/roof/balcony_south + name ="\improper South Balcony" + +/area/crux/outside/solars_aftportsolar + name = "\improper Southwest Solar Array" + icon_state = "panelsP" + +/area/crux/outside/solars_foreportsolar + name = "\improper Northwest Solar Array" + icon_state = "panelsP" + +/area/crux/outside/solars_aftstarboardsolar + name = "\improper Southeast Solar Array" + icon_state = "panelsS" + +/area/crux/outside/solars_forestarboardsolar + name = "\improper Northeast Solar Array" + icon_state = "panelsS" diff --git a/maps/crux/areas/science.dm b/maps/crux/areas/science.dm new file mode 100644 index 00000000000..99bf3c414d4 --- /dev/null +++ b/maps/crux/areas/science.dm @@ -0,0 +1,53 @@ +/area/crux/science + name = "\improper Research" + icon_state = "research" + req_access = list(access_research) + holomap_color = HOLOMAP_AREACOLOR_SCIENCE + +/area/crux/science/xenobiology/xenoflora + name = "\improper Xenoflora Lab" + +/area/crux/science/research_foyer + name = "\improper Research Foyer" + +/area/crux/science/test_area + name = "\improper Research Test Area" + +/area/crux/science/storage + name = "\improper Research Storage" + +/area/crux/science/hallway + name = "\improper Research - Ground Floor Hallway" + +/area/crux/science/xenobiology + name = "\improper Xenobiology" + +/area/crux/science/xenobiology/xenoflora_isolation + name = "\improper Xenoflora Isolation" + icon_state = "xeno_f_store" + +/area/crux/science/research_restroom_sc + name = "\improper Research Restroom" + icon_state = "research_restroom" + area_flags = AREA_FLAG_RAD_SHIELDED + sound_env = SMALL_ENCLOSED + +/area/crux/science/research_lockerroom + name = "\improper Research - Locker Room" + icon_state = "toxlab" + +/area/crux/science/toxins_launch + name = "\improper Research - Toxins Launch Room" + icon_state = "toxtest" + +/area/crux/science/mixing + name = "\improper Toxins Mixing" + +/area/crux/science/workshop + name = "\improper Research Workshop" + +/area/crux/science/lab + name = "\improper Research and Development" + +/area/crux/science/misc_lab + name = "\improper Miscellaneous Testing" diff --git a/maps/crux/areas/secure.dm b/maps/crux/areas/secure.dm new file mode 100644 index 00000000000..1ffd4c65b4c --- /dev/null +++ b/maps/crux/areas/secure.dm @@ -0,0 +1,20 @@ +/area/crux/secure + area_flags = AREA_FLAG_SECURITY + req_access = list(access_security) + holomap_color = HOLOMAP_AREACOLOR_SECURITY + +/area/crux/secure/checkpoint3 + name = "\improper Secure Area - Auxiliary Checkpoint" + icon_state = "security" + +/area/crux/secure/nuke_storage + name = "\improper Secure Area- Nuclear Material Storage" + +/area/crux/secure/armoury + name = "\improper Secure Area - Armoury" + +/area/crux/secure/tactical + name = "\improper Secure Area - Tactical Storage" + +/area/crux/secure/teleporter + name = "\improper Teleporter" diff --git a/maps/crux/areas/shuttles.dm b/maps/crux/areas/shuttles.dm new file mode 100644 index 00000000000..f661bde9e7b --- /dev/null +++ b/maps/crux/areas/shuttles.dm @@ -0,0 +1,74 @@ +/area/crux/shuttle + requires_power = 0 + sound_env = SMALL_ENCLOSED + base_turf = /turf/space + area_flags = AREA_FLAG_SHUTTLE | AREA_FLAG_RAD_SHIELDED + holomap_color = HOLOMAP_AREACOLOR_CREW + +//Shuttle One +/area/crux/shuttle/shuttle_start + name = "Shuttle One" + icon_state = "shuttlered" + requires_power = 0 + dynamic_lighting = 1 + area_flags = AREA_FLAG_RAD_SHIELDED + +//Shuttle Two +/area/crux/shuttle/shuttle_start_2 + name = "Shuttle Two" + icon_state = "shuttlered" + requires_power = 0 + dynamic_lighting = 1 + area_flags = AREA_FLAG_RAD_SHIELDED + +//Small Escape Pods + +/area/crux/shuttle/escape_pod1 + name = "\improper Escape Pod One" +// music = "music/escape.ogg" + +/area/crux/shuttle/escape_pod1/station + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless + +/area/crux/shuttle/escape_pod2 + name = "\improper Escape Pod Two" +// music = "music/escape.ogg" + +/area/crux/shuttle/escape_pod2/station + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless + +/area/crux/shuttle/escape_pod7 + name = "\improper Escape Pod Seven" +// music = "music/escape.ogg" + +/area/crux/shuttle/escape_pod7/station + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/reinforced/airless + +/area/crux/shuttle/escape_pod8 + name = "\improper Escape Pod Eight" +// music = "music/escape.ogg" + +/area/crux/shuttle/escape_pod8/station + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/reinforced/airless + +//Large Escape Pods + +/area/crux/shuttle/large_escape_pod1 + name = "\improper Large Escape Pod One" +// music = "music/escape.ogg" + +/area/crux/shuttle/large_escape_pod1/station + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless + +/area/crux/shuttle/large_escape_pod2 + name = "\improper Large Escape Pod Two" +// music = "music/escape.ogg" + +/area/crux/shuttle/large_escape_pod2/station + icon_state = "shuttle2" + base_turf = /turf/simulated/floor/airless diff --git a/maps/crux/areas/storage.dm b/maps/crux/areas/storage.dm new file mode 100644 index 00000000000..98461c4b5f7 --- /dev/null +++ b/maps/crux/areas/storage.dm @@ -0,0 +1,45 @@ +/area/crux/storage + name = "\improper Primary Tool Storage" + area_flags = AREA_FLAG_RAD_SHIELDED + name = "Emergency Storage" + icon_state = "emergencystorage" + holomap_color = HOLOMAP_AREACOLOR_CREW + +/area/crux/storage/emergency + name = "Ground Floor South Emergency Storage" + +/area/crux/storage/emergency/aport + name = "Ground Floor Southwest Emergency Storage" + +/area/crux/storage/emergency/astar + name = "Ground Floor Southeast Emergency Storage" + +/area/crux/storage/emergency/fore + name = "Ground Floor North Emergency Storage" + +/area/crux/storage/emergency/fport + name = "Ground Floor Northwest Emergency Storage" + +/area/crux/storage/emergency/fstar + name = "Ground Floor Northeast Emergency Storage" + +/area/crux/storage/emergency/sd_aport + name = "First Floor Southwest Emergency Storage" + +/area/crux/storage/emergency/sd_astar + name = "First Floor Southeast Emergency Storage" + +/area/crux/storage/emergency/sd_central + name = "First Floor Central Emergency Storage" + +/area/crux/storage/emergency/sd_fport + name = "First Floor Northwest Emergency Storage" + +/area/crux/storage/emergency/sd_fstar + name = "First Floor Northeast Emergency Storage" + +/area/crux/storage/emergency/sd_port + name = "First Floor West Emergency Storage" + +/area/crux/storage/auxillary + name = "\improper Auxillary Storage" diff --git a/maps/crux/areas/supply.dm b/maps/crux/areas/supply.dm new file mode 100644 index 00000000000..6d88df42f0c --- /dev/null +++ b/maps/crux/areas/supply.dm @@ -0,0 +1,31 @@ +/area/crux/supply + name = "\improper Cargo Bay Hallway" + icon_state = "quart" + req_access = list(access_cargo) + holomap_color = HOLOMAP_AREACOLOR_CARGO + +/area/crux/supply/mininglockerroom + name = "\improper Mining Locker Room" + icon_state = "mining" + +/area/crux/supply/lockerroom + name = "\improper Cargo Locker Room" + icon_state = "quart" + +/area/crux/supply/storage + name = "\improper Quartermaster Storage" + +/area/crux/supply/qm + name = "\improper Quartermaster Office" + +/area/crux/supply/foyer + name = "\improper Quartermaster Foyer" + +/area/crux/supply/delivery + name = "\improper Delivery Office" + +/area/crux/supply/warehouse + name = "\improper Warehouse" + +/area/crux/supply/office + name = "\improper Quartermaster's Office" diff --git a/maps/crux/areas/turbolift.dm b/maps/crux/areas/turbolift.dm new file mode 100644 index 00000000000..8664d2e0a50 --- /dev/null +++ b/maps/crux/areas/turbolift.dm @@ -0,0 +1,64 @@ +// We need to inherit from /area/turbolift due to vars/logic on the base type. +/area/turbolift/crux + name = "Turbolift" + dynamic_lighting = TRUE + area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT + +// Elevator areas. +/area/turbolift/crux/port_deck_one + name = "lift (ground floor)" + lift_floor_label = "Ground Floor" + lift_floor_name = "Ground Floor" + lift_announce_str = "Arriving at Ground Floor: Main Hangars. Cargo Delivery. Telecommunications. Auxiliary Shuttle Docks. Escape Pods." + base_turf = /turf/simulated/floor + +/area/turbolift/crux/port_deck_two + name = "lift (first floor)" + lift_floor_label = "First Floor" + lift_floor_name = "First Floor" + lift_announce_str = "Arriving at First Floor: Operations. Engineering. Cargo. Medbay. Research. Security. Crew Facilities Shuttle Docks. Cryogenic Storage." + +/area/turbolift/crux/starboard_deck_one + name = "lift (ground floor)" + lift_floor_label = "Ground Floor" + lift_floor_name = "Ground Floor" + lift_announce_str = "Arriving at Ground Floor: Main Hangars. Cargo Delivery. Telecommunications. Auxiliary Shuttle Docks. Escape Pods." + base_turf = /turf/simulated/floor + +/area/turbolift/crux/starboard_deck_two + name = "lift (first floor)" + lift_floor_label = "First Floor" + lift_floor_name = "First Floor" + lift_announce_str = "Arriving at First Floor: Operations. Engineering. Cargo. Medbay. Research. Security. Crew Facilities, Shuttle Docks. Cryogenic Storage." + +/area/turbolift/crux/center_deck_one + name = "lift (ground floor)" + lift_floor_label = "Ground Floor" + lift_floor_name = "Ground Floor" + lift_announce_str = "Arriving at Ground Floor: Main Hangars. Cargo Delivery. Telecommunications. Auxiliary Shuttle Docks. Escape Pods." + base_turf = /turf/simulated/floor + +/area/turbolift/crux/center_deck_two + name = "lift (first floor)" + lift_floor_label = "First Floor" + lift_floor_name = "First Floor" + lift_announce_str = "Arriving at First Floor: Operations. Engineering. Cargo. Medbay. Research. Security. Crew Facilities Shuttle Docks. Cryogenic Storage." + +/area/turbolift/crux/center_deck_three + name = "lift (second floor)" + lift_floor_label = "Second Floor" + lift_floor_name = "Second Floor" + lift_announce_str = "Arriving at Second Floor: Command. Bridge. Meeting Room. Command Quarters. AI Core. Solars." + +/area/turbolift/crux/cargo_deck_one + name = "lift (ground floor)" + lift_floor_label = "Ground Floor" + lift_floor_name = "Ground Floor" + lift_announce_str = "Arriving at Cargo Delivery." + base_turf = /turf/simulated/floor + +/area/turbolift/crux/cargo_deck_two + name = "lift (first floor)" + lift_floor_label = "First Floor" + lift_floor_name = "First Floor" + lift_announce_str = "Arriving at Cargo." \ No newline at end of file diff --git a/maps/crux/crux-station-0.dmm b/maps/crux/crux-station-0.dmm index 394df52b9ae..1db2a4a51d8 100644 --- a/maps/crux/crux-station-0.dmm +++ b/maps/crux/crux-station-0.dmm @@ -1,56 +1,56 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aaa" = ( /turf/exterior/water, -/area/surface) +/area/crux/outside) "aab" = ( /obj/abstract/landmark{ name = "carpspawn" }, /turf/exterior/water, -/area/surface) +/area/crux/outside) "aad" = ( /obj/structure/lattice, /obj/structure/grille, /turf/exterior/water, -/area/surface) +/area/crux/outside) "aae" = ( /obj/item/stack/material/rods, /turf/exterior/dry, -/area/surface) +/area/crux/outside) "aaf" = ( /obj/structure/lattice, /turf/exterior/sand, -/area/surface) +/area/crux/outside) "aag" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/exterior/dry, -/area/surface) +/area/crux/outside) "aai" = ( /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aaj" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aak" = ( /turf/simulated/floor, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aam" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aan" = ( /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aao" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aaq" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aar" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/airlock/external{ @@ -64,11 +64,11 @@ pixel_x = 26 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aas" = ( /obj/structure/table/bench, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aat" = ( /obj/structure/table/bench, /obj/machinery/camera/network/first_deck{ @@ -78,11 +78,11 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aau" = ( /obj/structure/sign/warning/caution, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aav" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, @@ -90,20 +90,20 @@ pixel_y = 32 }, /turf/simulated/floor/holofloor/wood, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aaw" = ( /turf/simulated/floor/holofloor/wood, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aax" = ( /obj/structure/fitness/punchingbag, /turf/simulated/floor/holofloor/wood, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aay" = ( /obj/machinery/camera/network/civilian{ c_tag = "CIV - Station Gym" }, /turf/simulated/floor/holofloor/wood, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aaz" = ( /obj/structure/reagent_dispensers/water_cooler{ dir = 8 @@ -112,7 +112,7 @@ pixel_y = 32 }, /turf/simulated/floor/holofloor/wood, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aaA" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ id_tag = "d1fore_port2_pump" @@ -122,7 +122,7 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaB" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ id_tag = "d1fore_port2_pump" @@ -132,11 +132,11 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaC" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaD" = ( /obj/machinery/ai_status_display{ pixel_y = 32 @@ -151,7 +151,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaE" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -160,7 +160,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -172,7 +172,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -184,7 +184,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaH" = ( /obj/machinery/status_display{ pixel_y = 32 @@ -196,23 +196,23 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaI" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaJ" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaK" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaL" = ( /turf/simulated/shuttle/wall, -/area/shuttle/escape_pod1/station) +/area/crux/shuttle/escape_pod1/station) "aaM" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -228,10 +228,10 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/escape_pod1/station) +/area/crux/shuttle/escape_pod1/station) "aaN" = ( /turf/simulated/shuttle/wall, -/area/shuttle/escape_pod2/station) +/area/crux/shuttle/escape_pod2/station) "aaO" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -247,7 +247,7 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/escape_pod2/station) +/area/crux/shuttle/escape_pod2/station) "aaP" = ( /obj/structure/table, /obj/machinery/recharger, @@ -256,12 +256,12 @@ dir = 8 }, /turf/simulated/floor/holofloor/wood, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aaQ" = ( /obj/structure/table, /obj/item/storage/box/cups, /turf/simulated/floor/holofloor/wood, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "aaR" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -274,7 +274,7 @@ dir = 8 }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaS" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden, /obj/effect/floor_decal/industrial/warning{ @@ -282,7 +282,7 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaT" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/airlock/external/glass{ @@ -294,7 +294,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaU" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -310,35 +310,35 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaV" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaX" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaY" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aaZ" = ( /obj/structure/table/glass, /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aba" = ( /obj/structure/bed/chair{ dir = 1 @@ -347,7 +347,6 @@ pixel_x = 32 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ - frequency = 1381; id_tag = "escape_pod_1"; pixel_x = -25; tag_door = "escape_pod_1_hatch" @@ -356,7 +355,7 @@ dir = 1 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod1/station) +/area/crux/shuttle/escape_pod1/station) "abb" = ( /obj/structure/bed/chair{ dir = 1 @@ -365,7 +364,6 @@ pixel_x = 32 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ - frequency = 1381; id_tag = "escape_pod_2"; pixel_x = -25; tag_door = "escape_pod_2_hatch" @@ -374,12 +372,12 @@ dir = 1 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod2/station) +/area/crux/shuttle/escape_pod2/station) "abc" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /turf/exterior/dry, -/area/surface) +/area/crux/outside) "abd" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/button/access/exterior{ @@ -391,11 +389,11 @@ dir = 8 }, /turf/simulated/floor, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "abe" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "abf" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -406,13 +404,13 @@ pixel_x = -21 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abg" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abh" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -421,7 +419,7 @@ pixel_x = 28 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abi" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "d1fore_port2_airlock"; @@ -440,7 +438,7 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abj" = ( /obj/machinery/airlock_sensor{ id_tag = "d1fore_port2_sensor"; @@ -455,7 +453,7 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abk" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -465,14 +463,14 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abl" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -482,13 +480,13 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abn" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abo" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -502,14 +500,14 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abp" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abq" = ( /obj/structure/closet/emcloset, /obj/item/radio/intercom{ @@ -517,7 +515,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abs" = ( /obj/structure/bed/chair{ dir = 1 @@ -532,10 +530,10 @@ pixel_x = 21 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod1/station) +/area/crux/shuttle/escape_pod1/station) "abt" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "abv" = ( /obj/structure/bed/chair{ dir = 1 @@ -550,11 +548,11 @@ pixel_x = 21 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod2/station) +/area/crux/shuttle/escape_pod2/station) "abw" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "abx" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/button/access/exterior{ @@ -566,7 +564,7 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aby" = ( /obj/machinery/door/airlock/external{ id_tag = "d1fore_port_outer"; @@ -574,34 +572,34 @@ name = "External Airlock Access" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "abz" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abA" = ( /obj/structure/fitness/weightlifter, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abB" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abC" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abD" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -609,11 +607,11 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abF" = ( /obj/structure/sign/deck/first, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abI" = ( /obj/machinery/door/airlock/external{ id_tag = "d1fore_starboard_outer"; @@ -621,13 +619,13 @@ name = "External Airlock Access" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "abJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "abK" = ( /obj/machinery/airlock_sensor{ id_tag = "d1fore_port_sensor"; @@ -638,7 +636,7 @@ id_tag = "d1fore_port_pump" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "abL" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "d1fore_port_airlock"; @@ -653,28 +651,28 @@ id_tag = "d1fore_port_pump" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "abM" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "abN" = ( /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -683,35 +681,35 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abS" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abT" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "abU" = ( /turf/simulated/wall/r_wall, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "abV" = ( /obj/structure/table, /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "abW" = ( /obj/machinery/power/apc{ dir = 1; @@ -722,11 +720,11 @@ icon_state = "0-2" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "abX" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "abY" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden, @@ -734,7 +732,7 @@ name = "Auxiliary Dock" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "abZ" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -744,14 +742,14 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "aca" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Auxiliary Dock" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/auxdockfore) +/area/crux/hallway/primary/firstdeck/auxdockfore) "acb" = ( /obj/machinery/alarm{ dir = 4; @@ -764,19 +762,19 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acc" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acd" = ( /obj/structure/stairs/long/east, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ace" = ( /obj/structure/shuttle/engine/propulsion/burst, /turf/simulated/shuttle/wall, /turf/simulated/floor/shuttle/plating, -/area/shuttle/escape_pod1/station) +/area/crux/shuttle/escape_pod1/station) "acf" = ( /obj/machinery/door/airlock/external{ id_tag = "escape_pod_1_hatch"; @@ -784,12 +782,12 @@ name = "Escape Pod 1 Hatch" }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod1/station) +/area/crux/shuttle/escape_pod1/station) "acg" = ( /obj/structure/shuttle/engine/propulsion/burst, /turf/simulated/shuttle/wall, /turf/simulated/floor/shuttle/plating, -/area/shuttle/escape_pod2/station) +/area/crux/shuttle/escape_pod2/station) "ach" = ( /obj/machinery/door/airlock/external{ id_tag = "escape_pod_2_hatch"; @@ -797,13 +795,13 @@ name = "Escape Pod 2 Hatch" }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod2/station) +/area/crux/shuttle/escape_pod2/station) "aci" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "acj" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "d1fore_starboard_airlock"; @@ -818,7 +816,7 @@ id_tag = "d1fore_starboard_pump" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "ack" = ( /obj/machinery/airlock_sensor{ id_tag = "d1fore_starboard_sensor"; @@ -829,26 +827,26 @@ id_tag = "d1fore_starboard_pump" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "acl" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "acm" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "acn" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; id_tag = "d1fore_port_pump" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aco" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; @@ -858,24 +856,24 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "acp" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "acq" = ( /obj/structure/closet/secure_closet/personal, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "acr" = ( /obj/structure/closet/athletic_mixed, /obj/machinery/newscaster{ pixel_y = -27 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "acs" = ( /obj/structure/cable{ icon_state = "2-4" @@ -889,7 +887,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "act" = ( /obj/item/stool/padded, /obj/machinery/power/apc{ @@ -904,7 +902,7 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "acu" = ( /obj/structure/closet/hydrant{ pixel_x = -32 @@ -915,24 +913,24 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "acv" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "acw" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "acx" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -941,10 +939,10 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acz" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acA" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/camera/network/first_deck{ @@ -955,13 +953,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acB" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acC" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/firealarm{ @@ -972,10 +970,10 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acD" = ( /turf/simulated/wall, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acE" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "escape_pod_1_berth_hatch"; @@ -983,11 +981,11 @@ name = "Escape Pod 1" }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acF" = ( /obj/structure/sign/warning/pods, /turf/simulated/wall, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acG" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "escape_pod_2_berth_hatch"; @@ -995,13 +993,13 @@ name = "Escape Pod 2" }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acH" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "acI" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -1011,26 +1009,26 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "acJ" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; id_tag = "d1fore_starboard_pump" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "acK" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "acL" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "acM" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1041,7 +1039,7 @@ name = "Internal Airlock Access" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "acN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -1052,13 +1050,13 @@ name = "Internal Airlock Access" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "acO" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "acP" = ( /obj/machinery/door/airlock/glass{ name = "Gym" @@ -1070,10 +1068,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/firstdeck/gym) +/area/crux/habitation/gym) "acQ" = ( /turf/simulated/wall, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "acR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -1083,11 +1081,11 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "acS" = ( /obj/machinery/newscaster, /turf/simulated/wall/r_wall, -/area/storage/emergency_storage/firstdeck/fore_emergency) +/area/crux/storage/emergency/fore) "acT" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/camera/network/first_deck{ @@ -1095,7 +1093,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -1105,7 +1103,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acV" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -1115,35 +1113,34 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acW" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acX" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acY" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "acZ" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ada" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adb" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ - frequency = 1381; id_tag = "escape_pod_1_berth"; pixel_x = -25; pixel_y = 30; @@ -1153,16 +1150,15 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adc" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "add" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ - frequency = 1381; id_tag = "escape_pod_2_berth"; pixel_x = -25; pixel_y = 30; @@ -1172,20 +1168,20 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ade" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adf" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "adg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -1196,7 +1192,7 @@ name = "Internal Airlock Access" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "adh" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1207,13 +1203,13 @@ name = "Internal Airlock Access" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "adi" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 }, /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "adj" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -1222,7 +1218,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "adk" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -1234,30 +1230,30 @@ pixel_x = 26 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "adl" = ( /turf/simulated/wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "adm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ado" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1271,7 +1267,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1280,7 +1276,7 @@ c_tag = "Ground Floor North Hallway - One" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1289,13 +1285,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ads" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1304,7 +1300,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1319,14 +1315,14 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adv" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -1334,14 +1330,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ady" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/effect/floor_decal/borderfloor/corner{ @@ -1351,7 +1347,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1363,7 +1359,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -1375,7 +1371,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -1387,7 +1383,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1399,7 +1395,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adD" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1415,7 +1411,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -1427,10 +1423,10 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adF" = ( /turf/simulated/wall, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "adG" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -1442,7 +1438,7 @@ pixel_x = -26 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "adH" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -1451,24 +1447,24 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "adJ" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /obj/item/stack/material/rods, /turf/exterior/sand, -/area/surface) +/area/crux/outside) "adK" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /obj/structure/grille/broken, /turf/exterior/sand, -/area/surface) +/area/crux/outside) "adL" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "adM" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -1484,13 +1480,13 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "adN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "adO" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -1507,7 +1503,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "adP" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1528,7 +1524,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1540,7 +1536,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adR" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1550,7 +1546,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adS" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1572,7 +1568,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adT" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1587,7 +1583,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adU" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1603,7 +1599,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adV" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1621,7 +1617,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adW" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1637,7 +1633,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adX" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1652,7 +1648,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adY" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -1662,7 +1658,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "adZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1683,7 +1679,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aea" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1693,7 +1689,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeb" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1708,7 +1704,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aec" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1726,7 +1722,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aed" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1739,7 +1735,7 @@ }, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aee" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1753,7 +1749,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aef" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1772,7 +1768,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeg" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -1789,7 +1785,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aeh" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -1805,19 +1801,19 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aei" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aej" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aek" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ @@ -1826,20 +1822,20 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ael" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aem" = ( /turf/simulated/wall/r_wall, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aen" = ( /turf/simulated/wall, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aeo" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -1849,11 +1845,11 @@ name = "Construction Area" }, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aep" = ( /obj/machinery/vending/fitness, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -1867,7 +1863,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aer" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -1882,7 +1878,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aes" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -1891,7 +1887,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aet" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -1899,12 +1895,12 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeu" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aev" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -1919,7 +1915,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aew" = ( /obj/structure/sign/directions/bridge{ dir = 1; @@ -1933,7 +1929,7 @@ pixel_y = -10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aex" = ( /obj/structure/sign/directions/engineering{ dir = 1; @@ -1947,7 +1943,7 @@ pixel_y = -10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aey" = ( /obj/structure/cable{ icon_state = "0-4" @@ -1955,7 +1951,7 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aez" = ( /obj/structure/cable{ icon_state = "0-8" @@ -1966,7 +1962,7 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeA" = ( /obj/structure/cable{ icon_state = "0-8" @@ -1980,7 +1976,7 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -1994,7 +1990,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeC" = ( /obj/structure/cable{ icon_state = "0-8" @@ -2002,7 +1998,7 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2010,21 +2006,21 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aeE" = ( /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aeF" = ( /turf/simulated/wall/r_wall, -/area/hangar/one) +/area/crux/hangar/one) "aeG" = ( /obj/machinery/atmospherics/portables_connector, /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aeH" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ @@ -2038,7 +2034,7 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aeI" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -2047,7 +2043,7 @@ name = "Ground Floor Northwest automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aeJ" = ( /obj/structure/closet/crate{ name = "engineering crate" @@ -2060,7 +2056,7 @@ /obj/random/tech_supply, /obj/random/toolbox, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aeK" = ( /obj/structure/cable{ icon_state = "0-4" @@ -2075,13 +2071,13 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aeL" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aeM" = ( /obj/structure/cable{ icon_state = "1-8" @@ -2093,12 +2089,12 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aeN" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aeO" = ( /obj/structure/reagent_dispensers/fueltank, /obj/item/radio/intercom{ @@ -2108,10 +2104,10 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aeP" = ( /turf/simulated/wall, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "aeQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -2123,10 +2119,10 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "aeR" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "aeS" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -2141,7 +2137,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeT" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -2151,19 +2147,19 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeU" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 25 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeV" = ( /obj/structure/cable, /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -2171,7 +2167,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aeX" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -2181,28 +2177,28 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aeY" = ( /obj/structure/ore_box, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aeZ" = ( /turf/simulated/wall/r_wall, -/area/hangar/three) +/area/crux/hangar/three) "afa" = ( /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afb" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/industrial/danger/corner, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afc" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afd" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 8 @@ -2211,7 +2207,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afe" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -2219,7 +2215,7 @@ /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 @@ -2234,7 +2230,7 @@ /obj/random/maintenance/cargo, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afh" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 4; @@ -2242,7 +2238,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afi" = ( /obj/structure/closet/crate{ name = "engineering crate" @@ -2250,17 +2246,17 @@ /obj/item/stack/material/sheet/mapped/steel/fifty, /obj/item/stack/material/pane/mapped/glass/fifty, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "afj" = ( /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "afk" = ( /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "afl" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "afm" = ( /obj/structure/hygiene/shower{ dir = 4; @@ -2269,7 +2265,7 @@ }, /obj/structure/curtain/open/shower, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -2283,7 +2279,7 @@ dir = 9 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afo" = ( /obj/structure/mirror{ pixel_y = 32 @@ -2292,7 +2288,7 @@ pixel_y = 16 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afp" = ( /obj/structure/mirror{ pixel_y = 32 @@ -2306,7 +2302,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afq" = ( /obj/machinery/power/apc{ dir = 8; @@ -2329,7 +2325,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "afr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -2337,7 +2333,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "afs" = ( /obj/machinery/alarm{ dir = 8; @@ -2356,10 +2352,10 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aft" = ( /turf/simulated/wall/r_wall, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "afu" = ( /obj/machinery/door/airlock/vault/bolted, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -2368,14 +2364,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "afv" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "afw" = ( /obj/structure/largecrate, /obj/random/maintenance/cargo, @@ -2383,24 +2379,24 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "afx" = ( /obj/item/stack/tile/floor, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/hangar/three) +/area/crux/hangar/three) "afy" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/industrial/danger/corner, /obj/effect/floor_decal/rust/color_rustedcorner, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "afz" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "afA" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 8 @@ -2409,11 +2405,11 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "afB" = ( /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "afC" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -2422,10 +2418,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afD" = ( /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "afE" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -2434,10 +2430,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afF" = ( /turf/simulated/floor/reinforced, -/area/hangar/one) +/area/crux/hangar/one) "afH" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -2449,7 +2445,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "afI" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -2458,7 +2454,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "afJ" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -2471,7 +2467,7 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "afK" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -2480,22 +2476,22 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afL" = ( /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "afN" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afO" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -2504,7 +2500,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 @@ -2513,13 +2509,13 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afR" = ( /obj/machinery/atmospherics/valve/shutoff{ name = "Ground Floor Northeast automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "afS" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -2535,7 +2531,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "afT" = ( /obj/machinery/alarm{ dir = 4; @@ -2543,14 +2539,14 @@ }, /obj/item/paicard, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "afU" = ( /obj/effect/decal/cleanable/blood/oil/streak{ amount = 0 }, /obj/item/wirecutters, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "afV" = ( /obj/machinery/light{ dir = 8 @@ -2562,7 +2558,7 @@ }, /obj/structure/curtain/open/shower, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -2572,13 +2568,13 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afY" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -2588,7 +2584,7 @@ pixel_x = 22 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "afZ" = ( /obj/item/radio/intercom{ dir = 8; @@ -2602,7 +2598,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aga" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -2615,7 +2611,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "agb" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -2624,7 +2620,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "agc" = ( /obj/structure/safe, /obj/item/clothing/under/color/yellow, @@ -2636,10 +2632,10 @@ }, /obj/item/storage/bag/cash/filled, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "agd" = ( /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "age" = ( /obj/abstract/landmark{ name = "blobstart" @@ -2650,22 +2646,22 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "agf" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "agg" = ( /obj/structure/filing_cabinet/records{ name = "Security Records" }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "agh" = ( /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agi" = ( /obj/item/storage/backpack, /obj/item/multitool, @@ -2678,7 +2674,7 @@ /obj/random/maintenance/cargo, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agj" = ( /obj/item/clothing/mask/gas, /obj/item/flashlight, @@ -2689,7 +2685,7 @@ /obj/random/maintenance/clean, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agk" = ( /obj/structure/rack, /obj/item/flame/lighter/random, @@ -2701,17 +2697,17 @@ }, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agl" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/hangar/three) +/area/crux/hangar/three) "agm" = ( /turf/simulated/floor/reinforced, -/area/hangar/three) +/area/crux/hangar/three) "ago" = ( /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "agp" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -2720,7 +2716,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "agt" = ( /obj/machinery/button/alternate/door{ dir = 8; @@ -2730,19 +2726,19 @@ state = 1 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "agu" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "agv" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/hangar/one) +/area/crux/hangar/one) "agw" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -2757,7 +2753,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "agx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2773,7 +2769,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "agy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -2783,7 +2779,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "agz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2798,7 +2794,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "agA" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 8; @@ -2806,28 +2802,28 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "agB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agC" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "agD" = ( /obj/item/crowbar, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "agE" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "agF" = ( /obj/machinery/firealarm{ dir = 8; @@ -2835,7 +2831,7 @@ }, /obj/structure/undies_wardrobe, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "agG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -2844,7 +2840,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "agH" = ( /obj/structure/table, /obj/item/towel, @@ -2863,24 +2859,24 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "agI" = ( /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "agJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "agK" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "agL" = ( /obj/structure/closet/crate, /obj/item/stack/material/ingot/mapped/gold, @@ -2897,7 +2893,7 @@ /obj/item/stack/material/ingot/mapped/silver, /obj/item/stack/material/ingot/mapped/silver, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "agM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -2906,11 +2902,11 @@ }, /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "agN" = ( /obj/structure/filing_cabinet/records/medical, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "agO" = ( /obj/structure/cable{ icon_state = "1-8" @@ -2924,7 +2920,7 @@ }, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "agP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -2936,7 +2932,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "agQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2951,7 +2947,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2963,7 +2959,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2979,7 +2975,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -2994,13 +2990,13 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "agU" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/rust, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/hangar/three) +/area/crux/hangar/three) "agV" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -3009,7 +3005,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "agW" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -3025,7 +3021,7 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "agX" = ( /obj/structure/table/reinforced, /obj/machinery/light{ @@ -3039,16 +3035,16 @@ pixel_y = 32 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "agY" = ( /obj/structure/bed/chair/comfy/blue{ dir = 1 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "agZ" = ( /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aha" = ( /obj/structure/table/reinforced, /obj/machinery/light{ @@ -3060,15 +3056,15 @@ pixel_y = 3 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ahb" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "ahc" = ( /turf/simulated/wall, -/area/hangar/one) +/area/crux/hangar/one) "ahd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3079,10 +3075,10 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ahe" = ( /turf/simulated/wall, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ahf" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3090,7 +3086,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ahg" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -3098,27 +3094,27 @@ /obj/random/tech_supply, /obj/random/maintenance/engineering, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahh" = ( /obj/item/flashlight, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahi" = ( /obj/item/stack/cable_coil/random, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahj" = ( /obj/machinery/door/airlock{ name = "Unit 2" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "ahk" = ( /obj/machinery/door/airlock{ name = "Unit 1" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "ahl" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 @@ -3127,7 +3123,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ahm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3145,7 +3141,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ahn" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -3154,13 +3150,13 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "aho" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "ahp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -3173,13 +3169,13 @@ }, /mob/living/simple_animal/mouse/brown/Tom, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "ahq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "ahr" = ( /obj/machinery/camera/network/command{ c_tag = "COM - Vault"; @@ -3189,13 +3185,13 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "ahs" = ( /turf/simulated/wall/r_wall, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aht" = ( /turf/simulated/wall, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "ahu" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3203,7 +3199,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "ahv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3214,21 +3210,21 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "ahw" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/hangar/three) +/area/crux/hangar/three) "ahx" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "ahy" = ( /obj/item/stack/tile/floor, /obj/effect/floor_decal/rust/part_rusted1, /obj/effect/floor_decal/rust, /turf/simulated/floor/plating, -/area/hangar/three) +/area/crux/hangar/three) "ahz" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -3243,23 +3239,23 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "ahA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "ahC" = ( /obj/machinery/door/airlock/external/glass, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ahE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "ahF" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -3274,7 +3270,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "ahG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3284,26 +3280,26 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ahH" = ( /obj/machinery/space_heater, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ahI" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ahJ" = ( /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ahK" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ahL" = ( /obj/structure/table/steel, /obj/item/clothing/gloves/color/black, @@ -3312,13 +3308,13 @@ }, /obj/random/tech_supply, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahM" = ( /obj/structure/table/steel, /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahN" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -3326,7 +3322,7 @@ /obj/random/tech_supply, /obj/random/maintenance/engineering, /turf/simulated/floor, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahO" = ( /obj/structure/table/steel, /obj/item/tank/emergency/oxygen/engi, @@ -3335,27 +3331,27 @@ name = "blobstart" }, /turf/simulated/floor, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahP" = ( /obj/item/stack/cable_coil/random, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahQ" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "ahR" = ( /obj/machinery/recharge_station, /obj/machinery/light/small, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "ahS" = ( /obj/structure/hygiene/toilet{ dir = 1 }, /obj/machinery/light/small, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/firstdeck) +/area/crux/habitation/toilet/firstdeck) "ahT" = ( /obj/machinery/status_display{ pixel_x = -32 @@ -3364,12 +3360,12 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ahU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ahV" = ( /obj/machinery/ai_status_display{ pixel_x = 32 @@ -3378,7 +3374,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ahW" = ( /obj/item/coin/silver{ pixel_x = 7; @@ -3412,7 +3408,7 @@ pixel_y = 8 }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "ahX" = ( /obj/structure/closet/secure_closet/freezer/money, /obj/machinery/power/apc{ @@ -3425,14 +3421,14 @@ }, /obj/structure/cable, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "ahY" = ( /obj/abstract/landmark{ name = "xeno_spawn"; pixel_x = -1 }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "ahZ" = ( /obj/item/coin/gold, /obj/item/coin/gold, @@ -3444,25 +3440,25 @@ name = "Gold Crate" }, /turf/simulated/floor/tiled/dark, -/area/security/nuke_storage) +/area/crux/secure/nuke_storage) "aia" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aib" = ( /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aic" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aid" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aie" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3472,7 +3468,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aif" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -3482,13 +3478,13 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "aig" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aih" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -3500,13 +3496,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "aii" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aij" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -3521,10 +3517,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "aik" = ( /turf/simulated/wall, -/area/hangar/three) +/area/crux/hangar/three) "ail" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light/spot{ @@ -3535,11 +3531,11 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "aim" = ( /obj/structure/bed/chair/shuttle, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ain" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light/spot{ @@ -3550,7 +3546,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "aio" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3558,14 +3554,14 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aip" = ( /obj/machinery/light/small{ dir = 8 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "aiq" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4; @@ -3573,20 +3569,20 @@ }, /turf/simulated/floor, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "air" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ais" = ( /turf/simulated/wall/r_wall, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ait" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction5) +/area/crux/engineering/construction5) "aiu" = ( /obj/machinery/firealarm{ dir = 8; @@ -3599,7 +3595,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiv" = ( /obj/machinery/alarm{ dir = 8; @@ -3612,14 +3608,14 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiw" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4 }, /turf/simulated/floor, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "aix" = ( /obj/item/storage/box/lights/mixed, /obj/structure/table/steel, @@ -3632,7 +3628,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aiy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3640,7 +3636,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aiz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light/spot{ @@ -3651,7 +3647,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aiA" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -3660,7 +3656,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "aiB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light/spot{ @@ -3671,14 +3667,14 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aiC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "aiD" = ( /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aiE" = ( /obj/machinery/light{ dir = 8 @@ -3687,7 +3683,7 @@ pixel_x = -32 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aiF" = ( /obj/machinery/light{ dir = 4 @@ -3696,7 +3692,7 @@ pixel_x = 32 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aiG" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -3705,35 +3701,35 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "aiH" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "aiI" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "aiJ" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "aiK" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiL" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3745,7 +3741,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -3754,7 +3750,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -3766,26 +3762,26 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiP" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/structure/flora/pottedplant/drooping, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aiQ" = ( /obj/machinery/alarm{ dir = 4; pixel_x = -22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aiR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "aiS" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -3794,23 +3790,23 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "aiT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aiU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monofloor{ dir = 1 }, -/area/hangar/one) +/area/crux/hangar/one) "aiV" = ( /obj/machinery/sleeper{ dir = 8 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aiX" = ( /obj/structure/bed/chair/shuttle{ dir = 1 @@ -3820,13 +3816,13 @@ pixel_y = -21 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aiY" = ( /obj/structure/bed/chair/shuttle{ dir = 1 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aiZ" = ( /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, @@ -3837,7 +3833,7 @@ /obj/random/maintenance/clean, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "aja" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -3846,13 +3842,13 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fp_emergency) +/area/crux/storage/emergency/fport) "ajb" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajc" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -3861,7 +3857,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajd" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -3870,7 +3866,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aje" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -3879,22 +3875,22 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "ajf" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/fs_emergency) +/area/crux/storage/emergency/fstar) "ajg" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "ajh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monofloor{ dir = 1 }, -/area/hangar/three) +/area/crux/hangar/three) "aji" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -3906,25 +3902,25 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "ajj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /turf/simulated/floor/tiled/monofloor, -/area/hangar/one) +/area/crux/hangar/one) "ajk" = ( /obj/machinery/door/airlock/centcom, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ajl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/tiled/monofloor, -/area/hangar/one) +/area/crux/hangar/one) "ajm" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -3936,19 +3932,19 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "ajn" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ajo" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajp" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajq" = ( /obj/structure/sign/directions/engineering{ pixel_y = 10 @@ -3959,7 +3955,7 @@ pixel_y = -10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajr" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -3974,7 +3970,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajs" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -3983,7 +3979,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajt" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -3992,7 +3988,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aju" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -4007,7 +4003,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajv" = ( /obj/structure/sign/directions/bridge{ pixel_y = 10 @@ -4017,15 +4013,15 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ajw" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ajx" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ajy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4034,7 +4030,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "ajz" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, @@ -4046,7 +4042,7 @@ /obj/random/maintenance/research, /obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "ajA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -4058,21 +4054,21 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "ajB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /turf/simulated/floor/tiled/monofloor, -/area/hangar/three) +/area/crux/hangar/three) "ajC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/tiled/monofloor, -/area/hangar/three) +/area/crux/hangar/three) "ajD" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -4084,35 +4080,34 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "ajE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "ajG" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/shuttle/red, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ajH" = ( /obj/structure/emergency_dispenser{ pixel_y = 32 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/shuttle/red, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ajI" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ajJ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1381; id_tag = "shuttle1_shuttle"; pixel_y = 26; tag_airpump = "shuttle1_pump"; @@ -4124,7 +4119,7 @@ id_tag = "shuttle1_pump" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ajK" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -4137,14 +4132,14 @@ pixel_y = 28 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ajL" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ajM" = ( /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ajN" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -4156,7 +4151,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajO" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -4165,7 +4160,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajP" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/camera/network/first_deck{ @@ -4178,7 +4173,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajQ" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -4193,21 +4188,21 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajR" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ajT" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -4216,29 +4211,29 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajU" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajV" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajW" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ajX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ajY" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -4247,7 +4242,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ajZ" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -4262,7 +4257,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aka" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/camera/network/first_deck{ @@ -4275,7 +4270,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akb" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -4284,7 +4279,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akc" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -4296,13 +4291,13 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akd" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/dirt, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "ake" = ( /obj/structure/rack{ dir = 8 @@ -4319,12 +4314,12 @@ /obj/random/maintenance/research, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "akf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "akh" = ( /obj/machinery/door/airlock{ id_tag = "expshuttle1_door_L"; @@ -4337,7 +4332,7 @@ pixel_y = -26 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aki" = ( /obj/machinery/door/airlock/external/bolted{ id_tag = "shuttle1_inner"; @@ -4352,7 +4347,7 @@ pixel_y = -26 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akj" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -4360,7 +4355,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/visible, /obj/machinery/meter, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akk" = ( /obj/structure/bed/chair{ dir = 1 @@ -4369,7 +4364,7 @@ pixel_x = -28 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod1/station) +/area/crux/shuttle/escape_pod1/station) "akl" = ( /obj/machinery/door/airlock/external/bolted{ id_tag = "shuttle1_outer"; @@ -4381,7 +4376,7 @@ pixel_y = 26 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4392,7 +4387,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "akn" = ( /obj/structure/cable{ icon_state = "0-8" @@ -4408,28 +4403,28 @@ /obj/random/maintenance/clean, /obj/random/crate, /turf/simulated/floor, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ako" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akp" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akq" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "aks" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -4438,7 +4433,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4447,7 +4442,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "aku" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4456,7 +4451,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akv" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -4467,7 +4462,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4488,14 +4483,14 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "akx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "aky" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -4504,14 +4499,14 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "akz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "akA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4532,7 +4527,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "akB" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -4543,7 +4538,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4552,7 +4547,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -4561,7 +4556,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -4570,28 +4565,28 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akH" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akI" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "akJ" = ( /obj/machinery/power/apc{ dir = 8; @@ -4604,7 +4599,7 @@ /obj/machinery/portable_atmospherics/powered/scrubber, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "akK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4616,10 +4611,10 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "akL" = ( /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "akM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4631,11 +4626,11 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "akN" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akO" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/effect/floor_decal/industrial/warning/corner{ @@ -4643,11 +4638,11 @@ }, /obj/machinery/light, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akP" = ( /obj/machinery/atmospherics/pipe/simple/visible, /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akQ" = ( /obj/machinery/light, /obj/effect/floor_decal/industrial/warning{ @@ -4658,7 +4653,7 @@ id_tag = "shuttle1_pump" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akR" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -4669,7 +4664,7 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "akT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4681,7 +4676,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "akU" = ( /obj/random/action_figure, /obj/random/action_figure, @@ -4692,19 +4687,19 @@ /obj/item/toy/xmas_cracker, /obj/random/crate, /turf/simulated/floor, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "akV" = ( /obj/structure/cable/green{ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akW" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akX" = ( /obj/effect/floor_decal/borderfloor, /obj/structure/cable/green{ @@ -4714,7 +4709,7 @@ /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akY" = ( /obj/effect/floor_decal/borderfloor, /obj/structure/cable/green{ @@ -4725,7 +4720,7 @@ }, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "akZ" = ( /obj/effect/floor_decal/borderfloor, /obj/structure/cable/green{ @@ -4739,7 +4734,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ala" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4749,7 +4744,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "alb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -4759,7 +4754,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "alc" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4771,7 +4766,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ald" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4783,7 +4778,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "ale" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4792,7 +4787,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "alf" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4804,7 +4799,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "alg" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4814,7 +4809,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/north) +/area/crux/hallway/primary/firstdeck/north) "alh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -4824,7 +4819,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ali" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4836,7 +4831,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "alj" = ( /obj/effect/floor_decal/borderfloor, /obj/structure/cable/green{ @@ -4846,7 +4841,7 @@ /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "alk" = ( /obj/effect/floor_decal/borderfloor, /obj/structure/cable/green{ @@ -4854,7 +4849,7 @@ }, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "all" = ( /obj/effect/floor_decal/borderfloor, /obj/structure/cable/green{ @@ -4868,19 +4863,19 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "alm" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aln" = ( /obj/structure/cable/green{ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "alo" = ( /obj/random/powercell, /obj/random/powercell, @@ -4893,7 +4888,7 @@ /obj/structure/catwalk, /obj/random/crate, /turf/simulated/floor, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "alp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4905,7 +4900,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "alq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4917,20 +4912,20 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "alr" = ( /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "als" = ( /turf/simulated/floor, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "alv" = ( /obj/structure/shuttle/engine/propulsion{ icon_state = "burst_l" }, /turf/simulated/floor/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "alw" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -4946,51 +4941,51 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "alx" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "aly" = ( /obj/abstract/landmark{ name = "bluespacerift" }, /turf/exterior/dry, -/area/surface) +/area/crux/outside) "alz" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/space_heater, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "alA" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 }, /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "alB" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "alC" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "alD" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "alE" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -5005,31 +5000,31 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "alF" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "alG" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "alH" = ( /turf/simulated/wall/r_wall, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "alI" = ( /turf/simulated/wall/r_wall, -/area/tcomm/computer) +/area/crux/network/comms/computer) "alJ" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "alK" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "alL" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -5044,24 +5039,24 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "alM" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "alN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "alO" = ( /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "alQ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/effect/floor_decal/industrial/warning{ @@ -5069,10 +5064,10 @@ }, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "alR" = ( /turf/simulated/shuttle/wall, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alS" = ( /obj/structure/bed/chair, /obj/item/radio/intercom{ @@ -5081,30 +5076,30 @@ pixel_y = 21 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alT" = ( /obj/structure/bed/chair, /obj/machinery/status_display{ pixel_y = 32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alU" = ( /obj/structure/bed/chair, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alV" = ( /obj/item/radio/intercom/department_medbay{ pixel_y = 21 }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alW" = ( /obj/machinery/sleeper{ dir = 4 }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alX" = ( /obj/structure/table, /obj/item/bodybag/cryobag, @@ -5118,14 +5113,14 @@ dir = 1 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alY" = ( /obj/structure/bed/chair, /obj/structure/emergency_dispenser{ pixel_y = 32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "alZ" = ( /obj/structure/window/reinforced{ dir = 4; @@ -5133,7 +5128,7 @@ }, /obj/structure/bed/chair, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "ama" = ( /obj/structure/shuttle/engine/heater{ dir = 4 @@ -5142,13 +5137,13 @@ dir = 8 }, /turf/simulated/floor, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amb" = ( /obj/machinery/vending/fitness{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "amc" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -5158,7 +5153,7 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "amd" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -5168,39 +5163,39 @@ }, /obj/structure/closet/crate, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "ame" = ( /obj/structure/rack, /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/suit/storage/hazardvest, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "amf" = ( /obj/structure/cable/green{ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "amg" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "amh" = ( /obj/machinery/alarm{ dir = 4; pixel_x = -22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ami" = ( /obj/structure/cable/green{ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "amj" = ( /obj/structure/closet, /obj/item/flashlight, @@ -5211,27 +5206,27 @@ /obj/random/maintenance/medical, /obj/random/maintenance/medical, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "amk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aml" = ( /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "amm" = ( /obj/structure/grille, /obj/structure/shuttle/window, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amn" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amo" = ( /obj/machinery/hologram/holopad{ holopad_id = "North Xenobiology" @@ -5241,14 +5236,14 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "amp" = ( /obj/structure/window/reinforced{ dir = 4; health = 1e+006 }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amq" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -27 @@ -5261,20 +5256,20 @@ }, /obj/structure/closet/crate, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "amr" = ( /obj/structure/shuttle/engine/propulsion{ icon_state = "burst_r" }, /turf/simulated/floor/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "ams" = ( /obj/machinery/vending/cigarette{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "amt" = ( /obj/structure/closet, /obj/item/clothing/shoes/winterboots, @@ -5290,7 +5285,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "amu" = ( /obj/item/storage/bible, /obj/structure/rack, @@ -5298,23 +5293,23 @@ /obj/effect/decal/cleanable/dirt, /obj/random/maintenance/clean, /turf/simulated/floor, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "amv" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "amw" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "amx" = ( /turf/simulated/wall, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "amB" = ( /obj/machinery/light{ dir = 1 @@ -5323,12 +5318,12 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "amC" = ( /turf/simulated/floor/tiled/dark{ temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "amD" = ( /obj/structure/sign/warning/nosmoking_2{ pixel_y = 32 @@ -5336,7 +5331,7 @@ /turf/simulated/floor/tiled/dark{ temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "amE" = ( /obj/machinery/power/apc/super/critical{ dir = 1; @@ -5349,17 +5344,16 @@ /turf/simulated/floor/tiled/dark{ temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "amH" = ( /obj/structure/sign/warning/server_room, /turf/simulated/wall/r_wall, -/area/tcomm/computer) +/area/crux/network/comms/computer) "amI" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ id_tag = "server_access_pump" }, /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{ - frequency = 1381; id_tag = "server_access_airlock"; name = "Server Access Airlock"; pixel_y = 25; @@ -5372,7 +5366,7 @@ tag_secure = 1 }, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "amJ" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ id_tag = "server_access_pump" @@ -5382,23 +5376,23 @@ pixel_y = 25 }, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "amK" = ( /turf/simulated/wall, -/area/tcomm/computer) +/area/crux/network/comms/computer) "amL" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "amM" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "amN" = ( /obj/structure/shuttle/engine/propulsion{ dir = 4; @@ -5406,7 +5400,7 @@ }, /turf/simulated/floor, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amO" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8; @@ -5414,7 +5408,7 @@ }, /turf/simulated/floor, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "amP" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 25 @@ -5426,10 +5420,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "amQ" = ( /turf/simulated/floor, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "amR" = ( /obj/structure/bed/chair{ dir = 1 @@ -5439,7 +5433,7 @@ pixel_x = -28 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amS" = ( /obj/structure/bed/chair{ dir = 1 @@ -5448,24 +5442,23 @@ pixel_y = -32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amT" = ( /obj/structure/bed/chair{ dir = 1 }, /obj/machinery/light, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amU" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ - frequency = 1381; id_tag = "large_escape_pod_2"; pixel_x = 26; pixel_y = -26; tag_door = "large_escape_pod_2_hatch" }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amV" = ( /obj/structure/table, /obj/item/storage/firstaid/fire, @@ -5477,7 +5470,7 @@ /obj/item/crowbar, /obj/random/medical/lite, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amW" = ( /obj/structure/bed/chair{ dir = 1 @@ -5486,7 +5479,7 @@ pixel_y = -32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amX" = ( /obj/structure/window/reinforced{ dir = 4; @@ -5496,7 +5489,7 @@ dir = 1 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "amY" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -5509,14 +5502,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "amZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "ana" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -5525,7 +5518,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "anb" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -5534,7 +5527,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "anc" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 1 @@ -5543,14 +5536,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "and" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "ane" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -5569,7 +5562,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "anf" = ( /obj/structure/closet/wardrobe/grey, /obj/item/storage/backpack, @@ -5579,7 +5572,7 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ang" = ( /obj/structure/cable{ icon_state = "0-2" @@ -5596,20 +5589,20 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "anh" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ani" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "anj" = ( /turf/simulated/floor/bluegrid{ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "ank" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 4; @@ -5624,7 +5617,7 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "anl" = ( /obj/structure/cable/cyan{ icon_state = "1-4" @@ -5636,7 +5629,7 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "anm" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -5648,7 +5641,7 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "ann" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -5666,7 +5659,7 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "ano" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -5677,7 +5670,7 @@ name = "Telecoms Server Access" }, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "anp" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -5688,7 +5681,7 @@ /obj/machinery/light/small, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "anq" = ( /obj/structure/cable/cyan{ icon_state = "2-8" @@ -5698,11 +5691,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "anr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ans" = ( /obj/machinery/power/apc{ dir = 1; @@ -5719,7 +5712,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ant" = ( /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -5727,7 +5720,7 @@ /obj/random/maintenance/clean, /obj/random/crate, /turf/simulated/floor, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "anu" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -5740,14 +5733,14 @@ }, /obj/machinery/space_heater, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "anv" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "anw" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -5756,7 +5749,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "anx" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -5765,7 +5758,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "any" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 1 @@ -5774,14 +5767,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "anz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "anA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -5794,7 +5787,7 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "anB" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ external_pressure_bound = 140; @@ -5803,12 +5796,12 @@ use_power = 1 }, /turf/simulated/floor, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "anC" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "anD" = ( /obj/machinery/door/airlock/external{ id_tag = "large_escape_pod_2_hatch"; @@ -5816,7 +5809,7 @@ name = "Large Escape Pod Hatch 2" }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "anE" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -5826,7 +5819,7 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "anF" = ( /obj/machinery/space_heater, /obj/effect/floor_decal/borderfloor{ @@ -5836,7 +5829,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/one) +/area/crux/hangar/one) "anG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -5849,7 +5842,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5858,7 +5851,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5871,7 +5864,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5886,7 +5879,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5898,14 +5891,13 @@ /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/light, /obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1381; id_tag = "hangar_1"; name = "shuttle bay controller"; pixel_y = -26; tag_door = "hangar_1_door" }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anL" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -5923,7 +5915,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5939,7 +5931,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5951,7 +5943,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -5971,7 +5963,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/one) +/area/crux/hangar/one) "anP" = ( /obj/item/storage/toolbox/syndicate, /obj/structure/closet, @@ -5979,7 +5971,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/cargo, /turf/simulated/floor, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "anQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5991,18 +5983,18 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "anR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "anS" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "anT" = ( /obj/structure/cable{ icon_state = "1-4" @@ -6011,7 +6003,7 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "anU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -6023,7 +6015,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "anV" = ( /obj/machinery/camera/network/telecom{ c_tag = "Tcoms - Central Compartment East"; @@ -6033,7 +6025,7 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "aoa" = ( /obj/item/tank/emergency/oxygen/engi, /obj/item/tank/emergency/oxygen/double, @@ -6042,18 +6034,18 @@ /obj/random/maintenance/clean, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aod" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /turf/simulated/floor/bluegrid{ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "aoe" = ( /obj/structure/sign/warning/caution, /turf/simulated/wall/r_wall, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aof" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -6065,12 +6057,12 @@ name = "Telecoms Server Access" }, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aog" = ( /obj/machinery/atmospherics/portables_connector, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/tiled/dark, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aoh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6088,11 +6080,11 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aoi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aoj" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6104,7 +6096,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aok" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -6112,7 +6104,7 @@ /obj/random/tech_supply, /obj/random/maintenance/engineering, /turf/simulated/floor, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aol" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -6122,7 +6114,7 @@ }, /obj/machinery/space_heater, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "aom" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -6142,7 +6134,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aon" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6154,7 +6146,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aoo" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6170,7 +6162,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aop" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -6188,7 +6180,7 @@ dir = 5 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aoq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6200,7 +6192,7 @@ /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/light, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aor" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -6215,7 +6207,7 @@ dir = 5 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aos" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -6224,7 +6216,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aot" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -6237,7 +6229,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aou" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -6250,7 +6242,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/three) +/area/crux/hangar/three) "aov" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -6260,10 +6252,10 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hangar/three) +/area/crux/hangar/three) "aow" = ( /turf/simulated/wall/r_wall, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "aox" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "large_escape_pod_2_berth_hatch"; @@ -6271,10 +6263,10 @@ name = "Large Escape Pod 2" }, /turf/simulated/floor/plating, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aoy" = ( /turf/simulated/wall/r_wall, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aoz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ @@ -6282,7 +6274,7 @@ name = "Hangar Bay" }, /turf/simulated/floor/tiled/steel_grid, -/area/hangar/one) +/area/crux/hangar/one) "aoA" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6295,12 +6287,12 @@ name = "Hangar Bay" }, /turf/simulated/floor/tiled/steel_grid, -/area/hangar/one) +/area/crux/hangar/one) "aoB" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hangar/one) +/area/crux/hangar/one) "aoC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -6312,7 +6304,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aoD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -6323,7 +6315,7 @@ /obj/structure/closet/emcloset, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aoE" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -6342,14 +6334,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "aoF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "aoG" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -6358,7 +6350,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "aoH" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -6368,7 +6360,7 @@ name = "Central Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aoI" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -6377,7 +6369,7 @@ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aoJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -6392,7 +6384,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aoK" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -6409,7 +6401,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aoR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/camera/network/telecom{ @@ -6420,7 +6412,7 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "aoS" = ( /obj/structure/cable/cyan{ icon_state = "0-2" @@ -6428,14 +6420,14 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aoT" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8 }, /turf/simulated/floor, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aoU" = ( /obj/structure/cable/cyan{ icon_state = "1-4" @@ -6447,7 +6439,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aoV" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -6463,7 +6455,7 @@ pixel_y = 22 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aoW" = ( /obj/structure/cable/cyan{ icon_state = "2-8" @@ -6472,7 +6464,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aoX" = ( /obj/machinery/atmospherics/unary/freezer{ icon_state = "freezer_1"; @@ -6480,7 +6472,7 @@ use_power = 1 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aoY" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6492,14 +6484,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aoZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "apa" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -6518,7 +6510,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "apb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -6531,7 +6523,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "apc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -6543,16 +6535,16 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "apd" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "ape" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hangar/three) +/area/crux/hangar/three) "apf" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6564,31 +6556,31 @@ name = "Hangar Bay" }, /turf/simulated/floor/tiled/steel_grid, -/area/hangar/three) +/area/crux/hangar/three) "apg" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Hangar Bay" }, /turf/simulated/floor/tiled/steel_grid, -/area/hangar/three) +/area/crux/hangar/three) "aph" = ( /turf/simulated/wall/r_wall, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "api" = ( /turf/simulated/wall/r_wall, -/area/research/hallway) +/area/crux/science/hallway) "apj" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, /obj/item/storage/belt/utility, /obj/item/clothing/mask/gas, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "apk" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "apl" = ( /obj/structure/cable{ icon_state = "0-2" @@ -6600,13 +6592,13 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "apm" = ( /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "apn" = ( /obj/structure/closet/wardrobe/grey, /obj/item/storage/backpack, @@ -6615,16 +6607,15 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "apo" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "app" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ - frequency = 1381; id_tag = "large_escape_pod_2_berth"; pixel_y = 26; tag_door = "large_escape_pod_2_berth_hatch" @@ -6633,7 +6624,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "apq" = ( /obj/machinery/camera/network/first_deck{ c_tag = "Ground Floor - West Escape Pod" @@ -6657,7 +6648,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "apr" = ( /obj/structure/cable{ icon_state = "0-2" @@ -6674,7 +6665,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aps" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor{ @@ -6684,7 +6675,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "apt" = ( /obj/structure/closet/emcloset, /obj/machinery/ai_status_display{ @@ -6697,10 +6688,10 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "apu" = ( /turf/simulated/wall, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "apv" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -6709,14 +6700,14 @@ /obj/random/maintenance/engineering, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "apw" = ( /obj/structure/table/steel, /obj/item/tank/emergency/oxygen/engi, /obj/random/tech_supply, /obj/random/toolbox, /turf/simulated/floor, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "apx" = ( /obj/structure/cable{ icon_state = "0-2" @@ -6727,20 +6718,20 @@ pixel_y = 24 }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "apy" = ( /turf/simulated/floor/plating, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "apz" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "apA" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "apB" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6749,10 +6740,10 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "apC" = ( /turf/simulated/wall, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "apD" = ( /obj/structure/table/reinforced, /obj/machinery/alarm{ @@ -6760,11 +6751,11 @@ pixel_x = -22 }, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "apE" = ( /obj/machinery/constructable_frame/computerframe, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "apF" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/firealarm{ @@ -6772,7 +6763,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "apG" = ( /obj/structure/disposalpipe/up, /obj/machinery/atmospherics/pipe/zpipe/up/scrubbers, @@ -6784,17 +6775,17 @@ icon_state = "16-0" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "apH" = ( /turf/simulated/floor, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "apI" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "apJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6804,7 +6795,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "apK" = ( /obj/structure/cable{ icon_state = "1-2" @@ -6822,22 +6813,22 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "apL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "apM" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "apN" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "apO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -6850,7 +6841,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "apP" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 4; @@ -6869,7 +6860,7 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "apQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 @@ -6878,14 +6869,14 @@ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "apR" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/black, /turf/simulated/floor/bluegrid{ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "apS" = ( /obj/structure/cable/cyan, /obj/structure/cable/cyan{ @@ -6900,7 +6891,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "apT" = ( /obj/machinery/vending/coffee{ dir = 4 @@ -6909,7 +6900,7 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "apU" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -6921,7 +6912,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "apV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 @@ -6930,7 +6921,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "apW" = ( /obj/structure/cable/cyan{ icon_state = "2-4" @@ -6943,7 +6934,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "apX" = ( /obj/structure/cable/cyan{ icon_state = "0-8" @@ -6961,7 +6952,7 @@ pixel_x = 36 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "apY" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6979,12 +6970,12 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "apZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aqa" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7002,7 +6993,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "aqb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -7015,11 +7006,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aqc" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aqd" = ( /obj/structure/window/reinforced{ dir = 4; @@ -7035,18 +7026,18 @@ /obj/item/shard, /obj/item/stack/material/rods, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aqe" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aqf" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "aqg" = ( /turf/simulated/wall, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "aqh" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/firealarm{ @@ -7054,12 +7045,12 @@ pixel_x = -24 }, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "aqi" = ( /obj/machinery/constructable_frame/computerframe, /obj/effect/floor_decal/steeldecal/steel_decals_central6, /turf/simulated/floor/tiled/monotile, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "aqj" = ( /obj/structure/table/reinforced, /obj/machinery/alarm{ @@ -7067,7 +7058,7 @@ pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "aqk" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable{ @@ -7076,24 +7067,24 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aql" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/techfloor, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aqm" = ( /turf/simulated/wall, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "aqn" = ( /obj/item/stack/tile/wood, /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "aqo" = ( /turf/simulated/floor/plating, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "aqp" = ( /obj/structure/cable{ icon_state = "0-2" @@ -7104,10 +7095,10 @@ pixel_y = 24 }, /turf/simulated/floor/wood, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "aqq" = ( /turf/simulated/floor/wood, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "aqr" = ( /obj/random/drinkbottle, /obj/random/maintenance/clean, @@ -7116,7 +7107,7 @@ /obj/item/chems/condiment/enzyme, /obj/random/crate, /turf/simulated/floor/wood, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "aqs" = ( /obj/structure/closet/emcloset, /obj/machinery/ai_status_display{ @@ -7129,7 +7120,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "aqt" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor{ @@ -7139,7 +7130,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "aqu" = ( /obj/machinery/power/apc{ dir = 1; @@ -7156,7 +7147,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "aqv" = ( /obj/machinery/status_display{ pixel_y = 32 @@ -7180,19 +7171,19 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "aqw" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "aqx" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "aqy" = ( /obj/machinery/light/small{ dir = 8 @@ -7200,22 +7191,22 @@ /obj/structure/closet/emcloset, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aqz" = ( /turf/simulated/wall/r_wall, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "aqA" = ( /obj/machinery/alarm{ pixel_y = 22 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aqB" = ( /obj/machinery/floodlight, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aqC" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, @@ -7223,24 +7214,24 @@ /obj/item/clothing/mask/gas, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aqD" = ( /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aqE" = ( /obj/structure/cable{ icon_state = "1-4" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aqF" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aqG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, @@ -7248,7 +7239,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aqH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7260,7 +7251,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aqI" = ( /obj/machinery/firealarm{ dir = 1; @@ -7270,7 +7261,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aqJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7279,7 +7270,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aqK" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7289,7 +7280,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aqL" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7298,7 +7289,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aqM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/hologram/holopad, @@ -7310,7 +7301,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aqN" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -7332,24 +7323,24 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "aqO" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "aqP" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "aqQ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aqR" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -7367,7 +7358,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aqS" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -7383,7 +7374,7 @@ name = "Hangar Control Room" }, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "aqT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -7395,7 +7386,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "aqU" = ( /obj/structure/bed/chair{ dir = 1 @@ -7407,7 +7398,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "aqV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -7417,7 +7408,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "aqW" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -7435,7 +7426,7 @@ pixel_x = -22 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aqX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -7447,7 +7438,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aqY" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -7460,7 +7451,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aqZ" = ( /obj/machinery/atmospherics/valve/digital/open{ dir = 4 @@ -7469,7 +7460,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ara" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 @@ -7482,7 +7473,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "arb" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -7496,7 +7487,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "arc" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7508,12 +7499,12 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ard" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "are" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -7522,10 +7513,10 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "arf" = ( /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "arg" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -7540,14 +7531,14 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "ark" = ( /obj/machinery/light, /turf/simulated/floor/bluegrid{ name = "Mainframe Base"; temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "arm" = ( /obj/structure/sign/warning/nosmoking_2{ pixel_y = -32 @@ -7555,7 +7546,7 @@ /turf/simulated/floor/tiled/dark{ temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "arq" = ( /obj/structure/cable/cyan, /obj/machinery/door/firedoor, @@ -7564,7 +7555,7 @@ pixel_y = -32 }, /turf/simulated/floor/plating, -/area/tcomm/computer) +/area/crux/network/comms/computer) "arr" = ( /obj/structure/table, /obj/item/flashlight/lamp, @@ -7573,7 +7564,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/computer) +/area/crux/network/comms/computer) "ars" = ( /obj/structure/table, /obj/item/folder/yellow, @@ -7589,7 +7580,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "art" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -7600,7 +7591,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aru" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -7618,7 +7609,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "arv" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -7627,7 +7618,7 @@ pixel_x = 28 }, /turf/simulated/floor/tiled, -/area/tcomm/computer) +/area/crux/network/comms/computer) "arw" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -7639,7 +7630,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "arx" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7651,7 +7642,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "ary" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -7663,21 +7654,21 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "arz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Hangar Control Room Access" }, /turf/simulated/floor/plating, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "arA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "arB" = ( /obj/structure/bed/chair{ dir = 1 @@ -7689,7 +7680,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "arC" = ( /obj/structure/cable{ icon_state = "2-4" @@ -7701,7 +7692,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "arD" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -7717,7 +7708,7 @@ name = "Hangar Control Room" }, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "arE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -7735,13 +7726,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "arF" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "arG" = ( /obj/structure/table, /obj/item/stack/material/sheet/mapped/steel/fifty{ @@ -7749,19 +7740,19 @@ }, /obj/random/maintenance/engineering, /turf/simulated/floor, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "arH" = ( /obj/item/stack/material/plank/mapped/wood/fifty{ amount = 24 }, /turf/simulated/floor/wood, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "arI" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "arJ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -7783,7 +7774,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "arK" = ( /obj/structure/cable{ icon_state = "2-4" @@ -7795,60 +7786,60 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "arL" = ( /obj/structure/cable{ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "arM" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "arN" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "arO" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "arP" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "arQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /turf/simulated/wall/r_wall, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "arR" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "arS" = ( /obj/machinery/space_heater, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "arT" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "arU" = ( /turf/simulated/wall, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "arV" = ( /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "arW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -7862,7 +7853,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "arX" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -7871,7 +7862,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "arY" = ( /obj/structure/table/steel, /obj/item/clothing/gloves/color/black, @@ -7884,20 +7875,20 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "arZ" = ( /obj/machinery/light, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "asa" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "asb" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "asc" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -7912,13 +7903,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "asd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ase" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -7930,7 +7921,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "asf" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -7943,14 +7934,14 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals_central6, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "asg" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "ash" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -7962,40 +7953,40 @@ name = "Secure Locker" }, /turf/simulated/floor/tiled, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "asi" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "asj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "ask" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, /turf/simulated/wall, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "asl" = ( /obj/machinery/atmospherics/valve/digital/open{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "asm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "asn" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -8006,12 +7997,12 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "aso" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "asp" = ( /obj/structure/sign/directions/engineering{ dir = 8; @@ -8024,7 +8015,7 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "asq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -8034,14 +8025,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "asr" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/fpcenter) +/area/crux/hallway/primary/firstdeck/fpcenter) "ass" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -8053,11 +8044,11 @@ name = "Telecoms Control Room" }, /turf/simulated/floor/tiled/steel_grid, -/area/tcomm/computer) +/area/crux/network/comms/computer) "ast" = ( /obj/structure/sign/warning/secure_area, /turf/simulated/wall/r_wall, -/area/tcomm/computer) +/area/crux/network/comms/computer) "asu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -8067,14 +8058,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "asv" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "asw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -8084,7 +8075,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "asx" = ( /obj/structure/sign/directions/bridge{ pixel_y = 10 @@ -8097,12 +8088,12 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/fscenter) +/area/crux/hallway/primary/firstdeck/fscenter) "asy" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "asz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -8111,11 +8102,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "asA" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "asB" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -8132,14 +8123,14 @@ name = "Secure Locker" }, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "asC" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "asD" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -8152,7 +8143,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals_central6, /turf/simulated/floor/tiled, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "asE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8169,25 +8160,25 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "asF" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "asG" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "asH" = ( /obj/structure/table/reinforced, /obj/item/stack/tile/wood, /turf/simulated/floor/wood, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "asI" = ( /obj/structure/table/reinforced, /obj/item/flashlight, /turf/simulated/floor/wood, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "asJ" = ( /obj/structure/table/reinforced, /obj/item/chems/drinks/glass2/square{ @@ -8197,11 +8188,11 @@ /obj/item/chems/drinks/glass2/square, /obj/machinery/light, /turf/simulated/floor/wood, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "asK" = ( /obj/item/stack/tile/wood, /turf/simulated/floor, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "asL" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -8210,7 +8201,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "asM" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8224,44 +8215,44 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "asN" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "asO" = ( /turf/simulated/wall, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "asP" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "asQ" = ( /turf/unsimulated/mask, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "asR" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /obj/machinery/disposal, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "asS" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/vending/cigarette, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "asT" = ( /obj/structure/sign/warning/pods, /turf/simulated/wall, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "asU" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "asV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8273,14 +8264,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "asW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Escape Pod" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_port) +/area/crux/hallway/secondary/escape/firstdeck/ep_port) "asX" = ( /obj/structure/sign/directions/bridge{ dir = 4; @@ -8290,13 +8281,13 @@ dir = 8 }, /turf/simulated/wall, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "asY" = ( /obj/structure/sign/directions/security{ dir = 8 }, /turf/simulated/wall, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "asZ" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -8306,7 +8297,7 @@ name = "Construction Area" }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction1) +/area/crux/engineering/construction1) "ata" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -8315,10 +8306,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atb" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8332,11 +8323,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atd" = ( /obj/structure/sign/hangar/one, /turf/simulated/wall, -/area/hangar/onecontrol) +/area/crux/hangar/onecontrol) "ate" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -8344,7 +8335,7 @@ name = "Utility Down" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "atf" = ( /obj/structure/shuttle/engine/propulsion{ dir = 1; @@ -8352,15 +8343,15 @@ }, /turf/simulated/floor/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "atg" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/flora/pottedplant/tall, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ath" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ati" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -8375,7 +8366,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atj" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8387,7 +8378,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8404,7 +8395,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atl" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -8413,21 +8404,21 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atm" = ( /turf/simulated/wall, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "atn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/wall, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "ato" = ( /turf/unsimulated/mask, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "atp" = ( /turf/simulated/wall/r_wall, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "atq" = ( /obj/structure/table, /obj/item/stock_parts/micro_laser, @@ -8444,11 +8435,11 @@ pixel_y = 22 }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "atr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "ats" = ( /obj/structure/rack, /obj/item/stock_parts/circuitboard/telecomms_hub, @@ -8458,17 +8449,17 @@ c_tag = "Tcoms - Storage" }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "att" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "atu" = ( /obj/machinery/porta_turret/stationary, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "atv" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -8482,7 +8473,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "atw" = ( /obj/machinery/porta_turret/stationary, /obj/effect/floor_decal/industrial/outline/grey, @@ -8492,7 +8483,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "atx" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -8504,7 +8495,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aty" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8521,7 +8512,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atz" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8533,7 +8524,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atA" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -8548,21 +8539,21 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atB" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atC" = ( /obj/structure/closet/emcloset, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atD" = ( /turf/simulated/wall, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atE" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -8572,11 +8563,11 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/forestarboard) +/area/crux/maintenance/firstdeck/forestarboard) "atF" = ( /obj/structure/sign/hangar/three, /turf/simulated/wall, -/area/hangar/threecontrol) +/area/crux/hangar/threecontrol) "atG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8592,13 +8583,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atI" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -8610,7 +8601,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atJ" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -8620,20 +8611,20 @@ name = "Construction Area" }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "atK" = ( /obj/structure/sign/directions/security{ dir = 4 }, /turf/simulated/wall, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "atL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/double/glass{ name = "Research Division Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/research/hallway) +/area/crux/science/hallway) "atM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8652,44 +8643,44 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "atN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Research Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "atO" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "atP" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atQ" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atR" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atS" = ( /turf/unsimulated/mask, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "atT" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "atU" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "atW" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -8698,7 +8689,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atX" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor{ @@ -8708,7 +8699,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atY" = ( /obj/machinery/light{ dir = 1 @@ -8720,7 +8711,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "atZ" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -8729,7 +8720,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aua" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8744,7 +8735,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aub" = ( /obj/effect/floor_decal/steeldecal/steel_decals5, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -8754,7 +8745,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auc" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -8763,7 +8754,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aud" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor{ @@ -8773,7 +8764,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aue" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8786,7 +8777,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auf" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/item/radio/intercom{ @@ -8801,7 +8792,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aug" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -8813,7 +8804,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auh" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -8826,13 +8817,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aui" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8849,7 +8840,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8861,7 +8852,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aul" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8876,7 +8867,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aum" = ( /obj/machinery/status_display{ pixel_y = 32 @@ -8889,7 +8880,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aun" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/disposalpipe/junction/yjunction{ @@ -8899,7 +8890,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auo" = ( /obj/machinery/light{ dir = 1 @@ -8911,7 +8902,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aup" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8921,7 +8912,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -8931,10 +8922,10 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aur" = ( /turf/simulated/wall/r_wall, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "aus" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -8955,7 +8946,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aut" = ( /obj/structure/cable{ icon_state = "0-8" @@ -8975,7 +8966,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment{ @@ -8988,7 +8979,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9000,7 +8991,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auw" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -9013,17 +9004,17 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aux" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auy" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9035,12 +9026,12 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auA" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "auB" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -9058,7 +9049,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "auC" = ( /obj/machinery/power/apc{ dir = 1; @@ -9082,12 +9073,12 @@ }, /obj/structure/bed/roller, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "auD" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "auE" = ( /obj/machinery/light{ dir = 1 @@ -9103,7 +9094,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "auF" = ( /obj/machinery/ai_status_display{ pixel_y = 32 @@ -9115,7 +9106,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "auG" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -9130,10 +9121,10 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "auH" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "auI" = ( /obj/structure/table, /obj/item/stock_parts/subspace/treatment, @@ -9143,24 +9134,24 @@ dir = 8 }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "auJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "auK" = ( /obj/structure/table, /obj/item/stock_parts/subspace/analyzer, /obj/item/stock_parts/subspace/analyzer, /obj/item/stock_parts/subspace/analyzer, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "auL" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "auM" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -9170,14 +9161,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "auN" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "auO" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -9189,14 +9180,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9205,7 +9196,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auR" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -9214,7 +9205,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auS" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -9223,7 +9214,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloor{ @@ -9233,7 +9224,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auU" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -9248,7 +9239,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -9263,7 +9254,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auW" = ( /obj/item/radio/intercom{ dir = 1; @@ -9275,14 +9266,14 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auY" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -9291,7 +9282,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "auZ" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -9306,7 +9297,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ava" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -9315,14 +9306,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avb" = ( /obj/machinery/ai_status_display{ pixel_y = 32 }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avc" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/extinguisher_cabinet{ @@ -9335,7 +9326,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avd" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9349,7 +9340,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ave" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -9364,7 +9355,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avf" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -9374,7 +9365,7 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avg" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -9386,7 +9377,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avh" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9399,7 +9390,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avi" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor{ @@ -9409,7 +9400,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avj" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 @@ -9419,7 +9410,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avk" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9434,7 +9425,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avl" = ( /obj/structure/sign/deck/first{ pixel_y = 32 @@ -9449,7 +9440,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avm" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/borderfloor{ @@ -9459,30 +9450,30 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "avo" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "avp" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "avq" = ( /obj/machinery/light/small{ dir = 4 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "avs" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -9491,7 +9482,7 @@ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9500,7 +9491,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avv" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -9508,7 +9499,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9520,7 +9511,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9533,7 +9524,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -9545,7 +9536,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9563,7 +9554,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9573,7 +9564,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9586,7 +9577,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9602,7 +9593,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avD" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -9613,7 +9604,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9625,7 +9616,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avF" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -9639,7 +9630,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9654,7 +9645,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avH" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -9668,7 +9659,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -9678,7 +9669,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9697,7 +9688,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avK" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -9707,7 +9698,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avL" = ( /obj/structure/window/reinforced{ dir = 8 @@ -9724,7 +9715,7 @@ }, /obj/item/defibrillator/loaded, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "avM" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, @@ -9736,7 +9727,7 @@ pixel_y = 22 }, /turf/simulated/floor/tiled/techmaint, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "avN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9755,7 +9746,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "avO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9775,7 +9766,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "avP" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -9791,7 +9782,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "avQ" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -9800,7 +9791,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "avR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -9809,7 +9800,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "avS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -9818,7 +9809,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "avT" = ( /obj/structure/table, /obj/item/stock_parts/subspace/amplifier, @@ -9836,7 +9827,7 @@ pixel_x = -36 }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "avU" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -9848,7 +9839,7 @@ dir = 5 }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "avV" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -9860,7 +9851,7 @@ dir = 4 }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "avW" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -9876,7 +9867,7 @@ name = "Telecoms Storage" }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "avX" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -9888,7 +9879,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "avY" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -9905,10 +9896,10 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "avZ" = ( /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "awa" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -9923,7 +9914,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awb" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -9934,7 +9925,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -9949,7 +9940,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -9961,7 +9952,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awe" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -9971,7 +9962,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awf" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -9985,7 +9976,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10000,7 +9991,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awh" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -10014,7 +10005,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awi" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10029,7 +10020,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10041,7 +10032,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awk" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10053,7 +10044,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10065,7 +10056,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awm" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10075,7 +10066,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10089,7 +10080,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -10105,7 +10096,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awp" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10117,7 +10108,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awq" = ( /obj/structure/cable{ icon_state = "1-8" @@ -10135,7 +10126,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -10148,7 +10139,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aws" = ( /obj/structure/cable{ icon_state = "2-8" @@ -10159,7 +10150,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -10168,7 +10159,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -10177,7 +10168,7 @@ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awv" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 8 @@ -10186,30 +10177,30 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aww" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "awx" = ( /obj/machinery/light/small{ dir = 8 }, /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "awy" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "awz" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awA" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awB" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -10217,7 +10208,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awC" = ( /obj/structure/sign/deck/first{ pixel_y = -32 @@ -10229,7 +10220,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awD" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -10238,7 +10229,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awE" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 @@ -10250,7 +10241,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awF" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -10260,18 +10251,18 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awG" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awH" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awI" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -10283,7 +10274,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awJ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10298,13 +10289,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awK" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awL" = ( /obj/machinery/alarm{ dir = 1; @@ -10317,7 +10308,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awM" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -10327,13 +10318,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -10345,7 +10336,7 @@ name = "Medical Staff Only" }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "awP" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -10356,7 +10347,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awQ" = ( /obj/machinery/newscaster{ pixel_x = 30 @@ -10366,7 +10357,7 @@ }, /obj/machinery/mech_recharger, /turf/simulated/floor/tiled/techmaint, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "awR" = ( /obj/machinery/ai_status_display{ pixel_y = -32 @@ -10374,7 +10365,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awS" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, @@ -10385,21 +10376,21 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awT" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awV" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -10412,7 +10403,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -10429,7 +10420,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awX" = ( /obj/machinery/camera/network/first_deck{ c_tag = "Ground Floor - West Hallway One"; @@ -10442,18 +10433,18 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "awZ" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axa" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -10462,7 +10453,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axb" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -10472,21 +10463,21 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axd" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/paleblue/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axe" = ( /obj/machinery/vending/wallmed1{ name = "NanoMed Wall"; @@ -10500,7 +10491,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "axf" = ( /obj/structure/table/glass, /obj/machinery/alarm{ @@ -10514,7 +10505,7 @@ /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/antibiotics, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "axg" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -10533,7 +10524,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "axh" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -10547,7 +10538,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "axi" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -10571,22 +10562,22 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "axk" = ( /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "axl" = ( /obj/item/storage/toolbox/mechanical, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "axm" = ( /obj/structure/table, /obj/item/stock_parts/subspace/ansible, /obj/item/stock_parts/subspace/ansible, /obj/item/stock_parts/subspace/ansible, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "axn" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -10596,7 +10587,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "axo" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -10609,7 +10600,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "axp" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -10625,14 +10616,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10641,18 +10632,18 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axs" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axu" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -10668,7 +10659,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -10688,7 +10679,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axw" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -10698,7 +10689,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axx" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -10707,7 +10698,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axy" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor, @@ -10718,7 +10709,7 @@ /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axz" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -10727,7 +10718,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axA" = ( /obj/machinery/status_display{ pixel_y = -32 @@ -10736,7 +10727,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axB" = ( /obj/machinery/camera/network/first_deck{ c_tag = "Ground Floor - East Hallway Two"; @@ -10745,14 +10736,14 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axC" = ( /obj/structure/sign/department/greencross{ desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid" }, /turf/simulated/wall, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "axD" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, @@ -10764,7 +10755,7 @@ /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/antibiotics, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10778,7 +10769,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axF" = ( /obj/machinery/alarm{ dir = 1; @@ -10787,7 +10778,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axG" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, @@ -10796,7 +10787,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axH" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor/corner{ @@ -10806,7 +10797,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axI" = ( /obj/structure/shuttle/engine/propulsion{ dir = 1; @@ -10814,13 +10805,13 @@ }, /turf/simulated/floor/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "axJ" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axK" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -10832,7 +10823,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axL" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10849,13 +10840,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axM" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axN" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -10863,19 +10854,19 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "axP" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "axQ" = ( /obj/abstract/turbolift_spawner/crux/west, /turf/unsimulated/mask, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axR" = ( /obj/machinery/vending/coffee, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axS" = ( /obj/machinery/alarm{ dir = 1; @@ -10883,18 +10874,18 @@ }, /obj/machinery/vending/snack, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "axT" = ( /turf/simulated/wall, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "axU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "axV" = ( /turf/simulated/wall, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "axW" = ( /obj/structure/sign/directions/engineering{ dir = 8; @@ -10904,7 +10895,7 @@ dir = 8 }, /turf/simulated/wall, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "axX" = ( /obj/structure/sign/directions/medical{ dir = 8 @@ -10914,7 +10905,7 @@ pixel_y = 10 }, /turf/simulated/wall, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "axY" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -10924,7 +10915,7 @@ name = "Construction Area" }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "axZ" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -10934,7 +10925,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aya" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloor{ @@ -10944,10 +10935,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayb" = ( /turf/simulated/wall, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "ayc" = ( /obj/structure/shuttle/engine/propulsion{ dir = 8; @@ -10955,18 +10946,18 @@ }, /turf/simulated/floor, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "ayd" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aye" = ( /obj/machinery/light, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayf" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -10981,7 +10972,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayg" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -10994,7 +10985,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -11007,7 +10998,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayi" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -11016,34 +11007,34 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayj" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "ayk" = ( /turf/simulated/wall, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "ayl" = ( /obj/structure/table/glass, /obj/machinery/recharger, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aym" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "ayn" = ( /obj/abstract/turbolift_spawner/crux/center, /turf/unsimulated/mask, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "ayo" = ( /obj/structure/table, /obj/item/stock_parts/subspace/transmitter, /obj/item/stock_parts/subspace/transmitter, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "ayp" = ( /obj/structure/table, /obj/item/stock_parts/subspace/filter, @@ -11055,7 +11046,7 @@ dir = 1 }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "ayq" = ( /obj/structure/table, /obj/item/stock_parts/subspace/crystal, @@ -11066,7 +11057,7 @@ pixel_y = -24 }, /turf/simulated/floor, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "ayr" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -11078,7 +11069,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ays" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -11091,7 +11082,7 @@ }, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayt" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11103,7 +11094,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayu" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -11114,14 +11105,14 @@ /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayv" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /obj/structure/flora/pottedplant/shoot, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayw" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -11131,17 +11122,17 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "ayx" = ( /turf/simulated/wall, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "ayy" = ( /turf/simulated/wall, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "ayz" = ( /obj/structure/sign/hangar/two, /turf/simulated/wall, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "ayA" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11157,13 +11148,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayC" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -11175,10 +11166,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayD" = ( /turf/simulated/wall, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "ayE" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -11188,7 +11179,7 @@ name = "Construction Area" }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "ayF" = ( /obj/structure/sign/directions/medical{ dir = 4 @@ -11198,7 +11189,7 @@ pixel_y = 10 }, /turf/simulated/wall, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "ayG" = ( /obj/structure/sign/directions/engineering{ dir = 4; @@ -11208,14 +11199,14 @@ dir = 4 }, /turf/simulated/wall, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "ayH" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Escape Pod" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "ayI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/airlock/glass{ @@ -11227,33 +11218,33 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "ayJ" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "ayK" = ( /obj/structure/sign/warning/pods{ dir = 1 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayL" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayM" = ( /obj/abstract/turbolift_spawner/crux/east, /turf/unsimulated/mask, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "ayN" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "ayO" = ( /obj/item/tank/emergency/oxygen/engi, /obj/item/tank/emergency/oxygen/double, @@ -11263,29 +11254,29 @@ /obj/structure/catwalk, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "ayP" = ( /obj/structure/closet/emcloset, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "ayQ" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "ayR" = ( /turf/simulated/floor/plating, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "ayS" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "ayT" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "ayU" = ( /obj/effect/decal/cleanable/blood/oil/streak{ amount = 0 @@ -11295,7 +11286,7 @@ dir = 1 }, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "ayV" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -11304,7 +11295,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "ayW" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -11317,13 +11308,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -11338,26 +11329,26 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "ayZ" = ( /obj/item/frame/apc, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aza" = ( /obj/item/frame, /obj/item/frame/light, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "azb" = ( /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "azc" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "azd" = ( /obj/item/multitool, /obj/item/multitool, @@ -11368,19 +11359,19 @@ /obj/random/maintenance/cargo, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aze" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "azf" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "azg" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "azh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -11389,7 +11380,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "azi" = ( /obj/structure/sign/directions/bridge{ pixel_y = 10 @@ -11399,7 +11390,7 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "azj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -11410,25 +11401,25 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "azk" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "azl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "azm" = ( /obj/structure/tank_rack/oxygen, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "azn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -11437,7 +11428,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "azo" = ( /obj/structure/rack{ dir = 8 @@ -11451,7 +11442,7 @@ }, /obj/machinery/door/window/southleft, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "azp" = ( /obj/structure/rack{ dir = 8 @@ -11465,7 +11456,7 @@ }, /obj/machinery/door/window/southright, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "azq" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -11475,7 +11466,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "azr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -11484,10 +11475,10 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "azs" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "azv" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -11501,7 +11492,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "azw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -11511,14 +11502,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "azx" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "azy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -11528,7 +11519,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "azz" = ( /obj/structure/sign/directions/engineering{ pixel_y = 10 @@ -11538,7 +11529,7 @@ pixel_y = -10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "azA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -11547,11 +11538,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "azB" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "azC" = ( /obj/structure/rack{ dir = 8 @@ -11561,7 +11552,7 @@ /obj/random/maintenance/clean, /obj/item/chems/spray/extinguisher, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "azD" = ( /obj/structure/closet/crate/internals, /obj/random/tank, @@ -11571,7 +11562,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "azE" = ( /obj/structure/closet, /obj/item/clothing/glasses/welding, @@ -11580,7 +11571,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "azF" = ( /obj/structure/closet, /obj/item/lipstick/purple, @@ -11589,7 +11580,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "azG" = ( /obj/item/radio/intercom{ dir = 1; @@ -11606,14 +11597,14 @@ name = "Secure Locker" }, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "azH" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "azI" = ( /obj/machinery/power/apc{ dir = 1; @@ -11629,7 +11620,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals_central6, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "azJ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11643,7 +11634,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "azK" = ( /obj/machinery/light{ dir = 4 @@ -11655,32 +11646,32 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "azL" = ( /obj/structure/mirror{ pixel_y = 25 }, /turf/simulated/floor, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "azM" = ( /obj/structure/bed/padded, /obj/item/bedsheet/mime, /obj/item/pen/crayon/mime, /obj/effect/decal/cleanable/cobweb2, /turf/simulated/floor, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "azN" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "azO" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "azP" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -11689,7 +11680,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "azQ" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -11698,7 +11689,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "azR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11712,7 +11703,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "azS" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -11721,53 +11712,53 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "azT" = ( /turf/simulated/wall, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "azU" = ( /turf/simulated/wall/r_wall, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "azV" = ( /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "azW" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "azX" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "azY" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "azZ" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aAa" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aAb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aAc" = ( /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aAd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -11779,10 +11770,10 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aAe" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aAf" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -11795,12 +11786,12 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aAg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aAh" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -11809,7 +11800,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aAi" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -11818,13 +11809,13 @@ name = "Pilot" }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aAj" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aAk" = ( /obj/machinery/camera/network/first_deck{ c_tag = "Ground Floor - Center Elevator Access" @@ -11839,7 +11830,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAl" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -11851,7 +11842,7 @@ name = "Telecoms Hallway" }, /turf/simulated/floor/tiled/steel_grid, -/area/tcomm/tcomstorage) +/area/crux/network/comms/tcomstorage) "aAm" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -11864,7 +11855,7 @@ name = "Pilot" }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aAn" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -11873,7 +11864,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAo" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -11883,7 +11874,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAp" = ( /obj/machinery/light{ dir = 1 @@ -11895,7 +11886,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -11907,7 +11898,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aAr" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -11916,14 +11907,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAs" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 1 }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAt" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -11932,7 +11923,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAu" = ( /obj/machinery/firealarm{ dir = 4; @@ -11942,10 +11933,10 @@ dir = 9 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aAv" = ( /turf/simulated/wall/r_wall, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aAw" = ( /obj/structure/table, /obj/item/cell, @@ -11953,7 +11944,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aAx" = ( /obj/machinery/door/airlock/double{ id_tag = "expshuttle1_door_cargo"; @@ -11970,14 +11961,14 @@ dir = 4 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aAy" = ( /obj/machinery/atmospherics/pipe/manifold/visible, /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aAz" = ( /turf/simulated/wall/r_wall, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aAA" = ( /obj/structure/cable/cyan{ icon_state = "0-4" @@ -11994,7 +11985,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aAB" = ( /obj/structure/cable/cyan{ icon_state = "1-4" @@ -12014,7 +12005,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aAC" = ( /obj/structure/cable/cyan{ icon_state = "2-8" @@ -12034,7 +12025,7 @@ pixel_y = 29 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aAD" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -12046,13 +12037,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aAE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aAF" = ( /obj/structure/cable{ icon_state = "1-2" @@ -12064,10 +12055,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aAG" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aAH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -12079,23 +12070,23 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aAI" = ( /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aAJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Hangar Control Room Access" }, /turf/simulated/floor/plating, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aAK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aAL" = ( /obj/structure/bed/chair, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -12105,7 +12096,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aAM" = ( /obj/structure/cable{ icon_state = "1-4" @@ -12117,7 +12108,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aAN" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -12133,7 +12124,7 @@ name = "Hangar Control Room" }, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aAO" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/cable{ @@ -12149,27 +12140,27 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aAP" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aAQ" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aAR" = ( /turf/simulated/floor/plating, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aAS" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aAT" = ( /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aAU" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, @@ -12182,7 +12173,7 @@ maxcharge = 15000 }, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aAV" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -12204,7 +12195,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aAW" = ( /obj/structure/cable{ icon_state = "1-4" @@ -12216,7 +12207,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aAX" = ( /obj/structure/cable{ icon_state = "2-8" @@ -12225,7 +12216,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aAY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -12236,7 +12227,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aAZ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -12245,7 +12236,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aBa" = ( /obj/structure/cable{ icon_state = "4-8" @@ -12254,7 +12245,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aBb" = ( /obj/structure/cable{ icon_state = "4-8" @@ -12264,30 +12255,30 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aBc" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/atmospherics/portables_connector, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "aBd" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aBe" = ( /obj/structure/cable{ icon_state = "2-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aBf" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBg" = ( /obj/machinery/alarm{ dir = 1; @@ -12295,23 +12286,23 @@ }, /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBh" = ( /obj/item/chems/spray/extinguisher, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBi" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBj" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBk" = ( /obj/structure/door_assembly/door_assembly_ext, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBl" = ( /obj/structure/rack{ dir = 8 @@ -12322,7 +12313,7 @@ /obj/item/stock_parts/circuitboard/airlock_electronics, /obj/item/stack/cable_coil/random, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBm" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -12331,12 +12322,12 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "aBn" = ( /obj/item/flashlight, /obj/random/crate, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "aBo" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -12344,14 +12335,14 @@ pixel_y = -24 }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "aBp" = ( /obj/structure/table/steel, /obj/random/tech_supply, /obj/random/tech_supply, /obj/random/tool/power, /turf/simulated/floor, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "aBq" = ( /obj/machinery/alarm{ dir = 1; @@ -12361,7 +12352,7 @@ /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction2) +/area/crux/engineering/construction2) "aBr" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -12372,7 +12363,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aBs" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -12382,10 +12373,10 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/west) +/area/crux/hallway/primary/firstdeck/west) "aBt" = ( /turf/simulated/wall/r_wall, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aBu" = ( /obj/structure/rack{ dir = 1 @@ -12394,14 +12385,14 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/clean, /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aBv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aBw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -12411,12 +12402,12 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aBx" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aBy" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -12438,7 +12429,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aBz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -12446,7 +12437,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aBA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12456,7 +12447,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aBB" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -12469,7 +12460,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aBC" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -12478,7 +12469,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aBD" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -12488,7 +12479,7 @@ name = "Pilot EVA Storage" }, /turf/simulated/floor/tiled/steel_grid, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aBE" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -12503,7 +12494,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aBF" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -12517,7 +12508,7 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aBG" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -12530,7 +12521,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aBH" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -12545,7 +12536,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aBI" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/cable/green{ @@ -12556,20 +12547,20 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aBJ" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aBK" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aBL" = ( /obj/structure/rack, /obj/item/suit_cooling_unit, @@ -12578,7 +12569,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aBM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -12599,18 +12590,18 @@ }, /obj/structure/closet/secure_closet/pilot, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aBN" = ( /obj/structure/table, /obj/machinery/recharger, /turf/simulated/floor/tiled/dark, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aBO" = ( /obj/structure/cable/cyan{ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aBP" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -12620,7 +12611,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aBQ" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -12628,13 +12619,13 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aBR" = ( /obj/structure/cable/cyan{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aBS" = ( /obj/structure/cable/cyan{ icon_state = "1-8" @@ -12645,7 +12636,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aBT" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -12658,7 +12649,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aBU" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -12676,12 +12667,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aBV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aBW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -12699,12 +12690,12 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aBX" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aBY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -12717,15 +12708,15 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aBZ" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aCa" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aCb" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -12735,13 +12726,13 @@ pixel_x = -24 }, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aCc" = ( /obj/machinery/computer/modular/preset/medical{ dir = 8 }, /turf/simulated/floor/tiled/techmaint, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "aCd" = ( /obj/structure/table/reinforced, /obj/machinery/alarm{ @@ -12749,7 +12740,7 @@ pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aCe" = ( /obj/machinery/alarm{ dir = 1; @@ -12757,7 +12748,7 @@ }, /obj/structure/table/steel, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aCf" = ( /obj/item/clothing/head/soft/mime, /obj/item/clothing/mask/gas/mime, @@ -12765,7 +12756,7 @@ /obj/item/clothing/under/mime, /obj/random/crate, /turf/simulated/floor, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aCg" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -12773,7 +12764,7 @@ pixel_y = -24 }, /turf/simulated/floor/plating, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aCh" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -12781,7 +12772,7 @@ /obj/random/tech_supply, /obj/random/maintenance/engineering, /turf/simulated/floor/tiled, -/area/construction/firstdeck/construction3) +/area/crux/engineering/construction3) "aCi" = ( /obj/structure/closet/emcloset, /obj/machinery/ai_status_display{ @@ -12794,7 +12785,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aCj" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -12802,7 +12793,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/white/border, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aCk" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -12812,7 +12803,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aCl" = ( /obj/machinery/status_display{ pixel_y = -32 @@ -12831,21 +12822,20 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aCm" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ - frequency = 1381; id_tag = "large_escape_pod_1_berth"; pixel_y = -26; tag_door = "large_escape_pod_1_berth_hatch" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aCn" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aCo" = ( /obj/structure/closet/wardrobe/grey, /obj/item/storage/backpack, @@ -12857,7 +12847,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aCp" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -12866,31 +12856,31 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aCq" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aCr" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aCs" = ( /turf/simulated/wall/r_wall, -/area/quartermaster/storage) +/area/crux/supply/storage) "aCt" = ( /turf/simulated/wall, -/area/quartermaster/storage) +/area/crux/supply/storage) "aCu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Cargo Maintenance" }, /turf/simulated/floor/plating, -/area/quartermaster/storage) +/area/crux/supply/storage) "aCv" = ( /turf/simulated/wall/r_wall, -/area/quartermaster/hallway) +/area/crux/supply) "aCw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ @@ -12898,19 +12888,19 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/hallway) +/area/crux/supply) "aCx" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/quartermaster/hallway) +/area/crux/supply) "aCy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Cargo Hallway" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/hallway) +/area/crux/supply) "aCz" = ( /obj/structure/closet/secure_closet/miner, /obj/machinery/light{ @@ -12923,7 +12913,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aCA" = ( /obj/item/radio/intercom{ dir = 1; @@ -12937,7 +12927,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aCB" = ( /obj/structure/tank_rack/oxygen, /obj/machinery/ai_status_display{ @@ -12950,7 +12940,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aCC" = ( /obj/structure/window/reinforced{ dir = 1 @@ -12974,7 +12964,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aCD" = ( /obj/structure/window/reinforced{ dir = 1 @@ -13000,7 +12990,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aCE" = ( /obj/machinery/suit_cycler/mining, /obj/effect/floor_decal/borderfloor{ @@ -13010,7 +13000,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aCF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -13023,7 +13013,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aCG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -13033,7 +13023,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aCH" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -13052,19 +13042,19 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aCI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aCJ" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aCK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13094,7 +13084,7 @@ /obj/item/storage/backpack/parachute, /obj/item/storage/backpack/parachute, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aCL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13105,19 +13095,19 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aCM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aCN" = ( /turf/simulated/wall/r_wall, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aCO" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/quartermaster/storage) +/area/crux/supply/storage) "aCP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13128,7 +13118,7 @@ /obj/structure/window/reinforced, /obj/machinery/vending/snack, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCQ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -13139,17 +13129,17 @@ /obj/machinery/vending/fitness, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCR" = ( /obj/machinery/vending/cigarette, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCS" = ( /obj/machinery/vending/cola, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/borderfloor{ @@ -13165,10 +13155,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCU" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCV" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -13180,7 +13170,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCW" = ( /obj/structure/closet/malf/suits, /obj/machinery/firealarm{ @@ -13188,7 +13178,7 @@ pixel_x = -24 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aCX" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/light{ @@ -13204,7 +13194,7 @@ pixel_x = 28 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aCY" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -13216,7 +13206,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aCZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13229,7 +13219,7 @@ }, /obj/structure/closet/secure_closet/pilot, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/eva/pilot) +/area/crux/eva/pilot) "aDa" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -13245,7 +13235,7 @@ name = "Power Control" }, /turf/simulated/floor/tiled/steel_grid, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aDb" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -13259,7 +13249,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aDc" = ( /obj/machinery/power/terminal{ dir = 4 @@ -13277,14 +13267,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aDd" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 }, /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aDe" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -13296,14 +13286,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aDf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aDg" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -13322,7 +13312,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aDh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -13342,7 +13332,7 @@ /obj/random/maintenance/medical, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aDi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -13355,18 +13345,18 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aDj" = ( /turf/simulated/wall/r_wall, -/area/hangar/two) +/area/crux/hangar/two) "aDk" = ( /turf/simulated/wall, -/area/hangar/two) +/area/crux/hangar/two) "aDl" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hangar/two) +/area/crux/hangar/two) "aDm" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -13379,7 +13369,7 @@ name = "Hangar Bay" }, /turf/simulated/floor/tiled/steel_grid, -/area/hangar/two) +/area/crux/hangar/two) "aDn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ @@ -13387,7 +13377,7 @@ name = "Hangar Bay" }, /turf/simulated/floor/tiled/steel_grid, -/area/hangar/two) +/area/crux/hangar/two) "aDo" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "large_escape_pod_1_berth_hatch"; @@ -13395,7 +13385,7 @@ name = "Large Escape Pod 1" }, /turf/simulated/floor, -/area/hallway/secondary/escape/firstdeck/ep_starboard2) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard2) "aDp" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -13404,7 +13394,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDr" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor{ @@ -13414,7 +13404,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDt" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -13423,7 +13413,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDu" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/status_display/supply_display{ @@ -13436,7 +13426,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDv" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -13445,7 +13435,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDw" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -13454,7 +13444,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDx" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor/corner{ @@ -13464,7 +13454,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDy" = ( /obj/machinery/light/spot{ dir = 1 @@ -13476,7 +13466,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDz" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -13492,7 +13482,7 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDA" = ( /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, @@ -13506,7 +13496,7 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDB" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -13519,7 +13509,7 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDC" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, @@ -13530,7 +13520,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDD" = ( /obj/structure/table/steel_reinforced, /obj/item/clothing/accessory/armband/cargo, @@ -13545,7 +13535,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDE" = ( /obj/structure/table/steel_reinforced, /obj/item/stamp{ @@ -13560,11 +13550,11 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDF" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/quartermaster/hallway) +/area/crux/supply) "aDG" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -13574,10 +13564,10 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aDH" = ( /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aDI" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -13586,11 +13576,11 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aDJ" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aDK" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/floor_decal/borderfloor{ @@ -13600,10 +13590,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aDM" = ( /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aDN" = ( /obj/machinery/firealarm{ dir = 4; @@ -13616,7 +13606,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aDO" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -13625,7 +13615,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aDP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13636,7 +13626,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aDQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -13648,12 +13638,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aDR" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/quartermaster/storage) +/area/crux/supply/storage) "aDS" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -13668,14 +13658,14 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aDT" = ( /turf/simulated/wall, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aDU" = ( /obj/structure/stairs/long/north, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aDV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -13688,7 +13678,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aDW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13703,7 +13693,7 @@ /obj/item/paicard, /obj/item/clothing/head/soft/grey, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aDX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13717,7 +13707,7 @@ }, /obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aDY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13736,7 +13726,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aDZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13747,7 +13737,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aEa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13768,7 +13758,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aEb" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -13786,7 +13776,7 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aEc" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -13802,7 +13792,7 @@ name = "Telecommunications" }, /turf/simulated/floor/tiled/steel_grid, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aEd" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -13817,7 +13807,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aEe" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -13831,7 +13821,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aEf" = ( /obj/structure/sign/warning/high_voltage{ pixel_x = 32 @@ -13841,7 +13831,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aEg" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -13855,7 +13845,7 @@ pixel_y = -25 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aEh" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -13870,7 +13860,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aEi" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -13888,11 +13878,11 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aEj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aEk" = ( /obj/structure/cable{ icon_state = "1-2" @@ -13904,7 +13894,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aEl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13913,7 +13903,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aEm" = ( /obj/structure/closet, /obj/item/storage/backpack, @@ -13922,7 +13912,7 @@ /obj/random/maintenance/medical, /obj/random/firstaid, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aEn" = ( /obj/structure/closet, /obj/item/clothing/shoes/winterboots, @@ -13938,7 +13928,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aEo" = ( /obj/machinery/power/apc{ dir = 1; @@ -13959,7 +13949,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEp" = ( /obj/structure/cable{ icon_state = "4-8" @@ -13971,7 +13961,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -13988,7 +13978,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEr" = ( /obj/structure/cable{ icon_state = "1-8" @@ -14002,7 +13992,7 @@ dir = 9 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14016,14 +14006,13 @@ dir = 1 }, /obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1381; id_tag = "hangar_2"; name = "shuttle bay controller"; pixel_y = 26; tag_door = "hangar_2_door" }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -14038,7 +14027,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -14047,7 +14036,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -14059,7 +14048,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -14071,7 +14060,7 @@ pixel_y = 22 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aEx" = ( /obj/machinery/space_heater, /obj/effect/floor_decal/borderfloor{ @@ -14081,16 +14070,16 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aEy" = ( /obj/machinery/network/relay, /turf/simulated/floor/tiled/dark{ temperature = 80 }, -/area/tcomm/chamber) +/area/crux/network/comms/chamber) "aEz" = ( /turf/simulated/shuttle/wall, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aEB" = ( /obj/machinery/door/airlock/external{ id_tag = "large_escape_pod_1_hatch"; @@ -14098,16 +14087,16 @@ name = "Large Escape Pod Hatch 1" }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aEC" = ( /obj/structure/sign/department/greencross{ name = "Medical Pod" }, /turf/simulated/shuttle/wall, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aED" = ( /turf/simulated/floor, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "aEE" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -14116,12 +14105,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEF" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/industrial/danger/corner, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -14129,7 +14118,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14137,7 +14126,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14148,7 +14137,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14159,7 +14148,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEK" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -14168,7 +14157,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14183,7 +14172,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14192,7 +14181,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14201,7 +14190,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -14210,16 +14199,16 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEP" = ( /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aEQ" = ( /obj/structure/bed/chair/office/dark{ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aER" = ( /obj/structure/table/steel_reinforced, /obj/item/folder/yellow, @@ -14232,10 +14221,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aES" = ( /turf/simulated/wall, -/area/quartermaster/hallway) +/area/crux/supply) "aET" = ( /obj/machinery/alarm{ dir = 4; @@ -14255,22 +14244,22 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aEU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aEV" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aEW" = ( /turf/simulated/wall, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aEX" = ( /obj/structure/closet/secure_closet/miner, /obj/machinery/power/apc{ @@ -14291,13 +14280,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aEY" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aEZ" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -14305,7 +14294,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aFa" = ( /obj/abstract/landmark/start{ name = "Shaft Miner" @@ -14315,19 +14304,19 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aFb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Mining Maintenance" }, /turf/simulated/floor/plating, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aFc" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aFd" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -14341,37 +14330,37 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aFe" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aFf" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aFg" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aFh" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aFi" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aFj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aFk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aFl" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -14380,43 +14369,43 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aFm" = ( /obj/structure/sign/warning/secure_area, /turf/simulated/wall/r_wall, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aFn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aFo" = ( /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aFp" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aFq" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aFr" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aFs" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aFt" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -14430,12 +14419,12 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aFu" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aFv" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, @@ -14445,7 +14434,7 @@ /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /turf/simulated/floor, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aFw" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -14464,24 +14453,24 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aFx" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aFy" = ( /obj/effect/floor_decal/borderfloorblack/corner, /obj/effect/floor_decal/industrial/danger/corner, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aFz" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aFA" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 8 @@ -14490,14 +14479,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aFB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aFC" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -14510,14 +14499,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aFD" = ( /obj/machinery/constructable_frame/computerframe{ dir = 1 }, /obj/effect/floor_decal/steeldecal/steel_decals_central6, /turf/simulated/floor/tiled/monotile, -/area/hangar/twocontrol) +/area/crux/hangar/twocontrol) "aFE" = ( /obj/structure/shuttle/engine/heater{ dir = 8 @@ -14527,51 +14516,50 @@ health = 1e+006 }, /turf/simulated/floor, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFF" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFG" = ( /obj/structure/bed/roller, /obj/structure/emergency_dispenser{ pixel_y = 32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFH" = ( /obj/structure/bed/roller, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFI" = ( /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ - frequency = 1381; id_tag = "large_escape_pod_1"; pixel_x = -26; pixel_y = 26; tag_door = "large_escape_pod_1_hatch" }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFJ" = ( /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFK" = ( /obj/structure/bed/chair, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFL" = ( /obj/structure/bed/chair, /obj/machinery/ai_status_display{ pixel_y = 32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFM" = ( /obj/structure/bed/chair, /obj/machinery/vending/wallmed1{ @@ -14579,7 +14567,7 @@ pixel_x = 28 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aFO" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -14588,7 +14576,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aFQ" = ( /obj/structure/bed/chair{ dir = 1 @@ -14597,7 +14585,7 @@ pixel_x = -28 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod2/station) +/area/crux/shuttle/escape_pod2/station) "aFR" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -14606,16 +14594,16 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aFS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aFT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aFU" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -14628,7 +14616,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aFV" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -14636,7 +14624,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/quartermaster/hallway) +/area/crux/supply) "aFW" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -14652,28 +14640,28 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aFX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aFY" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aFZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Mining Locker Room" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGa" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -14682,7 +14670,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGb" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -14691,13 +14679,13 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGd" = ( /obj/structure/bed/chair/office/dark, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -14707,26 +14695,26 @@ name = "Shaft Miner" }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGe" = ( /obj/machinery/airlock_sensor{ id_tag = "server_access_ex_sensor"; pixel_y = 25 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aGf" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aGg" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aGh" = ( /obj/structure/sign/deck/first{ pixel_x = -32 @@ -14740,7 +14728,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGi" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -14755,13 +14743,13 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGj" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGk" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -14770,13 +14758,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGm" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -14797,7 +14785,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGn" = ( /obj/item/radio/intercom{ dir = 4; @@ -14808,7 +14796,7 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGo" = ( /obj/structure/cable/cyan{ icon_state = "0-2" @@ -14826,39 +14814,39 @@ /obj/machinery/cell_charger, /obj/random_multi/single_item/hand_tele, /turf/simulated/floor/tiled/dark, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aGp" = ( /obj/structure/closet/malf/suits, /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aGq" = ( /obj/structure/closet/crate, /obj/item/clothing/glasses/night, /obj/item/aicard, /obj/item/multitool, /turf/simulated/floor/tiled/dark, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aGr" = ( /turf/simulated/wall, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aGs" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aGt" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aGu" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aGv" = ( /obj/structure/rack{ dir = 1 @@ -14868,12 +14856,12 @@ /obj/random/maintenance/medical, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aGw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aGx" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 4 @@ -14882,10 +14870,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aGy" = ( /turf/simulated/floor/reinforced, -/area/hangar/two) +/area/crux/hangar/two) "aGz" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -14894,12 +14882,12 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/tcomm/computer) +/area/crux/network/comms/computer) "aGA" = ( /obj/structure/table, /turf/simulated/floor/tiled, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aGB" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 8 @@ -14908,30 +14896,30 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aGD" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aGE" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aGF" = ( /obj/structure/grille, /obj/structure/shuttle/window, /turf/simulated/floor/shuttle/plating, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aGG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aGH" = ( /obj/machinery/light{ dir = 4 @@ -14944,7 +14932,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aGI" = ( /obj/machinery/light{ dir = 8 @@ -14957,24 +14945,24 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aGJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aGK" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aGL" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGM" = ( /obj/structure/rack{ dir = 1 @@ -14987,7 +14975,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGN" = ( /obj/structure/rack{ dir = 1 @@ -15013,7 +15001,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGO" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15029,7 +15017,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGP" = ( /obj/machinery/alarm{ dir = 1; @@ -15042,7 +15030,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGQ" = ( /obj/structure/table/steel, /obj/item/paper_bin{ @@ -15055,7 +15043,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGR" = ( /obj/structure/table/steel, /obj/item/folder/yellow, @@ -15074,7 +15062,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aGS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -15085,22 +15073,22 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aGT" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aGU" = ( /obj/machinery/newscaster, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGV" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGW" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -15109,7 +15097,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGX" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -15118,7 +15106,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGY" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15130,17 +15118,17 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aGZ" = ( /obj/effect/floor_decal/techfloor{ dir = 10 }, /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aHa" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aHb" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Telecommunications Satellite"; @@ -15151,12 +15139,12 @@ }, /obj/structure/cable/cyan, /turf/simulated/floor/plating, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "aHc" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/porta_turret, /turf/simulated/floor/tiled/dark, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aHd" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -15170,45 +15158,45 @@ pixel_x = -21 }, /turf/simulated/floor/tiled, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aHe" = ( /obj/machinery/alarm{ dir = 4; pixel_x = -22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aHf" = ( /obj/structure/cable/green{ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aHg" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aHh" = ( /obj/structure/cable/green{ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aHi" = ( /obj/machinery/floodlight, /turf/simulated/floor, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aHj" = ( /obj/structure/table, /obj/machinery/recharger, /turf/space, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aHk" = ( /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aHm" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -15218,7 +15206,7 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aHn" = ( /obj/structure/window/reinforced{ dir = 8 @@ -15227,7 +15215,7 @@ dir = 8 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHo" = ( /obj/structure/table, /obj/item/wrench, @@ -15236,7 +15224,7 @@ pixel_y = -32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHp" = ( /obj/structure/closet/crate/medical, /obj/item/storage/firstaid/regular{ @@ -15277,27 +15265,27 @@ /obj/item/chems/ivbag, /obj/machinery/light, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHq" = ( /obj/machinery/sleeper{ dir = 8 }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHr" = ( /obj/item/radio/intercom/department_medbay{ dir = 1; pixel_y = -21 }, /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHs" = ( /obj/structure/bed/chair{ dir = 1 }, /obj/machinery/light, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHt" = ( /obj/structure/bed/chair{ dir = 1 @@ -15306,7 +15294,7 @@ pixel_y = -32 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHu" = ( /obj/structure/bed/chair{ dir = 1 @@ -15316,7 +15304,7 @@ pixel_y = -21 }, /turf/simulated/floor/shuttle/white, -/area/shuttle/large_escape_pod1/station) +/area/crux/shuttle/large_escape_pod1/station) "aHv" = ( /obj/machinery/status_display{ pixel_x = -32 @@ -15328,7 +15316,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aHw" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 10 @@ -15337,12 +15325,12 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aHx" = ( /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aHy" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -15351,7 +15339,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aHz" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -15361,12 +15349,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aHA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aHB" = ( /obj/machinery/power/apc{ dir = 4; @@ -15386,7 +15374,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aHC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ @@ -15398,23 +15386,23 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aHD" = ( /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aHE" = ( /turf/simulated/wall, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aHF" = ( /obj/structure/table/bench, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aHG" = ( /obj/structure/sign/directions/evac{ dir = 1 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aHH" = ( /obj/structure/sign/directions/bridge{ dir = 1; @@ -15428,19 +15416,19 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aHI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aHJ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aHK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -15450,7 +15438,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aHL" = ( /obj/structure/sign/directions/engineering{ dir = 1; @@ -15464,7 +15452,7 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/elevator) +/area/crux/hallway/primary/firstdeck/elevator) "aHM" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -15479,27 +15467,27 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aHN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aHQ" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aHR" = ( /obj/machinery/teleport/station, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aHS" = ( /obj/machinery/computer/station_alert, /obj/effect/floor_decal/industrial/warning/corner{ @@ -15507,7 +15495,7 @@ }, /turf/simulated/floor/tiled/steel_grid, /turf/space, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aHT" = ( /obj/machinery/teleport/hub, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -15515,21 +15503,21 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aHV" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 }, /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aHW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aHX" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -15545,7 +15533,7 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aHY" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 28 @@ -15553,20 +15541,20 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/quartermaster/mininglockerroom) +/area/crux/supply/mininglockerroom) "aHZ" = ( /obj/machinery/conveyor{ dir = 4; id_tag = "QMLoad2" }, /turf/simulated/floor/plating, -/area/quartermaster/storage) +/area/crux/supply/storage) "aIa" = ( /obj/effect/floor_decal/industrial/loading{ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aIb" = ( /obj/item/radio/intercom{ dir = 4; @@ -15580,7 +15568,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aIc" = ( /obj/item/radio/intercom{ dir = 8; @@ -15595,7 +15583,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aId" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15607,7 +15595,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIe" = ( /obj/structure/window/reinforced{ dir = 4; @@ -15621,11 +15609,11 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIf" = ( /obj/structure/stairs/long/west, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIg" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15639,26 +15627,26 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIh" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aIi" = ( /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aIj" = ( /obj/structure/rack, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aIk" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -15673,7 +15661,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aIl" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -15682,7 +15670,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aIm" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -15697,14 +15685,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aIn" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aIo" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -15713,7 +15701,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aIp" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -15722,7 +15710,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aIq" = ( /obj/machinery/light{ dir = 1 @@ -15741,7 +15729,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aIr" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -15753,7 +15741,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aIs" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15763,7 +15751,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aIt" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -15773,7 +15761,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aIu" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15785,7 +15773,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aIv" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15803,7 +15791,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aIw" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15818,7 +15806,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aIx" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15836,11 +15824,11 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aIy" = ( /obj/machinery/portable_atmospherics/canister/empty, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aIz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -15852,7 +15840,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aIB" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -15862,7 +15850,7 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aIC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -15874,17 +15862,17 @@ id_tag = "shuttle2_pump" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aID" = ( /obj/machinery/atmospherics/pipe/simple/visible, /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aIE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aIF" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -15896,7 +15884,7 @@ dir = 1 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aIG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -15908,7 +15896,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aIH" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -15917,7 +15905,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aII" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -15926,7 +15914,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aIJ" = ( /obj/machinery/conveyor_switch/oneway{ id_tag = "QMLoad2" @@ -15938,7 +15926,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aIK" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -15947,7 +15935,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aIL" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -15963,7 +15951,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aIM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15979,7 +15967,7 @@ name = "Cargo Bay" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/hallway) +/area/crux/supply) "aIN" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15998,7 +15986,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIO" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16006,7 +15994,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIP" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16021,7 +16009,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIQ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16033,7 +16021,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIR" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -16048,7 +16036,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIS" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -16064,14 +16052,14 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aIT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Cargo Maintenance" }, /turf/simulated/floor/plating, -/area/quartermaster/hallway) +/area/crux/supply) "aIU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -16083,7 +16071,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aIV" = ( /obj/structure/cable{ icon_state = "0-8" @@ -16101,23 +16089,23 @@ /obj/structure/catwalk, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aIW" = ( /obj/machinery/light, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aIX" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aIY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aIZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -16126,7 +16114,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16135,7 +16123,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16144,7 +16132,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJc" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -16155,7 +16143,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16176,7 +16164,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -16185,7 +16173,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -16196,7 +16184,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16205,7 +16193,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16226,7 +16214,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJi" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -16237,7 +16225,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16249,7 +16237,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16258,7 +16246,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -16267,23 +16255,23 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJn" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJo" = ( /obj/machinery/light, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJp" = ( /obj/structure/cable{ icon_state = "0-4" @@ -16295,7 +16283,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aJq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -16307,7 +16295,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aJr" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -16316,7 +16304,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aJs" = ( /obj/machinery/door/airlock/external/bolted{ id_tag = "shuttle2_outer"; @@ -16328,7 +16316,7 @@ pixel_y = -26 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aJt" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -16337,14 +16325,14 @@ dir = 4 }, /obj/effect/shuttle_landmark{ - base_area = /area/hangar/one; + base_area = /area/crux/hangar/one; base_turf = /turf/simulated/floor/reinforced; docking_controller = "hangar_1"; landmark_tag = "hangar_1"; name = "Hangar One" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start) +/area/crux/shuttle/shuttle_start) "aJu" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -16352,7 +16340,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/visible, /obj/machinery/meter, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aJv" = ( /obj/machinery/door/airlock/external/bolted{ id_tag = "shuttle2_inner"; @@ -16367,7 +16355,7 @@ dir = 9 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aJx" = ( /obj/machinery/button/alternate/door{ id_tag = "expshuttle2_door_L"; @@ -16380,7 +16368,7 @@ name = "shuttle side hatch" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aJy" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -16389,7 +16377,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aJz" = ( /obj/machinery/camera/network/cargo{ c_tag = "CRG - Cargo Bay West"; @@ -16403,19 +16391,19 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aJA" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aJB" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/brown/bordercorner2, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aJC" = ( /obj/machinery/newscaster{ pixel_y = -30 @@ -16423,7 +16411,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aJD" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -16437,11 +16425,11 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aJE" = ( /obj/machinery/status_display/supply_display, /turf/simulated/wall, -/area/quartermaster/hallway) +/area/crux/supply) "aJF" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -16453,7 +16441,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aJG" = ( /obj/machinery/camera/network/cargo{ c_tag = "CRG - Cargo Hallway"; @@ -16463,7 +16451,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aJH" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -16475,7 +16463,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aJI" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor/corner{ @@ -16486,7 +16474,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aJJ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -16497,7 +16485,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aJK" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -16508,19 +16496,19 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aJL" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/hallway) +/area/crux/supply) "aJM" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aJN" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /obj/machinery/alarm{ @@ -16528,7 +16516,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aJO" = ( /obj/structure/table/steel, /obj/random/maintenance/cargo, @@ -16537,7 +16525,7 @@ /obj/random/maintenance/cargo, /obj/random/toolbox, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aJP" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, @@ -16545,12 +16533,12 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJQ" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJR" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -16562,7 +16550,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJS" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, @@ -16573,38 +16561,38 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/apcenter) +/area/crux/hallway/primary/firstdeck/apcenter) "aJT" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJV" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJW" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aJX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJY" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -16613,14 +16601,14 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aJZ" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aKa" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -16632,12 +16620,12 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aKb" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aKc" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, @@ -16645,16 +16633,16 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/ascenter) +/area/crux/hallway/primary/firstdeck/ascenter) "aKd" = ( /obj/item/inflatable/door/torn, /obj/item/screwdriver, /turf/simulated/floor, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aKe" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aKf" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -16668,13 +16656,12 @@ id_tag = "shuttle2_pump" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aKg" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ - frequency = 1381; id_tag = "shuttle2_shuttle"; pixel_y = -26; tag_airpump = "shuttle2_pump"; @@ -16687,7 +16674,7 @@ id_tag = "shuttle2_pump" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aKh" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -16703,13 +16690,13 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aKi" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aKj" = ( /obj/structure/emergency_dispenser{ pixel_y = -32 @@ -16718,19 +16705,19 @@ dir = 1 }, /turf/simulated/floor/shuttle/red, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aKk" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/shuttle/red, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aKm" = ( /obj/structure/lattice, /obj/structure/grille/broken, /obj/item/stack/material/rods, /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) "aKn" = ( /obj/machinery/conveyor_switch/oneway{ convdir = -1; @@ -16739,7 +16726,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/industrial/danger, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aKo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -16753,13 +16740,13 @@ name = "security camera" }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aKp" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aKq" = ( /turf/simulated/wall, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aKr" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -16771,13 +16758,13 @@ name = "Cargo Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aKs" = ( /turf/simulated/wall, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aKt" = ( /turf/simulated/wall/r_wall, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aKu" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -16800,7 +16787,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKv" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -16809,12 +16796,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKw" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKx" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -16829,17 +16816,17 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKy" = ( /turf/simulated/wall/r_wall, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aKz" = ( /turf/simulated/wall, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aKA" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aKB" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -16851,7 +16838,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aKC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -16860,11 +16847,11 @@ /turf/simulated/floor/tiled/monofloor{ dir = 1 }, -/area/hangar/two) +/area/crux/hangar/two) "aKD" = ( /obj/machinery/door/airlock/centcom, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aKE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -16873,7 +16860,7 @@ /turf/simulated/floor/tiled/monofloor{ dir = 1 }, -/area/hangar/two) +/area/crux/hangar/two) "aKF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -16885,35 +16872,34 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aKG" = ( /obj/machinery/conveyor{ dir = 4; id_tag = "QMLoad" }, /turf/simulated/floor/plating, -/area/quartermaster/storage) +/area/crux/supply/storage) "aKH" = ( /obj/effect/floor_decal/industrial/loading{ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aKI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/embedded_controller/radio/simple_docking_controller{ - frequency = 1381; id_tag = "cargo_bay"; name = "cargo bay hatch controller"; pixel_x = 30; tag_door = "cargo_bay_door" }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aKJ" = ( /turf/unsimulated/mask, -/area/quartermaster/storage) +/area/crux/supply/storage) "aKK" = ( /obj/machinery/power/apc{ dir = 1; @@ -16924,7 +16910,7 @@ icon_state = "0-4" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aKL" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16939,7 +16925,7 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aKM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -16951,16 +16937,16 @@ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aKN" = ( /obj/machinery/portable_atmospherics/hydroponics, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aKO" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aKP" = ( /obj/structure/cable{ icon_state = "0-2" @@ -16972,15 +16958,15 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aKQ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKR" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKS" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -16989,7 +16975,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKT" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -16998,13 +16984,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKU" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aKV" = ( /obj/structure/cable{ icon_state = "0-2" @@ -17016,7 +17002,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aKW" = ( /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, @@ -17027,15 +17013,15 @@ /obj/random/maintenance/clean, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aKY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monofloor, -/area/hangar/two) +/area/crux/hangar/two) "aKZ" = ( /obj/structure/bed/chair/shuttle, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aLa" = ( /obj/structure/bed/chair/shuttle, /obj/item/radio/intercom{ @@ -17044,24 +17030,24 @@ pixel_y = 21 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aLc" = ( /obj/machinery/sleeper{ dir = 4 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aLe" = ( /obj/machinery/light/small{ dir = 8 }, /obj/structure/ore_box, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aLf" = ( /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aLg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17074,7 +17060,7 @@ pixel_x = 22 }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aLh" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 25 @@ -17087,43 +17073,43 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aLi" = ( /obj/machinery/door/airlock{ name = "Emergency Storage" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aLj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aLk" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aLl" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aLm" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aLn" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /obj/structure/flora/pottedplant/tropical, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLo" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -17147,7 +17133,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLp" = ( /obj/effect/floor_decal/borderfloor/corner2{ dir = 9 @@ -17164,7 +17150,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLq" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -17188,14 +17174,14 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLr" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLs" = ( /obj/machinery/alarm{ dir = 4; @@ -17203,31 +17189,31 @@ }, /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aLt" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aLu" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aLv" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aLw" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aLx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aLy" = ( /obj/machinery/light{ dir = 8 @@ -17236,7 +17222,7 @@ pixel_x = -32 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aLz" = ( /obj/machinery/light{ dir = 4 @@ -17245,7 +17231,7 @@ pixel_x = 32 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aLA" = ( /obj/machinery/ai_status_display{ pixel_x = -32 @@ -17257,7 +17243,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aLB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17265,10 +17251,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aLC" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/quartermaster/storage) +/area/crux/supply/storage) "aLD" = ( /obj/machinery/firealarm{ dir = 1; @@ -17282,13 +17268,13 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aLE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aLF" = ( /obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{ dir = 1 @@ -17301,13 +17287,13 @@ icon_state = "16-0" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aLG" = ( /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/maintenance/cargo, /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aLH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17315,30 +17301,30 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aLI" = ( /obj/machinery/light/small{ dir = 8 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aLJ" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aLK" = ( /turf/simulated/wall/r_wall, -/area/giftshop/storage) +/area/crux/giftshop/storage) "aLL" = ( /turf/simulated/wall, -/area/giftshop/storage) +/area/crux/giftshop/storage) "aLM" = ( /turf/simulated/floor/tiled, -/area/giftshop/storage) +/area/crux/giftshop/storage) "aLO" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLP" = ( /obj/machinery/ai_status_display{ pixel_x = -32 @@ -17348,19 +17334,19 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLQ" = ( /obj/machinery/door/airlock/glass{ name = "Central Access" }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aLT" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aLU" = ( /obj/machinery/space_heater, /obj/machinery/light/small{ @@ -17368,7 +17354,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aLV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light/spot{ @@ -17379,13 +17365,13 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aLX" = ( /obj/structure/bed/chair/shuttle{ dir = 1 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aLY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light/spot{ @@ -17396,37 +17382,37 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aLZ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aMb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ name = "Cargo Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck/cargo) +/area/crux/maintenance/substation/firstdeck/cargo) "aMc" = ( /obj/structure/closet/crate/hydroponics, /obj/item/hatchet, /obj/item/minihoe, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aMd" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aMe" = ( /obj/structure/table/steel, /obj/item/chems/glass/bucket, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aMf" = ( /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aMg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17436,16 +17422,16 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aMh" = ( /obj/machinery/floodlight, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aMi" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aMn" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -17464,13 +17450,13 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aMo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aMp" = ( /obj/structure/table/marble, /obj/structure/window/reinforced{ @@ -17478,7 +17464,7 @@ health = 1e+006 }, /turf/simulated/floor/tiled/monotile, -/area/giftshop) +/area/crux/giftshop) "aMq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17498,19 +17484,19 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aMr" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/giftshop) +/area/crux/giftshop) "aMs" = ( /obj/machinery/status_display{ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "aMt" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -17520,7 +17506,7 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aMu" = ( /obj/machinery/door/airlock/double/glass{ dir = 8 @@ -17532,7 +17518,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/giftshop) +/area/crux/giftshop) "aMv" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/atmospherics/portables_connector, @@ -17540,7 +17526,7 @@ name = "blobstart" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "aMw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17553,7 +17539,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aMx" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -17565,7 +17551,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aMy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -17579,7 +17565,7 @@ }, /obj/structure/cable, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aMz" = ( /obj/machinery/door/airlock/double{ id_tag = "expshuttle2_door_cargo"; @@ -17589,15 +17575,15 @@ dir = 4 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aMA" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aMB" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aMC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17607,7 +17593,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aMD" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -17622,23 +17608,23 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aME" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aMG" = ( /obj/machinery/door/airlock/external/glass, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aMH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aMI" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -17653,7 +17639,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aMJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -17662,7 +17648,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aMK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17676,7 +17662,7 @@ /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/brown/bordercorner2, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aML" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17687,7 +17673,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aMM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -17698,18 +17684,18 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aMN" = ( /obj/abstract/turbolift_spawner/crux/cargo, /turf/unsimulated/mask, -/area/quartermaster/storage) +/area/crux/supply/storage) "aMO" = ( /obj/effect/decal/cleanable/generic, /obj/item/shard{ icon_state = "medium" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aMP" = ( /obj/structure/cable{ icon_state = "1-2" @@ -17717,7 +17703,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/ap_emergency) +/area/crux/storage/emergency/aport) "aMW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -17726,13 +17712,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aMX" = ( /turf/simulated/wall, -/area/storage/primary) +/area/crux/storage) "aMY" = ( /turf/simulated/wall/r_wall, -/area/storage/primary) +/area/crux/storage) "aNd" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17744,10 +17730,10 @@ name = "Auxiliary Engineering Station" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aNe" = ( /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aNf" = ( /obj/machinery/power/apc{ dir = 1; @@ -17761,7 +17747,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aNg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -17772,7 +17758,7 @@ dir = 1 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aNh" = ( /obj/structure/cable{ icon_state = "1-2" @@ -17780,7 +17766,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/as_emergency) +/area/crux/storage/emergency/astar) "aNi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17789,7 +17775,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aNj" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -17798,10 +17784,10 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aNk" = ( /turf/simulated/floor/tiled/monotile, -/area/hangar/two) +/area/crux/hangar/two) "aNl" = ( /obj/structure/table/reinforced, /obj/machinery/light, @@ -17811,11 +17797,11 @@ pixel_y = 3 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aNm" = ( /obj/structure/bed/chair/comfy/blue, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aNn" = ( /obj/structure/table/reinforced, /obj/machinery/light, @@ -17828,7 +17814,7 @@ pixel_y = -32 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aNp" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -17837,7 +17823,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -17849,7 +17835,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17861,7 +17847,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17876,7 +17862,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17891,7 +17877,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNu" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -17906,7 +17892,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17921,7 +17907,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -17930,23 +17916,23 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aNx" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNy" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNz" = ( /obj/random/obstruction, /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNA" = ( /obj/structure/rack, /obj/item/clothing/mask/gas, @@ -17954,7 +17940,7 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNB" = ( /obj/effect/decal/cleanable/generic, /obj/structure/rack, @@ -17963,7 +17949,7 @@ /obj/random/maintenance/cargo, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -17975,7 +17961,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aND" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17990,7 +17976,7 @@ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18002,7 +17988,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18017,49 +18003,49 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aNG" = ( /obj/random/obstruction, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aNH" = ( /obj/machinery/atmospherics/binary/passive_gate{ regulate_mode = 0; unlocked = 1 }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aNR" = ( /obj/machinery/computer/modular/preset/engineering, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aNS" = ( /obj/machinery/computer/modular/preset/engineering/atmospherics, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aNV" = ( /obj/structure/table/woodentable_reinforced, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "aNW" = ( /obj/machinery/atmospherics/valve/shutoff{ name = "Ground Floor Central automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aNY" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOa" = ( /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOb" = ( /turf/simulated/wall/r_wall, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOc" = ( /obj/machinery/firealarm{ dir = 8; @@ -18068,18 +18054,18 @@ /obj/structure/table/steel, /obj/machinery/cell_charger, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aOe" = ( /obj/machinery/computer/teleporter, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/tcomm/entrance) +/area/crux/network/comms/entrance) "aOf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18094,7 +18080,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aOg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -18106,7 +18092,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aOh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18121,7 +18107,7 @@ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aOi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -18136,15 +18122,15 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aOj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/hangar/two) +/area/crux/hangar/two) "aOk" = ( /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aOl" = ( /obj/machinery/button/alternate/door{ dir = 4; @@ -18154,21 +18140,21 @@ state = 1 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aOn" = ( /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aOo" = ( /obj/machinery/light/spot, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aOq" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aOr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -18179,7 +18165,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aOs" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -18187,7 +18173,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aOt" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, @@ -18198,33 +18184,33 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aOu" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/storage) +/area/crux/supply/storage) "aOw" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aOx" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aOy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aOz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/substation/firstdeck) +/area/crux/maintenance/substation/firstdeck) "aOJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -18232,7 +18218,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aOK" = ( /obj/structure/cable{ icon_state = "2-4" @@ -18244,7 +18230,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOL" = ( /obj/structure/cable{ icon_state = "1-8" @@ -18256,7 +18242,7 @@ dir = 8 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOM" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 6 @@ -18265,21 +18251,21 @@ dir = 8 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aON" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 4 }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOO" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "aOP" = ( /obj/machinery/atmospherics/binary/pump/high_power/on{ dir = 4; @@ -18288,14 +18274,14 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOQ" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 1 }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOR" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 28 @@ -18304,7 +18290,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "aOS" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 8; @@ -18312,15 +18298,15 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOT" = ( /obj/machinery/door/airlock, /turf/simulated/floor/tiled/steel_grid, -/area/storage/primary) +/area/crux/storage) "aOU" = ( /obj/machinery/space_heater, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aOV" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -18328,46 +18314,46 @@ /obj/machinery/portable_atmospherics/powered/scrubber, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aOW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/wall, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "aOX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/wall, -/area/medical/first_aid_station/firstdeck) +/area/crux/medical/first_aid_station/firstdeck) "aOY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aOZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aPa" = ( /obj/machinery/camera/network/research{ c_tag = "SCI - Xenoflora Isolation North" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "aPb" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aPc" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -18376,7 +18362,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aPd" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -18388,7 +18374,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aPe" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -18397,7 +18383,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aPf" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -18410,11 +18396,11 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aPg" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aPh" = ( /obj/structure/closet, /obj/effect/decal/cleanable/dirt, @@ -18423,7 +18409,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aPi" = ( /obj/structure/closet/crate/large, /obj/random/tank, @@ -18433,7 +18419,7 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aPq" = ( /obj/machinery/firealarm{ dir = 8; @@ -18452,7 +18438,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aPr" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -18464,7 +18450,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aPs" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -18485,7 +18471,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aPt" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -18499,7 +18485,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "aPu" = ( /obj/effect/floor_decal/rust, /obj/structure/cable{ @@ -18509,7 +18495,7 @@ dir = 1 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPv" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -18517,7 +18503,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPw" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -18525,20 +18511,20 @@ /obj/machinery/atmospherics/pipe/simple/visible/cyan, /turf/space, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPx" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPy" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 10 }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPz" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 8 @@ -18546,7 +18532,7 @@ /obj/machinery/meter, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPA" = ( /obj/machinery/door/airlock, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -18559,7 +18545,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/giftshop/storage) +/area/crux/giftshop/storage) "aPB" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -18571,7 +18557,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPC" = ( /obj/effect/floor_decal/rust, /obj/structure/cable{ @@ -18581,7 +18567,7 @@ dir = 9 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -18589,7 +18575,7 @@ dir = 6 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aPE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -18606,7 +18592,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aPF" = ( /obj/structure/cable{ icon_state = "2-4" @@ -18616,7 +18602,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aPG" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -18625,7 +18611,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aPH" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -18633,10 +18619,10 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aPI" = ( /turf/simulated/wall/r_wall, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aPJ" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 4 @@ -18645,7 +18631,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aPK" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 1 @@ -18654,7 +18640,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aPL" = ( /obj/effect/floor_decal/borderfloorblack/corner{ dir = 1 @@ -18663,20 +18649,20 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aPM" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hangar/two) +/area/crux/hangar/two) "aPW" = ( /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aPX" = ( /obj/machinery/newscaster, /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aPY" = ( /obj/machinery/light{ dir = 8 @@ -18688,7 +18674,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aPZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -18696,7 +18682,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQa" = ( /obj/structure/rack, /obj/machinery/alarm{ @@ -18704,33 +18690,33 @@ pixel_y = -22 }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "aQf" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aQg" = ( /obj/machinery/atmospherics/binary/passive_gate{ dir = 8; target_pressure = 4500 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aQh" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aQi" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aQj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -18742,12 +18728,12 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aQk" = ( /obj/structure/mopbucket, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aQl" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -18755,18 +18741,18 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aQm" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aQn" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQo" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -18778,11 +18764,11 @@ icon_state = "1-2" }, /turf/simulated/floor, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQp" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQq" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -18797,7 +18783,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQr" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -18806,7 +18792,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQs" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -18815,7 +18801,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQt" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -18835,16 +18821,16 @@ pixel_x = 21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQv" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/giftshop) +/area/crux/giftshop) "aQw" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/giftshop/storage) +/area/crux/giftshop/storage) "aQx" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -18855,7 +18841,7 @@ /obj/random/obstruction, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aQy" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -18863,12 +18849,12 @@ /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aQz" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aQA" = ( /obj/structure/cable{ icon_state = "1-2" @@ -18877,7 +18863,7 @@ name = "Ground Floor Southwest automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aQB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18891,7 +18877,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aQC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -18909,7 +18895,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18919,7 +18905,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQE" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -18932,7 +18918,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQF" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -18948,7 +18934,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQG" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -18963,7 +18949,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQH" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -18980,7 +18966,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18993,7 +18979,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQJ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -19004,7 +18990,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals5, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19013,7 +18999,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQL" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -19022,7 +19008,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQM" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -19036,7 +19022,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19046,7 +19032,7 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQO" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -19056,11 +19042,11 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQP" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aQQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -19069,7 +19055,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQR" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -19081,7 +19067,7 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aQS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -19091,7 +19077,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQT" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -19103,7 +19089,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQU" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -19121,7 +19107,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQV" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -19133,7 +19119,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19152,7 +19138,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aQX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19169,7 +19155,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aQY" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -19180,7 +19166,7 @@ /obj/machinery/portable_atmospherics/powered/scrubber, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "aQZ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -19188,14 +19174,14 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aRa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19204,7 +19190,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRc" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -19220,7 +19206,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -19239,7 +19225,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRe" = ( /obj/effect/floor_decal/steeldecal/steel_decals5{ dir = 1 @@ -19252,7 +19238,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/firealarm{ @@ -19263,7 +19249,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19276,7 +19262,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19294,7 +19280,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRi" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -19304,13 +19290,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19319,7 +19305,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRl" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -19331,18 +19317,18 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRm" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRo" = ( /obj/machinery/status_display{ pixel_y = -32 @@ -19351,7 +19337,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19361,7 +19347,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRq" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/firealarm{ @@ -19369,7 +19355,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19379,7 +19365,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19389,7 +19375,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRt" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -19403,18 +19389,18 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRv" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/wall, -/area/storage/primary) +/area/crux/storage) "aRw" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -19424,14 +19410,14 @@ /obj/machinery/door/airlock/double/glass, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/storage/primary) +/area/crux/storage) "aRx" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/storage/primary) +/area/crux/storage) "aRz" = ( /turf/simulated/wall, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aRA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -19441,7 +19427,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aRB" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -19459,25 +19445,25 @@ pixel_x = -27 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRD" = ( /turf/simulated/wall, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aRG" = ( /turf/simulated/wall, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aRH" = ( /obj/random/junk, /turf/simulated/floor/plating, -/area/storage/primary) +/area/crux/storage) "aRI" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/storage/primary) +/area/crux/storage) "aRJ" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/storage/primary) +/area/crux/storage) "aRL" = ( /obj/item/storage/box/lights/mixed, /obj/item/stack/cable_coil/random, @@ -19485,21 +19471,21 @@ /obj/item/frame/light, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "aRM" = ( /obj/item/stool, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aRN" = ( /obj/structure/table, /obj/item/paicard, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aRO" = ( /obj/item/stool, /turf/space, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aRP" = ( /obj/structure/closet/hydrant{ pixel_x = -32 @@ -19509,23 +19495,23 @@ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aRQ" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aRR" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aRS" = ( /turf/simulated/wall, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRT" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -19539,7 +19525,7 @@ }, /obj/item/defibrillator/loaded, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRU" = ( /obj/machinery/camera/network/first_deck{ c_tag = "Ground Floor - South Hallway Four"; @@ -19559,19 +19545,19 @@ /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/antibiotics, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aRV" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/monotile, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aRW" = ( /obj/machinery/deployable/barrier, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/monotile, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aRX" = ( /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "aSb" = ( /obj/machinery/light{ dir = 1 @@ -19580,15 +19566,15 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "aSe" = ( /obj/structure/table, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aSg" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/storage/primary) +/area/crux/storage) "aSh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -19598,45 +19584,45 @@ name = "Containment Pen" }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "aSi" = ( /obj/structure/hand_cart{ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aSj" = ( /turf/simulated/floor/shuttle, -/area/shuttle/large_escape_pod2/station) +/area/crux/shuttle/large_escape_pod2/station) "aSk" = ( /obj/structure/table, /obj/machinery/cell_charger, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aSl" = ( /obj/machinery/vending/tool{ dir = 1 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aSm" = ( /obj/machinery/vending/assist{ dir = 1 }, /turf/simulated/floor/tiled, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aSn" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aSo" = ( /obj/structure/table, /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aSp" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -19644,15 +19630,15 @@ }, /obj/structure/cable, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aSq" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aSr" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/storage/emergency_storage/firstdeck/aft_emergency) +/area/crux/storage/emergency) "aSs" = ( /obj/machinery/alarm{ dir = 4; @@ -19668,7 +19654,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -19678,7 +19664,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSu" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable{ @@ -19693,7 +19679,7 @@ pixel_x = -36 }, /turf/simulated/floor/tiled/monotile, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aSv" = ( /obj/machinery/deployable/barrier, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -19701,11 +19687,11 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aSw" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aSz" = ( /obj/structure/sign/directions/bridge{ dir = 4; @@ -19715,7 +19701,7 @@ dir = 1 }, /turf/simulated/wall, -/area/construction/firstdeck/construction4) +/area/crux/engineering/construction4) "aSH" = ( /obj/machinery/light{ dir = 8 @@ -19727,7 +19713,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -19742,7 +19728,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19760,7 +19746,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19772,7 +19758,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -19788,7 +19774,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aSM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19800,10 +19786,10 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aSN" = ( /turf/simulated/wall, -/area/research/hallway) +/area/crux/science/hallway) "aSO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -19825,14 +19811,14 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aSU" = ( /obj/structure/flora/pottedplant/stoutbush, /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSV" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -19842,7 +19828,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19853,7 +19839,7 @@ }, /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -19865,7 +19851,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSY" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -19873,13 +19859,13 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aSZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTa" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -19889,19 +19875,19 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTb" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTc" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTd" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aTe" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -19927,13 +19913,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aTf" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aTg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 1 @@ -19943,7 +19929,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aTm" = ( /obj/structure/closet/crate{ dir = 4 @@ -19952,7 +19938,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aTn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -19964,24 +19950,24 @@ dir = 9 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "aTp" = ( /obj/machinery/lapvend{ dir = 8 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aTr" = ( /obj/machinery/camera/network/first_deck{ c_tag = "Ground Floor - South Hallway Stairs"; dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTs" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTt" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -19991,17 +19977,17 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTv" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTw" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -20009,7 +19995,7 @@ name = "Security Checkpoint" }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aTx" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -20021,20 +20007,20 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aTy" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aTA" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/storage/primary) +/area/crux/storage) "aTG" = ( /obj/structure/closet/crate, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aTJ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -20043,14 +20029,14 @@ dir = 8 }, /obj/effect/shuttle_landmark{ - base_area = /area/hangar/two; + base_area = /area/crux/hangar/two; base_turf = /turf/simulated/floor/reinforced; docking_controller = "hangar_2"; landmark_tag = "hangar_2"; name = "Hangar Two" }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "aTO" = ( /obj/machinery/firealarm{ dir = 8; @@ -20058,21 +20044,21 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTP" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20084,7 +20070,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20096,7 +20082,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -20117,7 +20103,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTU" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -20126,7 +20112,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aTV" = ( /obj/machinery/alarm{ dir = 8; @@ -20139,13 +20125,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aTW" = ( /turf/simulated/floor/tiled/monotile, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aUc" = ( /turf/simulated/floor/reinforced, -/area/quartermaster/storage) +/area/crux/supply/storage) "aUh" = ( /obj/structure/table, /obj/random/tech_supply, @@ -20153,7 +20139,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "aUi" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -20165,14 +20151,14 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/east) +/area/crux/hallway/primary/firstdeck/east) "aUj" = ( /obj/structure/stairs/long/east, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "aUk" = ( /turf/simulated/wall, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUl" = ( /obj/structure/sign/directions/bridge{ dir = 1; @@ -20186,12 +20172,12 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUn" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -20201,7 +20187,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUo" = ( /obj/structure/sign/directions/engineering{ dir = 1; @@ -20215,7 +20201,7 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUp" = ( /obj/structure/filing_cabinet/chestdrawer, /obj/effect/floor_decal/borderfloor{ @@ -20225,12 +20211,12 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aUq" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aUr" = ( /obj/structure/closet/wardrobe/red, /obj/effect/floor_decal/borderfloor{ @@ -20240,18 +20226,18 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aUu" = ( /obj/structure/sign/warning/docking_area, /turf/simulated/wall/r_wall, -/area/storage/primary) +/area/crux/storage) "aUv" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUx" = ( /obj/structure/sign/deck/first, /turf/simulated/wall, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUy" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -20260,7 +20246,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUz" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -20269,7 +20255,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20289,7 +20275,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUB" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -20298,21 +20284,21 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUC" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUE" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/storage/primary) +/area/crux/storage) "aUF" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUJ" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -20327,7 +20313,7 @@ c_tag = "Ground Floor - Auxiliary Docking 1" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -20339,7 +20325,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20351,7 +20337,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUM" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -20364,7 +20350,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20379,7 +20365,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20394,7 +20380,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20409,7 +20395,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20426,7 +20412,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20446,7 +20432,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20461,7 +20447,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20471,7 +20457,7 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -20479,13 +20465,13 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUV" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20497,7 +20483,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20512,7 +20498,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20524,7 +20510,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aUZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20542,7 +20528,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -20560,7 +20546,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVc" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -20572,7 +20558,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVd" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -20581,24 +20567,24 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVm" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVn" = ( /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -20607,23 +20593,23 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVs" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVt" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -20632,41 +20618,41 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVy" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVB" = ( /obj/machinery/light/small, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVC" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVH" = ( /obj/structure/closet/emcloset, /obj/machinery/light{ @@ -20675,7 +20661,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVI" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -20684,15 +20670,15 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVJ" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVK" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVL" = ( /obj/structure/closet/emcloset, /obj/machinery/light{ @@ -20701,12 +20687,12 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVM" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/airlock/double/glass, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVR" = ( /obj/structure/table/bench, /obj/effect/floor_decal/borderfloor{ @@ -20716,7 +20702,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVS" = ( /obj/structure/table/bench, /obj/machinery/camera/network/first_deck{ @@ -20726,7 +20712,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVT" = ( /obj/structure/table/bench, /obj/effect/floor_decal/borderfloor{ @@ -20736,7 +20722,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "aVY" = ( /obj/machinery/computer/modular/preset/cardslot/command{ dir = 8 @@ -20748,31 +20734,31 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "aZY" = ( /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "baX" = ( /obj/structure/stairs/long/west, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "bhg" = ( /turf/simulated/floor, -/area/surface) +/area/crux/outside) "bmq" = ( /turf/simulated/wall, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bnt" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 }, /turf/simulated/floor/tiled/steel_grid, -/area/research/hallway) +/area/crux/science/hallway) "bnV" = ( /obj/machinery/smartfridge/drying_rack, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "boC" = ( /obj/structure/closet/crate/hydroponics{ desc = "All you need to start your own honey farm."; @@ -20788,18 +20774,18 @@ /obj/item/bee_pack, /obj/item/crowbar, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bpy" = ( /obj/random/obstruction, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "bqB" = ( /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 1 }, /turf/simulated/shuttle/wall, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "brr" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ @@ -20808,11 +20794,11 @@ /obj/machinery/space_heater, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "brQ" = ( /obj/machinery/portable_atmospherics/hydroponics, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bsk" = ( /obj/machinery/button/alternate/door{ dir = 8; @@ -20825,14 +20811,14 @@ dir = 4 }, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "bsm" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 }, /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/shuttle/plating, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "btc" = ( /obj/structure/table/reinforced, /obj/machinery/computer/modular/preset/cardslot/command{ @@ -20845,14 +20831,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "bws" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /obj/machinery/space_heater, /turf/simulated/floor/shuttle/black, -/area/shuttle/shuttle_start_2) +/area/crux/shuttle/shuttle_start_2) "bwD" = ( /obj/machinery/computer/modular/preset/security{ dir = 8 @@ -20868,7 +20854,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "bwS" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -20877,7 +20863,7 @@ name = "Ground Floor Southeast automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "bwT" = ( /obj/machinery/light/small{ dir = 4 @@ -20885,7 +20871,7 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "byk" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ @@ -20897,14 +20883,14 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "byl" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "byQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -20917,14 +20903,14 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "byR" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "byS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -20934,7 +20920,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "bzn" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -20950,14 +20936,14 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "bzX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "bCF" = ( /obj/machinery/atmospherics/pipe/simple/visible/supply{ dir = 9 @@ -20968,14 +20954,14 @@ /obj/effect/floor_decal/industrial/warning/full, /turf/space, /turf/simulated/floor/plating, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "bCN" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bDE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor, @@ -20987,14 +20973,14 @@ name = "Research Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "bEi" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bEm" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -21004,10 +20990,10 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bEo" = ( /turf/simulated/floor/plating, -/area/storage/primary) +/area/crux/storage) "bFF" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/structure/disposalpipe/segment{ @@ -21018,21 +21004,21 @@ pixel_y = 30 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bFR" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bFS" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bHu" = ( /obj/structure/table/glass, /obj/item/minihoe, @@ -21040,7 +21026,7 @@ /obj/item/hatchet, /obj/item/hatchet, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bHv" = ( /obj/structure/hygiene/sink/kitchen{ pixel_y = 28 @@ -21049,14 +21035,14 @@ /obj/item/chems/glass/bucket, /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bHw" = ( /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 }, /obj/machinery/meter, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "bHz" = ( /obj/structure/closet/crate/hydroponics/exotic, /obj/item/radio/intercom{ @@ -21068,13 +21054,13 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "bHA" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "bHB" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 10 @@ -21087,7 +21073,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "bIY" = ( /obj/structure/table/glass, /obj/item/radio/intercom{ @@ -21102,7 +21088,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "bJa" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -21114,7 +21100,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "bJb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -21126,7 +21112,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "bJc" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -21139,18 +21125,18 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "bJH" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bMc" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bMN" = ( /obj/machinery/network/requests_console{ department = "Science"; @@ -21161,32 +21147,32 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "bSU" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "cbv" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cce" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/closet/crate/hydroponics/prespawned, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "ccf" = ( /obj/machinery/atmospherics/binary/pump{ name = "Isolation to Waste" }, /obj/effect/floor_decal/industrial/warning/full, /turf/simulated/floor/plating, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cdz" = ( /obj/structure/table/glass, /obj/machinery/alarm{ @@ -21200,40 +21186,40 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "cdB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "cdC" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "cfn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Xenoflora Research" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cfo" = ( /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "cfp" = ( /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cjE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "ckb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 6 @@ -21243,13 +21229,13 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "clT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cnN" = ( /obj/machinery/seed_extractor, /obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ @@ -21259,7 +21245,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cpD" = ( /obj/structure/reagent_dispensers/watertank/firefighter, /obj/item/chems/glass/bucket, @@ -21270,7 +21256,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cpE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -21280,7 +21266,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cpF" = ( /obj/machinery/biogenerator, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ @@ -21290,7 +21276,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cpG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -21300,7 +21286,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cpH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -21309,7 +21295,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cvH" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ dir = 1 @@ -21322,7 +21308,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cCg" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ @@ -21335,7 +21321,7 @@ name = "Xenoflora Isolation" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cIt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -21345,14 +21331,14 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "cJx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cLT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -21361,7 +21347,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cLU" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ dir = 1 @@ -21369,11 +21355,11 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cOQ" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/yellow, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cPZ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -21382,11 +21368,11 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cSc" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/yellow, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cTF" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ @@ -21397,11 +21383,11 @@ pixel_x = 22 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "cXe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "cXD" = ( /obj/structure/closet/emcloset, /obj/structure/extinguisher_cabinet{ @@ -21414,27 +21400,27 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "cYa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dfZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "djy" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/machinery/light, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dko" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dnC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -21444,26 +21430,26 @@ pixel_x = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "dyf" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "dGc" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dGy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dOZ" = ( /obj/machinery/botany/extractor, /obj/machinery/atmospherics/pipe/simple/hidden/yellow, @@ -21471,13 +21457,13 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dTx" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "dVs" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -21495,7 +21481,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/tcomm/tcomfoyer) +/area/crux/network/comms/tcomfoyer) "dVC" = ( /obj/machinery/botany/editor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -21505,14 +21491,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVE" = ( /obj/structure/reagent_dispensers/watertank/firefighter, /obj/item/chems/glass/bucket, @@ -21520,11 +21506,11 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVF" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -21533,7 +21519,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVH" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -21541,20 +21527,20 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dVK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -21563,45 +21549,45 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dVL" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dVM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dVN" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dVO" = ( /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dVP" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dVQ" = ( /obj/structure/sign/deck/first, /turf/simulated/wall/r_wall, -/area/research/hallway) +/area/crux/science/hallway) "dVR" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dVS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/double/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dVT" = ( /obj/structure/bed/chair/office/dark, /obj/effect/floor_decal/borderfloorwhite{ @@ -21611,7 +21597,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVU" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -21631,7 +21617,7 @@ pixel_x = -21 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVV" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -21640,7 +21626,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVW" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -21649,17 +21635,17 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVY" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dVZ" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloorwhite{ @@ -21669,11 +21655,11 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/effect/floor_decal/borderfloorwhite{ @@ -21683,13 +21669,13 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWc" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWd" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -21704,7 +21690,7 @@ pixel_x = -36 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWe" = ( /obj/machinery/atmospherics/binary/pump{ dir = 1; @@ -21712,7 +21698,7 @@ }, /obj/effect/floor_decal/industrial/warning/full, /turf/simulated/floor/plating, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWf" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 6 @@ -21721,7 +21707,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWg" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -21731,11 +21717,11 @@ }, /obj/machinery/portable_atmospherics/canister, /turf/simulated/floor/tiled, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWi" = ( /obj/structure/closet/firecloset, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dWj" = ( /obj/structure/table/glass, /obj/item/storage/box/gloves{ @@ -21744,12 +21730,12 @@ }, /obj/item/storage/box/syringes, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWk" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWl" = ( /obj/structure/table/glass, /obj/item/clipboard, @@ -21760,7 +21746,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWm" = ( /obj/structure/table/glass, /obj/item/paper_bin{ @@ -21770,7 +21756,7 @@ /obj/item/hand_labeler, /obj/machinery/light, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWn" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -21790,20 +21776,20 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWo" = ( /obj/structure/table/glass, /obj/item/scanner/plant, /obj/item/stack/tape_roll/duct_tape, /obj/item/scanner/plant, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWp" = ( /obj/effect/floor_decal/industrial/warning/full, /obj/machinery/atmospherics/tvalve/mirrored, /obj/machinery/light, /turf/simulated/floor/plating, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWq" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -21812,7 +21798,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWr" = ( /obj/structure/closet/crate/hydroponics/prespawned, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ @@ -21826,14 +21812,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/freezer, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWt" = ( /obj/machinery/seed_storage/xenobotany, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ @@ -21844,7 +21830,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWu" = ( /obj/machinery/vending/hydronutrients{ categories = 3 @@ -21853,14 +21839,14 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 }, /obj/structure/closet/secure_closet/hydroponics/sci, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 4 @@ -21868,21 +21854,21 @@ /obj/machinery/light, /obj/structure/closet/secure_closet/hydroponics/sci, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWx" = ( /obj/structure/closet/emcloset, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWy" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4; name = "Port to Isolation" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWz" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 6 @@ -21892,18 +21878,18 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWA" = ( /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 1 }, /obj/machinery/meter, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWB" = ( /obj/machinery/atmospherics/pipe/manifold4w/visible, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWC" = ( /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 @@ -21913,7 +21899,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWD" = ( /obj/machinery/atmospherics/unary/heater{ dir = 8; @@ -21923,13 +21909,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dWG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloorwhite/corner{ @@ -21939,21 +21925,21 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dWH" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dWI" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWK" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWL" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -21963,12 +21949,12 @@ name = "Xenoflora Research" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWM" = ( /obj/machinery/smartfridge, /obj/structure/disposalpipe/segment, /turf/simulated/wall, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWN" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -21976,22 +21962,22 @@ name = "Xenoflora Research" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWO" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/rnd/xenobiology/xenoflora) +/area/crux/science/xenobiology/xenoflora) "dWP" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWQ" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 }, /obj/item/wrench, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWR" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -22001,13 +21987,13 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWS" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWT" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 5 @@ -22016,7 +22002,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWU" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -22026,14 +22012,14 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWV" = ( /obj/machinery/atmospherics/unary/freezer{ dir = 8; icon_state = "freezer" }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology/xenoflora_isolation) +/area/crux/science/xenobiology/xenoflora_isolation) "dWW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -22042,7 +22028,7 @@ }, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "dWY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -22054,7 +22040,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dWZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloorwhite{ @@ -22064,7 +22050,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -22079,7 +22065,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -22091,7 +22077,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -22106,7 +22092,7 @@ c_tag = "SCI - Ground Floor Research Hallway West" }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXd" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -22121,7 +22107,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -22133,7 +22119,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXf" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -22146,7 +22132,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/door/firedoor, @@ -22163,7 +22149,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22172,21 +22158,21 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXi" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXk" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -22199,7 +22185,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXl" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -22208,7 +22194,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -22223,7 +22209,7 @@ c_tag = "SCI - Ground Floor Research Hallway East" }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXn" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -22235,17 +22221,17 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXo" = ( /turf/simulated/wall/r_wall, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dXp" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22256,7 +22242,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -22271,7 +22257,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22286,7 +22272,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22295,7 +22281,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXu" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -22307,7 +22293,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22321,7 +22307,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -22343,7 +22329,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXx" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/disposalpipe/segment{ @@ -22355,7 +22341,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXy" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -22370,7 +22356,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXz" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -22387,7 +22373,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXA" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -22403,7 +22389,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/cable/green{ @@ -22415,7 +22401,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -22426,7 +22412,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXD" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -22435,13 +22421,13 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXE" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXF" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -22459,12 +22445,12 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXG" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/chems/spray/extinguisher, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXH" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -22473,29 +22459,29 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dXI" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ dir = 4 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dXJ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dXK" = ( /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dXL" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dXM" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -22504,21 +22490,21 @@ name = "Containment Divider" }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dXN" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ dir = 8 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dXO" = ( /obj/structure/flora/pottedplant/crystal, /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXP" = ( /obj/structure/table/glass, /obj/item/radio/intercom{ @@ -22526,13 +22512,13 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXQ" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXR" = ( /obj/structure/bed/chair{ dir = 8 @@ -22541,19 +22527,19 @@ pixel_x = 30 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXS" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/research/hallway) +/area/crux/science/hallway) "dXU" = ( /obj/machinery/recharge_station, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXV" = ( /obj/structure/closet/wardrobe/science_white, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXW" = ( /obj/structure/table/glass, /obj/machinery/firealarm{ @@ -22561,12 +22547,12 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXX" = ( /obj/machinery/washing_machine, /obj/machinery/light, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dXY" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22579,7 +22565,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/research/hallway) +/area/crux/science/hallway) "dXZ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22593,7 +22579,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYa" = ( /obj/machinery/floodlight, /obj/machinery/alarm{ @@ -22601,32 +22587,32 @@ pixel_x = 22 }, /turf/simulated/floor/tiled/dark, -/area/research/hallway) +/area/crux/science/hallway) "dYb" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYc" = ( /obj/abstract/landmark{ name = "blobstart" }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYd" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYe" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYg" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -22635,7 +22621,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "dYh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22650,7 +22636,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "dYi" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -22659,12 +22645,12 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "dYj" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYk" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 6 @@ -22673,11 +22659,11 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYl" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYm" = ( /obj/structure/table/glass, /obj/item/clothing/glasses/science, @@ -22690,7 +22676,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYn" = ( /obj/machinery/computer/operating{ name = "Xenobiology Operating Computer" @@ -22699,7 +22685,7 @@ pixel_x = 28 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYo" = ( /obj/machinery/optable{ name = "Xenobiology Operating Table" @@ -22708,13 +22694,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYp" = ( /obj/item/chems/spray/extinguisher, /obj/structure/catwalk, /obj/structure/door_assembly/door_assembly_ext, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "dYq" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -22730,11 +22716,11 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "dYr" = ( /obj/effect/overmap/visitable/sector/crux, /turf/exterior/water, -/area/surface) +/area/crux/outside) "dYs" = ( /obj/item/radio/intercom{ dir = 4; @@ -22748,7 +22734,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYt" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22766,7 +22752,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYu" = ( /obj/structure/disposalpipe/segment, /obj/effect/wingrille_spawn/reinforced, @@ -22781,7 +22767,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYv" = ( /obj/effect/wingrille_spawn/reinforced, /obj/structure/cable/green{ @@ -22795,7 +22781,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYw" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable/green{ @@ -22815,7 +22801,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYx" = ( /obj/effect/wingrille_spawn/reinforced, /obj/structure/cable/green{ @@ -22829,10 +22815,10 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYy" = ( /turf/simulated/wall, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYz" = ( /obj/structure/disposalpipe/segment, /obj/effect/wingrille_spawn/reinforced, @@ -22847,7 +22833,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYA" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable/green{ @@ -22867,7 +22853,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYB" = ( /obj/structure/table/glass, /obj/item/scalpel{ @@ -22875,26 +22861,26 @@ }, /obj/item/circular_saw, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYC" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYD" = ( /obj/structure/disposalpipe/segment{ dir = 4; icon_state = "pipe-c" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYE" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYF" = ( /obj/structure/closet, /obj/item/toy/figure/scientist, @@ -22905,7 +22891,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYG" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -22915,7 +22901,7 @@ }, /obj/machinery/shield_diffuser, /turf/simulated/floor, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYH" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -22926,12 +22912,12 @@ pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/escape/firstdeck/ep_starboard1) +/area/crux/hallway/secondary/escape/firstdeck/ep_starboard1) "dYI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "dYJ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -22946,7 +22932,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYK" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -22965,7 +22951,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYL" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -22977,7 +22963,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYM" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -22990,14 +22976,14 @@ dir = 10 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYN" = ( /obj/structure/table, /obj/machinery/chemical_dispenser/full{ density = 1 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYO" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -23010,7 +22996,7 @@ pixel_y = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYP" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -23025,7 +23011,7 @@ pixel_y = 6 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "dYQ" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -23038,7 +23024,7 @@ pixel_y = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYR" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/chems/spray/extinguisher, @@ -23056,7 +23042,7 @@ c_tag = "SCI - Xenobiology North" }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYS" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -23069,27 +23055,27 @@ dir = 6 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYT" = ( /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYU" = ( /obj/structure/hygiene/sink{ pixel_y = 28 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYV" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYW" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dYX" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 9 @@ -23098,7 +23084,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYY" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -23112,7 +23098,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dYZ" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -23120,7 +23106,7 @@ pixel_y = 2 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZa" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -23134,29 +23120,29 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZb" = ( /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZc" = ( /obj/structure/bed/chair/office/light{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZd" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZe" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/cable/green{ icon_state = "1-4" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZf" = ( /obj/machinery/hologram/holopad{ holopad_id = "South Xenobiology" @@ -23166,7 +23152,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZg" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -23175,14 +23161,14 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZh" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZi" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -23193,20 +23179,20 @@ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZj" = ( /obj/structure/cable/green{ icon_state = "2-8" }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZk" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23222,14 +23208,14 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZm" = ( /obj/structure/disposalpipe/trunk{ dir = 8 }, /obj/structure/disposaloutlet, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23238,7 +23224,7 @@ dir = 1 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZo" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -23254,7 +23240,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dZp" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -23266,7 +23252,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dZq" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -23279,7 +23265,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dZr" = ( /obj/structure/table, /obj/item/folder/red{ @@ -23289,7 +23275,7 @@ pixel_x = 5 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -23309,17 +23295,17 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZt" = ( /obj/structure/bed/chair/office/light{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZv" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -23328,7 +23314,7 @@ }, /obj/machinery/recharger, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZw" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -23336,7 +23322,7 @@ health = 1e+006 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZx" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -23347,7 +23333,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZy" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -23359,7 +23345,7 @@ name = "Containment Pen" }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZz" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -23369,7 +23355,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZA" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable/green{ @@ -23388,21 +23374,21 @@ opacity = 0 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZB" = ( /mob/living/slime, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZC" = ( /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dZD" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dZE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -23411,14 +23397,14 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/white, -/area/research/hallway) +/area/crux/science/hallway) "dZF" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/folder, /obj/item/pen, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -23430,7 +23416,7 @@ /obj/structure/cable/green, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZH" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -23445,11 +23431,11 @@ /obj/item/glass_jar, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZJ" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -23464,14 +23450,14 @@ pixel_y = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZK" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZL" = ( /obj/effect/wingrille_spawn/reinforced, /obj/structure/cable/green, @@ -23482,16 +23468,16 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZM" = ( /obj/structure/catwalk, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralport) +/area/crux/maintenance/firstdeck/centralport) "dZN" = ( /obj/structure/sign/warning/biohazard, /turf/simulated/wall/r_wall, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -23511,7 +23497,7 @@ name = "Xenobiology External Airlock" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZP" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -23538,7 +23524,7 @@ pixel_x = -36 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -23547,7 +23533,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZR" = ( /obj/structure/table, /obj/item/storage/box/monkeycubes, @@ -23565,7 +23551,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZS" = ( /obj/machinery/smartfridge/secure/extract, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -23578,7 +23564,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZT" = ( /obj/machinery/disposal, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -23591,7 +23577,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -23603,7 +23589,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZV" = ( /obj/item/stool/padded, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -23616,7 +23602,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -23628,7 +23614,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZX" = ( /obj/structure/reagent_dispensers/watertank/firefighter, /obj/effect/floor_decal/industrial/warning{ @@ -23646,7 +23632,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZY" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -23658,7 +23644,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "dZZ" = ( /obj/structure/curtain/open/shower, /obj/effect/floor_decal/steeldecal/steel_decals5{ @@ -23678,7 +23664,7 @@ pixel_x = -21 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaa" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -23688,7 +23674,7 @@ pixel_x = 11 }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eab" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -23707,7 +23693,7 @@ tag_interior_door = "xenostation_airlock_interior" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eac" = ( /obj/structure/hygiene/sink{ dir = 8; @@ -23722,7 +23708,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ead" = ( /obj/structure/table, /obj/structure/window/reinforced, @@ -23732,13 +23718,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eae" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/item/chems/spray/cleaner, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaf" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, @@ -23751,13 +23737,13 @@ pixel_y = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eag" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eah" = ( /obj/effect/wingrille_spawn/reinforced, /obj/structure/cable/green{ @@ -23770,7 +23756,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eai" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -23779,7 +23765,7 @@ name = "Containment Release" }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaj" = ( /obj/structure/closet/l3closet/scientist, /obj/effect/floor_decal/industrial/warning{ @@ -23797,7 +23783,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eak" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -23812,7 +23798,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eal" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -23825,7 +23811,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eam" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -23843,7 +23829,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ean" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -23866,7 +23852,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eao" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -23878,7 +23864,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eap" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -23890,7 +23876,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaq" = ( /obj/structure/table, /obj/structure/window/reinforced, @@ -23899,12 +23885,12 @@ /obj/item/scanner/xenobio, /obj/item/scanner/xenobio, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ear" = ( /obj/structure/table, /obj/structure/window/reinforced, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eas" = ( /obj/structure/table, /obj/structure/window/reinforced, @@ -23914,7 +23900,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/item/storage/firstaid/regular, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eat" = ( /obj/machinery/door/window/brigdoor/westleft{ name = "Containment Pen" @@ -23926,7 +23912,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eau" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -23935,7 +23921,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eav" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/window/brigdoor/eastright{ @@ -23954,7 +23940,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaw" = ( /obj/structure/closet/l3closet/scientist, /obj/effect/floor_decal/industrial/warning{ @@ -23966,7 +23952,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eax" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -23975,7 +23961,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled/monotile, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eay" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -23986,13 +23972,13 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/monotile, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaz" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaA" = ( /obj/machinery/button/alternate/door{ desc = "A remote control-switch for containment."; @@ -24001,7 +23987,7 @@ pixel_y = -6 }, /turf/simulated/wall/r_wall, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaB" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -24013,7 +23999,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -24022,7 +24008,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaD" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -24031,7 +24017,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaE" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -24044,13 +24030,13 @@ dir = 10 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaF" = ( /obj/structure/cable/green{ icon_state = "1-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24064,7 +24050,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaH" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -24076,14 +24062,14 @@ dir = 4 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaI" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/light/small, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaJ" = ( /obj/machinery/door/blast/regular{ desc = "By gods, release the hounds!"; @@ -24092,7 +24078,7 @@ }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaK" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -24100,7 +24086,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/centralstarboard) +/area/crux/maintenance/firstdeck/centralstarboard) "eaL" = ( /obj/structure/reagent_dispensers/fueltank, /obj/item/radio/intercom{ @@ -24112,7 +24098,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaM" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -24123,7 +24109,7 @@ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaN" = ( /obj/machinery/network/requests_console{ department = "Science"; @@ -24132,7 +24118,7 @@ }, /obj/structure/reagent_dispensers/watertank/firefighter, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaO" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -24147,7 +24133,7 @@ pixel_y = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaP" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -24159,7 +24145,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaQ" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -24174,7 +24160,7 @@ pixel_y = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaR" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/chems/spray/extinguisher, @@ -24191,7 +24177,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaS" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -24202,7 +24188,7 @@ dir = 5 }, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaT" = ( /obj/machinery/firealarm{ dir = 1; @@ -24210,7 +24196,7 @@ }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaU" = ( /obj/machinery/button/alternate/door{ desc = "A remote control-switch for a door to space."; @@ -24223,7 +24209,7 @@ pixel_x = 11 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaV" = ( /obj/structure/disposalpipe/segment, /obj/effect/wingrille_spawn/reinforced, @@ -24238,7 +24224,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaW" = ( /obj/effect/wingrille_spawn/reinforced, /obj/structure/cable/green{ @@ -24252,7 +24238,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaX" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable/green{ @@ -24272,7 +24258,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaY" = ( /obj/effect/wingrille_spawn/reinforced, /obj/structure/cable/green{ @@ -24286,7 +24272,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eaZ" = ( /obj/structure/disposalpipe/segment, /obj/effect/wingrille_spawn/reinforced, @@ -24301,7 +24287,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "eba" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable/green{ @@ -24321,11 +24307,11 @@ opacity = 0 }, /turf/simulated/floor/tiled/techmaint, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ebb" = ( /obj/structure/closet/radiation, /turf/simulated/floor/tiled/dark, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ebc" = ( /obj/structure/closet/firecloset/chief, /obj/item/radio/intercom{ @@ -24333,19 +24319,19 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ebd" = ( /obj/structure/closet/l3closet/general, /obj/structure/extinguisher_cabinet{ pixel_x = 28 }, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ebe" = ( /obj/structure/closet/bombcloset, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ebf" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -24354,7 +24340,7 @@ dir = 4 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ebg" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -24363,22 +24349,22 @@ dir = 8 }, /turf/simulated/floor/reinforced, -/area/rnd/xenobiology) +/area/crux/science/xenobiology) "ebh" = ( /obj/structure/rack, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "ebi" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftstarboard) +/area/crux/maintenance/firstdeck/aftstarboard) "ebj" = ( /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/firstdeck/aftport) +/area/crux/maintenance/firstdeck/aftport) "ebk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -24388,7 +24374,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/security/checkpoint3) +/area/crux/secure/checkpoint3) "eiT" = ( /obj/structure/cable{ icon_state = "0-2" @@ -24398,31 +24384,31 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "eDF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "fbw" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/exterior/sand, -/area/surface) +/area/crux/outside) "fbO" = ( /obj/structure/closet/firecloset, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "flz" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "fzC" = ( /obj/structure/lattice, /obj/structure/grille, /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) "fTT" = ( /obj/structure/cable{ icon_state = "2-8" @@ -24431,11 +24417,11 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "ghH" = ( /obj/abstract/level_data_spawner/crux_ground_floor, /turf/exterior/water, -/area/surface) +/area/crux/outside) "gkM" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -24447,7 +24433,7 @@ output_level = 500000 }, /turf/simulated/floor/plating, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "gGZ" = ( /obj/structure/table/steel, /obj/item/stack/material/pane/mapped/glass{ @@ -24471,7 +24457,7 @@ /obj/machinery/light, /turf/space, /turf/simulated/floor/tiled/techmaint, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "gPO" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -24479,11 +24465,11 @@ /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "hdq" = ( /obj/structure/lattice, /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) "hvS" = ( /obj/structure/cable{ icon_state = "1-2" @@ -24491,18 +24477,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "hBF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/plating, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "hDK" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/exterior/dry, -/area/maintenance/firstdeck/foreport) +/area/crux/maintenance/firstdeck/foreport) "hEf" = ( /obj/structure/cable{ icon_state = "0-8" @@ -24513,7 +24499,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "hPb" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -24525,12 +24511,12 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south/entrance) +/area/crux/hallway/primary/firstdeck/south/entrance) "imk" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) "ioA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -24542,34 +24528,34 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "iCR" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "iXQ" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/storage/primary) +/area/crux/storage) "jaY" = ( /obj/structure/lattice, /turf/exterior/dry, -/area/surface) +/area/crux/outside) "jYp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "kiA" = ( /obj/abstract/landmark{ name = "carpspawn" }, /turf/exterior/dry, -/area/surface) +/area/crux/outside) "kAV" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -24577,7 +24563,7 @@ /obj/machinery/portable_atmospherics/canister/empty, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "kOz" = ( /obj/structure/cable{ icon_state = "4-8" @@ -24587,12 +24573,12 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "lDt" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) "lFy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -24601,30 +24587,30 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "lSa" = ( /turf/exterior/sand, -/area/surface) +/area/crux/outside) "lTL" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/giftshop) +/area/crux/giftshop) "moS" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 1 }, /obj/machinery/meter, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "mAg" = ( /obj/item/stack/cable_coil/yellow, /obj/item/storage/toolbox/electrical, /turf/simulated/floor/plating, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "ndk" = ( /turf/exterior/dry, -/area/surface) +/area/crux/outside) "ngl" = ( /obj/structure/cable{ icon_state = "1-4" @@ -24634,61 +24620,61 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "nlc" = ( /obj/item/stack/material/rods, /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) "oIE" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "pFN" = ( /obj/machinery/space_heater, /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "pMD" = ( /obj/effect/floor_decal/industrial/warning, /obj/random/mouse, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "qNz" = ( /obj/structure/lattice, /obj/structure/grille, /turf/exterior/dry, -/area/surface) +/area/crux/outside) "qPk" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/storage/primary) +/area/crux/storage) "qWg" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /obj/machinery/light/small, /turf/simulated/floor/tiled, -/area/giftshop/storage) +/area/crux/giftshop/storage) "qZF" = ( /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) "rdv" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/giftshop/storage) +/area/crux/giftshop/storage) "rrg" = ( /obj/abstract/landmark{ name = "carpspawn" }, /turf/exterior/sand, -/area/surface) +/area/crux/outside) "ruC" = ( /obj/structure/cable{ icon_state = "0-8" @@ -24696,7 +24682,7 @@ /obj/machinery/power/terminal, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "sgv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -24705,13 +24691,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "szd" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "sEe" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 5 @@ -24720,25 +24706,25 @@ dir = 8 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "sZj" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "tlA" = ( /obj/machinery/atmospherics/tvalve/mirrored/bypass{ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "tBX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) "tGa" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -24747,7 +24733,7 @@ /obj/machinery/light, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "utC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -24759,10 +24745,10 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/firstdeck/south) +/area/crux/hallway/primary/firstdeck/south) "uPS" = ( /turf/simulated/wall, -/area/giftshop) +/area/crux/giftshop) "vGl" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -24771,7 +24757,7 @@ pixel_x = -24 }, /turf/simulated/floor/tiled, -/area/giftshop/storage) +/area/crux/giftshop/storage) "vHA" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -24784,7 +24770,7 @@ }, /obj/effect/floor_decal/rust, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "vNT" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 4 @@ -24793,7 +24779,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "wxk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -24802,7 +24788,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/giftshop/storage) +/area/crux/giftshop/storage) "wDt" = ( /obj/machinery/power/breakerbox{ RCon_tag = "Auxiliary Bypass" @@ -24811,23 +24797,27 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "wET" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 9 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "wQS" = ( /turf/simulated/floor/tiled, -/area/giftshop) +/area/crux/giftshop) +"xaJ" = ( +/obj/abstract/landmark/latejoin, +/turf/exterior/wildgrass, +/area/crux/outside) "xgd" = ( /turf/simulated/wall/r_wall, -/area/giftshop) +/area/crux/giftshop) "xxs" = ( /obj/structure/sign/warning/docking_area, /turf/simulated/wall/r_wall, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "xGC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -24839,7 +24829,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/giftshop/storage) +/area/crux/giftshop/storage) "xLF" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -24849,13 +24839,13 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/auxiliary_engineering) +/area/crux/engineering/auxiliary_engineering) "xYB" = ( /obj/abstract/landmark{ name = "carpspawn" }, /turf/exterior/wildgrass, -/area/surface) +/area/crux/outside) (1,1,1) = {" aaa @@ -55866,7 +55856,7 @@ aUN aVw aSn qZF -qZF +xaJ qZF ndk ndk @@ -56123,7 +56113,7 @@ aUO aVq aUv qZF -qZF +xaJ qZF ndk ndk @@ -59464,7 +59454,7 @@ aUZ aVw aVM qZF -qZF +xaJ qZF ndk ndk @@ -59721,7 +59711,7 @@ aUM aVx aSn qZF -qZF +xaJ qZF ndk ndk diff --git a/maps/crux/crux-station-1.dmm b/maps/crux/crux-station-1.dmm index 3f0b491ddf4..315080ea8a9 100644 --- a/maps/crux/crux-station-1.dmm +++ b/maps/crux/crux-station-1.dmm @@ -1,56 +1,56 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aaa" = ( /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aab" = ( /obj/abstract/landmark{ name = "carpspawn" }, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aad" = ( /obj/structure/lattice, /obj/structure/grille, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aae" = ( /obj/item/stack/material/rods, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aaf" = ( /obj/structure/lattice, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aag" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "abc" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "adJ" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /obj/item/stack/material/rods, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "adK" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /obj/structure/grille/broken, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aIg" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "aOv" = ( /turf/exterior/open, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aQj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -58,8 +58,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "aRC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -74,13 +77,13 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "aRW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "aTz" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -99,7 +102,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "aTD" = ( /obj/machinery/status_display{ pixel_y = -32 @@ -110,30 +113,30 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "aWn" = ( /turf/simulated/wall/r_wall, -/area/security/armoury) +/area/crux/secure/armoury) "aWo" = ( /turf/simulated/wall/r_wall, -/area/security/tactical) +/area/crux/secure/tactical) "aWp" = ( /turf/simulated/wall/r_wall, -/area/surface/level_one) +/area/crux/outside/level_one) "aWq" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/security/armoury) +/area/crux/secure/armoury) "aWr" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/security/armoury) +/area/crux/secure/armoury) "aWs" = ( /turf/simulated/wall/r_wall, -/area/rnd/test_area) +/area/crux/science/test_area) "aWt" = ( /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "aWu" = ( /obj/structure/grille, /obj/structure/window/reinforced, @@ -147,7 +150,7 @@ dir = 8 }, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "aWv" = ( /obj/structure/rack, /obj/item/clothing/accessory/armguards/riot, @@ -169,7 +172,7 @@ name = "Riot Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWw" = ( /obj/structure/rack, /obj/item/clothing/accessory/armguards/riot, @@ -192,7 +195,7 @@ name = "Riot Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWx" = ( /obj/structure/rack, /obj/item/clothing/shoes/magboots, @@ -214,7 +217,7 @@ name = "EVA Suit" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWy" = ( /obj/structure/rack, /obj/item/clothing/accessory/armguards/riot, @@ -236,7 +239,7 @@ name = "Riot Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWz" = ( /obj/structure/rack, /obj/item/clothing/accessory/armguards/riot, @@ -259,17 +262,17 @@ name = "Riot Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWA" = ( /obj/machinery/camera/network/research, /obj/machinery/light/spot{ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "aWB" = ( /turf/simulated/wall/r_wall, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aWE" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -281,7 +284,7 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aWF" = ( /obj/machinery/door/window/holowindoor{ dir = 1 @@ -290,7 +293,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aWH" = ( /obj/structure/rack{ dir = 8 @@ -313,7 +316,7 @@ name = "Energy" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWI" = ( /obj/structure/rack{ dir = 8 @@ -339,7 +342,7 @@ name = "Energy" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWJ" = ( /obj/structure/rack{ dir = 8 @@ -363,7 +366,7 @@ name = "Ballistics" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWK" = ( /obj/machinery/power/apc{ dir = 8; @@ -377,22 +380,22 @@ icon_state = "0-4" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWL" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWM" = ( /obj/structure/cable/green{ icon_state = "2-8" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWN" = ( /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/firealarm{ @@ -400,7 +403,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aWP" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -424,7 +427,7 @@ pixel_y = -2 }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aWQ" = ( /obj/structure/rack{ dir = 8 @@ -443,7 +446,7 @@ }, /obj/random/energy/sec, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aWR" = ( /obj/structure/rack{ dir = 8 @@ -463,10 +466,10 @@ }, /obj/random/energy/sec, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aWS" = ( /turf/simulated/wall/r_wall, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aWU" = ( /obj/machinery/door/window/holowindoor{ dir = 1 @@ -475,7 +478,7 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aWX" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -488,25 +491,25 @@ dir = 1 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "aWY" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aXb" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aXe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "aXh" = ( /turf/simulated/wall, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aXk" = ( /obj/structure/rack{ dir = 8 @@ -528,33 +531,33 @@ name = "Laser Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXl" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/item/stool, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXp" = ( /obj/machinery/hologram/holopad, /obj/structure/cable/green{ @@ -566,11 +569,11 @@ /obj/item/stool, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXq" = ( /obj/item/stool, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -580,7 +583,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXs" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -591,22 +594,22 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/security/tactical) +/area/crux/secure/tactical) "aXt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aXu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aXv" = ( /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aXw" = ( /obj/structure/rack{ dir = 8 @@ -629,14 +632,14 @@ name = "Combat Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aXx" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aXy" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -653,7 +656,7 @@ icon_state = "0-4" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aXz" = ( /obj/structure/hygiene/shower{ dir = 8; @@ -665,24 +668,24 @@ }, /obj/structure/curtain/open/shower/security, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aXA" = ( /turf/simulated/wall, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aXB" = ( /obj/machinery/recharger/wallcharger{ pixel_x = -24; pixel_y = -4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aXD" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aXE" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -694,18 +697,18 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aXF" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "aXG" = ( /obj/random/junk, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "aXO" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -713,7 +716,7 @@ pixel_y = -24 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aXP" = ( /obj/structure/rack{ dir = 8 @@ -733,14 +736,14 @@ name = "Laser Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXQ" = ( /obj/machinery/hologram/holopad{ holopad_id = "Armory West" }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXR" = ( /obj/machinery/camera/network/security{ c_tag = "SEC - Armory"; @@ -748,7 +751,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXS" = ( /obj/structure/table, /obj/item/storage/box/empslite{ @@ -761,7 +764,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXT" = ( /obj/structure/table, /obj/structure/cable/green{ @@ -781,7 +784,7 @@ pixel_y = 5 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXU" = ( /obj/structure/table, /obj/structure/cable/green{ @@ -798,7 +801,7 @@ /obj/item/storage/box/trackimp, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXV" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -806,7 +809,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aXW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/highsecurity{ @@ -822,18 +825,18 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aXX" = ( /obj/structure/cable/green{ icon_state = "2-8" }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aXY" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aXZ" = ( /obj/structure/rack{ dir = 8 @@ -854,17 +857,17 @@ name = "Combat Armor" }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aYa" = ( /obj/machinery/alarm{ dir = 4; pixel_x = -22 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYb" = ( /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYc" = ( /obj/machinery/door/window/westleft{ name = "Shower" @@ -877,7 +880,7 @@ /obj/structure/curtain/open/shower/security, /obj/structure/window/basic, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYe" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -889,7 +892,7 @@ dir = 6 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aYf" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -901,7 +904,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aYg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -910,7 +913,7 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aYh" = ( /obj/machinery/magnetic_module, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -919,8 +922,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/abstract/landmark/latejoin/cryo, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aYi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -929,7 +933,7 @@ pixel_y = 24 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aYj" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -942,23 +946,23 @@ dir = 1 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "aYk" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "aYl" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "aYp" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aYt" = ( /obj/structure/rack{ dir = 8 @@ -980,13 +984,13 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYv" = ( /obj/structure/rack{ dir = 8 @@ -1013,7 +1017,7 @@ name = "Ammo" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYw" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -1021,7 +1025,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/security/armoury) +/area/crux/secure/armoury) "aYx" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -1030,13 +1034,13 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYz" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -1048,7 +1052,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1057,14 +1061,14 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYC" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green, @@ -1073,7 +1077,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/security/tactical) +/area/crux/secure/tactical) "aYD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1089,13 +1093,13 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aYE" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aYF" = ( /obj/structure/rack{ dir = 8 @@ -1128,20 +1132,20 @@ /obj/item/ammo_magazine/speedloader, /obj/item/ammo_magazine/speedloader, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aYG" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYH" = ( /obj/machinery/door/airlock{ name = "Unit 2" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYI" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -1151,7 +1155,7 @@ }, /obj/structure/undies_wardrobe, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -1163,7 +1167,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYK" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -1176,7 +1180,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aYL" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -1185,7 +1189,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aYM" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -1197,7 +1201,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aYN" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -1209,10 +1213,10 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aYP" = ( /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aYR" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -1221,13 +1225,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "aYS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aYT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -1236,19 +1240,19 @@ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aYU" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aYX" = ( /obj/structure/mirror{ pixel_x = 28 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aYY" = ( /obj/structure/rack{ dir = 8 @@ -1266,7 +1270,7 @@ }, /obj/effect/floor_decal/corner/green/full, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aYZ" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/alarm{ @@ -1275,7 +1279,7 @@ }, /obj/machinery/light, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aZa" = ( /obj/effect/floor_decal/industrial/warning, /obj/item/radio/intercom{ @@ -1284,7 +1288,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aZb" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -1316,7 +1320,7 @@ /obj/item/ammo_magazine/speedloader/rubber, /obj/item/ammo_magazine/speedloader/rubber, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aZc" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -1332,13 +1336,13 @@ pixel_y = -4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aZd" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 8 }, /turf/simulated/floor/tiled/techmaint, -/area/security/armoury) +/area/crux/secure/armoury) "aZe" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -1350,13 +1354,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techmaint, -/area/security/armoury) +/area/crux/secure/armoury) "aZf" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 4 }, /turf/simulated/floor/tiled/techmaint, -/area/security/armoury) +/area/crux/secure/armoury) "aZg" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -1370,7 +1374,7 @@ pixel_y = -4 }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aZh" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -1389,7 +1393,7 @@ /obj/structure/table/steel, /obj/machinery/recharger, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aZi" = ( /obj/structure/rack{ dir = 8 @@ -1404,7 +1408,7 @@ }, /obj/random/projectile/sec, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aZj" = ( /obj/structure/rack{ dir = 8 @@ -1422,7 +1426,7 @@ }, /obj/random/projectile/sec, /turf/simulated/floor/tiled/dark, -/area/security/tactical) +/area/crux/secure/tactical) "aZl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -1434,7 +1438,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aZm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1446,7 +1450,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aZn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -1462,7 +1466,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techmaint, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aZp" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -1477,25 +1481,25 @@ icon_state = "2-8" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aZq" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aZA" = ( /obj/structure/sign/warning/armory, /turf/simulated/wall/r_wall, -/area/security/armoury) +/area/crux/secure/armoury) "aZB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/highsecurity{ name = "Secure Armoury Section" }, /turf/simulated/floor/tiled/techmaint, -/area/security/armoury) +/area/crux/secure/armoury) "aZC" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -1503,7 +1507,7 @@ name = "Emergency Access" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aZD" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/cable/green{ @@ -1516,7 +1520,7 @@ name = "Emergency Access" }, /turf/simulated/floor/tiled/dark, -/area/security/armoury) +/area/crux/secure/armoury) "aZE" = ( /obj/structure/hygiene/toilet{ dir = 4 @@ -1525,13 +1529,13 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aZF" = ( /obj/machinery/door/airlock{ name = "Unit 1" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aZG" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -1540,13 +1544,13 @@ dir = 5 }, /turf/simulated/wall, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "aZI" = ( /obj/machinery/vending/cola{ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aZJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -1554,7 +1558,7 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aZK" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -1569,19 +1573,19 @@ icon_state = "0-2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "aZL" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "aZM" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "aZO" = ( /obj/machinery/camera/network/research{ dir = 4 @@ -1590,11 +1594,11 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "aZP" = ( /obj/item/radio/beacon, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "aZQ" = ( /obj/machinery/camera/network/research{ dir = 8 @@ -1603,7 +1607,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "aZR" = ( /obj/machinery/door/window/holowindoor{ dir = 8 @@ -1612,44 +1616,44 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "aZW" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bac" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bad" = ( /obj/machinery/camera/network/prison{ c_tag = "SEC - Common Brig 2"; dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bae" = ( /turf/simulated/wall/r_wall, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "baf" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "bah" = ( /obj/item/radio/intercom/broadcasting{ pixel_y = 22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "bai" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "baj" = ( /obj/machinery/power/apc{ dir = 4; @@ -1663,16 +1667,16 @@ pixel_y = 24 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "bak" = ( /turf/simulated/wall, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "bal" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 8 }, /turf/simulated/floor/tiled/techmaint, -/area/hotel/hallway) +/area/crux/hotel) "bam" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/industrial/warning{ @@ -1684,7 +1688,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techmaint, -/area/hotel/hallway) +/area/crux/hotel) "ban" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 4 @@ -1695,17 +1699,17 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/techmaint, -/area/hotel/hallway) +/area/crux/hotel) "bao" = ( /turf/simulated/wall, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bap" = ( /obj/structure/table/woodentable/maple, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "baq" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -1716,33 +1720,33 @@ pixel_y = 24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bar" = ( /obj/item/radio/intercom/broadcasting{ pixel_y = 22 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bas" = ( /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bat" = ( /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bav" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "baw" = ( /obj/machinery/vending/snack{ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bax" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -1757,7 +1761,7 @@ dir = 8 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bay" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -1769,7 +1773,7 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "baz" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -1781,7 +1785,7 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "baA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1790,22 +1794,22 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "baC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "baD" = ( /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "baE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "baI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -1814,7 +1818,7 @@ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "baK" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -1822,7 +1826,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "baL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1831,20 +1835,20 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "baN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "baQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "baS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -1853,7 +1857,7 @@ dir = 6 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "baT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1862,13 +1866,13 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "baU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "baW" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -1880,7 +1884,7 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "baY" = ( /obj/machinery/door/airlock{ id_tag = "free_suite_a" @@ -1892,7 +1896,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/techmaint, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "baZ" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -1906,7 +1910,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bbb" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -1922,7 +1926,7 @@ id_tag = "executive_suite_b" }, /turf/simulated/floor/tiled/techmaint, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1934,7 +1938,7 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1946,7 +1950,7 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -1955,7 +1959,7 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1964,7 +1968,7 @@ dir = 10 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbg" = ( /obj/machinery/light{ dir = 4 @@ -1974,7 +1978,7 @@ dir = 8 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbh" = ( /obj/machinery/light{ dir = 8; @@ -1985,7 +1989,7 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bbi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -1994,7 +1998,7 @@ dir = 6 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bbj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2003,7 +2007,7 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bbk" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2018,7 +2022,7 @@ icon_state = "2-8" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bbl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2030,7 +2034,7 @@ icon_state = "1-4" }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bbm" = ( /obj/machinery/door/airlock/security{ id_tag = "executive_suite_d" @@ -2046,7 +2050,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bbn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2058,17 +2062,17 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bbo" = ( /obj/item/radio/intercom/department_security{ dir = 8; pixel_x = 21 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bbp" = ( /turf/simulated/wall, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "bbq" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = -24; @@ -2080,15 +2084,15 @@ pixel_y = 9 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bbr" = ( /obj/structure/table/woodentable/maple, /obj/machinery/light, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bbs" = ( /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bbx" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -2098,22 +2102,22 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bby" = ( /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "bbz" = ( /obj/item/pen, /obj/item/paper/crumpled, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bbB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bbG" = ( /obj/machinery/light{ dir = 4 @@ -2123,10 +2127,10 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bbI" = ( /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "bbK" = ( /obj/machinery/light_switch{ name = "light switch "; @@ -2139,7 +2143,7 @@ id_tag = "standard_room_a" }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "bbL" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -2155,13 +2159,13 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "bbM" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bbN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -2171,7 +2175,7 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bbP" = ( /obj/machinery/light_switch{ pixel_x = -24; @@ -2183,27 +2187,27 @@ id_tag = "executive_suite_b" }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bbT" = ( /obj/structure/table/woodentable/maple, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bbU" = ( /obj/structure/disposalpipe/trunk{ dir = 8 }, /obj/machinery/disposal, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "bbW" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -2214,7 +2218,7 @@ /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bbX" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = 24; @@ -2226,49 +2230,49 @@ pixel_y = 9 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bcb" = ( /turf/simulated/wall, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bcg" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "bch" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled, -/area/rnd/test_area) +/area/crux/science/test_area) "bci" = ( /obj/structure/bed/sofa/middle/red{ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bcj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/bed/sofa/middle/red, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bck" = ( /obj/structure/bed/sofa/middle/red, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bcl" = ( /obj/machinery/door/window/holowindoor{ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bco" = ( /obj/structure/curtain/open/privacy, /obj/structure/curtain/open/privacy, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bcq" = ( /obj/structure/disposalpipe/segment, /obj/machinery/alarm{ @@ -2276,10 +2280,10 @@ pixel_x = 22 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bcr" = ( /turf/simulated/wall, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bct" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -2287,14 +2291,14 @@ pixel_y = -24 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bcu" = ( /obj/machinery/light{ dir = 4; icon_state = "tube1" }, /turf/simulated/wall, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bcx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -2302,13 +2306,13 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bcy" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bcz" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -2321,55 +2325,55 @@ }, /obj/structure/table/woodentable/maple, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "bcA" = ( /obj/machinery/alarm{ pixel_y = -24; dir = 1 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bcB" = ( /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bcC" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bcD" = ( /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bcI" = ( /obj/machinery/door/window/holowindoor{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bcJ" = ( /obj/item/radio/intercom/broadcasting{ pixel_y = 22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bcK" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bcL" = ( /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bcR" = ( /obj/structure/window/basic/full, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hotel/pool) +/area/crux/hotel/pool) "bcW" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -2385,7 +2389,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bcY" = ( /obj/machinery/newscaster{ pixel_y = 30 @@ -2412,7 +2416,7 @@ /obj/item/chems/drinks/glass2/pint, /obj/item/chems/drinks/glass2/pint, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bcZ" = ( /obj/machinery/camera/network/security{ c_tag = "SEC - Warden's Office" @@ -2421,7 +2425,7 @@ pixel_y = 22 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bda" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -2430,14 +2434,14 @@ dir = 4 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdb" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdc" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -2454,7 +2458,7 @@ dir = 8 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdd" = ( /obj/machinery/camera/network/security{ c_tag = "SEC - Brig Hallway Fore"; @@ -2464,7 +2468,7 @@ dir = 8 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bde" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -2474,7 +2478,7 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bdf" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -2484,19 +2488,19 @@ pixel_x = 24 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bdg" = ( /turf/simulated/wall, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bdq" = ( /obj/structure/hygiene/shower{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bdr" = ( /turf/simulated/wall, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bdt" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -2512,7 +2516,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bdu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2521,7 +2525,7 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bdv" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -2533,24 +2537,24 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bdy" = ( /obj/structure/bed/sofa/middle/red{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bdB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bdF" = ( /obj/machinery/light/small{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bdG" = ( /obj/machinery/recharger/wallcharger{ pixel_x = -26; @@ -2558,11 +2562,11 @@ }, /obj/structure/bed/chair/wood/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdH" = ( /obj/structure/bed/chair/wood/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdI" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2571,7 +2575,7 @@ dir = 6 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2580,24 +2584,24 @@ dir = 1 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdK" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdL" = ( /obj/structure/window/basic{ dir = 4 }, /obj/machinery/door/firedoor, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bdM" = ( /obj/structure/bed/sofa/right/red, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bdP" = ( /obj/structure/railing{ dir = 8 @@ -2606,7 +2610,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bdQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2615,35 +2619,35 @@ dir = 9 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bdR" = ( /obj/item/radio/intercom/broadcasting{ pixel_y = 22 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bdS" = ( /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bdT" = ( /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bdU" = ( /obj/item/radio/intercom/broadcasting{ pixel_y = 22 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bdV" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bdX" = ( /obj/structure/railing{ dir = 4 @@ -2652,10 +2656,10 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bea" = ( /turf/simulated/wall, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "beb" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = -24; @@ -2667,7 +2671,7 @@ pixel_y = 9 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bec" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -2675,28 +2679,28 @@ pixel_y = -24 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bed" = ( /obj/machinery/light, /obj/structure/table/woodentable/maple, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bee" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "beg" = ( /turf/simulated/wall, -/area/rnd/test_area) +/area/crux/science/test_area) "beh" = ( /obj/machinery/door/airlock/external{ name = "Toxins Test Chamber" }, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "bei" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -2712,13 +2716,13 @@ }, /obj/structure/table/woodentable/maple, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bej" = ( /obj/structure/bed/sofa/left/red{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bek" = ( /obj/machinery/turretid/stun{ check_records = 0; @@ -2727,19 +2731,19 @@ pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "beo" = ( /obj/structure/railing{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "beq" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "bes" = ( /obj/machinery/alarm{ dir = 4; @@ -2747,7 +2751,7 @@ }, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bet" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2755,17 +2759,17 @@ /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "beu" = ( /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bev" = ( /obj/machinery/door/window/holowindoor{ dir = 4 }, /obj/machinery/door/firedoor, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bez" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = -24; @@ -2777,7 +2781,7 @@ pixel_y = -9 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "beB" = ( /obj/machinery/door/airlock{ id_tag = "free_suite_b" @@ -2789,13 +2793,13 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "beC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "beD" = ( /obj/machinery/light{ dir = 4 @@ -2805,7 +2809,7 @@ dir = 8 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "beE" = ( /obj/machinery/light{ dir = 8; @@ -2816,37 +2820,37 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "beF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "beI" = ( /turf/simulated/wall, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "beJ" = ( /turf/simulated/wall, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "beK" = ( /turf/simulated/wall, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "beM" = ( /obj/structure/closet/emcloset, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "beR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "beS" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "beU" = ( /obj/machinery/door/window/holowindoor{ dir = 1 @@ -2855,7 +2859,7 @@ dir = 1 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "beV" = ( /obj/structure/hygiene/sink{ dir = 4; @@ -2863,13 +2867,13 @@ }, /obj/item/chems/glass/bucket, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "beZ" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "bfa" = ( /obj/machinery/button/alternate/door{ id_tag = "visit_blast"; @@ -2886,7 +2890,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfb" = ( /obj/machinery/light{ dir = 8; @@ -2896,13 +2900,13 @@ dir = 1 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bfc" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bfd" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2912,7 +2916,7 @@ dir = 10 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bfg" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, @@ -2926,7 +2930,7 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bfh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2942,7 +2946,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techmaint, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bfi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2954,7 +2958,7 @@ icon_state = "2-8" }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bfj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2963,27 +2967,27 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bfk" = ( /obj/structure/table/woodentable/maple, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bfl" = ( /obj/structure/railing{ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfm" = ( /obj/structure/table/woodentable/maple, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bfn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2992,7 +2996,7 @@ dir = 5 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bfo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -3001,7 +3005,7 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bfq" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -3013,7 +3017,7 @@ dir = 4 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bfr" = ( /obj/machinery/door/airlock/security{ id_tag = "executive_suite_c" @@ -3029,7 +3033,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bfs" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3044,7 +3048,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bfu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -3055,7 +3059,7 @@ /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bfv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -3072,7 +3076,7 @@ icon_state = "tube1" }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bfw" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -3080,7 +3084,7 @@ /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bfx" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = 24; @@ -3092,7 +3096,7 @@ pixel_y = -9 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bfy" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -3103,7 +3107,7 @@ /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bfz" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -3120,7 +3124,7 @@ icon_state = "tube1" }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bfA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -3128,13 +3132,13 @@ /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bfB" = ( /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "bfC" = ( /obj/machinery/door/blast/regular{ id_tag = "toxinsdriver"; @@ -3142,13 +3146,13 @@ }, /obj/machinery/shield_diffuser, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "bfD" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "bfE" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -3159,7 +3163,7 @@ pixel_x = 24 }, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "bfF" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ external_pressure_bound = 140; @@ -3168,7 +3172,7 @@ use_power = 1 }, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bfG" = ( /obj/structure/lattice, /obj/structure/grille{ @@ -3176,7 +3180,7 @@ icon_state = "brokengrille" }, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "bfH" = ( /obj/structure/railing{ dir = 8 @@ -3185,20 +3189,20 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfI" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfJ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -3206,7 +3210,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/light, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -3215,7 +3219,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3228,7 +3232,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -3237,7 +3241,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -3246,20 +3250,20 @@ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bfU" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bfV" = ( /obj/item/radio/intercom/broadcasting{ pixel_y = 22 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bfW" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3267,11 +3271,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bfY" = ( /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bfZ" = ( /obj/structure/window/basic{ dir = 4 @@ -3282,7 +3286,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bga" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -3291,7 +3295,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bgc" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -3300,23 +3304,23 @@ pixel_x = -24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bgd" = ( /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bgf" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bgg" = ( /obj/structure/bed/chair/wood/mahogany{ dir = 8 }, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bgh" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -3324,10 +3328,10 @@ pixel_y = -24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bgj" = ( /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bgl" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -3335,14 +3339,14 @@ /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "bgn" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bgo" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -3353,22 +3357,23 @@ pixel_x = 24 }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bgq" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bgr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ icon_state = "2-4" }, +/obj/abstract/landmark/latejoin/cryo, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bgs" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -3379,11 +3384,11 @@ pixel_x = 24 }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bgt" = ( /obj/structure/sign/warning/bomb_range, /turf/simulated/wall, -/area/rnd/test_area) +/area/crux/science/test_area) "bgu" = ( /obj/machinery/door/airlock/external{ name = "Toxins Test Chamber" @@ -3392,19 +3397,19 @@ icon_state = "1-2" }, /turf/simulated/floor, -/area/rnd/test_area) +/area/crux/science/test_area) "bgv" = ( /obj/structure/grille, /turf/simulated/wall/r_wall, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bgw" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/structure/lattice, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "bgy" = ( /turf/simulated/wall, -/area/hotel/pool) +/area/crux/hotel/pool) "bgz" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -3416,7 +3421,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/freezer, -/area/hotel/hotel_restroom) +/area/crux/hotel/hotel_restroom) "bgC" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -3426,26 +3431,26 @@ pixel_x = -24 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bgD" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_c) +/area/crux/hotel/executive_suite_c) "bgH" = ( /obj/structure/window/basic, /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, /obj/machinery/door/firedoor, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bgI" = ( /obj/structure/window/basic, /obj/machinery/door/firedoor, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bgJ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3455,7 +3460,7 @@ /obj/machinery/door/window/holowindoor, /obj/machinery/door/firedoor, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bgK" = ( /obj/structure/window/basic, /obj/structure/bed/chair/wood/mahogany{ @@ -3463,11 +3468,11 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/wood/yew, -/area/hotel/kitchenette) +/area/crux/hotel/kitchenette) "bgM" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bgN" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3476,7 +3481,7 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bgO" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor{ @@ -3486,7 +3491,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bgU" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -3499,7 +3504,7 @@ dir = 1 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bgV" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3514,14 +3519,14 @@ icon_state = "2-4" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bgY" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_b) +/area/crux/hotel/executive_suite_b) "bgZ" = ( /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -3529,7 +3534,7 @@ pixel_y = 22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "bha" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = -9; @@ -3541,10 +3546,10 @@ pixel_y = -24 }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bhb" = ( /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bhc" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -3553,7 +3558,7 @@ dir = 8 }, /turf/simulated/wall, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bhd" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = -9; @@ -3565,7 +3570,7 @@ pixel_y = -24 }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bhe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3573,19 +3578,19 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bhf" = ( /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_b) +/area/crux/hotel/free_suite_b) "bhg" = ( /turf/simulated/floor, -/area/surface/level_one) +/area/crux/outside/level_one) "bhh" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor, -/area/surface/level_one) +/area/crux/outside/level_one) "bhi" = ( /obj/effect/floor_decal/corner/red/full{ dir = 8 @@ -3594,7 +3599,7 @@ id_tag = "n2_sensor" }, /turf/simulated/floor/reinforced/nitrogen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bhj" = ( /obj/effect/floor_decal/corner/red/full{ dir = 1 @@ -3606,7 +3611,7 @@ dir = 1 }, /turf/simulated/floor/reinforced/nitrogen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bhk" = ( /obj/effect/floor_decal/corner/blue/full{ dir = 8 @@ -3615,7 +3620,7 @@ id_tag = "o2_sensor" }, /turf/simulated/floor/reinforced/oxygen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bhl" = ( /obj/effect/floor_decal/corner/blue/full{ dir = 1 @@ -3627,7 +3632,7 @@ dir = 1 }, /turf/simulated/floor/reinforced/oxygen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bhm" = ( /obj/machinery/air_sensor{ id_tag = "air_sensor" @@ -3639,7 +3644,7 @@ dir = 1 }, /turf/simulated/floor/reinforced/airmix, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bhn" = ( /obj/machinery/camera/network/engineering{ c_tag = "Atmos Tank - Air" @@ -3652,11 +3657,11 @@ dir = 4 }, /turf/simulated/floor/reinforced/airmix, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bho" = ( /obj/structure/grille, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "bhp" = ( /obj/machinery/air_sensor{ id_tag = "waste_sensor" @@ -3665,7 +3670,7 @@ dir = 8 }, /turf/simulated/floor/reinforced, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bhq" = ( /obj/effect/floor_decal/corner/lime/full{ dir = 1 @@ -3677,7 +3682,7 @@ c_tag = "Atmos Tank - Gas Mixing" }, /turf/simulated/floor/reinforced, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bhr" = ( /obj/item/radio/intercom{ dir = 1; @@ -3685,10 +3690,10 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bhv" = ( /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bhx" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -3702,7 +3707,7 @@ pixel_x = -36 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bhy" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3714,7 +3719,7 @@ dir = 5 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bhz" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -3725,7 +3730,7 @@ /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bhA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3737,7 +3742,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bhB" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3750,7 +3755,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bhC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3769,7 +3774,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhD" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3782,7 +3787,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhE" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3794,7 +3799,7 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhF" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3809,7 +3814,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhG" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3819,13 +3824,13 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhI" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhK" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3839,7 +3844,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhL" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3851,7 +3856,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3863,7 +3868,7 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhN" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3879,19 +3884,19 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhO" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "bhQ" = ( /obj/machinery/camera/network/security{ c_tag = "SEC - Brig Hallway Mid" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhR" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -3899,7 +3904,7 @@ /obj/structure/disposalpipe/trunk, /obj/machinery/disposal, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bhX" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3907,7 +3912,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bib" = ( /obj/effect/floor_decal/corner/red/full, /obj/machinery/atmospherics/unary/vent_pump{ @@ -3924,7 +3929,7 @@ use_power = 1 }, /turf/simulated/floor/reinforced/nitrogen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bic" = ( /obj/effect/floor_decal/corner/red/full{ dir = 4 @@ -3934,7 +3939,7 @@ use_power = 1 }, /turf/simulated/floor/reinforced/nitrogen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bid" = ( /obj/effect/floor_decal/corner/blue/full, /obj/machinery/atmospherics/unary/vent_pump{ @@ -3951,7 +3956,7 @@ use_power = 1 }, /turf/simulated/floor/reinforced/oxygen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bie" = ( /obj/effect/floor_decal/corner/blue/full{ dir = 4 @@ -3961,18 +3966,18 @@ use_power = 1 }, /turf/simulated/floor/reinforced/oxygen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bif" = ( /obj/structure/grille/broken, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "big" = ( /obj/abstract/landmark{ name = "carpspawn" }, /obj/structure/lattice, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "bih" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/effect/floor_decal/corner/blue{ @@ -3983,7 +3988,7 @@ use_power = 1 }, /turf/simulated/floor/reinforced/airmix, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bii" = ( /obj/effect/floor_decal/corner/blue/diagonal{ dir = 4 @@ -4002,13 +4007,13 @@ use_power = 1 }, /turf/simulated/floor/reinforced/airmix, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bij" = ( /obj/structure/window/basic/full, /obj/machinery/door/firedoor, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hotel/pool) +/area/crux/hotel/pool) "bip" = ( /obj/structure/table/steel, /obj/item/towel/random, @@ -4018,11 +4023,11 @@ pixel_x = 28 }, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "biq" = ( /obj/machinery/light, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bit" = ( /obj/item/radio/intercom{ desc = "Talk... listen through this."; @@ -4031,13 +4036,13 @@ wires = 7 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "biu" = ( /obj/structure/disposalpipe/junction/yjunction{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "biv" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4055,14 +4060,14 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biw" = ( /obj/structure/disposalpipe/junction{ dir = 4; icon_state = "pipe-j2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bix" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -4071,7 +4076,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -4087,7 +4092,7 @@ dir = 5 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biz" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/camera/network/security{ @@ -4101,7 +4106,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -4113,7 +4118,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4127,7 +4132,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4141,7 +4146,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biD" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4154,7 +4159,7 @@ /obj/effect/floor_decal/corner/red/border, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4168,7 +4173,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4190,7 +4195,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4202,7 +4207,7 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biH" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/disposalpipe/segment{ @@ -4212,7 +4217,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biI" = ( /obj/machinery/light_switch{ pixel_x = 12; @@ -4228,7 +4233,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biJ" = ( /obj/structure/disposalpipe/sortjunction{ dir = 4; @@ -4245,7 +4250,7 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biL" = ( /obj/structure/disposalpipe/sortjunction/flipped{ dir = 4; @@ -4265,7 +4270,7 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4280,7 +4285,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -4295,7 +4300,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4310,7 +4315,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4324,7 +4329,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4339,7 +4344,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -4354,7 +4359,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biT" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -4369,7 +4374,7 @@ icon_state = "1-4" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4381,7 +4386,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biV" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4403,7 +4408,7 @@ icon_state = "tube1" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biX" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4418,13 +4423,13 @@ icon_state = "1-4" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biY" = ( /obj/structure/cable/green{ icon_state = "2-8" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "biZ" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -4433,7 +4438,7 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bja" = ( /obj/machinery/atmospherics/pipe/simple/visible/green, /obj/machinery/door/firedoor, @@ -4446,7 +4451,7 @@ opacity = 0 }, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bjb" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/door/firedoor, @@ -4459,7 +4464,7 @@ opacity = 0 }, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bjc" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/door/firedoor, @@ -4475,7 +4480,7 @@ opacity = 0 }, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bjd" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/door/firedoor, @@ -4491,7 +4496,7 @@ opacity = 0 }, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bje" = ( /obj/effect/floor_decal/corner/lime/full, /obj/machinery/atmospherics/unary/vent_pump{ @@ -4508,23 +4513,23 @@ use_power = 1 }, /turf/simulated/floor/reinforced, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bji" = ( /obj/item/ball, /turf/simulated/floor/pool/deep, -/area/hotel/pool) +/area/crux/hotel/pool) "bjk" = ( /turf/simulated/floor/pool/deep, -/area/hotel/pool) +/area/crux/hotel/pool) "bjm" = ( /turf/simulated/wall, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bjo" = ( /obj/structure/disposalpipe/segment, /obj/structure/window/basic/full/polarized, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bjp" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4537,26 +4542,26 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bjq" = ( /obj/structure/window/basic/full/polarized, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bjs" = ( /obj/structure/window/basic/full, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hotel/hallway) +/area/crux/hotel) "bjt" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel_grid, -/area/hotel/hallway) +/area/crux/hotel) "bju" = ( /turf/simulated/wall, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bjv" = ( /obj/machinery/light_switch{ name = "light switch "; @@ -4573,7 +4578,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bjw" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4590,7 +4595,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bjx" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -4602,23 +4607,23 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bjy" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel_grid, -/area/hotel/hallway) +/area/crux/hotel) "bjz" = ( /turf/simulated/wall, -/area/hotel/hallway) +/area/crux/hotel) "bjA" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -4632,12 +4637,12 @@ dir = 5 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjD" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjE" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -4646,7 +4651,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjF" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, @@ -4657,16 +4662,16 @@ dir = 9 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjG" = ( /obj/structure/hygiene/drain/bath, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bjH" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjI" = ( /obj/structure/table/steel, /obj/item/mirror, @@ -4674,7 +4679,7 @@ pixel_x = 28 }, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bjL" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -4684,13 +4689,13 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjM" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -4698,22 +4703,22 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bjP" = ( /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjQ" = ( /obj/structure/sign/warning/high_voltage{ pixel_y = -32 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjR" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjS" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -4725,21 +4730,21 @@ dir = 4 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjT" = ( /obj/random/tool, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "bjU" = ( /obj/machinery/atmospherics/pipe/simple/visible/green, /obj/structure/lattice, /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bjV" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/structure/lattice, /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bjW" = ( /obj/effect/floor_decal/corner/lime/full{ dir = 4 @@ -4750,7 +4755,7 @@ use_power = 1 }, /turf/simulated/floor/reinforced, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bjY" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4766,7 +4771,7 @@ dir = 1 }, /turf/simulated/floor/carpet/orange, -/area/hotel/hallway) +/area/crux/hotel) "bjZ" = ( /obj/item/radio/intercom/department_security{ pixel_y = 21 @@ -4774,7 +4779,7 @@ /obj/structure/disposalpipe/trunk, /obj/machinery/disposal, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bka" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow{ @@ -4785,14 +4790,14 @@ }, /obj/item/folder/red, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkb" = ( /obj/structure/bed/chair/office/dark, /obj/structure/window/basic{ dir = 8 }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkc" = ( /obj/machinery/power/apc{ dir = 1; @@ -4813,7 +4818,7 @@ }, /obj/structure/bed/chair/office/dark, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkd" = ( /obj/machinery/camera/network/security{ c_tag = "SEC - Detective Office" @@ -4824,7 +4829,7 @@ }, /obj/structure/bed/chair/office/dark, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bke" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -4832,14 +4837,14 @@ icon_state = "1-8" }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkg" = ( /obj/item/radio/intercom/department_security{ dir = 8; pixel_x = 21 }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkh" = ( /obj/item/radio/intercom{ dir = 8; @@ -4850,7 +4855,7 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bki" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -4860,7 +4865,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bkj" = ( /obj/item/radio/intercom/department_security{ dir = 8; @@ -4869,7 +4874,7 @@ /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "bkk" = ( /obj/structure/bed/chair/office/dark, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -4883,7 +4888,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bkl" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4895,7 +4900,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bkm" = ( /obj/structure/bed/chair/office/dark, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -4908,7 +4913,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bkn" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -4917,7 +4922,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bko" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -4927,47 +4932,46 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bkp" = ( /obj/item/radio/intercom/department_security{ dir = 8; pixel_x = 21 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bkr" = ( /obj/structure/disposalpipe/segment, /turf/simulated/wall, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bkt" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/machinery/door/airlock/command{ - id_tag = null; name = "Head of Security Quarters" }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bku" = ( /obj/structure/window/basic, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bkv" = ( /obj/machinery/door/airlock/glass, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bkw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hotel/hallway) +/area/crux/hotel) "bkx" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/window/reinforced{ @@ -4977,10 +4981,10 @@ name = "Security Delivery" }, /turf/simulated/floor/tiled, -/area/hotel/hallway) +/area/crux/hotel) "bky" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "bkz" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -4992,10 +4996,10 @@ pixel_y = 24 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_d) +/area/crux/hotel/executive_suite_d) "bkA" = ( /turf/simulated/wall/r_wall, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkB" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -5008,13 +5012,13 @@ }, /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkC" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 6 }, /turf/simulated/wall/r_wall, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkD" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -5027,17 +5031,17 @@ }, /obj/machinery/atmospherics/pipe/simple/visible/green, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkE" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkF" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/visible/green, /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkG" = ( /obj/machinery/atmospherics/pipe/manifold/visible/green{ dir = 4 @@ -5051,7 +5055,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkH" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/blast/regular{ @@ -5062,7 +5066,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkI" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/effect/wingrille_spawn/reinforced, @@ -5080,7 +5084,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkJ" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 6 @@ -5094,7 +5098,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkK" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/effect/wingrille_spawn/reinforced, @@ -5106,7 +5110,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkL" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/effect/wingrille_spawn/reinforced, @@ -5118,7 +5122,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkM" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -5129,15 +5133,16 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bkN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ icon_state = "2-4" }, +/obj/abstract/landmark/latejoin/cryo, /turf/simulated/floor/carpet/purple, -/area/hotel/free_suite_a) +/area/crux/hotel/free_suite_a) "bkQ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5149,7 +5154,7 @@ dir = 4 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "bkT" = ( /obj/item/stool/padded, /obj/structure/extinguisher_cabinet{ @@ -5160,14 +5165,14 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/white, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkU" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/closet/secure_closet/freezer/fridge, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5180,7 +5185,7 @@ }, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5191,7 +5196,7 @@ }, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkX" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -5200,7 +5205,7 @@ /obj/item/flashlight/lamp/green, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -5208,10 +5213,10 @@ dir = 8 }, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bkZ" = ( /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bla" = ( /obj/machinery/light{ dir = 4 @@ -5220,7 +5225,7 @@ icon_state = "plant-10" }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "blb" = ( /obj/machinery/door/window/holowindoor{ dir = 4 @@ -5236,7 +5241,7 @@ }, /obj/structure/table/woodentable/maple, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_b) +/area/crux/hotel/standard_room_b) "blc" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -5245,11 +5250,11 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bld" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "blf" = ( /obj/structure/table/reinforced, /obj/structure/disposalpipe/segment, @@ -5261,7 +5266,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "blg" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -5275,7 +5280,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "blh" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -5289,7 +5294,7 @@ }, /obj/item/bell, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bli" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -5298,11 +5303,11 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "blj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "blk" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -5311,7 +5316,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "blm" = ( /obj/machinery/disposal, /obj/item/storage/secure/safe{ @@ -5322,13 +5327,13 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bln" = ( /obj/machinery/camera/network/security{ c_tag = "SEC - HoS' Office" }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "blo" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -5336,13 +5341,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "blp" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "blq" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -5364,23 +5369,23 @@ icon_state = "tube1" }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "blr" = ( /obj/machinery/papershredder, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "blt" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "blu" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "blv" = ( /obj/item/clipboard, /obj/item/clipboard, @@ -5389,12 +5394,12 @@ }, /obj/structure/table/woodentable, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "blw" = ( /obj/machinery/faxmachine, /obj/structure/table/woodentable, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "blx" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -5406,7 +5411,7 @@ name = "Security Maintenance" }, /turf/simulated/floor/plating, -/area/hotel/hallway) +/area/crux/hotel) "bly" = ( /obj/structure/plasticflaps{ opacity = 1 @@ -5422,13 +5427,13 @@ location = "Security" }, /turf/simulated/floor/plating, -/area/hotel/hallway) +/area/crux/hotel) "blz" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Security Substation Bypass" }, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "blA" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -5440,7 +5445,7 @@ RCon_tag = "Substation - Security" }, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "blB" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -5458,7 +5463,7 @@ pixel_x = 24 }, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "blC" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 6 @@ -5472,7 +5477,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5484,7 +5489,7 @@ name = "N2 to Connector" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5508,7 +5513,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blF" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -5533,7 +5538,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blG" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 8 @@ -5547,7 +5552,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blH" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 10 @@ -5561,7 +5566,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blI" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 4 @@ -5575,7 +5580,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blJ" = ( /obj/machinery/atmospherics/pipe/simple/visible/green, /obj/effect/wingrille_spawn/reinforced, @@ -5587,7 +5592,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -5596,7 +5601,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5605,7 +5610,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5626,7 +5631,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blN" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -5645,13 +5650,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5660,7 +5665,7 @@ name = "O2 to Connector" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blR" = ( /obj/machinery/atmospherics/valve/digital/open{ name = "Mixed Air Inlet Valve" @@ -5678,44 +5683,44 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blS" = ( /obj/machinery/camera/network/engineering{ c_tag = "ENG - Atmospherics North" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blT" = ( /obj/machinery/light/spot{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/visible/red, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "blV" = ( /obj/machinery/firealarm{ dir = 1; pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "blW" = ( /turf/simulated/wall, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "bmc" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bmd" = ( /obj/structure/rack, /obj/item/chems/food/toastedsandwich, /obj/item/chems/food/jellysandwich, /obj/item/chems/food/csandwich, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bme" = ( /obj/item/storage/photo_album{ pixel_y = -10 @@ -5730,29 +5735,29 @@ }, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bmf" = ( /obj/item/paper_bin, /obj/item/pen, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bmg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bmh" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bmi" = ( /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bmj" = ( /obj/machinery/door/airlock/security{ id_tag = "detdoor"; @@ -5760,7 +5765,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bmk" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -5769,7 +5774,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bml" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -5778,7 +5783,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bmm" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -5788,7 +5793,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bmn" = ( /obj/abstract/landmark{ name = "lightsout" @@ -5800,7 +5805,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bmo" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5812,19 +5817,19 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bmp" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bms" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bmt" = ( /obj/structure/bed/chair, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -5832,7 +5837,7 @@ dir = 9 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bmv" = ( /obj/machinery/papershredder, /obj/machinery/firealarm{ @@ -5840,41 +5845,41 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bmw" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bmx" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bmy" = ( /obj/structure/disposalpipe/segment{ dir = 2; icon_state = "pipe-c" }, /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bmz" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bmA" = ( /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bmB" = ( /obj/structure/filing_cabinet/chestdrawer, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bmC" = ( /turf/simulated/wall, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bmD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/meter, @@ -5883,14 +5888,14 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bmE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bmF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5900,7 +5905,7 @@ name = "Security Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "bmG" = ( /obj/structure/cable{ icon_state = "1-8" @@ -5913,7 +5918,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "bmH" = ( /obj/machinery/power/terminal{ dir = 1 @@ -5923,7 +5928,7 @@ }, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "bmI" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -5931,10 +5936,10 @@ pixel_y = -24 }, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "bmJ" = ( /turf/simulated/wall, -/area/surface/level_one) +/area/crux/outside/level_one) "bmK" = ( /obj/machinery/atmospherics/valve/digital/open{ name = "Mixed Air Outlet Valve" @@ -5952,49 +5957,49 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmL" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmM" = ( /obj/machinery/atmospherics/pipe/simple/visible/green, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmN" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmO" = ( /obj/machinery/atmospherics/pipe/manifold/visible/green{ dir = 8 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmP" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmQ" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmR" = ( /obj/machinery/atmospherics/binary/pump{ name = "Air Mix to Connector" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmS" = ( /obj/machinery/atmospherics/binary/pump, /obj/effect/floor_decal/borderfloor{ @@ -6010,14 +6015,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmT" = ( /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmU" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmV" = ( /obj/machinery/atmospherics/binary/pump{ dir = 1 @@ -6035,7 +6040,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -6045,17 +6050,17 @@ pixel_x = -21 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bmX" = ( /obj/item/radio/intercom/broadcasting{ pixel_y = 22 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_c) +/area/crux/hotel/standard_room_c) "bmZ" = ( /obj/item/stool/padded, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bnd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -6072,7 +6077,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bne" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6081,7 +6086,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bnf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6093,7 +6098,7 @@ name = "Forensics Area" }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bng" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6102,7 +6107,7 @@ dir = 4 }, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bnh" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -6111,7 +6116,7 @@ dir = 4 }, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bni" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -6120,43 +6125,43 @@ dir = 9 }, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bnj" = ( /obj/structure/bed/chair/office/dark, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bnk" = ( /obj/structure/bed/chair/office/dark, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bnn" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bno" = ( /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bnp" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bnr" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bns" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bnu" = ( /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bnv" = ( /obj/item/flashlight/lamp/green{ pixel_x = 10; @@ -6164,24 +6169,24 @@ }, /obj/structure/table/reinforced, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bnw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/item/folder/red, /obj/structure/table/reinforced, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bnx" = ( /obj/machinery/computer/modular/preset/cardslot/command{ pixel_y = 4 }, /obj/structure/table/reinforced, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bny" = ( /obj/structure/table/reinforced, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bnz" = ( /obj/machinery/photocopier, /obj/machinery/camera/network/civilian{ @@ -6189,16 +6194,16 @@ dir = 5 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bnA" = ( /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bnB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bnC" = ( /obj/machinery/alarm{ dir = 8; @@ -6206,7 +6211,7 @@ }, /obj/structure/bed/chair/office/dark, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bnD" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/structure/cable{ @@ -6214,7 +6219,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bnE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/meter, @@ -6222,70 +6227,68 @@ pixel_x = 32 }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bnF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnG" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnH" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnI" = ( /obj/machinery/atmospherics/omni/mixer{ active_power_usage = 7500; tag_east = 2; - tag_east_con = null; tag_north = 1; tag_north_con = 0.21; - tag_south_con = null; tag_west = 1; tag_west_con = 0.79 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnJ" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnK" = ( /obj/machinery/atmospherics/pipe/simple/visible/green, /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnL" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnM" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/atmospherics/portables_connector{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnN" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnO" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -6295,53 +6298,53 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnP" = ( /obj/structure/sign/warning/nosmoking_2{ pixel_x = 32 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnQ" = ( /obj/machinery/atmospherics/pipe/manifold4w/visible/green, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnR" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnS" = ( /obj/machinery/atmospherics/pipe/simple/visible/green, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bnW" = ( /turf/simulated/floor/pool, -/area/hotel/pool) +/area/crux/hotel/pool) "bnZ" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "boa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bob" = ( /obj/machinery/photocopier, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "boc" = ( /obj/structure/flora/pottedplant{ icon_state = "plant-10" @@ -6350,15 +6353,15 @@ dir = 8 }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bod" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "boe" = ( /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bof" = ( /obj/item/radio/intercom{ dir = 4; @@ -6367,7 +6370,7 @@ }, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bog" = ( /obj/structure/bed/chair{ dir = 1 @@ -6380,7 +6383,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "boh" = ( /obj/structure/bed/chair{ dir = 1 @@ -6389,13 +6392,13 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "boi" = ( /obj/machinery/atm{ pixel_y = -30 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "boj" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -6405,14 +6408,14 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bok" = ( /obj/machinery/camera/network/security{ c_tag = "SEC - Lobby"; dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bol" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -6424,7 +6427,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bom" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -6435,13 +6438,13 @@ }, /obj/structure/flora/pottedplant/fern, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bon" = ( /obj/structure/bed/chair{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hotel/lobby) +/area/crux/hotel/lobby) "boo" = ( /obj/structure/bed/chair{ dir = 1 @@ -6454,7 +6457,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bop" = ( /obj/item/radio/intercom{ dir = 8; @@ -6462,10 +6465,10 @@ pixel_x = -21 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "boq" = ( /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bor" = ( /obj/structure/bed/chair/comfy/black{ dir = 1 @@ -6485,13 +6488,13 @@ dir = 5 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bos" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bot" = ( /obj/machinery/network/requests_console{ announcementConsole = 1; @@ -6510,11 +6513,11 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bou" = ( /obj/structure/table/woodentable, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bov" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -6523,7 +6526,7 @@ dir = 6 }, /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bow" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6533,7 +6536,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "box" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -6542,7 +6545,7 @@ dir = 10 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "boy" = ( /obj/machinery/light{ dir = 4 @@ -6561,7 +6564,7 @@ }, /obj/structure/table/woodentable, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "boz" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -6574,14 +6577,14 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "boA" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "boB" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -6590,7 +6593,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "boD" = ( /obj/structure/rack{ dir = 1 @@ -6604,12 +6607,12 @@ /obj/random/maintenance/security, /obj/random/cash, /turf/simulated/floor, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "boE" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "boF" = ( /obj/effect/floor_decal/corner/black/full{ dir = 8 @@ -6618,7 +6621,7 @@ id_tag = "co2_sensor" }, /turf/simulated/floor/reinforced/carbon_dioxide, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boG" = ( /obj/effect/floor_decal/corner/black/full{ dir = 1 @@ -6630,18 +6633,18 @@ use_power = 1 }, /turf/simulated/floor/reinforced/carbon_dioxide, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boH" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boI" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boJ" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -6656,21 +6659,21 @@ opacity = 0 }, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boK" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /obj/structure/lattice, /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boL" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boM" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -6679,7 +6682,7 @@ name = "N2 to Mixing" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boN" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/atmospherics/binary/pump{ @@ -6687,7 +6690,7 @@ name = "Air Tank Bypass Pump" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boO" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -6696,20 +6699,20 @@ name = "O2 to Mixing" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boP" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boQ" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boR" = ( /obj/machinery/portable_atmospherics/canister/empty, /obj/structure/window/reinforced{ @@ -6717,7 +6720,7 @@ health = 1e+006 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boS" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -6731,14 +6734,14 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boT" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 4; initialize_directions = 11 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boU" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -6747,7 +6750,7 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/hotel/lobby) +/area/crux/hotel/lobby) "boV" = ( /obj/machinery/atmospherics/omni/filter{ tag_east = 1; @@ -6757,7 +6760,7 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boW" = ( /obj/machinery/atmospherics/omni/filter{ tag_east = 1; @@ -6766,44 +6769,44 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boX" = ( /obj/machinery/atmospherics/tvalve/mirrored/bypass{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "boZ" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bpd" = ( /obj/structure/railing{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "bpf" = ( /obj/item/stool/padded, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bpg" = ( /obj/structure/table/reinforced, /obj/machinery/faxmachine/mapped, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bph" = ( /obj/structure/window/basic{ dir = 8 }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bpi" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -6812,7 +6815,7 @@ dir = 4 }, /turf/simulated/floor/carpet, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bpk" = ( /obj/machinery/alarm{ dir = 8; @@ -6820,29 +6823,29 @@ }, /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bpl" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/warning, /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel_grid, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bpm" = ( /obj/machinery/door/firedoor, /obj/structure/window/basic/full, /turf/simulated/floor/plating, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bpn" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/warning, /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled/steel_grid, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bpo" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bpp" = ( /obj/structure/filing_cabinet, /obj/item/radio/intercom/department_security{ @@ -6858,18 +6861,18 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bpq" = ( /obj/structure/bed/padded, /obj/item/bedsheet/hos, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bps" = ( /obj/machinery/newscaster{ pixel_y = -30 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bpt" = ( /obj/machinery/faxmachine, /obj/structure/extinguisher_cabinet{ @@ -6877,7 +6880,7 @@ }, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bpu" = ( /obj/structure/cable{ icon_state = "0-4" @@ -6891,7 +6894,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bpv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -6899,35 +6902,35 @@ icon_state = "2-8" }, /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bpw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bpx" = ( /obj/machinery/newscaster{ pixel_x = 30 }, /obj/structure/table/woodentable, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bpz" = ( /obj/machinery/atmospherics/valve/digital/open, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bpA" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bpB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 6 }, /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bpC" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 4 @@ -6942,7 +6945,7 @@ /obj/random/maintenance/security, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bpD" = ( /obj/effect/floor_decal/corner/black/full, /obj/machinery/camera/network/engineering{ @@ -6953,7 +6956,7 @@ dir = 8 }, /turf/simulated/floor/reinforced/carbon_dioxide, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpE" = ( /obj/effect/floor_decal/corner/black/full{ dir = 4 @@ -6973,7 +6976,7 @@ use_power = 1 }, /turf/simulated/floor/reinforced/carbon_dioxide, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpF" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 @@ -6988,35 +6991,35 @@ opacity = 0 }, /turf/simulated/floor, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpG" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 }, /obj/structure/lattice, /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpH" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /obj/machinery/atmospherics/binary/pump, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpI" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpJ" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4; name = "CO2 to Mixing" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpK" = ( /obj/machinery/portable_atmospherics/canister/sleeping_agent, /obj/machinery/camera/network/engineering{ @@ -7027,12 +7030,12 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpL" = ( /obj/machinery/atmospherics/pipe/simple/visible/green, /obj/machinery/portable_atmospherics/canister/sleeping_agent, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpM" = ( /obj/machinery/atmospherics/pipe/manifold/visible/green{ dir = 1 @@ -7046,7 +7049,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/valve/digital{ @@ -7071,64 +7074,64 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpO" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/visible/red, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpP" = ( /obj/machinery/atmospherics/pipe/manifold/visible/green, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpQ" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpR" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpS" = ( /obj/structure/sign/warning/compressed_gas, /turf/simulated/wall/r_wall, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpT" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpU" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpV" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 9 }, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bpW" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "bpX" = ( /obj/structure/plushie/beepsky, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bpY" = ( /obj/structure/cable{ icon_state = "0-4" @@ -7141,7 +7144,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bpZ" = ( /obj/structure/cable{ icon_state = "2-8" @@ -7153,7 +7156,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bqa" = ( /obj/machinery/light_switch{ dir = 1; @@ -7163,7 +7166,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hotel/pool) +/area/crux/hotel/pool) "bqd" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom{ @@ -7175,11 +7178,11 @@ /obj/item/paper_bin, /obj/item/pen, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bqe" = ( /obj/structure/table/reinforced, /turf/simulated/floor/tiled/freezer, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bqf" = ( /obj/machinery/newscaster{ pixel_y = -30 @@ -7188,45 +7191,45 @@ dir = 8 }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bqi" = ( /obj/machinery/light, /obj/structure/bed/chair/office/dark{ dir = 1 }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bqk" = ( /obj/structure/bed/chair/office/dark{ dir = 1 }, /turf/simulated/floor/wood/yew, -/area/hotel/conference_room) +/area/crux/hotel/conference_room) "bql" = ( /obj/item/bedsheet/clown, /obj/item/clothing/suit/ianshirt, /turf/simulated/floor/plating, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bqm" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bqn" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bqq" = ( /obj/structure/sign/deck/second, /turf/simulated/wall, -/area/hotel/lobby) +/area/crux/hotel/lobby) "bqr" = ( /turf/simulated/wall, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "bqs" = ( /obj/structure/bed/sofa/middle/beige{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bqt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -7240,22 +7243,22 @@ dir = 8 }, /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bqu" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/carpet/green, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bqv" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bqx" = ( /obj/item/flashlight/lamp, /obj/structure/table/woodentable, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "bqy" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7270,7 +7273,7 @@ }, /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bqz" = ( /obj/structure/closet/wardrobe/grey, /obj/item/storage/backpack, @@ -7284,7 +7287,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bqA" = ( /obj/structure/closet, /obj/random/contraband, @@ -7304,7 +7307,7 @@ pixel_y = -24 }, /turf/simulated/floor, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bqC" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 5 @@ -7318,7 +7321,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/binary/pump{ @@ -7327,73 +7330,73 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqE" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqF" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqG" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqH" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqI" = ( /turf/simulated/wall, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqJ" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqK" = ( /obj/machinery/atmospherics/unary/freezer{ icon_state = "freezer" }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqL" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqM" = ( /obj/machinery/atmospherics/unary/heater{ icon_state = "heater" }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqN" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqO" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/atmospherics/pipe/cap/visible, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqP" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bqQ" = ( /obj/structure/cable/cyan{ icon_state = "0-4" @@ -7417,7 +7420,7 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "bqR" = ( /obj/structure/cable{ icon_state = "0-4" @@ -7431,21 +7434,21 @@ icon_state = "0-8" }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "bqS" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Atmos Substation Bypass" }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "bqT" = ( /turf/simulated/wall/r_wall, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bqU" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bra" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -7455,12 +7458,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/airlock/glass, /turf/simulated/floor/plating, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "brg" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brh" = ( /obj/structure/closet/emcloset, /obj/effect/floor_decal/industrial/warning{ @@ -7470,11 +7473,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bri" = ( /obj/structure/railing, /turf/simulated/open, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brj" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -7483,26 +7486,26 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brk" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brl" = ( /obj/structure/table/glass, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brm" = ( /obj/machinery/vending/fitness, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brn" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bro" = ( /obj/structure/window/basic, /obj/machinery/light_switch{ @@ -7513,7 +7516,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "brp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -7523,23 +7526,23 @@ /obj/machinery/door/window/holowindoor, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "brq" = ( /obj/structure/window/basic, /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, -/area/hotel/staff_lounge) +/area/crux/hotel/staff_lounge) "brs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/wall, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "brt" = ( /turf/simulated/wall, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brw" = ( /turf/simulated/wall/r_wall, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "brx" = ( /obj/structure/railing{ dir = 4 @@ -7548,7 +7551,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bry" = ( /obj/effect/floor_decal/corner/orange/full{ dir = 8 @@ -7561,7 +7564,7 @@ dir = 4 }, /turf/simulated/floor/reinforced/hydrogen/fuel, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brz" = ( /obj/machinery/atmospherics/unary/outlet_injector{ dir = 4; @@ -7574,19 +7577,19 @@ dir = 4 }, /turf/simulated/floor/reinforced/hydrogen/fuel, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brB" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/visible/green, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brC" = ( /obj/machinery/camera/network/engineering{ c_tag = "ENG - Atmospherics Central" @@ -7597,52 +7600,52 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brD" = ( /obj/machinery/atmospherics/binary/pump{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brE" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 8 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brF" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brG" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brH" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brI" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brJ" = ( /obj/machinery/atmospherics/pipe/manifold4w/visible/yellow, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brK" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "brL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -7657,7 +7660,7 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "brM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -7675,7 +7678,7 @@ dir = 1 }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "brN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -7693,7 +7696,7 @@ dir = 1 }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "brO" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -7709,7 +7712,7 @@ name = "Atmospherics Substation" }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "brP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -7727,7 +7730,7 @@ opacity = 0 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "brS" = ( /obj/structure/hygiene/toilet{ dir = 1 @@ -7736,7 +7739,7 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "brT" = ( /obj/structure/cable{ icon_state = "0-4" @@ -7751,7 +7754,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "brU" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7763,7 +7766,7 @@ dir = 6 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "brV" = ( /obj/machinery/door/airlock, /obj/structure/cable{ @@ -7776,7 +7779,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "brW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7788,7 +7791,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "brX" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -7809,28 +7812,28 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "brZ" = ( /obj/machinery/light_switch{ pixel_x = -36 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bsa" = ( /obj/structure/closet/athletic_mixed, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bsb" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/closet/athletic_mixed, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bsd" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bsg" = ( /obj/item/radio/intercom{ dir = 1; @@ -7841,7 +7844,7 @@ /obj/structure/closet, /obj/item/towel/random, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bsj" = ( /obj/machinery/light{ dir = 1 @@ -7850,17 +7853,17 @@ /obj/structure/closet, /obj/item/towel/random, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bsl" = ( /obj/item/clothing/shoes/swimmingfins, /obj/structure/closet, /obj/item/towel/random, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bsp" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bsq" = ( /obj/structure/cable{ icon_state = "2-4" @@ -7871,7 +7874,7 @@ }, /mob/living/bot/secbot/beepsky, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bsr" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7881,7 +7884,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bss" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -7891,7 +7894,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7900,7 +7903,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsv" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7915,7 +7918,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -7927,7 +7930,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsx" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -7937,7 +7940,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -7946,7 +7949,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsz" = ( /obj/structure/cable{ icon_state = "2-4" @@ -7958,7 +7961,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsA" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7971,7 +7974,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsB" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7984,7 +7987,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7996,7 +7999,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8016,7 +8019,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8029,7 +8032,7 @@ icon_state = "pipe-j2" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8044,7 +8047,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8057,7 +8060,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8072,7 +8075,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsI" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8089,7 +8092,7 @@ c_tag = "First Floor - Northeast Hallway Two" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsJ" = ( /obj/structure/cable{ icon_state = "1-8" @@ -8106,31 +8109,31 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsL" = ( /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsM" = ( /obj/structure/bookcase, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsN" = ( /obj/structure/table/woodentable, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsO" = ( /obj/item/stool/padded, /obj/machinery/door/window/holowindoor{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsP" = ( /obj/structure/railing{ dir = 4 @@ -8139,7 +8142,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bsQ" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ external_pressure_bound = 140; @@ -8148,7 +8151,7 @@ use_power = 1 }, /turf/simulated/floor, -/area/maintenance/research) +/area/crux/maintenance/research) "bsR" = ( /obj/machinery/light/small{ dir = 8 @@ -8158,7 +8161,7 @@ dir = 8 }, /turf/simulated/floor/reinforced/hydrogen/fuel, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsS" = ( /obj/effect/floor_decal/corner/orange/full{ dir = 4 @@ -8178,48 +8181,48 @@ use_power = 1 }, /turf/simulated/floor/reinforced/hydrogen/fuel, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsT" = ( /obj/machinery/space_heater, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsU" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsV" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsW" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsX" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsY" = ( /obj/machinery/atmospherics/pipe/manifold4w/visible/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bsZ" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 1 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bta" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "btb" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -8233,7 +8236,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "btd" = ( /obj/machinery/atmospherics/omni/filter{ tag_north = 1; @@ -8241,22 +8244,22 @@ tag_west = 7 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bte" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red, /obj/structure/cable/cyan{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "btf" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "btg" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bth" = ( /obj/machinery/firealarm{ dir = 4; @@ -8267,7 +8270,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bti" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/manifold/visible/green{ @@ -8281,7 +8284,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/engineering/atmos) +/area/crux/engineering/atmos) "btj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/valve/digital{ @@ -8302,7 +8305,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "btk" = ( /obj/structure/cable/cyan{ icon_state = "1-8" @@ -8316,7 +8319,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "btl" = ( /obj/structure/cable/cyan{ icon_state = "0-8" @@ -8327,15 +8330,15 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "btm" = ( /obj/machinery/light/small, /obj/structure/catwalk, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "btn" = ( /turf/simulated/wall, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "bto" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -8344,7 +8347,7 @@ opacity = 0 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "btp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -8357,17 +8360,17 @@ dir = 8 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "btq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/machinery/meter, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bts" = ( /turf/simulated/floor/tiled/freezer, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "btt" = ( /obj/structure/hygiene/sink{ dir = 4; @@ -8378,13 +8381,13 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "btv" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "btw" = ( /obj/structure/cable{ icon_state = "2-4" @@ -8397,7 +8400,7 @@ }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "btx" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -8411,7 +8414,7 @@ }, /obj/machinery/door/airlock/glass, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bty" = ( /obj/structure/cable{ icon_state = "2-8" @@ -8423,42 +8426,42 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btB" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btI" = ( /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btJ" = ( /obj/machinery/door/airlock/glass, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "btL" = ( /obj/structure/disposalpipe/sortjunction{ dir = 1; @@ -8466,7 +8469,7 @@ sort_type = "Janitor Closet" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "btM" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/hologram/holopad, @@ -8477,7 +8480,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "btN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8487,7 +8490,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "btO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -8497,7 +8500,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8509,13 +8512,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -8528,7 +8531,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8537,7 +8540,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -8554,7 +8557,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btU" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8573,20 +8576,20 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btW" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btX" = ( /obj/machinery/firealarm{ dir = 1; @@ -8594,7 +8597,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btY" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -8610,12 +8613,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "btZ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bua" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -8626,7 +8629,7 @@ }, /obj/structure/cable, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bub" = ( /obj/machinery/alarm{ dir = 1; @@ -8639,33 +8642,33 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "buc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "buf" = ( /obj/item/stool/padded, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bug" = ( /obj/structure/railing{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "buh" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/light/small, /turf/simulated/floor, -/area/maintenance/research) +/area/crux/maintenance/research) "bui" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/maintenance/research) +/area/crux/maintenance/research) "buj" = ( /obj/machinery/button/access/exterior{ id_tag = "fore_starboard_airlock"; @@ -8675,17 +8678,17 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/maintenance/research) +/area/crux/maintenance/research) "buk" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor, -/area/maintenance/research) +/area/crux/maintenance/research) "bul" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor, -/area/maintenance/research) +/area/crux/maintenance/research) "bum" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/binary/pump{ @@ -8693,43 +8696,38 @@ name = "Phoron to Connector" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bun" = ( /obj/machinery/atmospherics/pipe/simple/visible/green{ dir = 9 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "buo" = ( /obj/machinery/atmospherics/binary/pump, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bup" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "buq" = ( /obj/machinery/atmospherics/binary/pump{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bur" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 28 }, /obj/structure/closet/firecloset, /turf/simulated/floor/tiled, -/area/engineering/atmos) -"bus" = ( -/obj/structure/table/marble, -/obj/structure/table/marble, -/turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/engineering/atmos) "but" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/binary/pump{ @@ -8738,7 +8736,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "buu" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8748,16 +8746,16 @@ /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "buv" = ( /turf/simulated/wall/r_wall, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "buw" = ( /turf/simulated/wall, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bux" = ( /turf/simulated/wall, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "buy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -8776,14 +8774,14 @@ pixel_x = -32 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "buz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "buD" = ( /obj/machinery/light/small{ dir = 8 @@ -8796,7 +8794,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "buE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -8816,7 +8814,7 @@ pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "buF" = ( /obj/machinery/power/apc{ dir = 8; @@ -8828,17 +8826,17 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buJ" = ( /obj/machinery/firealarm{ dir = 1; @@ -8848,7 +8846,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buL" = ( /obj/machinery/alarm{ dir = 1; @@ -8858,31 +8856,31 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buO" = ( /obj/machinery/light_switch{ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buP" = ( /turf/simulated/wall, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "buR" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "buS" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "buT" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -8894,14 +8892,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "buU" = ( /obj/structure/sign/department/greencross{ desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid" }, /turf/simulated/wall/r_wall, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "buV" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -8916,10 +8914,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "buW" = ( /turf/simulated/wall, -/area/janitor) +/area/crux/habitation/janitor) "buX" = ( /obj/structure/noticeboard{ pixel_x = -32 @@ -8937,7 +8935,7 @@ name = "Janitorial Shutters" }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "buY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -8948,30 +8946,30 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/janitor) +/area/crux/habitation/janitor) "buZ" = ( /turf/simulated/wall, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bva" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bvc" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bvd" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bvf" = ( /obj/structure/table/woodentable/maple, /obj/machinery/light, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "bvg" = ( /turf/simulated/wall/r_wall, -/area/maintenance/research) +/area/crux/maintenance/research) "bvh" = ( /obj/machinery/door/airlock/external{ id_tag = "fore_starboard_outer"; @@ -8979,25 +8977,25 @@ name = "External Airlock Access" }, /turf/simulated/floor, -/area/maintenance/research) +/area/crux/maintenance/research) "bvi" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bvj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red, /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bvk" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bvl" = ( /obj/effect/floor_decal/corner/white{ dir = 4 @@ -9010,7 +9008,7 @@ use_power = 1 }, /turf/simulated/floor/reinforced/n20, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvm" = ( /obj/effect/floor_decal/corner/white/diagonal{ dir = 4 @@ -9026,25 +9024,25 @@ dir = 4 }, /turf/simulated/floor/reinforced/n20, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvn" = ( /obj/machinery/atmospherics/valve/shutoff{ dir = 4; name = "Atmospherics to Distro automatic shutoff valve" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvo" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvp" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvq" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -9057,21 +9055,21 @@ dir = 6 }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "bvr" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 1 }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvs" = ( /obj/machinery/light, /obj/machinery/atmospherics/valve/open{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvt" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -9080,7 +9078,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvu" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red, /obj/machinery/meter, @@ -9088,7 +9086,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvv" = ( /obj/machinery/atmospherics/pipe/manifold4w/visible/red, /obj/machinery/meter, @@ -9096,7 +9094,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvw" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 8; @@ -9106,7 +9104,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvx" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -9116,7 +9114,7 @@ }, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvy" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/atmospherics/pipe/simple/visible/red{ @@ -9126,7 +9124,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvz" = ( /obj/structure/cable/cyan{ icon_state = "2-4" @@ -9139,7 +9137,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bvA" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Substation - Engineering" @@ -9151,13 +9149,13 @@ icon_state = "0-4" }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bvB" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Engineering Substation Bypass" }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bvC" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -9166,7 +9164,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9175,20 +9173,20 @@ dir = 8 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvF" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvG" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvH" = ( /obj/structure/closet/crate, /obj/item/storage/backpack, @@ -9201,7 +9199,7 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvI" = ( /obj/structure/table/steel, /obj/item/clothing/mask/bandana/orange, @@ -9210,7 +9208,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvJ" = ( /obj/structure/table/steel, /obj/random/maintenance/engineering, @@ -9220,7 +9218,7 @@ /obj/random/powercell, /obj/item/coin/silver, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvK" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, @@ -9230,7 +9228,7 @@ /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bvL" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -9240,7 +9238,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/hotel/pool_restroom) +/area/crux/hotel/pool_restroom) "bvM" = ( /obj/machinery/button/alternate/door/bolts{ pixel_x = -24; @@ -9252,27 +9250,27 @@ pixel_y = 9 }, /turf/simulated/floor/carpet/green, -/area/hotel/standard_room_d) +/area/crux/hotel/standard_room_d) "bvN" = ( /obj/structure/hygiene/shower, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bvP" = ( /obj/structure/table/steel, /obj/structure/mirror{ pixel_x = 28 }, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bvR" = ( /obj/structure/curtain/open/privacy, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bvT" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bvU" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -9282,7 +9280,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bvV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -9291,7 +9289,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bvW" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -9306,7 +9304,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bvX" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9314,7 +9312,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bvY" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -9329,10 +9327,10 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "bvZ" = ( /turf/simulated/wall, -/area/maintenance/research) +/area/crux/maintenance/research) "bwa" = ( /obj/item/stool/padded, /obj/abstract/landmark/start{ @@ -9345,7 +9343,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bwb" = ( /obj/machinery/button/alternate/door{ id_tag = "janitor_blast"; @@ -9359,7 +9357,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bwc" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -9372,7 +9370,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bwd" = ( /obj/machinery/power/apc{ dir = 1; @@ -9393,7 +9391,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bwe" = ( /obj/item/grenade/chem_grenade/cleaner, /obj/item/grenade/chem_grenade/cleaner, @@ -9418,7 +9416,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bwf" = ( /obj/structure/table/steel, /obj/structure/cable{ @@ -9445,7 +9443,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bwg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9457,7 +9455,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bwh" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9474,7 +9472,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bwi" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -9483,7 +9481,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bwj" = ( /obj/structure/table/steel, /obj/item/storage/box, @@ -9506,13 +9504,13 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bwk" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bwl" = ( /obj/structure/rack{ dir = 1 @@ -9522,7 +9520,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bwm" = ( /obj/structure/closet/firecloset, /obj/random/maintenance/clean, @@ -9532,17 +9530,17 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bwn" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bwo" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, /turf/simulated/wall/r_wall, -/area/maintenance/research) +/area/crux/maintenance/research) "bwp" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -9560,7 +9558,7 @@ tag_interior_door = "fore_starboard_inner" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bwq" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -9574,13 +9572,13 @@ pixel_x = 24 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bwr" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /turf/simulated/wall/r_wall, -/area/maintenance/research) +/area/crux/maintenance/research) "bwt" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/structure/closet/crate/internals, @@ -9593,7 +9591,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bwu" = ( /obj/machinery/light/small{ dir = 8 @@ -9603,7 +9601,7 @@ }, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/reinforced/n20, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwv" = ( /obj/machinery/door/firedoor, /obj/structure/cable/cyan{ @@ -9617,12 +9615,12 @@ dir = 9 }, /turf/simulated/floor, -/area/maintenance/substation/atmospherics) +/area/crux/maintenance/substation/atmospherics) "bww" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwx" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/structure/extinguisher_cabinet{ @@ -9630,14 +9628,14 @@ }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwy" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4; name = "N2O to Mixing" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwz" = ( /obj/structure/sign/plaque/atmos{ dir = 1; @@ -9646,7 +9644,7 @@ /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -9656,13 +9654,13 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwC" = ( /obj/machinery/power/apc{ dir = 4; @@ -9675,7 +9673,7 @@ pixel_x = 36 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwE" = ( /obj/machinery/atmospherics/omni/filter{ tag_east = 2; @@ -9683,7 +9681,7 @@ tag_west = 6 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwF" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -9693,14 +9691,14 @@ }, /obj/machinery/computer/modular/preset/engineering, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwG" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/visible/yellow, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwH" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -9709,7 +9707,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwI" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -9718,7 +9716,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwJ" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -9728,26 +9726,26 @@ }, /obj/machinery/computer/atmos_alert, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwK" = ( /obj/structure/cable/cyan{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bwL" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 1; name = "Ports to Waste" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwM" = ( /obj/machinery/atmospherics/binary/pump/on{ name = "Air to Ports" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bwN" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -9764,7 +9762,7 @@ name = "grid checker info" }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bwO" = ( /obj/structure/cable{ icon_state = "0-4" @@ -9777,7 +9775,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bwP" = ( /obj/structure/cable{ icon_state = "1-4" @@ -9793,7 +9791,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bwQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9802,7 +9800,7 @@ name = "Engineering Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bwR" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9814,7 +9812,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bwU" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9826,7 +9824,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bwV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9840,7 +9838,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bwW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9855,7 +9853,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bwX" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -9870,24 +9868,24 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bwY" = ( /obj/structure/hygiene/shower{ dir = 8; pixel_x = -5 }, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bwZ" = ( /obj/structure/hygiene/shower{ dir = 4; pixel_x = 5 }, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bxa" = ( /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bxd" = ( /obj/structure/cable{ icon_state = "0-4" @@ -9898,7 +9896,7 @@ pixel_x = -24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bxe" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -9911,14 +9909,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bxf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "1-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bxg" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -9927,18 +9925,18 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bxh" = ( /turf/simulated/wall, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "bxi" = ( /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxj" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "bxk" = ( /obj/structure/closet/l3closet/janitor, /obj/effect/floor_decal/borderfloor{ @@ -9948,22 +9946,22 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bxl" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bxm" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bxn" = ( /obj/item/stool/padded, /obj/abstract/landmark/start{ name = "Janitor" }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bxo" = ( /obj/structure/table/steel, /obj/item/paper_bin{ @@ -9986,7 +9984,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bxp" = ( /obj/structure/closet/toolcloset, /obj/effect/floor_decal/borderfloor{ @@ -9996,10 +9994,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bxq" = ( /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bxr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10016,13 +10014,13 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bxs" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bxt" = ( /obj/structure/table/steel, /obj/item/camera_film{ @@ -10048,7 +10046,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bxw" = ( /obj/structure/table/steel, /obj/random/powercell, @@ -10056,20 +10054,20 @@ /obj/random/tool, /obj/random/tech_supply, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxx" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 }, /turf/simulated/wall/r_wall, -/area/maintenance/research) +/area/crux/maintenance/research) "bxz" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -10079,7 +10077,7 @@ id_tag = "fore_starboard_pump" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxA" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -10092,26 +10090,26 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/maintenance/research) +/area/crux/maintenance/research) "bxC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 5 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxD" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan, /obj/effect/floor_decal/industrial/warning, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxE" = ( /obj/machinery/atmospherics/valve{ dir = 4 @@ -10120,7 +10118,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxF" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 @@ -10131,56 +10129,56 @@ /obj/random/maintenance/research, /obj/random/technology_scanner, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bxG" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bxH" = ( /turf/simulated/wall/r_wall, -/area/research) +/area/crux/science) "bxI" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/research) +/area/crux/science) "bxJ" = ( /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor, -/area/surface/level_one) +/area/crux/outside/level_one) "bxK" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/shield_diffuser, /turf/simulated/floor, -/area/surface/level_one) +/area/crux/outside/level_one) "bxL" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor, -/area/surface/level_one) +/area/crux/outside/level_one) "bxM" = ( /obj/structure/cable/green{ icon_state = "2-4" }, /turf/simulated/floor, -/area/surface/level_one) +/area/crux/outside/level_one) "bxN" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor, -/area/surface/level_one) +/area/crux/outside/level_one) "bxO" = ( /obj/machinery/light/small, /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bxP" = ( /obj/machinery/button/access/exterior{ id_tag = "toxins_airlock"; @@ -10192,17 +10190,17 @@ icon_state = "1-8" }, /turf/simulated/floor, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bxQ" = ( /turf/simulated/floor, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bxR" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bxS" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -10222,7 +10220,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bxT" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -10241,7 +10239,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bxU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -10250,7 +10248,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bxV" = ( /obj/machinery/atmospherics/binary/pump, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -10260,13 +10258,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bxW" = ( /obj/machinery/atmospherics/pipe/cap/visible{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bxX" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -10287,7 +10285,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bxY" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -10297,7 +10295,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bxZ" = ( /obj/machinery/atmospherics/binary/pump{ dir = 1 @@ -10306,7 +10304,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bya" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10315,7 +10313,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "byb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10348,7 +10346,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "byc" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -10358,7 +10356,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "byd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10374,7 +10372,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bye" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/structure/disposalpipe/segment{ @@ -10382,7 +10380,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "byf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -10390,7 +10388,7 @@ /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "byg" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/structure/disposalpipe/segment{ @@ -10401,7 +10399,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "byh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -10420,7 +10418,7 @@ }, /obj/structure/cable/green, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "byi" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -10429,14 +10427,14 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "byj" = ( /obj/structure/cable, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bym" = ( /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "byn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -10444,18 +10442,18 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "byq" = ( /obj/machinery/light, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "byr" = ( /obj/machinery/light/small, /turf/simulated/floor/tiled/dark, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "byv" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "byw" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -10468,14 +10466,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "byx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "byy" = ( /obj/structure/closet/jcloset, /obj/structure/extinguisher_cabinet{ @@ -10492,11 +10490,11 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "byz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "byA" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -10505,13 +10503,13 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/janitor) +/area/crux/habitation/janitor) "byB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "byC" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -10527,7 +10525,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "byD" = ( /obj/structure/closet/toolcloset, /obj/machinery/alarm{ @@ -10541,7 +10539,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "byE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10557,7 +10555,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "byF" = ( /obj/structure/table/steel, /obj/item/paper_bin{ @@ -10590,39 +10588,39 @@ /obj/item/storage/fancy/crayons, /obj/item/storage/fancy/crayons, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "byG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byH" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Firefighting Equipment" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byI" = ( /obj/machinery/portable_atmospherics/canister, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byJ" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byK" = ( /obj/machinery/atmospherics/portables_connector, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byL" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/wall/r_wall, -/area/maintenance/research) +/area/crux/maintenance/research) "byM" = ( /obj/machinery/door/airlock/external{ id_tag = "fore_starboard_inner"; @@ -10630,25 +10628,25 @@ name = "Internal Airlock Access" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byO" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byP" = ( /obj/machinery/atmospherics/valve/digital/open{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byT" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -10660,7 +10658,7 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "byU" = ( /obj/item/radio/intercom{ dir = 8; @@ -10674,7 +10672,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "byV" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -10683,26 +10681,26 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "byW" = ( /turf/simulated/wall, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "byX" = ( /obj/machinery/door/blast/regular{ id_tag = "toxinsdriver"; name = "Toxins Launcher Bay Door" }, /turf/simulated/floor, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "byY" = ( /obj/structure/sign/warning/bomb_range, /turf/simulated/wall, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "byZ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bza" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -10710,7 +10708,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bzb" = ( /obj/machinery/door/airlock/external{ id_tag = "toxins_outer"; @@ -10718,7 +10716,7 @@ name = "Toxins External Access" }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bzc" = ( /obj/machinery/status_display{ pixel_y = -32 @@ -10728,7 +10726,7 @@ }, /obj/structure/tank_rack, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bzd" = ( /obj/structure/table, /obj/machinery/newscaster{ @@ -10744,7 +10742,7 @@ pixel_y = 3 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bze" = ( /obj/structure/table, /obj/structure/fireaxecabinet{ @@ -10760,16 +10758,14 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bzf" = ( /obj/structure/table, /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, +/obj/item/stack/material/sheet/mapped/steel/fifty, /obj/item/stack/material/pane/mapped/glass{ amount = 50 }, @@ -10782,7 +10778,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bzg" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -10792,14 +10788,14 @@ pixel_y = -25 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bzh" = ( /obj/item/stool/padded, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bzi" = ( /turf/simulated/wall, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bzj" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 8 @@ -10807,11 +10803,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bzk" = ( /obj/structure/sign/warning/nosmoking_2, /turf/simulated/wall/r_wall, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bzl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -10820,7 +10816,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bzm" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -10829,15 +10825,15 @@ name = "Engineering Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bzo" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bzp" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bzq" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -10846,7 +10842,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bzr" = ( /obj/structure/table/steel, /obj/random/powercell, @@ -10860,20 +10856,20 @@ }, /obj/random/tool/power, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bzs" = ( /obj/structure/closet/toolcloset, /obj/random/tank, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bzt" = ( /obj/structure/closet/toolcloset, /obj/item/flashlight/maglight, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bzu" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bzv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/alarm{ @@ -10887,12 +10883,12 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bzw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bzx" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -10901,7 +10897,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bzy" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -10913,7 +10909,7 @@ name = "First-Aid Station" }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "bzz" = ( /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -10923,7 +10919,7 @@ /obj/random/bomb_supply, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzA" = ( /obj/structure/closet/jcloset, /obj/machinery/firealarm{ @@ -10938,26 +10934,26 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bzB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bzC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bzD" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bzE" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -10970,7 +10966,7 @@ pixel_x = 11 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bzF" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/light{ @@ -10983,13 +10979,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bzG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bzH" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11006,7 +11002,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bzI" = ( /obj/structure/table/steel, /obj/item/hand_labeler, @@ -11018,14 +11014,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bzJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzK" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -11038,14 +11034,14 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzL" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -11054,7 +11050,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11063,7 +11059,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11074,7 +11070,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzP" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -11084,7 +11080,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzQ" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/manifold/hidden{ @@ -11097,7 +11093,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzR" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/manifold/hidden, @@ -11108,7 +11104,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzS" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/effect/floor_decal/industrial/warning, @@ -11125,7 +11121,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzT" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -11147,7 +11143,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzU" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -11163,7 +11159,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzV" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -11184,7 +11180,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -11193,7 +11189,7 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -11204,7 +11200,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bzZ" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -11219,7 +11215,7 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bAa" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -11232,7 +11228,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/research) +/area/crux/science) "bAb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11247,7 +11243,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bAc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -11262,7 +11258,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bAd" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -11274,7 +11270,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bAe" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -11283,7 +11279,7 @@ pixel_x = -32 }, /turf/simulated/floor, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bAf" = ( /obj/machinery/computer/modular/telescreen/preset/security{ desc = "Used for watching the test chamber."; @@ -11309,7 +11305,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bAg" = ( /obj/machinery/computer/modular/telescreen/preset/security{ desc = "Used for watching the test chamber."; @@ -11335,7 +11331,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bAh" = ( /obj/machinery/computer/modular/telescreen/preset/security, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -11355,7 +11351,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bAi" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ id_tag = "toxins_pump" @@ -11376,10 +11372,10 @@ pixel_x = 25 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bAk" = ( /turf/simulated/wall/r_wall, -/area/engineering/storage) +/area/crux/engineering/storage) "bAl" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -11394,7 +11390,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAm" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/yellow{ dir = 4 @@ -11406,7 +11402,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -11415,7 +11411,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bAo" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -11438,7 +11434,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bAp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11450,7 +11446,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAq" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -11471,7 +11467,7 @@ /obj/item/airlock_brace, /obj/item/airlock_brace, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bAr" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -11481,7 +11477,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bAs" = ( /obj/structure/cable/cyan{ icon_state = "1-4" @@ -11489,16 +11485,16 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bAt" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/fabricator/pipe, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bAu" = ( /obj/machinery/fabricator/pipe/disposal, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bAv" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -11509,7 +11505,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/substation/engineering) +/area/crux/maintenance/substation/engineering) "bAw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11523,7 +11519,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11544,7 +11540,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -11556,7 +11552,7 @@ pixel_y = 22 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAz" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -11571,7 +11567,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -11586,7 +11582,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAB" = ( /obj/structure/sign/warning/high_voltage{ pixel_y = 32 @@ -11599,12 +11595,12 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bAD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11614,11 +11610,11 @@ name = "Security automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bAE" = ( /obj/machinery/atmospherics/valve/digital/open, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAF" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /obj/machinery/alarm{ @@ -11626,12 +11622,12 @@ pixel_x = 22 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -11641,7 +11637,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/cable{ @@ -11654,7 +11650,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -11669,7 +11665,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAL" = ( /obj/structure/cable{ icon_state = "4-8" @@ -11682,7 +11678,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAN" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/machinery/atmospherics/binary/pump/on{ @@ -11691,7 +11687,7 @@ target_pressure = 301.325 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bAO" = ( /obj/machinery/light/small{ dir = 8 @@ -11704,7 +11700,7 @@ }, /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAP" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11716,11 +11712,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bAQ" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bAR" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -11730,12 +11726,12 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bAS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bAT" = ( /obj/machinery/firealarm{ dir = 4; @@ -11748,11 +11744,11 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bAU" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bAV" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/window/eastright{ @@ -11763,18 +11759,18 @@ health = 1e+006 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bAW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bAX" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /obj/structure/janitorialcart, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bAY" = ( /obj/structure/mopbucket, /obj/item/mop, @@ -11782,7 +11778,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bAZ" = ( /obj/structure/mopbucket, /obj/item/mop, @@ -11799,7 +11795,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bBa" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/floor_decal/borderfloor{ @@ -11809,7 +11805,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bBb" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -11818,7 +11814,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bBc" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11826,12 +11822,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bBd" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/yellow/bordercorner, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bBe" = ( /obj/structure/table/steel, /obj/item/magnetic_tape/random, @@ -11848,29 +11844,29 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bBf" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBi" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBj" = ( /obj/random/maintenance/research, /obj/random/maintenance/research, @@ -11880,7 +11876,7 @@ /obj/random/tech_supply, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBk" = ( /obj/structure/closet, /obj/item/flashlight, @@ -11890,10 +11886,10 @@ /obj/random/maintenance/clean, /obj/random/maintenance/research, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBl" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bBm" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -11906,7 +11902,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBn" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -11919,7 +11915,7 @@ target_pressure = 200 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBo" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -11931,7 +11927,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBp" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -11943,7 +11939,7 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBq" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -11952,13 +11948,13 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bBr" = ( /turf/simulated/wall, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "bBs" = ( /turf/simulated/wall, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bBt" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -28 @@ -11970,12 +11966,12 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bBu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bBv" = ( /obj/machinery/light{ dir = 4 @@ -11987,13 +11983,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bBw" = ( /turf/simulated/wall/r_wall, -/area/rnd/storage) +/area/crux/science/storage) "bBx" = ( /turf/simulated/wall, -/area/rnd/storage) +/area/crux/science/storage) "bBy" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/airlock_sensor{ @@ -12003,7 +11999,7 @@ dir = 4 }, /turf/simulated/floor, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bBz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/window/westleft{ @@ -12017,7 +12013,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bBA" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -12026,7 +12022,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bBB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/hologram/holopad, @@ -12041,7 +12037,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bBC" = ( /obj/machinery/power/apc{ dir = 4; @@ -12055,7 +12051,7 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bBD" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/airlock/external{ @@ -12064,21 +12060,21 @@ name = "Toxins External Access" }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bBE" = ( /turf/simulated/wall/r_wall, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bBF" = ( /obj/machinery/light/small{ dir = 8 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bBG" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bBH" = ( /obj/machinery/button/access/exterior{ id_tag = "eng_port_airlock"; @@ -12092,7 +12088,7 @@ pixel_x = 32 }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bBJ" = ( /obj/machinery/shield_generator, /obj/effect/floor_decal/industrial/outline/yellow, @@ -12100,12 +12096,12 @@ dir = 1 }, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bBK" = ( /obj/machinery/shield_generator, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bBL" = ( /obj/machinery/shieldwallgen, /obj/effect/floor_decal/industrial/outline/yellow, @@ -12113,12 +12109,12 @@ c_tag = "ENG - Hard Storage" }, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bBM" = ( /obj/machinery/shieldgen, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bBN" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/floor_decal/industrial/outline/yellow, @@ -12126,7 +12122,7 @@ dir = 1 }, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bBO" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -12147,13 +12143,13 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bBP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bBQ" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -12165,7 +12161,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bBR" = ( /obj/structure/table, /obj/machinery/network/requests_console{ @@ -12180,7 +12176,7 @@ /obj/item/paint_sprayer, /obj/machinery/light/spot, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bBS" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -12189,7 +12185,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bBT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -12199,7 +12195,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bBU" = ( /obj/effect/floor_decal/corner/white/diagonal{ dir = 4 @@ -12220,19 +12216,19 @@ use_power = 1 }, /turf/simulated/floor/reinforced/n20, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bBV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bBW" = ( /obj/structure/disposalpipe/segment, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bBX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/structure/cable/green{ @@ -12245,20 +12241,20 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bBY" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/red, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bBZ" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bCa" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -12275,7 +12271,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bCb" = ( /obj/machinery/status_display{ pixel_y = -32 @@ -12287,13 +12283,13 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bCc" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bCd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -12310,27 +12306,27 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bCe" = ( /obj/structure/cable/green{ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bCf" = ( /turf/simulated/wall, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bCg" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCh" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCi" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -12340,12 +12336,12 @@ /obj/random/maintenance/engineering, /obj/random/technology_scanner, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCj" = ( /obj/random/toolbox, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -12355,7 +12351,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -12366,13 +12362,13 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCm" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCn" = ( /obj/structure/rack{ dir = 1 @@ -12382,14 +12378,14 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCo" = ( /obj/machinery/door/airlock/maintenance{ name = "Firefighting Equipment" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCp" = ( /obj/structure/closet, /obj/item/clothing/head/ushanka, @@ -12397,7 +12393,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCq" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -12412,7 +12408,7 @@ dir = 6 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -12420,7 +12416,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bCs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -12428,26 +12424,26 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bCt" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bCu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/north) +/area/crux/hallway/primary/seconddeck/north) "bCv" = ( /obj/structure/closet/crate/freezer/rations, /obj/random/action_figure, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bCw" = ( /obj/effect/floor_decal/industrial/loading{ dir = 1 @@ -12459,7 +12455,7 @@ location = "Janitor" }, /turf/simulated/floor/tiled, -/area/janitor) +/area/crux/habitation/janitor) "bCx" = ( /obj/machinery/door/airlock/maintenance{ name = "Custodial Maintenance" @@ -12468,7 +12464,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/janitor) +/area/crux/habitation/janitor) "bCy" = ( /obj/structure/cable{ icon_state = "1-2" @@ -12478,36 +12474,36 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/storage/auxillary) +/area/crux/storage/auxillary) "bCz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bCA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bCB" = ( /obj/structure/table, /obj/item/stack/material/panel/mapped/plastic, /obj/item/wrench, /obj/item/weldingtool/hugetank, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bCC" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bCD" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bCE" = ( /obj/item/rig/hazmat/equipped, /obj/structure/window/reinforced{ @@ -12537,7 +12533,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bCG" = ( /obj/structure/table/reinforced, /obj/machinery/faxmachine, @@ -12551,7 +12547,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bCH" = ( /obj/structure/filing_cabinet/chestdrawer, /obj/machinery/button/alternate/door{ @@ -12579,7 +12575,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bCI" = ( /obj/structure/table/reinforced, /obj/item/stock_parts/circuitboard/teleporter, @@ -12608,17 +12604,17 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bCJ" = ( /turf/simulated/wall, -/area/research) +/area/crux/science) "bCK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Research Maintenance Access" }, /turf/simulated/floor/plating, -/area/research) +/area/crux/science) "bCL" = ( /obj/structure/closet/secure_closet/scientist, /obj/item/radio/intercom{ @@ -12633,7 +12629,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "bCM" = ( /obj/machinery/alarm{ pixel_y = 25 @@ -12648,21 +12644,21 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "bCO" = ( /obj/structure/hygiene/toilet, /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bCP" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bCQ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -12678,7 +12674,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bCR" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -12691,7 +12687,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bCS" = ( /obj/machinery/alarm{ dir = 8; @@ -12704,7 +12700,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bCT" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -12712,17 +12708,17 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bCU" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bCV" = ( /obj/machinery/portable_atmospherics/canister/hydrogen, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bCW" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -12730,12 +12726,12 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bCX" = ( /obj/machinery/portable_atmospherics/canister/sleeping_agent, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bCY" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -12743,14 +12739,14 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bCZ" = ( /obj/machinery/mass_driver{ dir = 1; id_tag = "toxinsdriver" }, /turf/simulated/floor, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDa" = ( /obj/machinery/door/firedoor, /obj/structure/window/reinforced{ @@ -12768,7 +12764,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDb" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -12783,7 +12779,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -12794,7 +12790,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 @@ -12811,7 +12807,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDe" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 4; @@ -12827,7 +12823,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/effect/floor_decal/industrial/warning/full, @@ -12835,7 +12831,7 @@ pixel_y = -30 }, /turf/simulated/floor/plating, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDg" = ( /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/machinery/atmospherics/portables_connector{ @@ -12846,7 +12842,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bDh" = ( /obj/machinery/door/airlock/external{ id_tag = "eng_port_outer"; @@ -12854,31 +12850,31 @@ name = "Engineering External Access" }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bDi" = ( /turf/simulated/wall, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bDj" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bDk" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/shieldwallgen, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bDl" = ( /obj/machinery/shieldgen, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bDm" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bDn" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -12898,12 +12894,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bDo" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bDp" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -12911,7 +12907,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bDq" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -12926,17 +12922,17 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bDr" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bDs" = ( /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bDt" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/warning, @@ -12948,10 +12944,10 @@ /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bDu" = ( /turf/simulated/wall, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bDv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -12961,7 +12957,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bDw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/machinery/door/firedoor, @@ -12969,20 +12965,20 @@ name = "Engineering Monitoring Room" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bDx" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bDy" = ( /turf/simulated/wall, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bDz" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bDA" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -12991,7 +12987,7 @@ name = "Engineering EVA Storage" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bDB" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -12999,7 +12995,7 @@ icon_state = "1-2" }, /turf/simulated/floor, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bDC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/floor_decal/industrial/warning/corner{ @@ -13008,19 +13004,19 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bDD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bDF" = ( /obj/random/tool, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bDG" = ( /turf/simulated/wall, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bDH" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -13030,7 +13026,7 @@ name = "Emergency Storage" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bDI" = ( /obj/structure/rack{ dir = 1 @@ -13044,7 +13040,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bDJ" = ( /obj/structure/table/steel, /obj/random/tech_supply, @@ -13054,7 +13050,7 @@ /obj/random/maintenance/engineering, /obj/random/tool/power, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bDK" = ( /obj/structure/closet/wardrobe/grey, /obj/item/storage/backpack, @@ -13063,11 +13059,11 @@ /obj/random/maintenance/security, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bDL" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bDM" = ( /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ @@ -13081,7 +13077,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bDN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13089,7 +13085,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bDO" = ( /obj/item/radio/intercom{ dir = 4; @@ -13103,7 +13099,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bDP" = ( /obj/structure/grille/broken, /obj/item/stack/material/rods, @@ -13115,12 +13111,12 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -13132,7 +13128,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -13143,7 +13139,7 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13155,7 +13151,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13170,7 +13166,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13183,7 +13179,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13202,7 +13198,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13217,7 +13213,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDY" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -13234,13 +13230,13 @@ icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bDZ" = ( /turf/simulated/wall, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bEa" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bEb" = ( /obj/machinery/power/apc{ dir = 8; @@ -13260,21 +13256,21 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bEc" = ( /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bEd" = ( /mob/living/simple_animal/slime/kendrick, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bEe" = ( /obj/structure/bed/chair/office/light, /obj/abstract/landmark/start{ name = "Research Director" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bEf" = ( /obj/structure/table/reinforced, /obj/item/paicard{ @@ -13292,25 +13288,25 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bEg" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "rdoffice" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bEh" = ( /obj/machinery/vending/cola, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bEj" = ( /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bEk" = ( /obj/machinery/vending/snack, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bEl" = ( /obj/machinery/disposal, /obj/structure/extinguisher_cabinet{ @@ -13322,22 +13318,22 @@ }, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bEn" = ( /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "bEp" = ( /obj/machinery/door/airlock{ name = "Unit 1" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bEq" = ( /obj/machinery/door/airlock{ name = "Unit 2" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bEr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13352,7 +13348,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bEs" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 4 @@ -13361,11 +13357,11 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bEt" = ( /obj/structure/sign/warning/compressed_gas, /turf/simulated/wall/r_wall, -/area/rnd/storage) +/area/crux/science/storage) "bEu" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -13373,30 +13369,30 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bEv" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bEw" = ( /obj/machinery/portable_atmospherics/canister/hydrogen, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bEx" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bEy" = ( /obj/machinery/portable_atmospherics/canister/sleeping_agent, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bEz" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -13406,10 +13402,10 @@ pixel_x = 21 }, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bEA" = ( /turf/simulated/wall/r_wall, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bEB" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -13419,7 +13415,7 @@ name = "Security Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/security) +/area/crux/maintenance/substation/security) "bEC" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; @@ -13433,7 +13429,7 @@ pixel_x = -24 }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bED" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -13442,7 +13438,7 @@ dir = 1 }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bEE" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -13455,7 +13451,7 @@ dir = 4 }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bEF" = ( /obj/machinery/alarm{ dir = 4; @@ -13463,21 +13459,21 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bEG" = ( /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bEH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bEI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bEJ" = ( /obj/machinery/power/apc{ dir = 4; @@ -13493,7 +13489,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bEK" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -13511,7 +13507,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bEL" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -13521,7 +13517,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bEM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13530,7 +13526,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bEN" = ( /obj/machinery/hologram/holopad, /obj/structure/cable/green{ @@ -13545,25 +13541,25 @@ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bEO" = ( /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bEP" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bEQ" = ( /obj/machinery/mech_recharger, /turf/simulated/floor/tiled/techmaint, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bER" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bES" = ( /obj/machinery/computer/modular/preset/engineering{ dir = 4 @@ -13580,7 +13576,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bET" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13596,7 +13592,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bEU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -13606,10 +13602,10 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bEV" = ( /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bEW" = ( /obj/machinery/computer/modular/preset/engineering{ dir = 8 @@ -13624,12 +13620,12 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bEX" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bEY" = ( /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, @@ -13651,7 +13647,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bEZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -13669,7 +13665,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bFa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -13684,7 +13680,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bFb" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -13696,7 +13692,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bFc" = ( /obj/item/tank/jetpack/carbondioxide, /obj/structure/window/reinforced{ @@ -13716,7 +13712,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bFd" = ( /obj/machinery/door/firedoor, /obj/machinery/doppler_array, @@ -13729,7 +13725,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor/tiled/dark, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bFe" = ( /obj/structure/closet, /obj/item/clothing/glasses/welding, @@ -13744,7 +13740,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFf" = ( /obj/machinery/atmospherics/valve{ dir = 4 @@ -13753,7 +13749,7 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 1 @@ -13763,12 +13759,12 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFh" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bFi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13777,18 +13773,18 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFj" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bFk" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bFl" = ( /obj/structure/closet/hydrant{ pixel_y = 32 @@ -13800,22 +13796,22 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bFm" = ( /obj/structure/closet, /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFn" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFo" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -13828,7 +13824,7 @@ }, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13840,7 +13836,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFr" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -13854,7 +13850,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bFs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13873,7 +13869,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bFt" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, @@ -13884,7 +13880,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bFu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13900,7 +13896,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bFv" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -13914,7 +13910,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13927,7 +13923,7 @@ }, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -13943,7 +13939,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -13951,7 +13947,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -13963,7 +13959,7 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -13977,10 +13973,10 @@ /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFB" = ( /turf/simulated/wall, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bFC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -13996,7 +13992,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFD" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -14008,13 +14004,13 @@ pixel_x = 32 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bFE" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Research Substation Bypass" }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bFG" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -14033,7 +14029,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bFH" = ( /obj/machinery/computer/modular/preset/aislot/sysadmin{ dir = 4 @@ -14042,7 +14038,7 @@ pixel_x = -28 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bFI" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -14057,14 +14053,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bFJ" = ( /obj/structure/flora/pottedplant/mysterious, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bFK" = ( /obj/structure/table/reinforced, /obj/machinery/computer/modular/preset/cardslot/command, @@ -14072,7 +14068,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bFL" = ( /obj/structure/table/reinforced, /obj/item/folder, @@ -14082,22 +14078,22 @@ }, /obj/item/clothing/glasses/welding/superior, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bFM" = ( /turf/simulated/wall, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bFN" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bFO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bFP" = ( /obj/machinery/hologram/holopad{ holopad_id = "Research Break Room" @@ -14106,7 +14102,7 @@ dir = 10 }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bFQ" = ( /obj/machinery/alarm{ dir = 8; @@ -14114,7 +14110,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bFT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -14130,7 +14126,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "bFU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -14142,7 +14138,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/toxins_launch) +/area/crux/science/toxins_launch) "bFV" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -14159,7 +14155,7 @@ }, /obj/machinery/computer/modular/telescreen/preset/security, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bFW" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -14186,10 +14182,10 @@ pixel_y = 30 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bFX" = ( /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bFY" = ( /obj/structure/window/basic, /obj/structure/undies_wardrobe, @@ -14203,7 +14199,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bFZ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -14218,7 +14214,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bGa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14234,7 +14230,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bGb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -14250,7 +14246,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bGc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14268,7 +14264,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bGd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14278,7 +14274,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bGe" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -14290,7 +14286,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bGf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -14302,7 +14298,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bGg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -14311,14 +14307,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bGh" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bGi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14336,7 +14332,7 @@ dir = 6 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bGj" = ( /obj/machinery/newscaster{ pixel_y = 30 @@ -14348,7 +14344,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -14363,7 +14359,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -14381,7 +14377,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14391,20 +14387,20 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bGn" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGo" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGp" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 6 @@ -14422,7 +14418,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGq" = ( /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 1 @@ -14434,15 +14430,15 @@ c_tag = "SCI - Toxins Lab 1" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGr" = ( /obj/machinery/atmospherics/portables_connector, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bGs" = ( /turf/simulated/wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bGt" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; @@ -14460,12 +14456,12 @@ tag_interior_door = "eng_port_inner" }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bGu" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bGv" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -14475,7 +14471,7 @@ dir = 6 }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bGw" = ( /obj/machinery/firealarm{ dir = 8; @@ -14483,7 +14479,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bGx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -14493,7 +14489,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bGy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14503,7 +14499,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bGz" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -14511,7 +14507,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bGA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14524,7 +14520,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bGB" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -14541,7 +14537,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bGC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14559,7 +14555,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bGD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -14571,7 +14567,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bGE" = ( /obj/structure/table/steel, /obj/machinery/computer/modular/telescreen/preset/entertainment{ @@ -14586,7 +14582,7 @@ }, /obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "bGF" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -14602,13 +14598,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bGG" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bGH" = ( /obj/structure/table/reinforced, /obj/effect/floor_decal/industrial/warning{ @@ -14619,7 +14615,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bGI" = ( /obj/machinery/light{ dir = 8 @@ -14634,7 +14630,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bGJ" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -14646,7 +14642,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bGK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/machinery/hologram/holopad, @@ -14658,13 +14654,13 @@ }, /mob/living/simple_animal/opossum/poppy, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bGL" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bGM" = ( /obj/machinery/computer/central_atmos{ dir = 8 @@ -14679,7 +14675,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bGN" = ( /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, @@ -14696,7 +14692,7 @@ name = "Engineering Suits" }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bGO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -14707,11 +14703,11 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bGP" = ( /obj/machinery/suit_cycler/engineering, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bGQ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable/green{ @@ -14724,7 +14720,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bGR" = ( /obj/item/tank/jetpack/carbondioxide, /obj/structure/window/reinforced{ @@ -14742,14 +14738,14 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bGS" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bGT" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 @@ -14757,7 +14753,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bGU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -14769,13 +14765,13 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bGV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 5 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bGW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -14784,27 +14780,27 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bGX" = ( /obj/machinery/light/small{ dir = 8 }, /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bGY" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bGZ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bHa" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bHb" = ( /obj/structure/disposalpipe/segment, /obj/machinery/ai_status_display{ @@ -14817,7 +14813,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bHc" = ( /obj/structure/cable{ icon_state = "1-2" @@ -14825,7 +14821,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bHd" = ( /obj/machinery/status_display{ pixel_x = 32 @@ -14833,17 +14829,17 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bHe" = ( /obj/structure/closet/emcloset, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bHf" = ( /obj/structure/reagent_dispensers/watertank, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bHg" = ( /obj/item/storage/box/lights/mixed, /obj/structure/table/steel, @@ -14857,12 +14853,12 @@ /obj/random/technology_scanner, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bHh" = ( /obj/machinery/floodlight, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bHi" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -14877,7 +14873,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bHj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -14889,7 +14885,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bHk" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -14899,7 +14895,7 @@ name = "Science Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bHl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -14911,7 +14907,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bHm" = ( /obj/structure/cable{ icon_state = "0-8" @@ -14923,7 +14919,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bHn" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -14935,7 +14931,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bHo" = ( /obj/machinery/computer/robotics{ dir = 4 @@ -14945,7 +14941,7 @@ pixel_x = -22 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bHp" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -14957,7 +14953,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bHq" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -14966,7 +14962,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bHr" = ( /obj/structure/bed/chair{ dir = 1 @@ -14975,7 +14971,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bHs" = ( /obj/machinery/papershredder, /obj/effect/floor_decal/borderfloorwhite{ @@ -14985,18 +14981,18 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bHt" = ( /obj/machinery/camera/network/research{ c_tag = "SCI - Break Room"; dir = 4 }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bHx" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bHy" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -15012,7 +15008,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/storage) +/area/crux/science/storage) "bHC" = ( /obj/structure/hygiene/sink{ dir = 8; @@ -15023,7 +15019,7 @@ pixel_x = -28 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bHD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -15033,13 +15029,13 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bHE" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bHF" = ( /obj/structure/hygiene/shower{ dir = 8; @@ -15051,7 +15047,7 @@ }, /obj/structure/curtain/open/shower, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bHG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -15062,7 +15058,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bHH" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15070,7 +15066,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bHI" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -15086,18 +15082,18 @@ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bHJ" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bHK" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bHL" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/closet/firecloset, @@ -15105,7 +15101,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rnd/storage) +/area/crux/science/storage) "bHN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -15115,30 +15111,30 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bHO" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bHP" = ( /obj/machinery/atmospherics/binary/pump{ dir = 1; name = "Heated to Waste" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bHQ" = ( /obj/effect/floor_decal/industrial/warning/full, /obj/machinery/atmospherics/binary/pump{ name = "Waste to Scrubbers" }, /turf/simulated/floor/plating, -/area/rnd/mixing) +/area/crux/science/mixing) "bHR" = ( /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bHS" = ( /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -15146,26 +15142,26 @@ /obj/machinery/portable_atmospherics/powered/pump, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bHT" = ( /obj/machinery/atmospherics/binary/pump{ dir = 1; name = "Heater to Waste" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bHU" = ( /obj/machinery/atmospherics/binary/pump, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bHW" = ( /turf/simulated/wall/r_wall, -/area/engineering/engine_waste) +/area/crux/engineering/engine_waste) "bHX" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bHY" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "eng_port_inner"; @@ -15173,7 +15169,7 @@ name = "Engineering Internal Access" }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bHZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/airlock/external/glass{ @@ -15182,17 +15178,17 @@ name = "Engineering Internal Access" }, /turf/simulated/floor, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bIa" = ( /obj/machinery/emitter, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bIb" = ( /obj/structure/closet/crate/solar, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bIc" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -15200,12 +15196,12 @@ }, /obj/machinery/floodlight, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bId" = ( /obj/machinery/port_gen/pacman, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/engineering/storage) +/area/crux/engineering/storage) "bIe" = ( /obj/machinery/space_heater, /obj/effect/floor_decal/industrial/outline/yellow, @@ -15213,12 +15209,12 @@ dir = 1 }, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bIf" = ( /obj/structure/tank_rack/hydrogen, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bIg" = ( /obj/machinery/alarm{ dir = 1; @@ -15229,7 +15225,7 @@ pixel_x = -32 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIh" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -15238,13 +15234,13 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIj" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15259,14 +15255,14 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIk" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIl" = ( /obj/structure/table/reinforced, /obj/random/tech_supply, @@ -15275,7 +15271,7 @@ /obj/machinery/recharger, /obj/random/tech_supply, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIm" = ( /obj/item/t_scanner, /obj/structure/table/steel, @@ -15285,7 +15281,7 @@ }, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bIn" = ( /obj/machinery/computer/modular/preset/engineering/rcon{ dir = 4 @@ -15301,17 +15297,17 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bIo" = ( /obj/machinery/atmospherics/valve/open, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bIq" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -15321,7 +15317,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bIr" = ( /obj/machinery/computer/atmos_alert{ dir = 8 @@ -15338,7 +15334,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bIs" = ( /obj/item/clothing/shoes/magboots, /obj/item/clothing/mask/breath, @@ -15362,7 +15358,7 @@ pixel_x = -21 }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bIt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -15377,7 +15373,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bIu" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -15396,7 +15392,7 @@ /obj/item/suit_cooling_unit, /obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bIv" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -15411,7 +15407,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bIw" = ( /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/atmos, @@ -15431,17 +15427,17 @@ name = "Atmospherics Suits" }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bIx" = ( /turf/simulated/wall, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bIy" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bIz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -15452,7 +15448,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bIA" = ( /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, @@ -15462,7 +15458,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bIB" = ( /obj/structure/cable{ icon_state = "1-4" @@ -15472,7 +15468,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bIC" = ( /obj/machinery/power/apc{ dir = 4; @@ -15484,19 +15480,19 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bID" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bIE" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bIF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -15509,7 +15505,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bIG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -15521,7 +15517,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bIH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -15533,14 +15529,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bII" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bIJ" = ( /obj/structure/cable{ icon_state = "0-4" @@ -15549,7 +15545,7 @@ icon_state = "16-0" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bIK" = ( /obj/structure/cable{ icon_state = "2-4" @@ -15559,14 +15555,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bIL" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bIM" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -15576,7 +15572,7 @@ name = "Emergency Storage" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bIN" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -15591,7 +15587,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bIO" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -15605,7 +15601,7 @@ pixel_x = -24 }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bIP" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -15621,13 +15617,13 @@ icon_state = "0-2" }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bIQ" = ( /obj/structure/cable/green{ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bIR" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -15637,7 +15633,7 @@ pixel_x = -30 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bIS" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -15650,7 +15646,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bIT" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -15666,7 +15662,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bIU" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -15680,12 +15676,12 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bIV" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bIW" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -15696,7 +15692,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bIX" = ( /obj/structure/table/glass, /obj/machinery/recharger, @@ -15710,7 +15706,7 @@ pixel_y = -32 }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bIZ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -15720,7 +15716,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bJd" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -15738,7 +15734,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bJe" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -15757,7 +15753,7 @@ dir = 5 }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bJf" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -15771,7 +15767,7 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bJg" = ( /obj/machinery/door/window/westleft{ name = "Shower" @@ -15783,7 +15779,7 @@ }, /obj/structure/curtain/open/shower, /turf/simulated/floor/tiled/freezer, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bJh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -15795,7 +15791,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bJi" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15808,12 +15804,12 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bJj" = ( /obj/machinery/portable_atmospherics/powered/scrubber/huge, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bJk" = ( /obj/machinery/camera/network/research{ c_tag = "SCI - Toxins Gas Storage"; @@ -15824,21 +15820,21 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bJl" = ( /obj/machinery/computer/area_atmos{ dir = 1 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bJm" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/tiled/dark, -/area/rnd/storage) +/area/crux/science/storage) "bJn" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -15855,7 +15851,7 @@ pixel_x = -30 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bJo" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -15865,7 +15861,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bJp" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 10 @@ -15874,19 +15870,19 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bJq" = ( /obj/machinery/atmospherics/pipe/manifold/visible/purple, /obj/machinery/meter, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bJr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /obj/machinery/atmospherics/pipe/simple/visible/purple{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bJs" = ( /obj/machinery/atmospherics/unary/heat_exchanger{ dir = 8 @@ -15902,7 +15898,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bJt" = ( /obj/machinery/atmospherics/unary/heat_exchanger{ dir = 4 @@ -15918,19 +15914,19 @@ health = 1e+006 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bJu" = ( /obj/machinery/atmospherics/pipe/manifold/visible/purple{ dir = 4 }, /obj/structure/closet/firecloset, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bJv" = ( /obj/effect/wingrille_spawn/reinforced_borosilicate, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/rnd/mixing) +/area/crux/science/mixing) "bJB" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -15941,7 +15937,7 @@ pixel_x = -32 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bJC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -15952,7 +15948,7 @@ /obj/structure/table/steel, /obj/item/storage/toolbox/electrical, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bJD" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -15964,7 +15960,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bJE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -15973,7 +15969,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bJF" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -15982,7 +15978,7 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bJG" = ( /obj/machinery/button/access/interior{ id_tag = "eng_port_airlock"; @@ -15998,22 +15994,22 @@ pixel_x = 28 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bJI" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/floodlight, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bJJ" = ( /obj/structure/closet/crate, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bJK" = ( /obj/machinery/space_heater, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "bJL" = ( /obj/structure/closet/crate, /obj/item/stock_parts/circuitboard/smes, @@ -16027,24 +16023,24 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/light, /turf/simulated/floor/plating, -/area/engineering/storage) +/area/crux/engineering/storage) "bJM" = ( /turf/simulated/wall/r_wall, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bJN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ name = "Engineering Hallway" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bJO" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bJP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -16055,12 +16051,12 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bJQ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bJR" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, @@ -16082,7 +16078,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bJS" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16093,7 +16089,7 @@ sort_type = "Atmospherics" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bJT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/machinery/door/window/southright{ @@ -16102,14 +16098,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bJU" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bJV" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, @@ -16127,7 +16123,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bJW" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -16136,7 +16132,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bJX" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -16150,7 +16146,7 @@ /obj/item/airlock_brace, /obj/item/airlock_brace, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bJY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -16169,7 +16165,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bJZ" = ( /obj/item/clothing/shoes/magboots, /obj/item/clothing/suit/space/void/atmos, @@ -16187,7 +16183,7 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bKa" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -16199,7 +16195,7 @@ /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bKb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -16211,12 +16207,12 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bKc" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bKd" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/machinery/atmospherics/unary/vent_scrubber/on, @@ -16225,36 +16221,36 @@ }, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bKe" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/machinery/status_display{ pixel_x = 32 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bKf" = ( /obj/structure/table, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bKg" = ( /obj/structure/table, /turf/simulated/floor/tiled, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bKh" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bKi" = ( /obj/structure/cable, /obj/structure/cable{ icon_state = "16-0" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fp_emergency) +/area/crux/storage/emergency/sd_fport) "bKj" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bKk" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -16264,7 +16260,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bKl" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -16273,14 +16269,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bKm" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bKn" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -16289,12 +16285,12 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bKo" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bKp" = ( /obj/structure/closet/hydrant{ pixel_x = 32 @@ -16304,7 +16300,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/fs_emergency) +/area/crux/storage/emergency/sd_fstar) "bKq" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -16320,21 +16316,21 @@ /obj/effect/floor_decal/industrial/warning/corner, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bKr" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Toxins Storage" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/storage) +/area/crux/science/storage) "bKt" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Research Locker Room" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "bKu" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ @@ -16342,27 +16338,27 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bKv" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bKw" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/research) +/area/crux/science) "bKx" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "bKy" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bKz" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -16372,7 +16368,7 @@ name = "Science Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "bKA" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -16384,10 +16380,10 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bKB" = ( /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bKC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -16402,7 +16398,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bKD" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -16414,13 +16410,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bKE" = ( /obj/machinery/atmospherics/binary/passive_gate{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bKF" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -16429,37 +16425,37 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bKG" = ( /obj/machinery/atmospherics/binary/pump{ dir = 8 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bKH" = ( /obj/structure/sign/warning/fire, /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 5 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bKI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/purple{ dir = 1 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bKJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 10 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bKK" = ( /obj/structure/sign/warning/fire, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bKV" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -16467,7 +16463,7 @@ /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bKW" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -16477,10 +16473,10 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bKX" = ( /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bKY" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/binary/pump/on{ @@ -16488,7 +16484,7 @@ target_pressure = 200 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bKZ" = ( /obj/machinery/light/small{ dir = 4 @@ -16497,10 +16493,10 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bLa" = ( /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLb" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -16509,12 +16505,12 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLd" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -16531,7 +16527,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLe" = ( /obj/machinery/light{ dir = 1 @@ -16541,19 +16537,19 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLf" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLg" = ( /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLh" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bLi" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -16562,7 +16558,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bLj" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16575,7 +16571,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bLk" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 10 @@ -16588,7 +16584,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bLl" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -16599,7 +16595,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bLm" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -16612,14 +16608,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bLn" = ( /obj/structure/tank_rack/oxygen, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bLo" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -16631,7 +16627,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bLp" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -16642,7 +16638,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bLq" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -16655,7 +16651,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bLr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -16674,7 +16670,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bLs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -16690,7 +16686,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bLt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -16702,7 +16698,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bLu" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -16710,7 +16706,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bLv" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16725,7 +16721,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bLw" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -16735,7 +16731,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bLx" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -16753,35 +16749,35 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bLy" = ( /obj/random/toolbox, /turf/simulated/floor/tiled, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bLz" = ( /turf/simulated/floor/tiled, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bLA" = ( /obj/machinery/door/firedoor, /obj/structure/door_assembly/door_assembly_hatch{ anchored = 1 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bLB" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bLC" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bLD" = ( /obj/structure/sign/directions/cryo{ pixel_y = -10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bLE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/network/second_deck{ @@ -16798,7 +16794,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bLF" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -16807,16 +16803,16 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bLG" = ( /obj/structure/sign/directions/evac{ pixel_y = -10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bLH" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bLI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -16828,7 +16824,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bLJ" = ( /obj/structure/plasticflaps{ opacity = 1 @@ -16841,7 +16837,7 @@ location = "Research Division" }, /turf/simulated/floor/tiled, -/area/research) +/area/crux/science) "bLK" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/window/reinforced, @@ -16851,7 +16847,7 @@ name = "Research Division Delivery" }, /turf/simulated/floor/tiled, -/area/research) +/area/crux/science) "bLL" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -16860,7 +16856,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16879,7 +16875,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLN" = ( /obj/structure/sign/warning/high_voltage{ pixel_y = 32 @@ -16894,7 +16890,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLO" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16907,7 +16903,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLP" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16919,7 +16915,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLQ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -16940,7 +16936,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLR" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -16961,7 +16957,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable/green{ @@ -16983,7 +16979,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLT" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17003,7 +16999,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLU" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -17028,7 +17024,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLV" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17040,7 +17036,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLW" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17058,7 +17054,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -17075,7 +17071,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLY" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17096,7 +17092,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bLZ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17110,7 +17106,7 @@ sort_type = "Research" }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMa" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable/green{ @@ -17138,7 +17134,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMb" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17156,7 +17152,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMd" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17174,7 +17170,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17197,7 +17193,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -17217,7 +17213,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -17238,7 +17234,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMh" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -17260,7 +17256,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMi" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -17279,7 +17275,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMj" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17296,7 +17292,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17311,7 +17307,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMl" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -17329,7 +17325,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17347,7 +17343,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17368,7 +17364,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMo" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -17387,7 +17383,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17408,7 +17404,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -17433,7 +17429,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMr" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -17442,7 +17438,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bMs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17451,46 +17447,46 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bMt" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 }, /obj/effect/floor_decal/industrial/warning/cee, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bMu" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bMv" = ( /obj/machinery/atmospherics/valve/open{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bMw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bMx" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bMy" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bMz" = ( /obj/machinery/atmospherics/unary/outlet_injector{ dir = 8; @@ -17502,18 +17498,18 @@ pixel_x = -22 }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bMA" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bMB" = ( /obj/machinery/door/blast/regular{ id_tag = "mixvent"; name = "Mixer Room Vent" }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bMM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -17529,7 +17525,7 @@ dir = 4 }, /turf/simulated/floor, -/area/engineering/engine_waste) +/area/crux/engineering/engine_waste) "bMO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -17544,7 +17540,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bMP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -17556,7 +17552,7 @@ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bMQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /obj/effect/floor_decal/industrial/warning{ @@ -17575,10 +17571,10 @@ pixel_x = 36 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bMR" = ( /turf/simulated/wall/r_wall, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMS" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -17593,7 +17589,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -17610,7 +17606,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17623,7 +17619,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMV" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17635,7 +17631,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMW" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17650,7 +17646,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMX" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17659,7 +17655,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMY" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17671,7 +17667,7 @@ pixel_y = 23 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bMZ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -17684,7 +17680,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -17699,7 +17695,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -17714,7 +17710,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNc" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -17726,7 +17722,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNd" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -17734,7 +17730,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNe" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -17750,7 +17746,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -17760,27 +17756,27 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNh" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ name = "Engineering Hallway" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bNj" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -17789,13 +17785,13 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bNk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bNl" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/alarm{ @@ -17803,7 +17799,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/dark, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bNm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -17817,12 +17813,12 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bNn" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/yellow/bordercorner, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bNo" = ( /obj/machinery/power/apc{ dir = 4; @@ -17841,7 +17837,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/yellow/border, /turf/simulated/floor/tiled, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bNp" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/item/radio/intercom{ @@ -17852,7 +17848,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bNq" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/regular, @@ -17864,7 +17860,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bNr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -17872,10 +17868,10 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bNs" = ( /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bNt" = ( /obj/structure/closet/secure_closet/atmos_personal, /obj/machinery/camera/network/engineering{ @@ -17886,50 +17882,50 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bNu" = ( /obj/item/stack/tile/floor, /turf/simulated/floor/tiled, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bNv" = ( /obj/item/stack/tile/floor_white, /obj/item/frame/light, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bNw" = ( /obj/structure/flora/bush/brflowers, /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bNx" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bNy" = ( /obj/structure/table/woodentable, /obj/machinery/camera/network/second_deck{ c_tag = "First Floor - Center Eight" }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bNz" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bNA" = ( /obj/structure/flora/bush/brflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bNB" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bNC" = ( /obj/structure/sign/directions/bridge{ pixel_y = 10 @@ -17942,14 +17938,14 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bND" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNE" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNF" = ( /obj/structure/sign/directions/engineering{ dir = 8; @@ -17963,41 +17959,41 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNG" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNH" = ( /obj/structure/flora/bush/ywflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNI" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNJ" = ( /obj/structure/table/woodentable, /obj/machinery/camera/network/second_deck{ c_tag = "First Floor - Center One" }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNK" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNL" = ( /obj/structure/flora/bush/brflowers, /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bNM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -18013,7 +18009,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bNN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -18032,7 +18028,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bNO" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -18044,11 +18040,11 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNP" = ( /obj/machinery/light, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -18060,7 +18056,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18075,7 +18071,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18087,7 +18083,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18098,7 +18094,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNU" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -18116,7 +18112,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -18124,13 +18120,13 @@ /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -18138,7 +18134,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNY" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -18147,7 +18143,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bNZ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -18158,13 +18154,13 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOa" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOb" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -18181,7 +18177,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -18193,7 +18189,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -18205,7 +18201,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOe" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -18217,7 +18213,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/disposalpipe/segment, @@ -18228,7 +18224,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -18244,7 +18240,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -18253,7 +18249,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -18269,7 +18265,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -18279,7 +18275,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOk" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/effect/floor_decal/borderfloorwhite/corner, @@ -18288,7 +18284,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -18300,7 +18296,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOm" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -18316,7 +18312,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18332,7 +18328,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bOo" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -18344,7 +18340,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "bOp" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -18361,7 +18357,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bOq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18375,7 +18371,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bOr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18384,7 +18380,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bOs" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -18396,7 +18392,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bOt" = ( /obj/machinery/door/airlock/research{ autoclose = 0; @@ -18405,7 +18401,7 @@ name = "Mixing Room Interior Airlock" }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bOu" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "tox_airlock_control"; @@ -18419,7 +18415,7 @@ /obj/machinery/atmospherics/pipe/manifold/visible, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bOv" = ( /obj/machinery/air_sensor{ id_tag = "toxins_mixing_interior"; @@ -18430,17 +18426,17 @@ dir = 1 }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bOw" = ( /obj/machinery/air_sensor{ id_tag = "toxins_mixing_exterior" }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bOx" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bOE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -18450,7 +18446,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bOF" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -18462,7 +18458,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bOG" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -18478,7 +18474,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bOH" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -18494,7 +18490,7 @@ name = "Engineering Drone Fabrication" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bOI" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -18516,7 +18512,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18531,20 +18527,20 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOK" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOL" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOM" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -18553,7 +18549,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bON" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -18572,7 +18568,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18581,7 +18577,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18590,7 +18586,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOQ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/disposalpipe/sortjunction{ @@ -18605,7 +18601,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -18619,7 +18615,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOS" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -18634,7 +18630,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOT" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -18647,7 +18643,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOU" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -18657,7 +18653,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOV" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -18672,11 +18668,11 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bOX" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bOY" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 8 @@ -18684,13 +18680,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bOZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bPa" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -18713,7 +18709,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bPb" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -18725,7 +18721,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/engineer_eva) +/area/crux/engineering/engineer_eva) "bPc" = ( /obj/structure/closet/wardrobe/engineering_yellow, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -18738,7 +18734,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bPd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -18748,7 +18744,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bPe" = ( /obj/structure/closet/secure_closet/atmos_personal, /obj/machinery/alarm{ @@ -18759,81 +18755,81 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bPf" = ( /obj/item/chems/spray/extinguisher, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bPg" = ( /obj/item/stack/tile/floor_white, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bPh" = ( /obj/structure/flora/bush/ppflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bPi" = ( /obj/structure/flora/bush/ywflowers, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bPj" = ( /obj/structure/bed/chair{ dir = 4 }, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bPk" = ( /obj/structure/table/woodentable, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bPl" = ( /obj/structure/bed/chair{ dir = 8 }, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bPm" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bPn" = ( /obj/structure/bed/chair{ dir = 4 }, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bPo" = ( /obj/structure/table/woodentable, /obj/item/paicard, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bPp" = ( /obj/structure/bed/chair{ dir = 8 }, /obj/effect/floor_decal/spline/plain, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bPq" = ( /obj/structure/flora/bush/ppflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bPr" = ( /obj/structure/flora/bush/ywflowers, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bPs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -18843,26 +18839,26 @@ /obj/effect/floor_decal/industrial/warning, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bPt" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bPu" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bPw" = ( /turf/simulated/wall, -/area/rnd/lab) +/area/crux/science/lab) "bPx" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/rnd/lab) +/area/crux/science/lab) "bPy" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -18881,7 +18877,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bPz" = ( /obj/abstract/landmark{ name = "lightsout" @@ -18890,21 +18886,21 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bPA" = ( /turf/simulated/wall, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bPB" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bPC" = ( /turf/simulated/wall/r_wall, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bPD" = ( /obj/structure/disposalpipe/segment, /turf/simulated/wall/r_wall, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bPE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -18916,10 +18912,10 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/research_restroom_sc) +/area/crux/science/research_restroom_sc) "bPF" = ( /turf/simulated/wall/r_wall, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bPG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -18935,14 +18931,14 @@ name = "Toxins Lab" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/mixing) +/area/crux/science/mixing) "bPH" = ( /obj/structure/sign/warning/server_room, /turf/simulated/wall/r_wall, -/area/server) +/area/crux/network/server) "bPI" = ( /turf/simulated/wall/r_wall, -/area/server) +/area/crux/network/server) "bPJ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -18954,7 +18950,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bPK" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -18971,19 +18967,19 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bPL" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bPM" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 }, /obj/effect/floor_decal/industrial/warning/full, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bPN" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 @@ -18993,7 +18989,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bPO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/button/ignition{ @@ -19015,13 +19011,13 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bPP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bPQ" = ( /obj/machinery/door/airlock/research{ autoclose = 0; @@ -19030,7 +19026,7 @@ name = "Mixing Room Exterior Airlock" }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bPR" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 8; @@ -19050,19 +19046,19 @@ pixel_x = -22 }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bPS" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 5 }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bPT" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/red{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "bPZ" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -19081,17 +19077,17 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bQa" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bQb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bQc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/warning{ @@ -19103,7 +19099,7 @@ pixel_x = 21 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bQd" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -19120,7 +19116,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bQe" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -19135,21 +19131,21 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bQf" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bQg" = ( /turf/simulated/wall, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bQh" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bQi" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -19161,7 +19157,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bQj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -19169,10 +19165,10 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bQk" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bQl" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -19182,7 +19178,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bQm" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -19195,7 +19191,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bQn" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -19214,7 +19210,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bQo" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -19227,7 +19223,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bQp" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -19237,7 +19233,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bQq" = ( /obj/machinery/power/apc{ dir = 8; @@ -19258,14 +19254,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bQr" = ( /obj/structure/cable/green{ icon_state = "2-8" }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bQs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 5 @@ -19273,7 +19269,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bQt" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -19296,10 +19292,10 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bQu" = ( /turf/simulated/wall, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bQv" = ( /obj/machinery/disposal, /obj/effect/floor_decal/corner/white/diagonal, @@ -19310,11 +19306,11 @@ }, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bQw" = ( /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bQx" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/cable/green{ @@ -19332,14 +19328,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bQy" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bQz" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/cable/green{ @@ -19349,7 +19345,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bQA" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/cable/green{ @@ -19365,18 +19361,18 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bQB" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bQC" = ( /obj/structure/closet/wardrobe/atmospherics_yellow, /obj/effect/floor_decal/spline/plain{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bQD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -19390,18 +19386,18 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bQE" = ( /obj/structure/closet/secure_closet/atmos_personal, /obj/effect/floor_decal/spline/plain{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/locker_room) +/area/crux/engineering/locker_room) "bQF" = ( /obj/structure/extinguisher_cabinet, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bQG" = ( /obj/structure/closet/wardrobe/black, /obj/item/clothing/shoes/jackboots/swat/combat, @@ -19412,7 +19408,7 @@ pixel_x = 22 }, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bQH" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -19421,7 +19417,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQI" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -19430,10 +19426,10 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQJ" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQK" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -19442,7 +19438,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQL" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor{ @@ -19452,7 +19448,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQM" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -19461,7 +19457,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQN" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -19476,21 +19472,21 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQO" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bQP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQQ" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -19500,7 +19496,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQR" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -19508,7 +19504,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQS" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -19517,7 +19513,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQT" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -19532,7 +19528,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQU" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -19541,7 +19537,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQV" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/borderfloor{ @@ -19551,7 +19547,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQW" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -19560,7 +19556,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQX" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -19569,7 +19565,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQY" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -19578,7 +19574,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bQZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -19588,7 +19584,7 @@ /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bRa" = ( /obj/structure/flora/pottedplant/crystal, /obj/effect/floor_decal/borderfloorwhite{ @@ -19598,7 +19594,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bRb" = ( /obj/machinery/fabricator, /obj/effect/floor_decal/borderfloorwhite{ @@ -19608,7 +19604,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bRc" = ( /obj/structure/table, /obj/item/stack/material/pane/mapped/glass{ @@ -19616,9 +19612,7 @@ pixel_x = 3; pixel_y = 3 }, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, +/obj/item/stack/material/sheet/mapped/steel/fifty, /obj/item/clothing/glasses/welding, /obj/machinery/camera/network/research{ c_tag = "SCI - R&D Lab" @@ -19633,7 +19627,7 @@ amount = 10 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bRd" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -19665,7 +19659,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bRe" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -19689,7 +19683,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bRf" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -19702,7 +19696,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bRg" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -19710,7 +19704,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/rnd/lab) +/area/crux/science/lab) "bRh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -19725,7 +19719,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bRi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -19734,12 +19728,12 @@ icon_state = "pipe-j2" }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bRj" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRk" = ( /obj/structure/filing_cabinet/chestdrawer, /obj/effect/floor_decal/borderfloorwhite{ @@ -19749,27 +19743,17 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRl" = ( /obj/structure/closet{ name = "materials" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, +/obj/item/stack/material/sheet/mapped/steel/fifty, +/obj/item/stack/material/sheet/mapped/steel/fifty, +/obj/item/stack/material/sheet/mapped/steel/fifty, +/obj/item/stack/material/sheet/mapped/steel/fifty, +/obj/item/stack/material/sheet/mapped/steel/fifty, /obj/item/stack/material/pane/mapped/glass{ amount = 50; pixel_x = -2; @@ -19809,7 +19793,7 @@ amount = 10 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRm" = ( /obj/machinery/fabricator, /obj/machinery/alarm{ @@ -19822,7 +19806,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRn" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -19831,7 +19815,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRo" = ( /obj/machinery/fabricator/imprinter, /obj/item/chems/glass/beaker/large, @@ -19847,7 +19831,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRp" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -19872,7 +19856,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRq" = ( /obj/structure/table, /obj/item/modular_computer/laptop/preset/medical, @@ -19883,7 +19867,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRr" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -19904,7 +19888,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRs" = ( /obj/machinery/optable{ name = "Robotics Operating Table" @@ -19916,7 +19900,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRt" = ( /obj/machinery/computer/operating{ name = "Robotics Operating Computer" @@ -19928,7 +19912,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bRu" = ( /obj/machinery/disposal, /obj/item/radio/intercom{ @@ -19949,7 +19933,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bRv" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -19966,7 +19950,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bRw" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -19989,7 +19973,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bRx" = ( /obj/machinery/shieldwallgen{ anchored = 1 @@ -20014,7 +19998,7 @@ }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bRy" = ( /obj/structure/table, /obj/item/stack/cable_coil, @@ -20034,19 +20018,19 @@ pixel_x = -25 }, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bRz" = ( /obj/structure/table, /obj/item/assembly/igniter, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bRA" = ( /obj/structure/table, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bRB" = ( /obj/machinery/light_switch{ pixel_x = -36 @@ -20058,7 +20042,7 @@ pixel_x = -24 }, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bRC" = ( /obj/machinery/atmospherics/unary/freezer{ icon_state = "freezer_1"; @@ -20070,7 +20054,7 @@ c_tag = "SCI - Server Room" }, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bRD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20085,7 +20069,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bRE" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -20094,29 +20078,29 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bRF" = ( /obj/structure/sign/warning/caution, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bRG" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bRH" = ( /obj/structure/cable/green{ icon_state = "1-4" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bRI" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bRJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/power/apc{ @@ -20135,23 +20119,23 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bRP" = ( /turf/simulated/floor/plating, -/area/engineering/engine_waste) +/area/crux/engineering/engine_waste) "bRQ" = ( /obj/machinery/drone_fabricator, /obj/effect/floor_decal/industrial/warning{ dir = 10 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bRR" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bRS" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -20164,7 +20148,7 @@ pixel_x = 22 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bRT" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Hallway" @@ -20172,7 +20156,7 @@ /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bRU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20181,7 +20165,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bRV" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -20201,7 +20185,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bRW" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -20217,7 +20201,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bRX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20235,7 +20219,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bRY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20253,7 +20237,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bRZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -20269,7 +20253,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bSa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20281,14 +20265,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bSb" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bSc" = ( /obj/machinery/papershredder, /obj/machinery/network/requests_console{ @@ -20304,7 +20288,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bSd" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -20313,7 +20297,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bSe" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -20332,7 +20316,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bSf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20344,7 +20328,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bSg" = ( /obj/machinery/disposal, /obj/machinery/light{ @@ -20360,7 +20344,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bSh" = ( /obj/machinery/door/firedoor, /obj/machinery/status_display, @@ -20371,7 +20355,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bSi" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -20380,14 +20364,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bSj" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bSk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -20395,7 +20379,7 @@ name = "lightsout" }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bSl" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -20404,13 +20388,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bSm" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/ai_status_display, /turf/simulated/floor, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bSn" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/machinery/light{ @@ -20418,10 +20402,10 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bSo" = ( /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bSp" = ( /obj/structure/bed/chair/comfy/brown, /obj/abstract/landmark/start{ @@ -20435,7 +20419,7 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bSq" = ( /obj/structure/bed/chair/comfy/brown, /obj/abstract/landmark/start{ @@ -20445,13 +20429,13 @@ dir = 4 }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bSr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bSs" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/noticeboard{ @@ -20461,10 +20445,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bSt" = ( /turf/simulated/wall, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bSu" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20476,20 +20460,20 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bSv" = ( /obj/structure/closet/toolcloset, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bSw" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bSx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bSy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -20498,7 +20482,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bSz" = ( /obj/structure/cable{ icon_state = "2-4" @@ -20510,7 +20494,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bSA" = ( /obj/structure/cable{ icon_state = "4-8" @@ -20522,7 +20506,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bSB" = ( /obj/structure/cable{ icon_state = "4-8" @@ -20534,7 +20518,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bSC" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -20548,7 +20532,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSD" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -20561,7 +20545,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -20575,15 +20559,16 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/abstract/landmark/latejoin/observer, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSG" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -20594,7 +20579,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20603,7 +20588,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20612,7 +20597,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -20621,7 +20606,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -20630,16 +20615,16 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSM" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bSN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20651,7 +20636,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bSO" = ( /obj/structure/table, /obj/random/toolbox, @@ -20663,14 +20648,14 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bSP" = ( /obj/structure/table, /obj/random/tool, /obj/random/tool, /obj/item/frame, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bSQ" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/reagent_dispensers/acid{ @@ -20684,21 +20669,21 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bSR" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bSS" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bST" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -20710,7 +20695,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bSU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -20722,7 +20707,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bSV" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -20738,7 +20723,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bSW" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -20750,7 +20735,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bSX" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -20771,7 +20756,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bSY" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -20783,7 +20768,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bSZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20799,7 +20784,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bTa" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -20809,7 +20794,7 @@ name = "Server Room" }, /turf/simulated/floor/tiled/steel_grid, -/area/server) +/area/crux/network/server) "bTb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -20827,7 +20812,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTc" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -20841,7 +20826,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTd" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -20854,7 +20839,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTe" = ( /obj/structure/bed/chair/office/light{ dir = 1 @@ -20873,7 +20858,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTf" = ( /obj/structure/table, /obj/item/mmi, @@ -20889,7 +20874,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTg" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -20914,7 +20899,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -20926,10 +20911,10 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTi" = ( /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTj" = ( /obj/machinery/optable{ name = "Robotics Operating Table" @@ -20938,7 +20923,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bTk" = ( /obj/machinery/power/apc{ dir = 8; @@ -20964,7 +20949,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bTl" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -20975,7 +20960,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bTm" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -20990,7 +20975,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bTn" = ( /obj/structure/cable/green, /obj/effect/wingrille_spawn/reinforced, @@ -21002,23 +20987,23 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bTo" = ( /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bTp" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bTq" = ( /obj/structure/bed/chair/office/light{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bTr" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -21029,7 +21014,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bTs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21048,7 +21033,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bTt" = ( /obj/item/radio/intercom{ dir = 4; @@ -21062,7 +21047,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bTu" = ( /obj/structure/tank_rack, /obj/structure/extinguisher_cabinet{ @@ -21072,7 +21057,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bTv" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -21081,7 +21066,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bTw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -21090,7 +21075,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bTx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -21102,40 +21087,40 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bTy" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "bTz" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bTA" = ( /obj/item/wrench, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bTB" = ( /obj/machinery/fabricator/pipe, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bTC" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 9 }, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "bTD" = ( /turf/simulated/wall/r_wall, -/area/engineering/engine_room) +/area/crux/engineering/engine_room) "bTE" = ( /obj/structure/sign/warning/radioactive, /turf/simulated/wall/r_wall, -/area/engineering/engine_room) +/area/crux/engineering/engine_room) "bTH" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -21146,7 +21131,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bTI" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -21155,7 +21140,7 @@ pixel_x = 30 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bTJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -21165,7 +21150,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bTK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21181,7 +21166,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bTL" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/effect/floor_decal/industrial/outline/yellow, @@ -21190,7 +21175,7 @@ pixel_x = -24 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTM" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -21199,23 +21184,23 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTO" = ( /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTP" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTR" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -21224,17 +21209,17 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTS" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bTT" = ( /turf/simulated/floor/reinforced/nitrogen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bTU" = ( /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bTV" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -21245,13 +21230,13 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bTW" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bTX" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -21260,7 +21245,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bTY" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -21271,7 +21256,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bTZ" = ( /obj/machinery/light{ dir = 8 @@ -21283,7 +21268,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bUa" = ( /obj/machinery/hologram/holopad{ holopad_id = "Engineering Entrance Hallway" @@ -21292,7 +21277,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bUb" = ( /obj/machinery/light{ dir = 4 @@ -21304,17 +21289,17 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bUc" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bUd" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bUe" = ( /obj/structure/bed/chair/comfy/brown{ dir = 4 @@ -21323,7 +21308,7 @@ name = "Atmospheric Technician" }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bUf" = ( /obj/structure/table/woodentable, /obj/item/book/manual/supermatter_engine{ @@ -21335,7 +21320,7 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bUg" = ( /obj/structure/table/woodentable, /obj/item/paper_bin{ @@ -21344,7 +21329,7 @@ }, /obj/item/pen, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bUh" = ( /obj/structure/bed/chair/comfy/brown{ dir = 8 @@ -21353,7 +21338,7 @@ name = "Atmospheric Technician" }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bUi" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/machinery/camera/network/engineering{ @@ -21365,7 +21350,7 @@ pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bUj" = ( /obj/structure/table, /obj/machinery/power/apc{ @@ -21401,7 +21386,7 @@ icon_state = "0-4" }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bUk" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -21415,7 +21400,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bUl" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -21424,12 +21409,12 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bUm" = ( /obj/structure/undies_wardrobe, /obj/structure/window/basic, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bUn" = ( /obj/structure/closet/crate, /obj/item/stack/cable_coil/random, @@ -21441,15 +21426,15 @@ /obj/random/maintenance/security, /obj/random/maintenance/security, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bUo" = ( /obj/machinery/portable_atmospherics/canister/empty, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bUp" = ( /obj/structure/flora/bush/sparsegrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUq" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -21461,7 +21446,7 @@ codes = "{'patrol':'CH2','next_patrol':'CH3'}" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21469,7 +21454,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUs" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21480,7 +21465,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21493,7 +21478,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21503,7 +21488,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21515,13 +21500,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUw" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21532,7 +21517,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bUy" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -21542,7 +21527,7 @@ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUz" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -21561,13 +21546,13 @@ codes = "{'patrol':'CH1','next_patrol':'CH2'}" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUA" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUB" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 @@ -21577,7 +21562,7 @@ codes = "{'patrol':'CH12','next_patrol':'SEC'}" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUC" = ( /obj/machinery/light, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -21587,7 +21572,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUD" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -21596,17 +21581,17 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUE" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUF" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUG" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -21614,7 +21599,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUH" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -21623,7 +21608,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUI" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -21631,12 +21616,12 @@ codes = "{'patrol':'CH11','next_patrol':'CH12'}" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUJ" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/brflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bUK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21645,7 +21630,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bUL" = ( /obj/item/clothing/mask/gas, /obj/item/flashlight, @@ -21657,32 +21642,32 @@ /obj/random/maintenance/cargo, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bUM" = ( /obj/machinery/fabricator/protolathe, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/lab) +/area/crux/science/lab) "bUN" = ( /turf/simulated/floor/tiled, -/area/rnd/lab) +/area/crux/science/lab) "bUO" = ( /obj/machinery/destructive_analyzer, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/lab) +/area/crux/science/lab) "bUP" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bUQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bUR" = ( /obj/machinery/alarm{ dir = 1; @@ -21691,12 +21676,12 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bUS" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rnd/lab) +/area/crux/science/lab) "bUT" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/item/radio/intercom{ @@ -21710,7 +21695,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bUU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21720,7 +21705,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bUV" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -21729,7 +21714,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bUW" = ( /obj/structure/closet/wardrobe/robotics_black, /obj/item/radio/headset/headset_sci{ @@ -21749,7 +21734,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bUX" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -21759,28 +21744,28 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bUY" = ( /turf/simulated/floor/tiled, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bUZ" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/monotile, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bVa" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bVb" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bVc" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -21789,11 +21774,11 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bVd" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bVe" = ( /obj/structure/table, /obj/structure/window/reinforced, @@ -21808,7 +21793,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bVf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -21821,7 +21806,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bVg" = ( /obj/machinery/hologram/holopad, /obj/structure/cable/green{ @@ -21833,7 +21818,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bVh" = ( /obj/machinery/atmospherics/binary/pump{ dir = 8 @@ -21845,13 +21830,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bVj" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bVk" = ( /obj/machinery/atmospherics/unary/vent_scrubber{ dir = 8 @@ -21860,14 +21845,14 @@ name = "blobstart" }, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bVl" = ( /obj/machinery/portable_atmospherics/canister, /obj/machinery/camera/network/research{ dir = 8 }, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bVm" = ( /obj/machinery/alarm{ dir = 4; @@ -21878,20 +21863,20 @@ }, /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bVn" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bVo" = ( /obj/machinery/computer/message_monitor{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bVp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -21908,7 +21893,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bVq" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -21920,25 +21905,25 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bVr" = ( /obj/machinery/portable_atmospherics/powered/scrubber/huge, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, -/area/rnd/mixing) +/area/crux/science/mixing) "bVs" = ( /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bVt" = ( /obj/machinery/atmospherics/portables_connector, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bVu" = ( /obj/machinery/portable_atmospherics/canister, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bVx" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 1 @@ -21960,7 +21945,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bVJ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -21970,7 +21955,7 @@ }, /obj/machinery/disposal, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bVK" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -21979,7 +21964,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bVL" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -21988,7 +21973,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bVM" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -21998,7 +21983,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bVN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -22015,7 +22000,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bVO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -22025,7 +22010,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bVP" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/effect/floor_decal/industrial/outline/yellow, @@ -22033,13 +22018,13 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bVQ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bVR" = ( /obj/structure/window/reinforced{ dir = 4; @@ -22051,7 +22036,7 @@ amount = 0 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bVS" = ( /obj/structure/window/reinforced{ dir = 8 @@ -22067,20 +22052,20 @@ /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bVT" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bVU" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bVV" = ( /obj/structure/table/reinforced, /obj/machinery/faxmachine, @@ -22096,7 +22081,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bVW" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -22105,7 +22090,7 @@ }, /obj/item/megaphone, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bVX" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -22116,7 +22101,7 @@ /obj/item/stamp/ce, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bVY" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -22134,7 +22119,7 @@ /obj/item/storage/fancy/cigarettes, /obj/item/flame/lighter/zippo, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bVZ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -22144,7 +22129,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bWa" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -22157,7 +22142,7 @@ name = "Chief Engineer" }, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bWb" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -22167,7 +22152,7 @@ icon_state = "pipe-j2" }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bWc" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -22182,7 +22167,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bWd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -22197,7 +22182,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bWe" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -22216,7 +22201,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bWf" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -22235,7 +22220,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bWg" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -22258,7 +22243,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bWh" = ( /obj/structure/bed/chair/comfy/brown{ dir = 4 @@ -22276,7 +22261,7 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bWi" = ( /obj/structure/table/woodentable, /obj/item/folder/yellow, @@ -22290,12 +22275,12 @@ icon_state = "1-8" }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bWj" = ( /obj/structure/table/woodentable, /obj/item/chems/food/chips, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bWk" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/effect/floor_decal/steeldecal/steel_decals4, @@ -22303,14 +22288,14 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bWl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Engineering Washroom" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bWm" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -22319,22 +22304,22 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bWn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bWo" = ( /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bWp" = ( /obj/abstract/landmark{ name = "xeno_spawn"; pixel_x = -1 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bWq" = ( /obj/structure/curtain/open/shower/engineering, /obj/structure/hygiene/shower{ @@ -22346,7 +22331,7 @@ name = "Shower" }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bWr" = ( /obj/structure/rack{ dir = 1 @@ -22356,11 +22341,11 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bWs" = ( /obj/structure/tank_rack/oxygen, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bWt" = ( /obj/structure/flora/bush/fullgrass, /obj/structure/flora/bush/brflowers, @@ -22368,13 +22353,13 @@ dir = 8 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bWu" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/red/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bWv" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -22387,13 +22372,13 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bWw" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bWx" = ( /turf/simulated/wall, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bWy" = ( /obj/structure/cable{ icon_state = "1-2" @@ -22403,19 +22388,19 @@ name = "Central Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bWz" = ( /turf/simulated/wall, -/area/maintenance/central) +/area/crux/maintenance/central) "bWA" = ( /turf/simulated/wall/r_wall, -/area/maintenance/central) +/area/crux/maintenance/central) "bWB" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bWC" = ( /obj/machinery/power/apc{ dir = 4; @@ -22426,25 +22411,25 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bWD" = ( /turf/simulated/wall/r_wall, -/area/teleporter) +/area/crux/secure/teleporter) "bWE" = ( /obj/structure/sign/warning/secure_area, /turf/simulated/wall/r_wall, -/area/teleporter) +/area/crux/secure/teleporter) "bWF" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Teleport Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/teleporter) +/area/crux/secure/teleporter) "bWG" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/teleporter) +/area/crux/secure/teleporter) "bWH" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -22457,14 +22442,14 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bWI" = ( /obj/structure/flora/bush/sparsegrass, /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bWJ" = ( /obj/structure/rack{ dir = 8 @@ -22474,7 +22459,7 @@ /obj/random/maintenance/clean, /obj/item/chems/spray/extinguisher, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "bWK" = ( /obj/machinery/fabricator/imprinter, /obj/item/chems/glass/beaker/sulphuric, @@ -22483,16 +22468,16 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/lab) +/area/crux/science/lab) "bWL" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/rnd/lab) +/area/crux/science/lab) "bWM" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/lab) +/area/crux/science/lab) "bWN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light{ @@ -22505,7 +22490,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bWO" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -22521,7 +22506,7 @@ name = "Research and Development" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/lab) +/area/crux/science/lab) "bWP" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -22537,12 +22522,12 @@ }, /obj/structure/cable/green, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWQ" = ( /obj/machinery/fabricator/industrial, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWR" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/table/steel_reinforced, @@ -22550,19 +22535,19 @@ /obj/item/robotanalyzer, /obj/item/mmi/digital/robot, /turf/simulated/floor/tiled, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWS" = ( /obj/machinery/fabricator/robotics, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWT" = ( /obj/machinery/camera/network/research{ c_tag = "SCI - Robotics"; dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWU" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -22572,7 +22557,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -22580,10 +22565,10 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWW" = ( /turf/simulated/floor/tiled/techfloor, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWX" = ( /obj/structure/table/steel_reinforced, /obj/item/storage/box/bodybags{ @@ -22597,7 +22582,7 @@ /obj/item/defibrillator/loaded, /obj/item/defibrillator/loaded, /turf/simulated/floor/tiled/techfloor, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bWY" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -22612,7 +22597,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bWZ" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 @@ -22622,7 +22607,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bXa" = ( /obj/machinery/atmospherics/binary/pump{ dir = 4 @@ -22634,7 +22619,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bXb" = ( /obj/effect/floor_decal/industrial/warning/cee, /obj/machinery/atmospherics/pipe/simple/visible{ @@ -22654,7 +22639,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bXc" = ( /obj/machinery/atmospherics/unary/outlet_injector{ dir = 8; @@ -22662,11 +22647,11 @@ use_power = 1 }, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bXd" = ( /obj/machinery/portable_atmospherics/canister, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bXe" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -22676,7 +22661,7 @@ pixel_x = -32 }, /turf/simulated/floor/plating, -/area/server) +/area/crux/network/server) "bXf" = ( /obj/effect/floor_decal/industrial/warning/full, /obj/machinery/hologram/holopad, @@ -22688,14 +22673,14 @@ name = "Server Room" }, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bXg" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/server) +/area/crux/network/server) "bXh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -22713,21 +22698,19 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "bXi" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bXj" = ( /obj/machinery/atmospherics/omni/mixer{ tag_east = 2; - tag_east_con = null; tag_north = 1; tag_north_con = 0.5; - tag_south_con = null; tag_west = 1; tag_west_con = 0.5; use_power = 0 @@ -22737,7 +22720,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bXk" = ( /obj/machinery/atmospherics/pipe/manifold/visible, /obj/machinery/meter, @@ -22746,7 +22729,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bXl" = ( /obj/machinery/atmospherics/omni/filter{ tag_east = 2; @@ -22755,34 +22738,34 @@ use_power = 0 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bXm" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bXn" = ( /obj/machinery/light, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "bXy" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bXz" = ( /obj/abstract/landmark/latejoin/cyborg, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bXA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bXB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/firealarm{ @@ -22794,12 +22777,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bXC" = ( /obj/structure/closet/secure_closet/engineering_electrical, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bXD" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -22827,7 +22810,7 @@ pixel_x = 34 }, /turf/simulated/floor/tiled, -/area/engineering/atmos/monitoring) +/area/crux/engineering/atmos/monitoring) "bXE" = ( /obj/structure/closet/toolcloset, /obj/item/flashlight, @@ -22836,7 +22819,7 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bXF" = ( /obj/structure/table/steel_reinforced, /obj/item/clothing/gloves/color/black, @@ -22845,7 +22828,7 @@ /obj/item/crowbar/red, /obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bXG" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -22860,13 +22843,13 @@ pixel_x = -24 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bXH" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bXI" = ( /obj/structure/bed/chair/office/light{ dir = 1 @@ -22878,7 +22861,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bXJ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -22887,12 +22870,12 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bXK" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bXL" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green, @@ -22903,7 +22886,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bXM" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -22912,14 +22895,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bXN" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bXO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -22928,18 +22911,18 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bXP" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/yellow/bordercorner, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "bXQ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bXR" = ( /obj/structure/bed/chair/comfy/brown{ dir = 1 @@ -22948,11 +22931,11 @@ name = "Station Engineer" }, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bXS" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/carpet, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bXT" = ( /obj/machinery/alarm{ dir = 4; @@ -22962,7 +22945,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bXU" = ( /obj/abstract/landmark{ name = "blobstart" @@ -22979,13 +22962,13 @@ }, /obj/machinery/light, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bXV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bXW" = ( /obj/machinery/firealarm{ dir = 1; @@ -22995,7 +22978,7 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bXX" = ( /obj/structure/curtain/open/shower/engineering, /obj/machinery/door/window/westleft{ @@ -23007,18 +22990,18 @@ pixel_y = -1 }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bXY" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /obj/structure/hygiene/sink/kitchen{ pixel_y = 28 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bXZ" = ( /obj/structure/flora/bush/fullgrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bYa" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -23027,13 +23010,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bYb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bYc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -23046,7 +23029,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bYd" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, @@ -23062,7 +23045,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bYe" = ( /obj/structure/cable{ icon_state = "1-2" @@ -23074,30 +23057,30 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bYf" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Central Substation Bypass" }, /turf/simulated/floor, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bYg" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "bYh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Central Maintenance Access" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "bYi" = ( /turf/simulated/floor/reinforced/airmix, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bYj" = ( /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "bYk" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 @@ -23106,7 +23089,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "bYl" = ( /obj/structure/rack{ dir = 8 @@ -23119,10 +23102,10 @@ pixel_x = -24 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "bYm" = ( /turf/simulated/floor/reinforced/oxygen, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bYn" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -23134,29 +23117,29 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bYo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bYp" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bYq" = ( /obj/structure/flora/bush/sparsegrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bYr" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /obj/structure/hygiene/sink/kitchen{ pixel_y = 28 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bYs" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -23166,7 +23149,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bYt" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -23188,19 +23171,19 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bYu" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bYv" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bYw" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -23212,10 +23195,10 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bYx" = ( /turf/simulated/wall/r_wall, -/area/rnd/lab) +/area/crux/science/lab) "bYy" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -23235,7 +23218,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "bYz" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -23247,7 +23230,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "bYA" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -23262,7 +23245,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "bYB" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -23274,18 +23257,18 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "bYC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bYD" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bYE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -23299,10 +23282,10 @@ pixel_x = 11 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "bYF" = ( /turf/simulated/wall, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "bYG" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -23314,17 +23297,17 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "bYH" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ name = "Mech Bay" }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "bYI" = ( /turf/simulated/wall/r_wall, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "bYJ" = ( /obj/structure/closet/bombcloset, /obj/machinery/alarm{ @@ -23341,7 +23324,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bYK" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -23350,7 +23333,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bYL" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -23362,7 +23345,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bYM" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -23376,7 +23359,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bYN" = ( /obj/item/radio/intercom{ dir = 4; @@ -23384,7 +23367,7 @@ pixel_x = 21 }, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "bYO" = ( /obj/machinery/alarm/server{ dir = 4; @@ -23399,10 +23382,10 @@ name = "Server Base"; temperature = 80 }, -/area/server) +/area/crux/network/server) "bYP" = ( /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "bYQ" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 1; @@ -23421,26 +23404,26 @@ name = "Server Base"; temperature = 80 }, -/area/server) +/area/crux/network/server) "bYR" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "bYS" = ( /turf/simulated/floor, -/area/medical/virology) +/area/crux/medical/virology) "bZb" = ( /obj/machinery/recharge_station, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bZc" = ( /obj/machinery/cryopod/robot{ dir = 4 }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "bZd" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -23450,14 +23433,14 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bZe" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "bZf" = ( /obj/structure/closet/secure_closet/engineering_electrical, /obj/effect/floor_decal/industrial/outline/yellow, @@ -23466,7 +23449,7 @@ pixel_x = -22 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bZg" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -23475,12 +23458,12 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bZh" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/yellow/border, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bZi" = ( /obj/machinery/vending/tool{ dir = 8 @@ -23491,7 +23474,7 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bZj" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -23500,7 +23483,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bZk" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, @@ -23513,7 +23496,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "bZl" = ( /obj/machinery/computer/station_alert/all{ dir = 4 @@ -23529,12 +23512,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bZm" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bZn" = ( /obj/machinery/camera/network/engineering{ c_tag = "ENG - Chief Engineer's Office"; @@ -23572,7 +23555,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bZo" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -23580,7 +23563,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bZp" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -23589,7 +23572,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bZq" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green, @@ -23597,7 +23580,7 @@ id = "ceoffice" }, /turf/simulated/floor, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "bZs" = ( /obj/structure/bed/chair/office/dark, /obj/effect/floor_decal/corner/white/diagonal, @@ -23605,7 +23588,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bZt" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/item/storage/box/donkpockets{ @@ -23621,19 +23604,19 @@ }, /obj/structure/table/woodentable, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "bZu" = ( /obj/machinery/door/airlock{ name = "Unit 1" }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bZv" = ( /obj/machinery/door/airlock{ name = "Unit 2" }, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "bZw" = ( /obj/structure/rack{ dir = 1 @@ -23643,16 +23626,16 @@ /obj/random/technology_scanner, /obj/random/toolbox, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "bZx" = ( /obj/structure/flora/bush/sunnybush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bZy" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/ywflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bZz" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -23664,14 +23647,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bZA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bZB" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -23687,13 +23670,13 @@ pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "bZC" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bZD" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ @@ -23713,7 +23696,7 @@ dir = 4 }, /turf/simulated/open, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bZE" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -23736,7 +23719,7 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bZF" = ( /obj/machinery/power/terminal{ dir = 4 @@ -23746,7 +23729,7 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bZG" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Substation - Central" @@ -23756,10 +23739,10 @@ icon_state = "0-2" }, /turf/simulated/floor, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "bZH" = ( /turf/simulated/floor/reinforced, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bZI" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -23769,30 +23752,30 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "bZJ" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "bZK" = ( /turf/simulated/floor/reinforced/carbon_dioxide, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bZL" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 1; start_pressure = 4559.63 }, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "bZM" = ( /turf/simulated/floor/reinforced/hydrogen/fuel, -/area/engineering/atmos) +/area/crux/engineering/atmos) "bZO" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/closet/crate, /obj/item/crowbar/red, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "bZP" = ( /obj/machinery/network/requests_console{ department = "EVA"; @@ -23802,7 +23785,7 @@ /obj/structure/closet, /obj/item/towel/random, /turf/simulated/floor/tiled, -/area/hotel/pool_locker_room) +/area/crux/hotel/pool_locker_room) "bZQ" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -23815,14 +23798,14 @@ pixel_x = -22 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bZR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bZS" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -23834,11 +23817,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bZT" = ( /obj/structure/flora/bush/leafybush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "bZU" = ( /obj/structure/filing_cabinet/chestdrawer, /obj/effect/floor_decal/borderfloorwhite{ @@ -23848,7 +23831,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bZV" = ( /obj/structure/bed/chair/office/light, /obj/effect/floor_decal/borderfloorwhite/corner{ @@ -23858,10 +23841,10 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bZW" = ( /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bZX" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -23876,7 +23859,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bZY" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -23884,7 +23867,7 @@ name = "Research and Development Desk" }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "bZZ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -23896,13 +23879,13 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "caa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cab" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -23915,13 +23898,13 @@ /obj/item/radio/beacon, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cac" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cad" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -23933,7 +23916,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cae" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -23941,7 +23924,7 @@ name = "Robotics Desk" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "caf" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -23954,13 +23937,13 @@ name = "Roboticist" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "cag" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "cah" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -23969,12 +23952,12 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "cai" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "caj" = ( /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -23985,7 +23968,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled/techmaint, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cak" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -23997,7 +23980,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cal" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -24006,7 +23989,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cam" = ( /obj/structure/table/steel_reinforced, /obj/machinery/cell_charger, @@ -24028,7 +24011,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled/techmaint, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "can" = ( /obj/machinery/suit_cycler, /obj/effect/floor_decal/borderfloorwhite{ @@ -24038,7 +24021,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "cao" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -24050,7 +24033,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "cap" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -24066,7 +24049,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "caq" = ( /obj/machinery/shieldwallgen{ anchored = 1 @@ -24091,40 +24074,40 @@ }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "car" = ( /obj/machinery/light, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "cas" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "cat" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/reinforced, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "cau" = ( /obj/machinery/fabricator/robotics, /turf/simulated/floor/bluegrid{ name = "Server Base"; temperature = 80 }, -/area/server) +/area/crux/network/server) "cav" = ( /obj/machinery/light/small, /turf/simulated/floor/tiled/dark, -/area/server) +/area/crux/network/server) "caw" = ( /obj/machinery/design_database, /turf/simulated/floor/bluegrid{ name = "Server Base"; temperature = 80 }, -/area/server) +/area/crux/network/server) "cax" = ( /turf/simulated/wall/r_wall, -/area/rnd/workshop) +/area/crux/science/workshop) "cay" = ( /obj/effect/floor_decal/borderfloorblack{ dir = 9 @@ -24133,14 +24116,14 @@ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "caz" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/machinery/computer/modular/preset/engineering{ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "caA" = ( /obj/structure/table/steel, /obj/item/radio/intercom{ @@ -24155,41 +24138,41 @@ dir = 5 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "caB" = ( /obj/structure/sign/poster{ pixel_y = -32 }, /turf/simulated/wall, -/area/rnd/workshop) +/area/crux/science/workshop) "caC" = ( /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "caD" = ( /obj/structure/table/glass, /obj/item/folder, /obj/item/pen, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "caE" = ( /obj/structure/table/glass, /obj/random/maintenance/medical, /obj/random/maintenance/medical, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "caF" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "caG" = ( /turf/simulated/wall/r_wall, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "caH" = ( /turf/simulated/wall/r_wall, -/area/medical/virology) +/area/crux/medical/virology) "caM" = ( /turf/simulated/wall/r_wall, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "caN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/status_display{ @@ -24197,23 +24180,23 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "caO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/ai_status_display{ pixel_x = 32 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "caP" = ( /turf/simulated/floor/reinforced/n20, -/area/engineering/atmos) +/area/crux/engineering/atmos) "caQ" = ( /obj/machinery/atmospherics/unary/tank/air{ start_pressure = 4559.63 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "caR" = ( /obj/structure/closet/secure_closet/research_director, /obj/machinery/firealarm{ @@ -24227,7 +24210,7 @@ }, /obj/random_multi/single_item/hand_tele, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/hor) +/area/crux/habitation/hor) "caS" = ( /obj/structure/window/reinforced{ dir = 4; @@ -24247,7 +24230,7 @@ amount = 20 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "caT" = ( /obj/structure/window/reinforced{ dir = 8 @@ -24264,7 +24247,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "caU" = ( /obj/structure/table/steel_reinforced, /obj/item/storage/belt/utility, @@ -24283,7 +24266,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "caV" = ( /obj/structure/table/steel_reinforced, /obj/item/radio/off{ @@ -24299,10 +24282,10 @@ }, /obj/item/radio/off, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "caW" = ( /turf/simulated/wall/r_wall, -/area/engineering/workshop) +/area/crux/engineering/workshop) "caX" = ( /obj/machinery/button/mass_driver{ id_tag = "enginecore"; @@ -24313,7 +24296,7 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "caY" = ( /obj/structure/table/reinforced, /obj/structure/cable/green, @@ -24344,7 +24327,7 @@ maxcharge = 15000 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "caZ" = ( /obj/structure/rack, /obj/structure/window/reinforced{ @@ -24361,7 +24344,7 @@ name = "Chief Engineer Suit Storage" }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "cba" = ( /obj/machinery/atm{ pixel_x = -28 @@ -24377,7 +24360,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "cbb" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -24387,7 +24370,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "cbc" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -24396,7 +24379,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "cbd" = ( /obj/machinery/computer/guestpass{ pixel_x = 30 @@ -24412,7 +24395,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "cbe" = ( /obj/machinery/power/apc{ dir = 1; @@ -24436,7 +24419,7 @@ /obj/item/radio/beacon, /obj/random_multi/single_item/hand_tele, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cbf" = ( /obj/machinery/computer/modular/preset/engineering{ dir = 1 @@ -24447,12 +24430,12 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "cbg" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/bookcase/manuals/engineering, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "cbh" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/woodentable, @@ -24467,7 +24450,7 @@ pixel_y = 7 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "cbi" = ( /obj/effect/floor_decal/corner/white/diagonal, /obj/structure/table/woodentable, @@ -24477,7 +24460,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "cbj" = ( /obj/machinery/chemical_dispenser/bar_soft/full{ dir = 8 @@ -24488,19 +24471,19 @@ }, /obj/structure/table/woodentable, /turf/simulated/floor/tiled, -/area/engineering/break_room) +/area/crux/engineering/break_room) "cbk" = ( /obj/structure/hygiene/toilet{ dir = 1 }, /obj/machinery/light/small, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "cbl" = ( /obj/machinery/recharge_station, /obj/machinery/light/small, /turf/simulated/floor/tiled/freezer, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "cbm" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/light/small{ @@ -24508,7 +24491,7 @@ }, /obj/structure/railing, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cbn" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -24516,14 +24499,14 @@ /obj/effect/floor_decal/industrial/warning, /obj/structure/railing, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cbo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ name = "Utility Down" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cbp" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -24534,7 +24517,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cbq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24543,7 +24526,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cbr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24555,7 +24538,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cbs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -24566,7 +24549,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cbt" = ( /obj/machinery/status_display{ pixel_x = 32 @@ -24585,13 +24568,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cbu" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/wall, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "cbw" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -24606,7 +24589,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "cbx" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -24622,7 +24605,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "cby" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -24640,7 +24623,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "cbz" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -24656,7 +24639,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "cbA" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -24672,13 +24655,13 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cbB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan, /obj/machinery/meter, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cbC" = ( /obj/machinery/atmospherics/valve{ dir = 4 @@ -24687,21 +24670,21 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cbD" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cbE" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 8; start_pressure = 4559.63 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cbF" = ( /obj/structure/closet/secure_closet/engineering_chief, /obj/machinery/alarm{ @@ -24716,7 +24699,7 @@ }, /obj/random_multi/single_item/hand_tele, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "cbG" = ( /obj/machinery/shieldwallgen, /obj/effect/floor_decal/industrial/outline/yellow, @@ -24724,23 +24707,23 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cbI" = ( /obj/machinery/atmospherics/unary/tank/air{ start_pressure = 4559.63 }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cbJ" = ( /obj/structure/cable/green{ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cbK" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/teleporter) +/area/crux/secure/teleporter) "cbL" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -24749,12 +24732,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cbM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cbN" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -24763,11 +24746,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cbO" = ( /obj/structure/flora/bush/fullgrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cbP" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /obj/machinery/camera/network/second_deck{ @@ -24775,11 +24758,11 @@ dir = 8 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cbQ" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cbR" = ( /obj/random/tech_supply, /obj/random/tech_supply, @@ -24788,7 +24771,7 @@ /obj/random/powercell, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cbS" = ( /obj/item/paper_bin{ pixel_x = -3; @@ -24808,7 +24791,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "cbT" = ( /obj/item/folder, /obj/item/disk/tech_disk, @@ -24826,7 +24809,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "cbU" = ( /obj/machinery/recharger, /obj/item/stock_parts/console_screen, @@ -24843,7 +24826,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "cbV" = ( /obj/item/stock_parts/manipulator, /obj/item/stock_parts/manipulator, @@ -24864,7 +24847,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/rnd/lab) +/area/crux/science/lab) "cbW" = ( /obj/machinery/light{ dir = 1 @@ -24876,7 +24859,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cbX" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 @@ -24885,7 +24868,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cbY" = ( /obj/machinery/camera/network/research{ c_tag = "SCI - Research Foyer"; @@ -24897,7 +24880,7 @@ sort_type = "Robotics" }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cbZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24909,7 +24892,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cca" = ( /obj/machinery/computer/guestpass{ pixel_y = -30 @@ -24927,7 +24910,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner2, /obj/effect/floor_decal/corner/purple/bordercorner2, /turf/simulated/floor/tiled/white, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "ccb" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -24935,7 +24918,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/assembly/robotics) +/area/crux/engineering/robotics) "ccc" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -24944,7 +24927,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "ccd" = ( /obj/structure/table, /obj/structure/reagent_dispensers/acid{ @@ -24979,28 +24962,28 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "ccg" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "cch" = ( /obj/machinery/mech_recharger, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled/techmaint, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cci" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "ccj" = ( /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cck" = ( /obj/machinery/mech_recharger, /obj/machinery/alarm{ @@ -25008,14 +24991,14 @@ pixel_x = 22 }, /turf/simulated/floor/tiled/techmaint, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "ccl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Research Maintenance Access" }, /turf/simulated/floor/plating, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "ccm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -25031,7 +25014,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "ccn" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloorwhite{ @@ -25041,7 +25024,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "cco" = ( /obj/machinery/alarm{ dir = 4; @@ -25055,13 +25038,13 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "ccp" = ( /obj/structure/bed/chair/office/dark{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "ccq" = ( /obj/structure/table/steel, /obj/item/integrated_electronics/debugger{ @@ -25080,20 +25063,20 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "ccr" = ( /turf/simulated/wall, -/area/rnd/workshop) +/area/crux/science/workshop) "ccs" = ( /obj/item/stack/tile/floor_white, /turf/simulated/floor/plating, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cct" = ( /obj/structure/bed/chair{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ccu" = ( /obj/structure/table, /obj/random/soap, @@ -25108,7 +25091,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ccv" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -25117,7 +25100,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ccw" = ( /obj/structure/table/glass, /obj/item/storage/box/monkeycubes, @@ -25129,7 +25112,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ccx" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/effect/floor_decal/borderfloorwhite{ @@ -25139,7 +25122,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ccy" = ( /obj/structure/table/glass, /obj/item/roller, @@ -25150,7 +25133,7 @@ pixel_y = 23 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ccG" = ( /obj/machinery/embedded_controller/radio/airlock/advanced_airlock_controller{ id_tag = "engine_room_airlock"; @@ -25170,7 +25153,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "ccH" = ( /obj/machinery/atmospherics/binary/pump/high_power{ dir = 8; @@ -25187,14 +25170,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "ccI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "ccJ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -25212,7 +25195,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "ccK" = ( /obj/structure/closet/radiation, /obj/item/clothing/glasses/meson, @@ -25232,7 +25215,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "ccL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/warning/corner, @@ -25241,7 +25224,7 @@ pixel_x = 22 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "ccM" = ( /obj/structure/table/reinforced, /obj/item/radio/intercom{ @@ -25258,10 +25241,10 @@ /obj/random/powercell, /obj/random/tool/power, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "ccN" = ( /turf/simulated/wall/r_wall, -/area/engineering/foyer) +/area/crux/engineering/foyer) "ccO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -25269,20 +25252,20 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/foyer) +/area/crux/engineering/foyer) "ccP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Engineering Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/foyer) +/area/crux/engineering/foyer) "ccQ" = ( /turf/simulated/wall/r_wall, -/area/engineering/break_room) +/area/crux/engineering/break_room) "ccR" = ( /turf/simulated/wall/r_wall, -/area/engineering/engi_restroom) +/area/crux/engineering/engi_restroom) "ccS" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/zpipe/down/scrubbers, @@ -25293,12 +25276,12 @@ }, /obj/machinery/door/firedoor, /turf/simulated/open, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "ccT" = ( /obj/structure/lattice, /obj/machinery/door/firedoor, /turf/simulated/open, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "ccU" = ( /obj/structure/disposalpipe/broken{ dir = 4 @@ -25307,14 +25290,14 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "ccV" = ( /obj/structure/closet/emcloset, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ccW" = ( /obj/machinery/power/apc{ dir = 4; @@ -25330,19 +25313,19 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "ccX" = ( /obj/machinery/vending/snack{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "ccY" = ( /obj/effect/floor_decal/spline/plain{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "ccZ" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -25357,7 +25340,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cda" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -25365,7 +25348,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cdb" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -25381,7 +25364,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cdc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -25389,27 +25372,27 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cdd" = ( /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cde" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cdf" = ( /obj/structure/cable/green{ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cdg" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cdh" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -25424,7 +25407,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cdi" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -25439,16 +25422,16 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cdj" = ( /obj/structure/flora/bush/palebush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cdk" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/wall/r_wall, -/area/maintenance/research) +/area/crux/maintenance/research) "cdl" = ( /obj/structure/rack{ dir = 8 @@ -25459,10 +25442,10 @@ /obj/random/maintenance/clean, /obj/item/shard, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cdm" = ( /turf/simulated/wall/r_wall, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cdn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -25478,13 +25461,13 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/assembly/robotics) +/area/crux/engineering/robotics) "cdo" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "cdp" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/recharge_station, @@ -25497,11 +25480,11 @@ pixel_x = -32 }, /turf/simulated/floor/tiled/techmaint, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cdq" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cdr" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/recharge_station, @@ -25516,7 +25499,7 @@ pixel_x = 32 }, /turf/simulated/floor/tiled/techmaint, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cds" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -25525,10 +25508,10 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdt" = ( /turf/simulated/wall/r_wall, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdu" = ( /obj/item/stack/tile/floor_white, /obj/item/stack/tile/floor_white, @@ -25545,14 +25528,14 @@ /obj/random/tech_supply, /obj/random/tool, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdv" = ( /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdw" = ( /obj/item/stack/cable_coil, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdx" = ( /obj/structure/rack{ dir = 1 @@ -25563,7 +25546,7 @@ /obj/item/stack/cable_coil, /obj/item/coin/silver, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdy" = ( /obj/structure/rack{ dir = 1 @@ -25572,7 +25555,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdA" = ( /obj/random/bomb_supply, /obj/random/bomb_supply, @@ -25582,7 +25565,7 @@ /obj/random/tool, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cdD" = ( /obj/machinery/camera/network/research{ c_tag = "SCI - Research Hallway South"; @@ -25595,11 +25578,11 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "cdE" = ( /obj/structure/sign/warning/server_room, /turf/simulated/wall/r_wall, -/area/rnd/workshop) +/area/crux/science/workshop) "cdF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -25620,12 +25603,12 @@ }, /obj/item/suit_cooling_unit, /turf/simulated/floor/tiled/white, -/area/rnd/misc_lab) +/area/crux/science/misc_lab) "cdG" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cdH" = ( /obj/structure/table/steel, /obj/item/electronic_assembly/large{ @@ -25642,10 +25625,10 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cdI" = ( /turf/simulated/floor/plating, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cdJ" = ( /obj/structure/closet, /obj/item/flashlight, @@ -25656,11 +25639,11 @@ /obj/random/maintenance/medical, /obj/random/maintenance/medical, /turf/simulated/floor/plating, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cdK" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/medical/virology) +/area/crux/medical/virology) "cdL" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -25674,16 +25657,10 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cdM" = ( /turf/simulated/floor/tiled/white, -/area/medical/virology) -"cdN" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/turf/simulated/floor/plating, -/area/engineering/engine_room) +/area/crux/medical/virology) "cdO" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -25692,7 +25669,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cdP" = ( /obj/structure/bed/padded, /obj/item/radio/intercom{ @@ -25708,7 +25685,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cdY" = ( /obj/machinery/door/firedoor, /obj/structure/cable/cyan{ @@ -25719,7 +25696,7 @@ name = "Engine Airlock Interior" }, /turf/simulated/floor, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cdZ" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -25735,7 +25712,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cea" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -25747,7 +25724,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "ceb" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/universal{ @@ -25761,7 +25738,7 @@ name = "Engine Airlock Exterior" }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cec" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -25774,7 +25751,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "ced" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -25785,21 +25762,21 @@ }, /obj/machinery/light, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cee" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch/maintenance{ name = "Engine Access" }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cef" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "ceg" = ( /obj/machinery/door/window/westleft{ name = "Engineering Delivery" @@ -25812,7 +25789,7 @@ opacity = 0 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "cei" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -25825,7 +25802,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cej" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -25841,7 +25818,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cek" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -25854,7 +25831,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cel" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -25870,7 +25847,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cem" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -25883,10 +25860,10 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cen" = ( /turf/simulated/wall, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ceo" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -25899,7 +25876,7 @@ pixel_x = -32 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cep" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -25910,7 +25887,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ceq" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -25920,7 +25897,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cer" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -25933,15 +25910,15 @@ pixel_x = 32 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ces" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cet" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "ceu" = ( /obj/item/tank/emergency/oxygen/engi, /obj/item/tank/emergency/oxygen/double, @@ -25951,7 +25928,7 @@ /obj/random/maintenance/engineering, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cev" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -25964,20 +25941,20 @@ name = "Utility Down" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cew" = ( /obj/structure/disposalpipe/broken{ dir = 1 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cex" = ( /obj/machinery/vending/coffee{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cey" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -25988,7 +25965,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cez" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -25999,7 +25976,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "ceA" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -26009,13 +25986,13 @@ name = "Emergency Storage" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "ceB" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "ceC" = ( /obj/structure/table/steel, /obj/item/flashlight, @@ -26031,7 +26008,7 @@ icon_state = "0-8" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "ceD" = ( /obj/structure/rack{ dir = 1 @@ -26043,10 +26020,10 @@ /obj/item/clothing/head/hardhat/red, /obj/item/clothing/glasses/meson, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "ceE" = ( /turf/simulated/wall, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "ceF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -26059,7 +26036,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "ceG" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -26071,7 +26048,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "ceH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -26084,7 +26061,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "ceI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -26099,14 +26076,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "ceJ" = ( /obj/machinery/suit_cycler, /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/teleporter) +/area/crux/secure/teleporter) "ceK" = ( /obj/machinery/shieldwallgen, /obj/effect/floor_decal/industrial/outline/yellow, @@ -26114,7 +26091,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "ceL" = ( /obj/machinery/shieldwallgen, /obj/effect/floor_decal/industrial/outline/yellow, @@ -26122,37 +26099,37 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "ceM" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "ceN" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "ceO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "ceP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ceQ" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ceR" = ( /obj/structure/cable{ icon_state = "0-8" @@ -26163,14 +26140,14 @@ pixel_y = 24 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ceS" = ( /obj/item/shard{ icon_state = "medium" }, /obj/item/stack/material/rods, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ceT" = ( /obj/structure/rack{ dir = 1 @@ -26179,7 +26156,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ceU" = ( /obj/structure/closet, /obj/item/clothing/glasses/welding, @@ -26188,7 +26165,7 @@ /obj/random/maintenance/research, /obj/random/maintenance/research, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ceV" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -26201,7 +26178,7 @@ pixel_x = -32 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ceW" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -26211,7 +26188,7 @@ }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ceX" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -26222,7 +26199,7 @@ /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ceY" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -26235,29 +26212,29 @@ pixel_x = 32 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ceZ" = ( /turf/simulated/wall, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cfa" = ( /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cfb" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cfc" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cfd" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cfe" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cff" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/shutters{ @@ -26266,7 +26243,7 @@ name = "Mining Storage" }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cfg" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/shutters{ @@ -26275,7 +26252,7 @@ name = "Mech Bay" }, /turf/simulated/floor/tiled/techfloor, -/area/assembly/chargebay) +/area/crux/engineering/chargebay) "cfh" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26287,7 +26264,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cfi" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26296,20 +26273,20 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cfj" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cfk" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cfl" = ( /obj/structure/cable{ icon_state = "0-8" @@ -26320,11 +26297,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cfm" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cfq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ @@ -26338,7 +26315,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/research) +/area/crux/science) "cfr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -26350,13 +26327,13 @@ dir = 9 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cfs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cft" = ( /obj/random/junk, /obj/structure/extinguisher_cabinet{ @@ -26372,7 +26349,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cfu" = ( /obj/structure/table, /obj/item/storage/box/cups, @@ -26386,7 +26363,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cfv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 10 @@ -26395,7 +26372,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cfw" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -26412,7 +26389,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cfx" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -26420,7 +26397,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/medical/virology) +/area/crux/medical/virology) "cfy" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -26435,7 +26412,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cfz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 10 @@ -26447,7 +26424,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cfA" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -26462,13 +26439,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cfB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/medical/virology) +/area/crux/medical/virology) "cfC" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -26478,7 +26455,7 @@ }, /obj/machinery/shield_diffuser, /turf/simulated/floor, -/area/medical/virology) +/area/crux/medical/virology) "cfE" = ( /obj/structure/plasticflaps{ opacity = 1 @@ -26491,7 +26468,7 @@ location = "Engineering" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "cfJ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -26503,15 +26480,15 @@ name = "Engine Access" }, /turf/simulated/floor/tiled, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cfK" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cfL" = ( /obj/structure/sign/warning/radioactive, /turf/simulated/wall/r_wall, -/area/engineering/engine_airlock) +/area/crux/engineering/engine_airlock) "cfM" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -26522,7 +26499,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "cfN" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/effect/floor_decal/industrial/warning/corner{ @@ -26535,10 +26512,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "cfO" = ( /turf/simulated/wall, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "cfP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -26550,7 +26527,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cfQ" = ( /obj/structure/cable{ icon_state = "0-8" @@ -26561,10 +26538,10 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cfR" = ( /turf/simulated/wall/r_wall, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cfS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -26577,7 +26554,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cfT" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -26591,7 +26568,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cfU" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26606,7 +26583,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cfV" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26631,7 +26608,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cfW" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26649,7 +26626,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cfX" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26669,7 +26646,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/yellow/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cfY" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26687,7 +26664,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cfZ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -26704,7 +26681,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cga" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -26720,7 +26697,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cgb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -26737,7 +26714,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cgc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -26752,7 +26729,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cgd" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -26767,13 +26744,13 @@ icon_state = "pipe-j2" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cge" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cgf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -26790,13 +26767,13 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cgg" = ( /obj/machinery/vending/cola{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cgh" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -26805,7 +26782,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cgi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -26821,7 +26798,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cgj" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light{ @@ -26834,19 +26811,19 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cgk" = ( /turf/simulated/wall/r_wall, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "cgl" = ( /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "cgm" = ( /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "cgn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -26855,7 +26832,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cgo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -26867,18 +26844,18 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cgp" = ( /obj/machinery/shieldwallgen, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cgq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "cgr" = ( /obj/machinery/light{ dir = 8 @@ -26890,7 +26867,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cgs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -26903,7 +26880,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cgt" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -26912,43 +26889,43 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cgu" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/ywflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cgv" = ( /obj/structure/flora/bush/stalkybush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/fscenter) +/area/crux/hallway/primary/seconddeck/fscenter) "cgw" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cgx" = ( /obj/structure/window/reinforced, /obj/item/stack/material/rods, /obj/item/stack/material/rods, /obj/item/shard, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cgy" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cgz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cgA" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cgB" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26960,14 +26937,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cgC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cgD" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -26975,27 +26952,27 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cgE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cgF" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cgG" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cgH" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cgI" = ( /obj/structure/cable{ icon_state = "0-4" @@ -27006,14 +26983,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cgJ" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cgK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, @@ -27021,7 +26998,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cgL" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -27030,16 +27007,16 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cgM" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cgN" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cgO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, @@ -27047,12 +27024,12 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cgP" = ( /obj/structure/closet/emcloset, /obj/random/maintenance/research, /turf/simulated/floor, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cgQ" = ( /obj/machinery/alarm{ dir = 4; @@ -27069,7 +27046,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "cgR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -27081,7 +27058,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "cgS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -27093,7 +27070,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "cgT" = ( /obj/machinery/power/apc{ dir = 8; @@ -27107,7 +27084,7 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cgU" = ( /obj/machinery/door/firedoor, /obj/structure/lattice, @@ -27124,7 +27101,7 @@ dir = 4 }, /turf/simulated/open, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cgV" = ( /obj/structure/table/steel, /obj/item/stack/material/pane/mapped/glass{ @@ -27146,11 +27123,11 @@ dir = 6 }, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cgW" = ( /obj/item/frame/light, /turf/simulated/floor/plating, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cgX" = ( /obj/structure/closet/crate/medical, /obj/random/maintenance/medical, @@ -27160,7 +27137,7 @@ /obj/random/medical, /obj/random/medical/lite, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cgY" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/machinery/light{ @@ -27173,12 +27150,12 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cgZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cha" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -27189,7 +27166,7 @@ }, /obj/effect/floor_decal/industrial/warning/full, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "chb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/window/northright{ @@ -27198,7 +27175,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "chi" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -27208,7 +27185,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "chj" = ( /obj/structure/table/reinforced, /obj/structure/cable/cyan{ @@ -27224,7 +27201,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "chk" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -27244,7 +27221,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "chl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -27254,17 +27231,17 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "chm" = ( /obj/structure/closet/radiation, /obj/item/clothing/glasses/meson, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "chn" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cho" = ( /obj/structure/cable{ icon_state = "2-4" @@ -27275,7 +27252,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "chp" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -27289,7 +27266,7 @@ icon_state = "pipe-j2" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "chq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -27305,7 +27282,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "chr" = ( /obj/structure/cable{ icon_state = "4-8" @@ -27317,7 +27294,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "chs" = ( /obj/structure/cable{ icon_state = "2-8" @@ -27333,31 +27310,31 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cht" = ( /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "chu" = ( /turf/unsimulated/mask, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chv" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chw" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chx" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/vending/cigarette, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chy" = ( /obj/structure/sign/directions/medical{ dir = 4 @@ -27367,7 +27344,7 @@ pixel_y = 10 }, /turf/simulated/wall, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "chz" = ( /obj/structure/sign/directions/engineering{ dir = 1; @@ -27381,13 +27358,13 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "chA" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chB" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -27396,10 +27373,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chC" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chD" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -27408,10 +27385,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chE" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "chF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -27422,22 +27399,22 @@ /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "chG" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chH" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chI" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chJ" = ( /obj/structure/sign/directions/engineering{ dir = 8; @@ -27451,19 +27428,19 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chK" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chM" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -27473,7 +27450,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chN" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -27481,11 +27458,11 @@ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "chO" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "chP" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/alarm{ @@ -27493,7 +27470,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/central_emergency) +/area/crux/storage/emergency/sd_central) "chQ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -27502,10 +27479,10 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "chR" = ( /turf/unsimulated/mask, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "chS" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -27515,7 +27492,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "chT" = ( /obj/machinery/suit_cycler, /obj/machinery/camera/network/command{ @@ -27526,32 +27503,32 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/teleporter) +/area/crux/secure/teleporter) "chU" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -28 }, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "chV" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "chW" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "chX" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "chY" = ( /obj/structure/sign/directions/bridge{ pixel_y = 10 @@ -27564,21 +27541,21 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "chZ" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cia" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cib" = ( /obj/structure/closet/emcloset, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cic" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cid" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -27589,10 +27566,10 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cie" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cif" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -27601,11 +27578,11 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cig" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cih" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -27614,7 +27591,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cii" = ( /obj/structure/sign/directions/engineering{ dir = 8; @@ -27624,22 +27601,22 @@ dir = 1 }, /turf/simulated/wall, -/area/maintenance/robotics) +/area/crux/maintenance/robotics) "cij" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cik" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cil" = ( /obj/machinery/alarm{ pixel_y = 23 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cim" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/cable{ @@ -27649,24 +27626,24 @@ pixel_x = 32 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cin" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cio" = ( /turf/unsimulated/mask, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cip" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Research Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/research_foyer) +/area/crux/science/research_foyer) "ciq" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/rnd/workshop) +/area/crux/science/workshop) "cir" = ( /obj/structure/hygiene/sink{ dir = 8; @@ -27684,7 +27661,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cis" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 4 @@ -27693,7 +27670,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cit" = ( /obj/machinery/light{ dir = 1 @@ -27705,7 +27682,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ciu" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 1 @@ -27714,14 +27691,14 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "civ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/black{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ciw" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -27733,7 +27710,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cix" = ( /obj/structure/table/glass, /obj/item/folder, @@ -27748,7 +27725,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ciI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -27759,7 +27736,7 @@ }, /obj/effect/wingrille_spawn/reinforced_borosilicate, /turf/simulated/floor, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ciJ" = ( /obj/machinery/vending/engivend{ dir = 8 @@ -27770,7 +27747,7 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/engineering/workshop) +/area/crux/engineering/workshop) "ciK" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -27779,13 +27756,13 @@ name = "Station Engineer" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ciL" = ( /obj/structure/cable/cyan{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ciM" = ( /obj/structure/cable{ icon_state = "2-4" @@ -27797,7 +27774,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ciN" = ( /obj/structure/cable{ icon_state = "4-8" @@ -27817,7 +27794,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ciO" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -27836,7 +27813,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ciP" = ( /obj/structure/cable{ icon_state = "1-8" @@ -27857,7 +27834,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "ciQ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -27870,7 +27847,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "ciR" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -27880,7 +27857,7 @@ opacity = 0 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "ciS" = ( /obj/structure/cable{ icon_state = "1-2" @@ -27892,7 +27869,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ciT" = ( /obj/structure/closet, /obj/random/maintenance/engineering, @@ -27908,7 +27885,7 @@ pixel_x = 24 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ciV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloor{ @@ -27924,21 +27901,21 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ciW" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ciX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ciY" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -27947,7 +27924,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ciZ" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -27962,7 +27939,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cja" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/borderfloor{ @@ -27972,7 +27949,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjb" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -27981,10 +27958,10 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjc" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjd" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -27993,7 +27970,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cje" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -28002,7 +27979,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjf" = ( /obj/machinery/alarm{ pixel_y = 23 @@ -28014,7 +27991,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjg" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor/corner{ @@ -28024,7 +28001,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjh" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -28036,7 +28013,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cji" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor{ @@ -28046,13 +28023,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjj" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjk" = ( /obj/machinery/camera/network/second_deck{ c_tag = "First Floor - West Hallway Two" @@ -28064,7 +28041,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjl" = ( /obj/machinery/power/apc{ dir = 1; @@ -28081,7 +28058,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjm" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -28091,26 +28068,26 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjn" = ( /obj/machinery/status_display{ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjo" = ( /obj/machinery/firealarm{ pixel_y = 24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjp" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cjq" = ( /obj/item/radio/intercom{ dir = 1; @@ -28124,7 +28101,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjr" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -28142,7 +28119,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjs" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28157,7 +28134,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28170,7 +28147,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cju" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28182,7 +28159,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28194,7 +28171,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjw" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28209,7 +28186,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28222,7 +28199,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjy" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -28238,7 +28215,7 @@ codes = "{'patrol':'CH3','next_patrol':'ENG'}" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjz" = ( /obj/machinery/power/apc{ dir = 1; @@ -28249,7 +28226,7 @@ icon_state = "0-2" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cjA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -28264,14 +28241,14 @@ codes = "{'patrol':'CH10','next_patrol':'CH11'}" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjC" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -28280,10 +28257,10 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjD" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjF" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -28292,7 +28269,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloor{ @@ -28302,7 +28279,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjH" = ( /obj/machinery/ai_status_display{ pixel_y = 32 @@ -28314,7 +28291,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -28329,7 +28306,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28342,7 +28319,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cjK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -28352,7 +28329,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28364,7 +28341,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28385,7 +28362,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28397,7 +28374,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28409,13 +28386,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjP" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28428,14 +28405,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjS" = ( /obj/structure/disposalpipe/segment{ dir = 8; icon_state = "pipe-c" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjT" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -28444,7 +28421,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjU" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -28454,7 +28431,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjV" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -28463,7 +28440,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjW" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -28472,11 +28449,11 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjX" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjY" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -28488,7 +28465,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cjZ" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor{ @@ -28498,7 +28475,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cka" = ( /obj/machinery/light{ dir = 1 @@ -28510,21 +28487,21 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ckc" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ckd" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cke" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -28533,7 +28510,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ckf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -28552,15 +28529,15 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ckh" = ( /obj/structure/ladder, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cki" = ( /obj/structure/sign/warning/secure_area, /turf/simulated/wall/r_wall, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckj" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -28574,7 +28551,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckk" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -28585,7 +28562,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckl" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -28595,7 +28572,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckm" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -28604,7 +28581,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckn" = ( /obj/machinery/light{ dir = 1 @@ -28616,7 +28593,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cko" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/extinguisher_cabinet{ @@ -28629,7 +28606,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckp" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -28641,13 +28618,13 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckq" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "ckr" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -28665,7 +28642,7 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cks" = ( /obj/structure/hygiene/sink{ dir = 8; @@ -28676,7 +28653,7 @@ pixel_y = 23 }, /turf/simulated/floor/tiled, -/area/medical/virology) +/area/crux/medical/virology) "ckt" = ( /obj/structure/hygiene/shower{ dir = 8; @@ -28684,7 +28661,7 @@ }, /obj/structure/curtain/open/medical, /turf/simulated/floor/tiled, -/area/medical/virology) +/area/crux/medical/virology) "cku" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -28706,7 +28683,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ckv" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -28718,7 +28695,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ckw" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -28727,7 +28704,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ckH" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -28747,7 +28724,7 @@ }, /obj/effect/wingrille_spawn/reinforced_borosilicate, /turf/simulated/floor, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ckI" = ( /obj/machinery/computer/modular/telescreen/preset/engineering, /obj/machinery/computer/atmos_alert{ @@ -28763,7 +28740,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/chief) +/area/crux/habitation/chief) "ckJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28784,7 +28761,7 @@ }, /obj/effect/engine_setup/shutters, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ckK" = ( /obj/structure/cable/cyan{ icon_state = "1-8" @@ -28798,7 +28775,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ckL" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -28810,7 +28787,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ckM" = ( /obj/machinery/disposal, /obj/machinery/camera/network/engine{ @@ -28821,7 +28798,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ckN" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -28831,7 +28808,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/engineer_hallway) +/area/crux/engineering/hallway/engineer_hallway) "ckO" = ( /obj/structure/cable{ icon_state = "1-2" @@ -28841,10 +28818,10 @@ /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ckP" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -28853,7 +28830,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -28869,7 +28846,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckS" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -28880,7 +28857,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28889,7 +28866,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28898,14 +28875,14 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckV" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -28914,7 +28891,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28929,7 +28906,7 @@ codes = "{'patrol':'ENG','next_patrol':'CH4'}" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -28938,7 +28915,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "ckZ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -28948,7 +28925,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cla" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28957,14 +28934,14 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "clb" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "clc" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -28976,7 +28953,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cld" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -28991,7 +28968,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cle" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -29001,7 +28978,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "clf" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, @@ -29021,7 +28998,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "clg" = ( /obj/structure/cable{ icon_state = "1-4" @@ -29029,7 +29006,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "clh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -29044,7 +29021,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cli" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -29058,7 +29035,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "clj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -29070,7 +29047,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "clk" = ( /obj/structure/cable{ icon_state = "1-2" @@ -29084,7 +29061,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cll" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29096,7 +29073,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "clm" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29106,7 +29083,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cln" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29124,20 +29101,21 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/abstract/landmark/latejoin/observer, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "clo" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "clp" = ( /obj/structure/cable{ icon_state = "1-8" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "clq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -29148,7 +29126,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "clr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -29161,7 +29139,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cls" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -29177,7 +29155,7 @@ pixel_x = 22 }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "clt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -29190,7 +29168,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "clu" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -29202,14 +29180,14 @@ name = "Teleport Access" }, /turf/simulated/floor/plating, -/area/teleporter) +/area/crux/secure/teleporter) "clv" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "clw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -29219,7 +29197,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "clx" = ( /obj/structure/cable{ icon_state = "2-4" @@ -29228,13 +29206,13 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cly" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "clz" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/hologram/holopad{ @@ -29249,8 +29227,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/abstract/landmark/latejoin/observer, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "clA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29262,7 +29241,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "clB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/cable{ @@ -29272,7 +29251,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "clC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -29284,7 +29263,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "clD" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, @@ -29298,7 +29277,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "clE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29310,7 +29289,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "clF" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, @@ -29324,7 +29303,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29339,7 +29318,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29351,7 +29330,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clI" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29363,7 +29342,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29375,7 +29354,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clK" = ( /obj/structure/cable{ icon_state = "2-8" @@ -29388,7 +29367,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clL" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29404,7 +29383,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29414,7 +29393,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clN" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -29427,7 +29406,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clO" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29437,7 +29416,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29458,7 +29437,7 @@ codes = "{'patrol':'MED','next_patrol':'CH10'}" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clQ" = ( /obj/structure/cable{ icon_state = "1-8" @@ -29473,7 +29452,7 @@ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29485,7 +29464,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clS" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -29498,7 +29477,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -29507,26 +29486,26 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clV" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "clW" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "clX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "clY" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "clZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -29542,7 +29521,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cma" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -29558,7 +29537,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmb" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -29571,7 +29550,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29583,7 +29562,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29598,7 +29577,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cme" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29610,7 +29589,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -29622,7 +29601,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmg" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -29637,7 +29616,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmh" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -29652,7 +29631,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29672,7 +29651,7 @@ }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cmj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29695,7 +29674,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/virology) +/area/crux/medical/virology) "cmk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29710,7 +29689,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cml" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29722,7 +29701,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -29742,7 +29721,7 @@ pixel_y = 24 }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/virology) +/area/crux/medical/virology) "cmn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -29754,7 +29733,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, @@ -29762,7 +29741,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmp" = ( /obj/structure/table/glass, /obj/item/storage/lockbox/vials, @@ -29773,7 +29752,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmq" = ( /obj/structure/table/glass, /obj/item/storage/fancy/vials, @@ -29781,7 +29760,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmr" = ( /obj/item/storage/box/syringes{ pixel_x = 4; @@ -29794,7 +29773,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cms" = ( /obj/structure/table/glass, /obj/item/storage/box/gloves{ @@ -29807,12 +29786,12 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmt" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmu" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - Virology East"; @@ -29828,12 +29807,12 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cmv" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/virology) +/area/crux/medical/virology) "cmE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular{ @@ -29847,7 +29826,7 @@ }, /obj/effect/wingrille_spawn/reinforced_borosilicate, /turf/simulated/floor, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cmG" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -29862,10 +29841,10 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cmH" = ( /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cmI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -29873,7 +29852,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cmJ" = ( /obj/structure/table/steel, /obj/machinery/microwave{ @@ -29881,14 +29860,14 @@ pixel_y = 5 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cmK" = ( /obj/structure/sign/warning/radioactive, /turf/simulated/wall/r_wall, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cmL" = ( /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cmM" = ( /obj/structure/cable{ icon_state = "1-2" @@ -29897,11 +29876,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cmN" = ( /obj/structure/ladder, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cmP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/borderfloor, @@ -29913,7 +29892,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmQ" = ( /obj/machinery/firealarm{ dir = 1; @@ -29926,19 +29905,19 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmR" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/brown/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmS" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmT" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -29947,12 +29926,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmU" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmV" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -29960,7 +29939,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmW" = ( /obj/machinery/camera/network/second_deck{ c_tag = "First Floor - West Hallway Three"; @@ -29969,7 +29948,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmX" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor/corner{ @@ -29979,7 +29958,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmY" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -29990,7 +29969,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cmZ" = ( /obj/machinery/alarm{ dir = 1; @@ -29999,11 +29978,11 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cna" = ( /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cnb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -30011,7 +29990,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cnc" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -30020,7 +29999,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cnd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30029,7 +30008,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cne" = ( /obj/machinery/power/apc{ dir = 4; @@ -30050,7 +30029,7 @@ }, /obj/structure/table/bench/steel, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "cnf" = ( /obj/machinery/newscaster{ pixel_x = -28; @@ -30067,13 +30046,13 @@ }, /obj/structure/bed/roller, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "cng" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cnh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30083,7 +30062,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cni" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -30093,7 +30072,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cnj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30109,24 +30088,24 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 }, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 }, +/obj/structure/disposalpipe/junction/mirrored{ + dir = 8 + }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30137,7 +30116,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30146,7 +30125,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30154,7 +30133,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cno" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30171,7 +30150,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30183,7 +30162,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30193,7 +30172,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnr" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -30212,10 +30191,10 @@ codes = "{'patrol':'CH4','next_patrol':'CH5'}" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cns" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cnt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -30229,7 +30208,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cnu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -30237,7 +30216,7 @@ /obj/machinery/meter, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cnv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -30250,7 +30229,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cnw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -30263,7 +30242,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cnx" = ( /obj/structure/tank_rack/oxygen, /obj/effect/floor_decal/industrial/warning{ @@ -30273,12 +30252,12 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/teleporter) +/area/crux/secure/teleporter) "cny" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/porta_turret, /turf/simulated/floor/tiled/dark, -/area/teleporter) +/area/crux/secure/teleporter) "cnz" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -30286,7 +30265,7 @@ }, /obj/structure/cable, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnA" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -30302,7 +30281,7 @@ codes = "{'patrol':'CH9','next_patrol':'MED'}" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30312,7 +30291,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30327,13 +30306,13 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnD" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30341,7 +30320,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30349,7 +30328,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30358,7 +30337,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30373,7 +30352,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -30384,7 +30363,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30398,7 +30377,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cnK" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -30407,7 +30386,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30415,7 +30394,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnM" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -30428,7 +30407,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnO" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -30439,7 +30418,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30448,7 +30427,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30460,7 +30439,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30468,7 +30447,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30480,14 +30459,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnT" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnU" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -30500,18 +30479,18 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnV" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnW" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnX" = ( /obj/effect/floor_decal/borderfloor, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -30525,7 +30504,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -30535,14 +30514,14 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cnZ" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cob" = ( /obj/random/powercell, /obj/random/powercell, @@ -30553,13 +30532,13 @@ /obj/random/maintenance/medical, /obj/random/maintenance/medical, /turf/simulated/floor, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "coc" = ( /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cod" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -30569,7 +30548,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "coe" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -30585,7 +30564,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cof" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -30598,12 +30577,12 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cog" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "coh" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -30617,7 +30596,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "coi" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -30633,7 +30612,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "coj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -30647,14 +30626,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cok" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /obj/machinery/light, /turf/simulated/floor/tiled/white, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "col" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -30668,7 +30647,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled/dark, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "com" = ( /obj/structure/closet/l3closet/virology, /obj/effect/floor_decal/industrial/warning{ @@ -30687,7 +30666,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "con" = ( /obj/structure/closet/wardrobe/virology_white, /obj/effect/floor_decal/industrial/warning{ @@ -30702,7 +30681,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "coo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 6 @@ -30724,22 +30703,22 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cop" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/black{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "coq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cor" = ( /obj/item/stool/padded, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cos" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -30747,29 +30726,17 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/lime/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/virology) -"cot" = ( -/obj/structure/cable/green{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/cap/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/engineering/engine_waste) +/area/crux/medical/virology) "coy" = ( /obj/machinery/computer/modular/preset/engineering/rcon{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "coz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "coA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -30779,7 +30746,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "coB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -30789,7 +30756,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "coC" = ( /obj/structure/table/steel, /obj/item/storage/box/donkpockets, @@ -30798,22 +30765,22 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "coD" = ( /turf/simulated/wall/r_wall, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "coE" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "coF" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "coG" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "coH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -30829,7 +30796,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/rnd/workshop) +/area/crux/science/workshop) "coI" = ( /obj/machinery/door/airlock/research{ name = "Research Access" @@ -30837,7 +30804,7 @@ /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/research) +/area/crux/science) "coJ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -30847,7 +30814,7 @@ pixel_x = -32 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "coK" = ( /obj/machinery/alarm{ dir = 1; @@ -30855,7 +30822,7 @@ }, /obj/machinery/vending/snack, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "coL" = ( /obj/structure/sign/directions/bridge{ dir = 4; @@ -30867,7 +30834,7 @@ }, /obj/structure/sign/directions/supply, /turf/simulated/wall, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "coM" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -30876,7 +30843,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "coN" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -30885,19 +30852,19 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "coO" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "coP" = ( /turf/simulated/wall, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "coQ" = ( /turf/simulated/wall, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "coR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -30908,7 +30875,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "coS" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, @@ -30917,10 +30884,10 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "coT" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "coU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -30931,10 +30898,10 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "coV" = ( /turf/simulated/wall, -/area/maintenance/bar) +/area/crux/maintenance/bar) "coW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -30943,15 +30910,16 @@ }, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "coX" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "coY" = ( /obj/structure/sign/directions/bridge{ pixel_y = 10 @@ -30961,22 +30929,22 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "coZ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "cpa" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cpb" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cpc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -30986,10 +30954,10 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cpd" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cpe" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -31001,7 +30969,7 @@ name = "HoP Maintenance Access" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cpf" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -31009,7 +30977,7 @@ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cpg" = ( /obj/structure/sign/directions/engineering{ pixel_y = 10 @@ -31020,21 +30988,21 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cph" = ( /obj/machinery/alarm{ dir = 4; pixel_x = -22 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cpi" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cpj" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -31044,10 +31012,10 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cpk" = ( /turf/simulated/wall, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cpl" = ( /obj/effect/floor_decal/borderfloor/corner2{ dir = 8 @@ -31062,7 +31030,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cpm" = ( /obj/effect/floor_decal/borderfloor/corner2{ dir = 5 @@ -31077,10 +31045,10 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cpn" = ( /turf/simulated/wall, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cpo" = ( /obj/structure/sign/directions/bridge{ dir = 8; @@ -31094,7 +31062,7 @@ dir = 8 }, /turf/simulated/wall, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cpp" = ( /obj/structure/sign/directions/medical, /obj/structure/sign/directions/security{ @@ -31106,13 +31074,13 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cpq" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cpr" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -31122,7 +31090,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cps" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -31131,11 +31099,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cpt" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cpu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -31145,17 +31113,17 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cpv" = ( /obj/structure/table/steel, /obj/random/tech_supply, /obj/random/technology_scanner, /obj/random/tech_supply, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cpw" = ( /turf/simulated/wall/r_wall, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cpx" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -31168,7 +31136,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cpy" = ( /obj/effect/floor_decal/industrial/loading, /obj/machinery/door/firedoor, @@ -31179,14 +31147,14 @@ location = "Medbay" }, /turf/simulated/floor/tiled, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cpz" = ( /turf/simulated/wall/r_wall, -/area/medical/genetics) +/area/crux/medical/genetics) "cpA" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/medical/genetics) +/area/crux/medical/genetics) "cpB" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -31198,7 +31166,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/secondary/seconddeck/research_medical) +/area/crux/hallway/secondary/seconddeck/research_medical) "cpC" = ( /obj/effect/decal/warning_stripes, /obj/machinery/atmospherics/tvalve/mirrored/bypass, @@ -31207,7 +31175,7 @@ pixel_x = -24 }, /turf/simulated/floor/plating, -/area/medical/virology) +/area/crux/medical/virology) "cpI" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -31215,7 +31183,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/lime/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cpJ" = ( /obj/structure/table/glass, /obj/item/paper_bin{ @@ -31226,7 +31194,6 @@ anchored = 1; canhear_range = 7; frequency = 1487; - icon_state = "red_phone"; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8 @@ -31248,16 +31215,16 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cpP" = ( /turf/simulated/wall/r_wall, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "cpQ" = ( /obj/structure/cable/cyan{ icon_state = "1-2" }, /turf/simulated/wall/r_wall, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "cpR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -31269,15 +31236,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "cpS" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "cpT" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cpU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -31290,20 +31257,20 @@ sort_tag = "Sorting Office" }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cpV" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cpW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cpX" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cpY" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/borderfloor/corner{ @@ -31313,11 +31280,11 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cpZ" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cqa" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/borderfloor/corner{ @@ -31327,28 +31294,28 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "cqb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "cqc" = ( /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "cqd" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "cqe" = ( /obj/machinery/light/small{ dir = 1 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "cqf" = ( /obj/machinery/power/apc{ dir = 1; @@ -31360,14 +31327,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "cqg" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "cqh" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -31375,7 +31342,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cqi" = ( /obj/structure/cable{ icon_state = "4-8" @@ -31384,7 +31351,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cqj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -31397,7 +31364,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cqk" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/industrial/warning{ @@ -31405,7 +31372,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cql" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/firealarm{ @@ -31413,15 +31380,15 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cqm" = ( /turf/simulated/floor, -/area/maintenance/library) +/area/crux/maintenance/library) "cqn" = ( /obj/structure/closet/emcloset, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cqo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -31429,19 +31396,20 @@ icon_state = "1-2" }, /obj/structure/catwalk, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cqp" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cqq" = ( /obj/structure/flora/bush/pointybush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cqr" = ( /obj/structure/flora/bush/fullgrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cqs" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -31450,7 +31418,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cqt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -31467,7 +31435,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cqu" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light{ @@ -31480,7 +31448,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cqv" = ( /obj/structure/closet, /obj/item/clothing/head/ushanka, @@ -31492,7 +31460,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cqw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -31502,16 +31470,16 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cqx" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cqy" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cqz" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cqC" = ( /obj/machinery/computer/modular/preset/cardslot/command, /obj/structure/table/reinforced, @@ -31533,7 +31501,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cqD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -31547,7 +31515,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cqE" = ( /obj/structure/filing_cabinet/chestdrawer, /obj/machinery/newscaster{ @@ -31560,14 +31528,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cqF" = ( /obj/machinery/computer/account_database, /obj/machinery/alarm{ pixel_y = 23 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cqG" = ( /obj/structure/table/reinforced, /obj/machinery/faxmachine, @@ -31578,7 +31546,7 @@ pixel_x = 30 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cqH" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light{ @@ -31591,7 +31559,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cqI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -31608,18 +31576,18 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cqJ" = ( /obj/machinery/seed_storage/garden, /obj/effect/floor_decal/spline/plain{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cqK" = ( /obj/machinery/vending/hydronutrients, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cqL" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -31631,7 +31599,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cqM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -31640,7 +31608,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cqN" = ( /obj/machinery/alarm{ pixel_y = 23 @@ -31652,7 +31620,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cqO" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -31663,7 +31631,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cqP" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -31673,7 +31641,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cqQ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -31684,7 +31652,7 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cqR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -31693,12 +31661,12 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cqS" = ( /obj/random/obstruction, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cqT" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -31706,7 +31674,7 @@ /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cqU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red, /obj/machinery/atmospherics/valve/shutoff{ @@ -31714,30 +31682,30 @@ name = "Research automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cqV" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cqW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cqX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cqY" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cqZ" = ( /obj/structure/cable{ icon_state = "0-4" @@ -31749,14 +31717,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cra" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "crb" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -31764,14 +31732,14 @@ }, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "crc" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "crd" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/cable{ @@ -31785,14 +31753,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "cre" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/cable{ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "crf" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/borderfloor/corner{ @@ -31802,23 +31770,23 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "crg" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "crh" = ( /turf/simulated/wall, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "cri" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "crj" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "crk" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -28 @@ -31841,7 +31809,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "crl" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -31858,25 +31826,25 @@ name = "Medical Delivery" }, /turf/simulated/floor/tiled, -/area/medical/medbay2) +/area/crux/medical/medbay2) "crm" = ( /turf/simulated/wall, -/area/medical/genetics) +/area/crux/medical/genetics) "crn" = ( /obj/random/contraband, /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "cro" = ( /obj/item/frame, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "crp" = ( /obj/machinery/constructable_frame/machine_frame, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "crq" = ( /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "crr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -31890,7 +31858,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "crs" = ( /obj/structure/cable/green{ icon_state = "0-8" @@ -31898,20 +31866,20 @@ /obj/structure/table, /obj/item/frame/apc, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "crt" = ( /obj/structure/table, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "cru" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/simulated/floor/tiled, -/area/medical/genetics) +/area/crux/medical/genetics) "crv" = ( /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "crw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/machinery/light{ @@ -31924,7 +31892,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "crx" = ( /obj/structure/closet/crate/freezer, /obj/effect/floor_decal/borderfloorwhite{ @@ -31934,7 +31902,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cry" = ( /obj/machinery/door/firedoor, /obj/machinery/door/window/southright{ @@ -31943,7 +31911,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/black, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "crG" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -31955,7 +31923,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "crH" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -31977,7 +31945,7 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "crI" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -31997,7 +31965,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "crJ" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -32015,7 +31983,7 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "crK" = ( /obj/structure/cable{ icon_state = "1-4" @@ -32028,7 +31996,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "crL" = ( /obj/structure/cable{ icon_state = "2-8" @@ -32041,7 +32009,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "crM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -32054,7 +32022,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -32066,14 +32034,14 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crO" = ( /obj/structure/disposalpipe/segment{ dir = 2; icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -32089,7 +32057,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -32100,7 +32068,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -32113,7 +32081,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -32126,7 +32094,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -32136,14 +32104,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crU" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crV" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -32151,7 +32119,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "crW" = ( /obj/machinery/light{ dir = 8 @@ -32166,7 +32134,7 @@ /obj/machinery/fabricator/imprinter, /obj/item/chems/glass/beaker/sulphuric, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "crX" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -32176,7 +32144,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "crY" = ( /obj/structure/rack{ dir = 1 @@ -32187,23 +32155,23 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "crZ" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "csa" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "csb" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "csc" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/emergencyeva) +/area/crux/maintenance/emergencyeva) "csd" = ( /obj/structure/rack{ dir = 8 @@ -32221,7 +32189,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cse" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -32236,7 +32204,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "csf" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -32247,34 +32215,34 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "csg" = ( /obj/structure/tank_rack/oxygen, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "csh" = ( /obj/machinery/light/small{ dir = 8 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "csi" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "csj" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "csk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "csl" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "csm" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/effect/decal/cleanable/dirt, @@ -32285,21 +32253,21 @@ /obj/random/maintenance/cargo, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "csn" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cso" = ( /obj/machinery/lapvend, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "csp" = ( /obj/structure/table/glass, /obj/machinery/firealarm{ @@ -32310,7 +32278,7 @@ c_tag = "First Floor - Center Stair Access" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "csq" = ( /obj/structure/table/glass, /obj/random/smokes, @@ -32322,16 +32290,16 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "csr" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "css" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cst" = ( /obj/structure/table/reinforced, /obj/machinery/door/blast/shutters{ @@ -32353,7 +32321,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "csu" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -32368,7 +32336,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "csv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -32378,7 +32346,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "csw" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -32391,11 +32359,11 @@ }, /mob/living/simple_animal/corgi/Ian, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "csx" = ( /obj/structure/bed/chair/office/dark, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "csy" = ( /obj/structure/table/reinforced, /obj/machinery/recharger, @@ -32405,29 +32373,29 @@ pixel_x = 28 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "csz" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "csA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "csB" = ( /obj/effect/floor_decal/spline/plain{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "csC" = ( /obj/structure/hygiene/sink{ dir = 4; pixel_x = 11 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "csD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -32435,14 +32403,14 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "csE" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "csF" = ( /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "csG" = ( /obj/structure/sign/department/redcross{ name = "Medbay"; @@ -32456,7 +32424,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "csH" = ( /obj/structure/sign/department/redcross{ name = "Medbay"; @@ -32470,35 +32438,35 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "csI" = ( /obj/machinery/floodlight, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csJ" = ( /obj/machinery/space_heater, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csK" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 }, /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csL" = ( /obj/machinery/atmospherics/valve/digital/open{ dir = 4 }, /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csM" = ( /obj/structure/rack{ dir = 1 @@ -32517,28 +32485,28 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csP" = ( /obj/structure/table/steel, /obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed, /obj/item/t_scanner, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csQ" = ( /obj/structure/rack, /obj/item/clothing/glasses/sunglasses, @@ -32548,11 +32516,11 @@ /obj/random/maintenance/medical, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csR" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csS" = ( /obj/structure/closet, /obj/item/storage/backpack, @@ -32561,7 +32529,7 @@ /obj/random/maintenance/medical, /obj/random/firstaid, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "csT" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/sign/department/redcross{ @@ -32575,7 +32543,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "csU" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -32586,7 +32554,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "csV" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/machinery/door/blast/regular{ @@ -32596,7 +32564,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "csW" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/sign/department/redcross{ @@ -32610,16 +32578,16 @@ opacity = 0 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "csX" = ( /obj/machinery/light/small, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "csY" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "csZ" = ( /obj/machinery/firealarm{ dir = 8; @@ -32642,7 +32610,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cta" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/item/radio/intercom{ @@ -32658,27 +32626,27 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "ctb" = ( /obj/item/stack/tile/floor_white, /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "ctc" = ( /obj/item/frame/camera, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "ctd" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "cte" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "ctf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -32687,29 +32655,29 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "ctg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "cth" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "cti" = ( /obj/structure/window/reinforced{ dir = 8 }, /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "ctj" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/medical/virology) +/area/crux/medical/virology) "ctk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -32722,7 +32690,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ctl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 9 @@ -32731,7 +32699,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ctm" = ( /obj/item/modular_computer/laptop/preset/medical, /obj/structure/table/glass, @@ -32745,7 +32713,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ctn" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -32757,7 +32725,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cto" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 5 @@ -32766,7 +32734,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ctp" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -32778,7 +32746,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ctx" = ( /obj/structure/cable/cyan{ icon_state = "0-4" @@ -32792,7 +32760,7 @@ }, /obj/effect/engine_setup/smes, /turf/simulated/floor/plating, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "cty" = ( /obj/structure/cable/cyan{ icon_state = "1-8" @@ -32822,7 +32790,7 @@ }, /obj/item/storage/box/lights/mixed, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "ctz" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -32844,7 +32812,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "ctA" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -32859,7 +32827,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "ctB" = ( /obj/structure/cable, /obj/machinery/power/smes/buildable/four_coils{ @@ -32871,7 +32839,7 @@ }, /obj/effect/engine_setup/smes/main, /turf/simulated/floor/plating, -/area/engineering/engine_smes) +/area/crux/engineering/engine_smes) "ctC" = ( /obj/structure/cable{ icon_state = "1-2" @@ -32879,14 +32847,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, /turf/simulated/floor, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ctD" = ( /turf/simulated/wall, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "ctE" = ( /obj/structure/disposalpipe/segment, /turf/simulated/wall, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "ctF" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -32896,51 +32864,51 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "ctG" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ctH" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ctI" = ( /turf/simulated/wall, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "ctJ" = ( /obj/structure/disposalpipe/segment, /turf/simulated/wall, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "ctK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Delivery Office Maintenance" }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "ctL" = ( /turf/simulated/wall, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "ctM" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Cargo Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "ctN" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "ctO" = ( /turf/simulated/wall, -/area/quartermaster/qm) +/area/crux/supply/qm) "ctP" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/quartermaster/qm) +/area/crux/supply/qm) "ctQ" = ( /obj/structure/rack{ dir = 8 @@ -32955,7 +32923,7 @@ /obj/item/clothing/mask/breath, /obj/item/clothing/head/helmet/space, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "ctR" = ( /obj/structure/cable{ icon_state = "1-4" @@ -32967,7 +32935,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "ctS" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -32989,26 +32957,26 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "ctT" = ( /obj/structure/reagent_dispensers/watertank, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "ctU" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "ctV" = ( /obj/structure/flora/bush/grassybush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "ctW" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/ywflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "ctX" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -33023,7 +32991,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "ctY" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -33039,13 +33007,13 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "ctZ" = ( /obj/machinery/atmospherics/valve/digital/open, /obj/effect/decal/cleanable/dirt, /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cua" = ( /obj/machinery/atmospherics/valve/digital/open, /obj/effect/decal/cleanable/dirt, @@ -33053,7 +33021,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cub" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -33063,7 +33031,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cuc" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -33075,25 +33043,25 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cud" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cue" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cuf" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cug" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cuh" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cui" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/second_deck{ @@ -33101,7 +33069,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cuj" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -33111,7 +33079,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cuk" = ( /obj/machinery/computer/modular/preset/cardslot/command{ dir = 1 @@ -33123,7 +33091,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cul" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -33132,7 +33100,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cum" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -33141,13 +33109,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cun" = ( /obj/structure/table/reinforced, /obj/item/clipboard, /obj/item/stamp/hop, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cuo" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -33166,7 +33134,7 @@ dir = 4 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cup" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -33182,7 +33150,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cuq" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -33197,7 +33165,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cur" = ( /obj/structure/table/woodentable, /obj/item/chems/glass/bucket, @@ -33205,11 +33173,11 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cus" = ( /obj/machinery/smartfridge/drying_rack, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cut" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -33221,31 +33189,30 @@ pixel_x = -22 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cuu" = ( /turf/simulated/wall/r_wall, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cuv" = ( /obj/machinery/door/airlock/double/glass{ - id_tag = null; name = "EMT Bay" }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cuw" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cux" = ( /turf/simulated/wall/r_wall, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cuy" = ( /turf/simulated/wall/r_wall, -/area/medical/reception) +/area/crux/medical/reception) "cuz" = ( /turf/simulated/wall, -/area/medical/reception) +/area/crux/medical/reception) "cuA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -33254,37 +33221,37 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/medical/reception) +/area/crux/medical/reception) "cuB" = ( /obj/structure/sign/warning/nosmoking_1, /turf/simulated/wall/r_wall, -/area/medical/reception) +/area/crux/medical/reception) "cuC" = ( /turf/simulated/wall/r_wall, -/area/medical/foyer) +/area/crux/medical/foyer) "cuD" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cuE" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/foyer) +/area/crux/medical/foyer) "cuF" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cuG" = ( /turf/simulated/wall/r_wall, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cuH" = ( /turf/simulated/wall/r_wall, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cuI" = ( /turf/simulated/wall/r_wall, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cuJ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -33302,7 +33269,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cuK" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -33316,17 +33283,17 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cuL" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/medical/genetics) +/area/crux/medical/genetics) "cuM" = ( /obj/abstract/landmark{ name = "blobstart" }, /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "cuN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /obj/effect/floor_decal/borderfloorwhite{ @@ -33336,7 +33303,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cuO" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -33345,7 +33312,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cuV" = ( /obj/structure/cable{ icon_state = "1-2" @@ -33353,20 +33320,20 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cuW" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cuX" = ( /turf/simulated/floor, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cuY" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cuZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -33384,13 +33351,13 @@ /obj/structure/catwalk, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cva" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cvb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 10 @@ -33399,18 +33366,18 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cvc" = ( /obj/machinery/atmospherics/valve/digital/open, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cvd" = ( /obj/machinery/disposal/deliveryChute, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cve" = ( /obj/machinery/camera/network/research{ c_tag = "SCI - Workshop"; @@ -33419,14 +33386,14 @@ /obj/effect/floor_decal/borderfloorblack, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled/dark, -/area/rnd/workshop) +/area/crux/science/workshop) "cvf" = ( /obj/structure/catwalk, /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cvg" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -33438,7 +33405,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cvh" = ( /obj/structure/bed/chair, /obj/effect/floor_decal/borderfloor{ @@ -33453,7 +33420,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cvi" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -33462,7 +33429,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cvj" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 @@ -33471,14 +33438,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cvk" = ( /obj/machinery/camera/network/cargo{ c_tag = "CRG - Cargo Foyer"; name = "security camera" }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cvl" = ( /obj/structure/bed/chair, /obj/machinery/power/apc{ @@ -33500,7 +33467,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cvm" = ( /obj/structure/bed/chair, /obj/effect/floor_decal/borderfloor{ @@ -33513,7 +33480,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cvn" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ @@ -33521,7 +33488,7 @@ }, /obj/machinery/ai_status_display, /turf/simulated/floor/plating, -/area/quartermaster/qm) +/area/crux/supply/qm) "cvo" = ( /obj/structure/filing_cabinet, /obj/effect/floor_decal/borderfloor{ @@ -33531,11 +33498,11 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cvp" = ( /obj/machinery/computer/modular/preset/supply_public, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cvq" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -33544,7 +33511,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cvr" = ( /obj/structure/table, /obj/machinery/network/requests_console{ @@ -33561,7 +33528,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cvs" = ( /obj/structure/rack, /obj/item/suit_cooling_unit, @@ -33570,29 +33537,29 @@ dir = 8 }, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cvt" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 }, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cvu" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cvv" = ( /obj/machinery/suit_cycler, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cvw" = ( /obj/structure/reagent_dispensers/fueltank, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cvx" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /obj/machinery/camera/network/second_deck{ @@ -33600,11 +33567,11 @@ dir = 4 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvy" = ( /obj/structure/flora/bush/sparsegrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvz" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -33613,12 +33580,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvB" = ( /obj/structure/disposalpipe/segment, /obj/machinery/ai_status_display{ @@ -33631,7 +33598,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvC" = ( /obj/structure/rack{ dir = 8 @@ -33641,13 +33608,13 @@ /obj/random/maintenance/clean, /obj/random/tool/power, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cvD" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/effect/decal/cleanable/dirt, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cvE" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -33660,7 +33627,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cvF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -33675,7 +33642,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cvG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -33685,14 +33652,14 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cvI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -33705,11 +33672,11 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvK" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cvL" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -33725,7 +33692,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cvM" = ( /obj/structure/closet/secure_closet/hop, /obj/item/megaphone, @@ -33742,7 +33709,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cvN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -33752,21 +33719,21 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cvO" = ( /obj/structure/bed/chair{ dir = 1 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cvP" = ( /obj/structure/dogbed, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cvQ" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cvR" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -33776,7 +33743,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cvS" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -33785,11 +33752,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cvT" = ( /obj/structure/flora/bush/fullgrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cvU" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /obj/machinery/camera/network/second_deck{ @@ -33797,7 +33764,7 @@ dir = 8 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cvV" = ( /obj/machinery/mech_recharger, /obj/machinery/firealarm{ @@ -33808,7 +33775,7 @@ pixel_x = -21 }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cvW" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -33817,7 +33784,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cvX" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -33832,7 +33799,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cvY" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -33847,7 +33814,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cvZ" = ( /obj/structure/window/reinforced{ dir = 4 @@ -33863,11 +33830,11 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cwa" = ( /obj/structure/sign/warning/nosmoking_1, /turf/simulated/wall/r_wall, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cwb" = ( /obj/structure/table/glass, /obj/item/modular_computer/laptop/preset/medical, @@ -33884,7 +33851,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cwc" = ( /obj/structure/table/glass, /obj/item/paper_bin, @@ -33900,7 +33867,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cwd" = ( /obj/structure/table/glass, /obj/item/cane, @@ -33925,7 +33892,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cwe" = ( /obj/machinery/vending/snack{ dir = 4 @@ -33941,7 +33908,7 @@ pixel_x = -32 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cwf" = ( /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 @@ -33953,7 +33920,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cwg" = ( /obj/structure/bed/chair, /obj/effect/floor_decal/corner/paleblue/diagonal{ @@ -33972,7 +33939,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cwh" = ( /obj/structure/bed/chair, /obj/machinery/power/apc{ @@ -34000,7 +33967,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cwi" = ( /obj/structure/noticeboard{ pixel_y = 28 @@ -34015,7 +33982,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cwj" = ( /obj/structure/filing_cabinet/records/medical, /obj/machinery/ai_status_display{ @@ -34028,7 +33995,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cwk" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -34043,7 +34010,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cwl" = ( /obj/item/roller, /obj/item/roller{ @@ -34063,11 +34030,11 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cwm" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cwn" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/light{ @@ -34075,10 +34042,10 @@ }, /obj/structure/flora/pottedplant/orientaltree, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cwo" = ( /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cwp" = ( /obj/structure/bed/chair{ dir = 8 @@ -34098,7 +34065,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cwq" = ( /obj/structure/sign/department/chemistry{ icon_state = "chemistry2"; @@ -34114,7 +34081,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cwr" = ( /obj/machinery/chemical_dispenser/full, /obj/machinery/ai_status_display{ @@ -34128,7 +34095,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cws" = ( /obj/structure/table/reinforced, /obj/item/chems/glass/beaker/large, @@ -34143,7 +34110,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cwt" = ( /obj/structure/table/reinforced, /obj/item/scanner/spectrometer/adv, @@ -34163,7 +34130,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cwu" = ( /obj/structure/table/reinforced, /obj/item/chems/glass/beaker/large, @@ -34178,7 +34145,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cwv" = ( /obj/machinery/chemical_dispenser/full, /obj/machinery/status_display{ @@ -34192,12 +34159,12 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cww" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cwx" = ( /obj/structure/table, /obj/item/storage/firstaid/adv{ @@ -34212,7 +34179,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cwy" = ( /obj/structure/table, /obj/item/storage/firstaid/o2{ @@ -34230,7 +34197,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cwz" = ( /obj/structure/table, /obj/item/storage/firstaid/toxin{ @@ -34245,17 +34212,17 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cwA" = ( /turf/simulated/wall, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cwB" = ( /obj/structure/bedsheetbin, /obj/structure/table/steel, /obj/random/firstaid, /obj/random/firstaid, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cwC" = ( /obj/item/storage/box/cdeathalarm_kit, /obj/item/bodybag/cryobag{ @@ -34269,7 +34236,7 @@ pixel_y = 23 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cwD" = ( /obj/item/cane, /obj/item/cane{ @@ -34287,10 +34254,10 @@ }, /obj/item/storage/box/rxglasses, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cwE" = ( /turf/simulated/wall, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cwF" = ( /obj/item/radio/intercom/department_medbay{ dir = 4; @@ -34307,7 +34274,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cwG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/alarm{ @@ -34325,26 +34292,26 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cwH" = ( /obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "cwI" = ( /obj/item/frame/light, /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "cwJ" = ( /obj/random/tech_supply, /turf/simulated/floor/plating, -/area/medical/genetics) +/area/crux/medical/genetics) "cwK" = ( /obj/random/medical/lite, /turf/simulated/floor/tiled/white, -/area/medical/genetics) +/area/crux/medical/genetics) "cwL" = ( /turf/simulated/floor/tiled, -/area/medical/genetics) +/area/crux/medical/genetics) "cwM" = ( /obj/structure/closet/l3closet/virology, /obj/item/clothing/mask/gas, @@ -34356,12 +34323,12 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cwN" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/lime/border, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cwO" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 6 @@ -34370,7 +34337,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cwP" = ( /obj/structure/table/glass, /obj/item/roller, @@ -34382,7 +34349,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "cwZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -34398,23 +34365,23 @@ icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cxa" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cxb" = ( /obj/random/maintenance/engineering, /obj/random/maintenance/clean, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cxc" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cxd" = ( /obj/machinery/power/apc{ dir = 4; @@ -34427,7 +34394,7 @@ /obj/random/maintenance/clean, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cxe" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan{ dir = 4 @@ -34437,7 +34404,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cxf" = ( /obj/machinery/conveyor{ dir = 1; @@ -34447,7 +34414,7 @@ pixel_x = -32 }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cxg" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -34457,17 +34424,17 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cxh" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cxi" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cxj" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/westright{ @@ -34480,7 +34447,7 @@ pixel_y = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cxk" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -34489,16 +34456,16 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cxl" = ( /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cxm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cxn" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -34507,7 +34474,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cxo" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -34516,14 +34483,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cxp" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "quart_tint" }, /turf/simulated/floor/plating, -/area/quartermaster/qm) +/area/crux/supply/qm) "cxq" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -34532,10 +34499,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cxr" = ( /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cxs" = ( /obj/structure/bed/chair/office/dark, /obj/abstract/landmark/start{ @@ -34548,11 +34515,11 @@ pixel_y = -26 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cxu" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/quartermaster/qm) +/area/crux/supply/qm) "cxv" = ( /obj/structure/table/reinforced, /obj/item/stack/cable_coil{ @@ -34590,7 +34557,7 @@ pixel_x = -3 }, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cxw" = ( /obj/structure/table/reinforced, /obj/machinery/cell_charger, @@ -34613,15 +34580,15 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cxx" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/techmaint, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "cxy" = ( /obj/structure/flora/bush/genericbush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cxz" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -34633,14 +34600,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cxA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cxB" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -34650,14 +34617,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cxC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cxD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -34665,13 +34632,13 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cxE" = ( /obj/structure/railing{ dir = 4 }, /turf/simulated/open, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cxF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -34683,29 +34650,29 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cxG" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cxH" = ( /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cxI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cxJ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cxK" = ( /obj/effect/wingrille_spawn/reinforced/polarized{ id = "hop_office" @@ -34713,7 +34680,7 @@ /obj/structure/cable/green, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cxL" = ( /obj/machinery/photocopier, /obj/effect/floor_decal/borderfloor{ @@ -34723,7 +34690,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cxM" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -34732,7 +34699,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cxN" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -34744,13 +34711,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cxO" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cxP" = ( /obj/machinery/recharger/wallcharger{ pixel_x = 4; @@ -34769,14 +34736,14 @@ icon_state = "0-8" }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cxQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cxR" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -34788,15 +34755,15 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cxS" = ( /obj/structure/flora/bush/sparsegrass, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cxT" = ( /obj/structure/flora/bush/fernybush, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cxU" = ( /obj/structure/table/steel, /obj/item/roller, @@ -34807,7 +34774,7 @@ pixel_x = -22 }, /turf/simulated/floor/tiled, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cxV" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -34817,7 +34784,7 @@ name = "Paramedic" }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cxW" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -34826,7 +34793,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cxX" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloorwhite{ @@ -34836,7 +34803,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cxY" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -34854,10 +34821,10 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cxZ" = ( /turf/simulated/wall, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cya" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite{ @@ -34870,7 +34837,7 @@ pixel_x = -32 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cyb" = ( /obj/structure/bed/chair/office/light{ dir = 8 @@ -34879,7 +34846,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cyc" = ( /obj/structure/bed/padded, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -34899,7 +34866,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cyd" = ( /obj/machinery/vending/cola{ dir = 4 @@ -34912,13 +34879,13 @@ pixel_x = -24 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cye" = ( /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cyf" = ( /obj/structure/table/glass, /obj/item/chems/drinks/glass2/coffeecup, @@ -34930,7 +34897,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cyg" = ( /obj/structure/table/glass, /obj/item/deck/cards, @@ -34939,7 +34906,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cyh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -34957,7 +34924,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cyi" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -34975,14 +34942,13 @@ name = "Medical Doctor" }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cyj" = ( /obj/structure/table/reinforced, /obj/item/radio/phone{ anchored = 1; canhear_range = 1; frequency = 1487; - icon_state = "red_phone"; name = "Reception Emergency Phone"; pixel_x = -5 }, @@ -35005,7 +34971,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cyk" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -35023,7 +34989,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cyl" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -35036,7 +35002,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cym" = ( /obj/effect/floor_decal/corner/paleblue{ dir = 6 @@ -35054,13 +35020,13 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cyn" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cyo" = ( /obj/structure/bed/chair{ dir = 8 @@ -35079,7 +35045,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cyp" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -35091,7 +35057,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cyq" = ( /obj/machinery/chem_master, /obj/effect/floor_decal/borderfloorwhite{ @@ -35101,7 +35067,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cyr" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -35110,13 +35076,13 @@ name = "Chemist" }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cys" = ( /obj/structure/table/reinforced, /obj/item/storage/box/beakers, /obj/item/chems/dropper, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cyt" = ( /obj/machinery/chem_master, /obj/effect/floor_decal/borderfloorwhite/corner{ @@ -35126,7 +35092,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cyu" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 1 @@ -35135,10 +35101,10 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cyv" = ( /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cyw" = ( /obj/structure/table, /obj/item/storage/firstaid/fire{ @@ -35158,7 +35124,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cyx" = ( /obj/structure/closet/l3closet/medical, /obj/item/radio/intercom{ @@ -35167,10 +35133,10 @@ pixel_x = -21 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cyy" = ( /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cyz" = ( /obj/item/grenade/chem_grenade, /obj/item/grenade/chem_grenade, @@ -35186,7 +35152,7 @@ name = "Grenade Crate" }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cyA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -35199,7 +35165,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cyB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -35218,13 +35184,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cyC" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/yellow, /turf/simulated/floor/plating, -/area/medical/virology) +/area/crux/medical/virology) "cyN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -35232,10 +35198,10 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cyO" = ( /turf/simulated/wall, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cyP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -35245,11 +35211,11 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cyQ" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cyR" = ( /obj/item/stack/cable_coil/random, /obj/machinery/alarm{ @@ -35257,31 +35223,31 @@ pixel_x = -22 }, /turf/simulated/floor/plating, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cyS" = ( /obj/item/stack/tile/floor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cyT" = ( /obj/machinery/atmospherics/valve, /obj/effect/floor_decal/industrial/warning{ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cyU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cyV" = ( /obj/random/mouse, /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cyW" = ( /obj/machinery/conveyor{ dir = 1; @@ -35291,7 +35257,7 @@ /obj/random/junk, /obj/random/junk, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cyX" = ( /obj/item/stool, /obj/effect/floor_decal/industrial/warning{ @@ -35299,7 +35265,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cyY" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -35307,7 +35273,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cyZ" = ( /obj/machinery/camera/network/cargo{ c_tag = "CRG - Delivery Office"; @@ -35335,12 +35301,12 @@ pump_direction = 0 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cza" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "czb" = ( /obj/machinery/light{ dir = 8 @@ -35352,7 +35318,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "czc" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -35360,17 +35326,17 @@ name = "lightsout" }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "czd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cze" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "czf" = ( /obj/machinery/light{ dir = 4 @@ -35385,7 +35351,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "czg" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -35400,7 +35366,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "czh" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -35409,13 +35375,13 @@ /obj/item/folder/yellow, /obj/item/stamp/qm, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "czi" = ( /obj/structure/table, /obj/item/clipboard, /obj/item/pen/multi, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "czj" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -35438,18 +35404,18 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "czk" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "czl" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "czm" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -35458,13 +35424,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "czn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "czo" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -35477,13 +35443,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "czp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "czq" = ( /obj/machinery/alarm{ dir = 1; @@ -35496,11 +35462,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "czr" = ( /obj/structure/stairs/long, /turf/simulated/floor/tiled/dark, -/area/surface/level_one) +/area/crux/outside/level_one) "czs" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/alarm{ @@ -35512,7 +35478,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "czt" = ( /obj/machinery/papershredder, /obj/item/radio/intercom{ @@ -35530,7 +35496,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "czu" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -35543,7 +35509,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "czv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35559,7 +35525,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "czw" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -35569,7 +35535,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled/dark, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "czx" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -35582,13 +35548,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "czy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "czz" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -35597,21 +35563,21 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "czA" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/brflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "czB" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "czC" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "czD" = ( /obj/machinery/mech_recharger, /obj/item/radio/intercom{ @@ -35620,13 +35586,13 @@ pixel_x = -21 }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "czE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "czF" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -35637,7 +35603,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "czG" = ( /obj/structure/table/steel, /obj/item/multitool, @@ -35650,7 +35616,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "czH" = ( /obj/structure/bed/chair/wheelchair, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -35668,7 +35634,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "czI" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -35677,7 +35643,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "czJ" = ( /obj/machinery/vending/wallmed1{ pixel_x = 25 @@ -35689,7 +35655,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "czK" = ( /obj/machinery/vending/coffee{ dir = 4 @@ -35701,7 +35667,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "czL" = ( /obj/structure/table/glass, /obj/item/chems/drinks/glass2/coffeecup, @@ -35714,7 +35680,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "czM" = ( /obj/structure/table/glass, /obj/item/chems/drinks/glass2/coffeecup, @@ -35722,7 +35688,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "czN" = ( /obj/machinery/hologram/holopad, /obj/structure/cable/green{ @@ -35735,13 +35701,13 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "czO" = ( /obj/machinery/computer/modular/preset/medical{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "czP" = ( /obj/structure/window/reinforced{ dir = 4; @@ -35768,7 +35734,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "czQ" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -35777,7 +35743,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "czR" = ( /obj/effect/floor_decal/corner/paleblue{ dir = 10 @@ -35787,7 +35753,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "czS" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/corner/paleblue{ @@ -35799,7 +35765,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "czT" = ( /obj/effect/floor_decal/corner/paleblue{ dir = 10 @@ -35808,7 +35774,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "czU" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -35817,7 +35783,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "czV" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -35835,7 +35801,7 @@ opacity = 0 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "czW" = ( /obj/item/stool/padded, /obj/effect/floor_decal/borderfloorwhite{ @@ -35857,29 +35823,29 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "czX" = ( /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "czY" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "czZ" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cAa" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Chemistry Laboratory" }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cAb" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -35888,13 +35854,13 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cAc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cAd" = ( /obj/structure/table, /obj/item/chems/glass/bottle/sedatives{ @@ -35933,7 +35899,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cAe" = ( /obj/structure/closet/l3closet/medical, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -35943,13 +35909,13 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cAf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cAg" = ( /obj/structure/closet/crate, /obj/item/storage/box/lights/mixed, @@ -35968,7 +35934,7 @@ /obj/item/crowbar/red, /obj/item/crowbar/red, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cAh" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -35979,7 +35945,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cAi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -35994,24 +35960,24 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cAj" = ( /turf/simulated/wall, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cAk" = ( /obj/machinery/vending/fitness, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cAl" = ( /obj/machinery/vending/medical, /turf/simulated/floor/tiled/dark, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cAm" = ( /turf/simulated/wall, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cAn" = ( /obj/structure/hygiene/sink{ dir = 8; @@ -36027,23 +35993,23 @@ pixel_y = 21 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cAo" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cAp" = ( /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cAq" = ( /obj/machinery/door/airlock{ name = "Unit 1" }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cAr" = ( /obj/structure/hygiene/toilet{ dir = 8 @@ -36052,10 +36018,10 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cAs" = ( /turf/simulated/wall/r_wall, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cAt" = ( /obj/machinery/atmospherics/unary/vent_pump{ dir = 4; @@ -36065,40 +36031,40 @@ use_power = 1 }, /turf/simulated/floor, -/area/medical/virology) +/area/crux/medical/virology) "cAu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 9 }, /turf/simulated/floor, -/area/medical/virology) +/area/crux/medical/virology) "cAz" = ( /turf/simulated/floor/plating, -/area/engineering/engine_room) +/area/crux/engineering/engine_room) "cAA" = ( /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cAB" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cAC" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cAD" = ( /obj/structure/disposalpipe/segment{ dir = 1; icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cAE" = ( /obj/item/stack/tile/floor, /turf/simulated/floor/plating, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cAF" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, @@ -36108,14 +36074,14 @@ /obj/random/tech_supply, /obj/random/maintenance/engineering, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cAG" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cAH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/visible/universal{ @@ -36123,18 +36089,18 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cAI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cAJ" = ( /obj/machinery/conveyor{ dir = 1; id_tag = "packageSort1" }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cAK" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -36144,25 +36110,25 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cAL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cAM" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cAN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Delivery Office" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cAO" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -36171,40 +36137,40 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cAP" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cAQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cAR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cAS" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cAT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ name = "Quartermaster" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/qm) +/area/crux/supply/qm) "cAU" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -36213,7 +36179,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cAV" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -36222,7 +36188,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cAW" = ( /obj/structure/bed/chair{ dir = 1 @@ -36231,7 +36197,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cAX" = ( /obj/machinery/disposal, /obj/item/radio/intercom{ @@ -36247,11 +36213,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cAY" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cAZ" = ( /obj/item/tank/emergency/oxygen/engi, /obj/item/tank/emergency/oxygen/double, @@ -36264,37 +36230,37 @@ }, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cBa" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cBb" = ( /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cBc" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cBd" = ( /obj/effect/decal/cleanable/blood, /turf/simulated/floor, -/area/maintenance/library) +/area/crux/maintenance/library) "cBe" = ( /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor, -/area/maintenance/library) +/area/crux/maintenance/library) "cBf" = ( /obj/structure/flora/bush/sparsegrass, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cBg" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -36304,7 +36270,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cBh" = ( /obj/effect/floor_decal/borderfloor{ dir = 5 @@ -36321,7 +36287,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cBi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -36330,27 +36296,27 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cBj" = ( /obj/structure/sign/deck/second, /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "cBk" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cBl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cBm" = ( /obj/structure/sign/directions/evac{ pixel_y = -10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cBn" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -36358,11 +36324,11 @@ name = "Head of Personnel" }, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cBo" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/hop) +/area/crux/habitation/hop) "cBp" = ( /obj/effect/floor_decal/borderfloor{ dir = 9 @@ -36379,7 +36345,7 @@ pixel_x = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cBq" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -36389,17 +36355,17 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cBr" = ( /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cBs" = ( /obj/structure/flora/bush/fullgrass, /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cBt" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -36415,7 +36381,7 @@ name = "Paramedic" }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cBu" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -36427,7 +36393,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cBv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -36440,7 +36406,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cBw" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -36457,7 +36423,7 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cBx" = ( /obj/structure/closet/secure_closet/medical1, /obj/random/medical, @@ -36473,7 +36439,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cBy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -36487,7 +36453,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cBz" = ( /obj/machinery/power/apc{ dir = 4; @@ -36513,7 +36479,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cBA" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -36523,7 +36489,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cBB" = ( /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 @@ -36532,7 +36498,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cBC" = ( /obj/structure/bed/chair{ dir = 1 @@ -36547,7 +36513,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cBD" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -36561,7 +36527,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cBE" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -36573,14 +36539,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cBF" = ( /obj/structure/table/reinforced, /obj/item/radio/phone{ anchored = 1; canhear_range = 1; frequency = 1487; - icon_state = "red_phone"; name = "Reception Emergency Phone" }, /obj/machinery/door/window/eastright{ @@ -36596,7 +36561,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cBG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36608,14 +36573,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cBH" = ( /obj/structure/disposalpipe/junction{ dir = 1; icon_state = "pipe-j2" }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cBI" = ( /obj/effect/floor_decal/corner/paleblue{ dir = 6 @@ -36625,7 +36590,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cBJ" = ( /obj/structure/bed/chair{ dir = 8 @@ -36637,13 +36602,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cBK" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cBL" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -36653,7 +36618,7 @@ }, /obj/machinery/chem_master, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cBM" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -36665,13 +36630,13 @@ /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cBN" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cBO" = ( /obj/structure/hygiene/sink{ dir = 4; @@ -36683,7 +36648,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/beige/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cBP" = ( /obj/structure/bed/chair/wheelchair, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -36696,7 +36661,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cBQ" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -36705,7 +36670,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cBR" = ( /obj/machinery/firealarm{ dir = 4; @@ -36724,7 +36689,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cBS" = ( /obj/item/clothing/suit/straight_jacket, /obj/item/clothing/mask/muzzle, @@ -36734,21 +36699,21 @@ pixel_x = -24 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cBT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cBU" = ( /obj/structure/iv_drip, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cBV" = ( /obj/machinery/power/apc{ dir = 8; @@ -36773,7 +36738,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cBW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -36790,7 +36755,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cBX" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/item/radio/intercom/department_medbay{ @@ -36803,7 +36768,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cBY" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -36812,7 +36777,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cBZ" = ( /obj/structure/hygiene/sink{ dir = 8; @@ -36823,11 +36788,11 @@ pixel_x = -28 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cCa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cCb" = ( /obj/machinery/firealarm{ dir = 4; @@ -36837,7 +36802,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cCc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable{ @@ -36847,7 +36812,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cCd" = ( /obj/structure/rack{ dir = 1 @@ -36865,14 +36830,14 @@ pixel_x = -22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cCe" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cCf" = ( /obj/structure/rack{ dir = 1 @@ -36882,13 +36847,13 @@ /obj/random/maintenance/clean, /obj/random/powercell, /turf/simulated/floor/plating, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cCh" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cCi" = ( /obj/structure/rack{ dir = 1 @@ -36899,13 +36864,13 @@ /obj/random/maintenance/clean, /obj/random/cash, /turf/simulated/floor, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cCj" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cCk" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -36918,7 +36883,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cCl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -36931,7 +36896,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cCm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -36943,7 +36908,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cCn" = ( /obj/machinery/conveyor{ dir = 1; @@ -36953,7 +36918,7 @@ pixel_x = -32 }, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cCo" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -36966,7 +36931,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cCp" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -36981,7 +36946,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cCq" = ( /obj/structure/table/steel, /obj/item/stack/package_wrap/twenty_five, @@ -37013,7 +36978,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cCr" = ( /obj/machinery/computer/modular/preset/supply_public{ dir = 4 @@ -37031,15 +36996,15 @@ pixel_x = -22 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cCs" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cCt" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cCu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -37050,7 +37015,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cCv" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -37062,7 +37027,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cCw" = ( /obj/structure/closet, /obj/random/maintenance/engineering, @@ -37071,7 +37036,7 @@ /obj/random/tech_supply, /obj/item/storage/mre/random, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cCx" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -37080,12 +37045,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cCy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cCz" = ( /obj/structure/closet/secure_closet/quartermaster, /obj/structure/disposalpipe/segment, @@ -37100,13 +37065,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cCA" = ( /obj/item/clothing/gloves/boxing/green, /obj/item/clothing/gloves/boxing, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cCB" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -37117,19 +37082,19 @@ /obj/random/medical/lite, /obj/random/medical/lite, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cCC" = ( /obj/structure/disposalpipe/segment{ dir = 2; icon_state = "pipe-c" }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cCD" = ( /obj/structure/flora/bush/lavendergrass, /obj/structure/flora/bush/brflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCE" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -37138,7 +37103,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCF" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -37150,7 +37115,7 @@ codes = "{'patrol':'CH5','next_patrol':'CH6'}" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37162,7 +37127,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37175,7 +37140,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37189,7 +37154,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37198,13 +37163,13 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCK" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37217,7 +37182,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCM" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -37227,28 +37192,26 @@ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCN" = ( /obj/structure/disposalpipe/segment{ dir = 2; icon_state = "pipe-c" }, -/obj/effect/floor_decal/steeldecal/steel_decals4{ - dir = 1 - }, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 }, /obj/machinery/navbeacon{ codes = "{'patrol':'CH6','next_patrol':'CIV'}" }, -/turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) -"cCO" = ( -/obj/structure/disposalpipe/segment{ +/obj/structure/disposalpipe/sortjunction{ dir = 4; - icon_state = "pipe-c" + name = "Balcony"; + sort_type = "HoP Office" }, +/turf/simulated/floor/tiled, +/area/crux/hallway/primary/seconddeck/apcenter) +"cCO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -37257,8 +37220,9 @@ /obj/machinery/navbeacon{ codes = "{'patrol':'CH7','next_patrol':'CH8'}" }, +/obj/structure/disposalpipe/junction/yjunction, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cCP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37273,7 +37237,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCQ" = ( /obj/structure/disposalpipe/sortjunction{ dir = 8; @@ -37287,7 +37251,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37299,7 +37263,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37311,7 +37275,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37324,7 +37288,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37336,7 +37300,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCV" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -37348,17 +37312,17 @@ codes = "{'patrol':'CH8','next_patrol':'CH9'}" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCW" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCX" = ( /obj/structure/flora/bush/fullgrass, /obj/structure/flora/bush/ywflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cCY" = ( /obj/random/maintenance/medical, /obj/random/maintenance/medical, @@ -37368,7 +37332,7 @@ /obj/random/medical, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cCZ" = ( /obj/structure/closet/secure_closet/medical1, /obj/machinery/power/apc{ @@ -37389,7 +37353,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cDa" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -37407,7 +37371,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cDb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -37424,7 +37388,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cDc" = ( /obj/structure/window/reinforced{ dir = 4 @@ -37447,14 +37411,14 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cDd" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "exam_window_tint" }, /turf/simulated/floor/plating, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cDe" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -37466,13 +37430,13 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/exam_room) +/area/crux/medical/exam_room) "cDf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cDg" = ( /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 @@ -37481,7 +37445,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cDh" = ( /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 @@ -37490,7 +37454,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cDi" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -37503,14 +37467,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cDj" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, /obj/item/folder, /obj/item/pen, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cDk" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -37525,7 +37489,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cDl" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -37540,13 +37504,13 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cDm" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cDn" = ( /obj/structure/bed/chair{ dir = 8 @@ -37564,7 +37528,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cDo" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite{ @@ -37575,13 +37539,13 @@ }, /obj/item/chems/glass/beaker/large, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cDp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cDq" = ( /obj/structure/closet/secure_closet/chemical, /obj/item/storage/box/pillbottles, @@ -37598,7 +37562,7 @@ /obj/item/storage/box/syringes, /obj/item/screwdriver, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cDr" = ( /obj/structure/bed/chair/wheelchair, /obj/item/radio/intercom/department_medbay{ @@ -37612,12 +37576,12 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cDs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cDt" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -37635,7 +37599,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cDu" = ( /obj/structure/table/steel, /obj/item/gun/launcher/syringe, @@ -37646,12 +37610,12 @@ pixel_x = -27 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cDv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cDw" = ( /obj/structure/bed/chair/wheelchair, /obj/item/radio/intercom/department_medbay{ @@ -37659,7 +37623,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cDx" = ( /obj/machinery/firealarm{ dir = 8; @@ -37675,7 +37639,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cDy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -37691,7 +37655,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cDz" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -37701,7 +37665,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cDA" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -37715,7 +37679,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cDB" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -37731,7 +37695,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cDC" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -37747,7 +37711,7 @@ name = "Medical Restroom" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cDD" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -37765,7 +37729,7 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cDE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -37778,30 +37742,30 @@ pixel_x = -1 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cDF" = ( /obj/machinery/door/airlock{ name = "Unit 2" }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cDG" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cDH" = ( /turf/simulated/wall/r_wall, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cDI" = ( /obj/machinery/conveyor{ dir = 10; id_tag = "garbage" }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cDJ" = ( /obj/machinery/conveyor{ dir = 4; @@ -37809,7 +37773,7 @@ }, /obj/random/junk, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cDK" = ( /obj/machinery/conveyor{ dir = 4; @@ -37819,14 +37783,14 @@ dir = 1 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cDL" = ( /obj/machinery/conveyor{ dir = 4; id_tag = "garbage" }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cDM" = ( /obj/structure/disposaloutlet{ dir = 8 @@ -37835,13 +37799,13 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cDN" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cDO" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -37850,14 +37814,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cDP" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cDQ" = ( /obj/structure/rack, /obj/random/powercell, @@ -37872,14 +37836,14 @@ /obj/structure/catwalk, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "cDR" = ( /obj/structure/table, /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, /obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cDS" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -37887,18 +37851,18 @@ }, /obj/structure/cable, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cDT" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/port_emergency) +/area/crux/storage/emergency/sd_port) "cDU" = ( /turf/simulated/wall, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cDV" = ( /obj/structure/disposalpipe/segment, /turf/simulated/wall, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cDW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -37907,14 +37871,14 @@ name = "Cargo Bay Warehouse Maintenance" }, /turf/simulated/floor/plating, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cDX" = ( /obj/structure/disposaloutlet{ dir = 1 }, /obj/structure/disposalpipe/trunk, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cDY" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -37931,7 +37895,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cDZ" = ( /obj/machinery/network/requests_console{ department = "Cargo Bay"; @@ -37947,10 +37911,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cEa" = ( /turf/simulated/wall, -/area/quartermaster/office) +/area/crux/supply/office) "cEb" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -37961,12 +37925,12 @@ pixel_x = -32 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cEc" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/quartermaster/office) +/area/crux/supply/office) "cEd" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -37976,7 +37940,7 @@ name = "Cargo Office" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/office) +/area/crux/supply/office) "cEe" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -37987,7 +37951,7 @@ name = "Cargo Office" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/office) +/area/crux/supply/office) "cEf" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -38014,7 +37978,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cEg" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -38028,12 +37992,12 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cEh" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cEi" = ( /obj/structure/closet, /obj/item/storage/backpack/dufflebag, @@ -38049,14 +38013,14 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cEj" = ( /turf/simulated/wall, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cEk" = ( /obj/structure/disposalpipe/segment, /turf/simulated/wall, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cEl" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -38065,20 +38029,20 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEn" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -38087,7 +38051,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -38096,7 +38060,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -38117,7 +38081,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEr" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -38128,7 +38092,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEs" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -38138,7 +38102,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEt" = ( /obj/machinery/hologram/holopad{ holopad_id = "First Floor South Central Hallway South" @@ -38146,16 +38110,17 @@ /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/abstract/landmark/latejoin/observer, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEu" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cEv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -38176,7 +38141,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cEw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -38185,7 +38150,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cEx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -38194,7 +38159,7 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cEy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -38203,13 +38168,13 @@ dir = 10 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cEz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cEA" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -38218,7 +38183,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cEB" = ( /obj/structure/closet/crate/medical, /obj/random/maintenance/medical, @@ -38230,29 +38195,28 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cEC" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/machinery/door/airlock/double/glass{ - id_tag = null; name = "EMT Bay" }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cED" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cEE" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/medical/medbay_emt_bay) +/area/crux/medical/medbay_emt_bay) "cEF" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -38262,7 +38226,7 @@ }, /obj/machinery/vending/medical, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cEG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -38276,7 +38240,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cEH" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -38285,10 +38249,10 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cEI" = ( /obj/structure/bookcase/manuals/medical, -/obj/item/book/manual/stasis, +/obj/item/book/fluff/stasis, /obj/item/book/manual/medical_diagnostics_manual{ pixel_y = 7 }, @@ -38296,7 +38260,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cEJ" = ( /obj/structure/filing_cabinet/chestdrawer{ name = "Medical Forms" @@ -38309,7 +38273,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cEK" = ( /obj/machinery/photocopier, /obj/effect/floor_decal/corner/paleblue/diagonal{ @@ -38320,14 +38284,14 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cEL" = ( /obj/machinery/papershredder, /obj/effect/floor_decal/corner/paleblue/diagonal{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cEM" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -38344,12 +38308,12 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cEN" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cEO" = ( /obj/machinery/door/window/eastright{ name = "Medical Reception" @@ -38361,7 +38325,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "cEP" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -38374,7 +38338,7 @@ }, /obj/effect/floor_decal/corner_steel_grid, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cEQ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -38390,7 +38354,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cER" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -38409,7 +38373,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cES" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -38424,7 +38388,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cET" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -38443,7 +38407,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/foyer) +/area/crux/medical/foyer) "cEU" = ( /obj/machinery/reagentgrinder, /obj/structure/table/glass, @@ -38458,7 +38422,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cEV" = ( /obj/structure/table/glass, /obj/machinery/light, @@ -38469,7 +38433,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cEW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -38484,7 +38448,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cEX" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -38496,7 +38460,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/beige/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cEY" = ( /obj/structure/closet/wardrobe/chemistry_white, /obj/item/radio/headset/headset_med, @@ -38530,14 +38494,14 @@ /obj/item/hand_labeler, /obj/item/stack/package_wrap, /turf/simulated/floor/tiled/white, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cEZ" = ( /obj/machinery/alarm{ dir = 4; pixel_x = -22 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cFa" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -38551,7 +38515,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cFb" = ( /obj/structure/table, /obj/item/roller, @@ -38581,13 +38545,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cFc" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "cFd" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -38595,7 +38559,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cFe" = ( /obj/machinery/power/apc{ dir = 4; @@ -38610,7 +38574,7 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cFf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/borderfloorwhite{ @@ -38620,7 +38584,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cFg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -38628,25 +38592,25 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cFh" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cFi" = ( /obj/structure/table/glass, /obj/item/chems/drinks/glass2/coffeecup, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cFj" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cFk" = ( /obj/structure/table/glass, /obj/item/towel/pink, @@ -38676,11 +38640,11 @@ /obj/structure/cable/green, /obj/random/soap, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cFl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cFm" = ( /obj/structure/hygiene/shower{ dir = 8; @@ -38695,7 +38659,7 @@ }, /obj/structure/curtain/open/medical, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cFn" = ( /obj/machinery/conveyor{ dir = 1; @@ -38705,28 +38669,28 @@ pixel_x = -32 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cFo" = ( /obj/structure/sign/warning/moving_parts, /turf/simulated/wall, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cFp" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cFq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Disposal Access" }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cFr" = ( /obj/structure/disposalpipe/segment, /obj/machinery/vending/medical, /turf/simulated/wall, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cFs" = ( /obj/structure/cable{ icon_state = "1-2" @@ -38735,7 +38699,7 @@ dir = 9 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cFt" = ( /obj/random/maintenance/engineering, /obj/random/maintenance/clean, @@ -38743,11 +38707,11 @@ /obj/random/maintenance/clean, /obj/random/crate, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cFu" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cFv" = ( /obj/effect/floor_decal/corner/brown/full{ dir = 8 @@ -38756,16 +38720,16 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cFw" = ( /obj/structure/rack{ dir = 8 }, /turf/simulated/floor/tiled, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cFx" = ( /turf/simulated/floor/tiled, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cFy" = ( /obj/structure/disposalpipe/sortjunction/untagged{ dir = 1 @@ -38779,7 +38743,7 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cFz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -38793,7 +38757,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cFA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38808,24 +38772,24 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cFB" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cFC" = ( /obj/structure/disposalpipe/segment{ dir = 8; icon_state = "pipe-c" }, /turf/simulated/wall, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cFD" = ( /obj/structure/sign/poster, /turf/simulated/wall, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cFE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ @@ -38837,13 +38801,13 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cFF" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cFG" = ( /obj/structure/table, /obj/item/coin/silver{ @@ -38858,7 +38822,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/qm) +/area/crux/supply/qm) "cFH" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -38873,11 +38837,11 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cFI" = ( /obj/machinery/computer/modular/preset/supply_public, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cFJ" = ( /obj/structure/filing_cabinet/tall, /obj/effect/floor_decal/borderfloor/corner{ @@ -38887,7 +38851,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cFK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -38898,7 +38862,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cFL" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -38910,7 +38874,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cFM" = ( /obj/machinery/light{ dir = 4 @@ -38929,7 +38893,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cFN" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -38941,7 +38905,7 @@ name = "Quartermaster" }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/qm) +/area/crux/supply/qm) "cFO" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ @@ -38949,7 +38913,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/quartermaster/qm) +/area/crux/supply/qm) "cFP" = ( /obj/machinery/status_display{ pixel_x = -32 @@ -38958,18 +38922,18 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cFQ" = ( /obj/structure/railing, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cFR" = ( /obj/structure/railing, /obj/structure/railing{ dir = 4 }, /turf/simulated/open, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cFS" = ( /obj/machinery/ai_status_display{ pixel_x = 32 @@ -38982,25 +38946,26 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cFT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cFU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cFV" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cFW" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -39008,12 +38973,12 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cFX" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cFY" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, @@ -39024,21 +38989,21 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cFZ" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cGa" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cGb" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -39051,7 +39016,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cGc" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/steeldecal/steel_decals4, @@ -39059,7 +39024,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cGd" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -39068,19 +39033,19 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cGe" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/green/bordercorner2, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cGf" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cGg" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -39088,7 +39053,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cGh" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -39097,13 +39062,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cGi" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cGj" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -39112,10 +39077,10 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cGk" = ( /turf/simulated/wall/r_wall, -/area/medical/medbay) +/area/crux/medical/medbay) "cGl" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -39125,12 +39090,12 @@ pixel_x = -21 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cGm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cGn" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 4 @@ -39139,7 +39104,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cGo" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 @@ -39151,7 +39116,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cGp" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/borderfloorwhite/corner{ @@ -39161,7 +39126,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cGq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -39169,7 +39134,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cGr" = ( /obj/structure/sign/department/examroom{ pixel_x = 32; @@ -39182,16 +39147,16 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cGs" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/medical/reception) +/area/crux/medical/reception) "cGt" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/reception) +/area/crux/medical/reception) "cGu" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -39203,7 +39168,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/medical/reception) +/area/crux/medical/reception) "cGv" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -39212,7 +39177,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/medical/foyer) +/area/crux/medical/foyer) "cGw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -39220,11 +39185,11 @@ name = "Medbay" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/foyer) +/area/crux/medical/foyer) "cGx" = ( /obj/machinery/smartfridge/secure/medbay, /turf/simulated/wall/r_wall, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cGy" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -39237,12 +39202,12 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/medical/chemistry) +/area/crux/medical/chemistry) "cGz" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cGA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -39254,13 +39219,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medbay_primary_storage) +/area/crux/medical/medbay_primary_storage) "cGB" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -39272,14 +39237,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/medical/biostorage) +/area/crux/medical/biostorage) "cGD" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cGE" = ( /obj/structure/bed/chair{ dir = 8 @@ -39288,14 +39253,14 @@ pixel_x = 30 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cGF" = ( /obj/structure/undies_wardrobe, /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cGG" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -39307,7 +39272,7 @@ dir = 5 }, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cGH" = ( /obj/machinery/door/window/westleft{ name = "Shower" @@ -39319,7 +39284,7 @@ }, /obj/structure/curtain/open/medical, /turf/simulated/floor/tiled/freezer, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cGI" = ( /obj/machinery/conveyor{ dir = 1; @@ -39329,16 +39294,16 @@ dir = 8 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cGJ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cGK" = ( /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cGL" = ( /obj/item/radio/intercom{ dir = 4; @@ -39352,13 +39317,13 @@ dir = 5 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cGM" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGN" = ( /obj/structure/cable{ icon_state = "4-8" @@ -39370,29 +39335,29 @@ target_pressure = 200 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGO" = ( /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGP" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGQ" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGR" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGS" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGT" = ( /turf/simulated/wall, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGU" = ( /obj/structure/rack{ dir = 8 @@ -39401,13 +39366,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGV" = ( /obj/effect/floor_decal/corner/brown{ dir = 1 }, /turf/simulated/floor/tiled, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cGW" = ( /obj/structure/disposalpipe/tagger/partial{ dir = 1; @@ -39425,12 +39390,12 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cGX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cGY" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor/corner{ @@ -39440,7 +39405,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cGZ" = ( /obj/machinery/light/small{ dir = 1 @@ -39448,7 +39413,7 @@ /obj/machinery/mech_recharger, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cHa" = ( /obj/machinery/button/alternate/door{ id_tag = "qm_warehouse"; @@ -39465,7 +39430,7 @@ /obj/item/paint_sprayer, /obj/item/weldingtool, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cHb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -39484,7 +39449,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHc" = ( /obj/structure/table/steel, /obj/item/stack/material/sheet/mapped/steel/fifty, @@ -39504,7 +39469,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHd" = ( /obj/machinery/fabricator, /obj/machinery/alarm{ @@ -39517,7 +39482,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHe" = ( /obj/structure/table/steel, /obj/item/folder/yellow, @@ -39533,26 +39498,26 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHf" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHg" = ( /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHi" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHj" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -39562,7 +39527,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHk" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -39574,7 +39539,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHl" = ( /obj/machinery/camera/network/cargo{ c_tag = "CRG - Cargo Office East"; @@ -39587,7 +39552,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHm" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -39601,7 +39566,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHn" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor/corner{ @@ -39611,7 +39576,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHo" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -39621,7 +39586,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cHp" = ( /obj/machinery/power/apc{ dir = 8; @@ -39638,20 +39603,20 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cHq" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cHr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cHs" = ( /obj/machinery/firealarm{ dir = 4; @@ -39662,7 +39627,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cHt" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -39671,13 +39636,13 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cHu" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cHv" = ( /obj/machinery/alarm{ dir = 1; @@ -39687,7 +39652,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "cHw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -39698,8 +39663,11 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cHx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -39710,17 +39678,21 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cHy" = ( /obj/structure/flora/bush/ppflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cHz" = ( /obj/structure/flora/bush/ywflowers, /obj/machinery/light, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cHA" = ( /obj/structure/bed/chair{ dir = 4 @@ -39729,14 +39701,14 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cHB" = ( /obj/structure/table/woodentable, /obj/effect/floor_decal/spline/plain{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cHC" = ( /obj/structure/bed/chair{ dir = 8 @@ -39745,20 +39717,20 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cHD" = ( /obj/structure/flora/bush/ywflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cHE" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cHF" = ( /obj/structure/flora/bush/brflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cHG" = ( /obj/structure/bed/chair{ dir = 4 @@ -39767,14 +39739,14 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cHH" = ( /obj/structure/table/woodentable, /obj/effect/floor_decal/spline/plain{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cHI" = ( /obj/structure/bed/chair{ dir = 8 @@ -39783,16 +39755,16 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cHJ" = ( /obj/structure/flora/bush/ppflowers, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cHK" = ( /obj/structure/flora/bush/ywflowers, /obj/machinery/light, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cHL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -39804,7 +39776,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cHM" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -39819,14 +39791,14 @@ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cHN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance Access" }, /turf/simulated/floor/plating, -/area/medical/medbay) +/area/crux/medical/medbay) "cHO" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -39838,20 +39810,20 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHQ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -39861,7 +39833,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -39871,7 +39843,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHT" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/structure/cable/green{ @@ -39886,7 +39858,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -39904,7 +39876,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -39925,7 +39897,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -39944,7 +39916,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHX" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -39962,7 +39934,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHY" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -39981,7 +39953,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cHZ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -40002,7 +39974,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -40022,7 +39994,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIb" = ( /obj/machinery/computer/guestpass{ pixel_y = 30 @@ -40043,7 +40015,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIc" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -40064,7 +40036,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cId" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40084,7 +40056,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40099,7 +40071,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40111,7 +40083,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40129,7 +40101,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIh" = ( /obj/machinery/button/alternate/door{ desc = "A remote control switch for the medbay foyer."; @@ -40154,7 +40126,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40169,7 +40141,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40187,7 +40159,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, @@ -40205,7 +40177,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIl" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -40221,7 +40193,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIm" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -40236,7 +40208,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cIn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -40252,7 +40224,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIo" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40267,7 +40239,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIp" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -40284,7 +40256,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIq" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -40303,7 +40275,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -40322,7 +40294,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40337,7 +40309,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40352,7 +40324,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIv" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -40370,7 +40342,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIw" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40383,7 +40355,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -40400,7 +40372,7 @@ icon_state = "pipe-j2" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -40412,7 +40384,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -40425,7 +40397,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIA" = ( /obj/item/radio/intercom{ dir = 4; @@ -40436,14 +40408,14 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cIB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ name = "Medical Restroom" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medical_restroom) +/area/crux/medical/medical_restroom) "cIC" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -40453,7 +40425,7 @@ }, /obj/structure/window/reinforced, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cID" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -40462,19 +40434,19 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cIE" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cIF" = ( /obj/structure/cable{ icon_state = "2-4" }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cIG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -40484,14 +40456,14 @@ icon_state = "4-8" }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cIH" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cII" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -40501,7 +40473,7 @@ name = "Medbay Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cIJ" = ( /obj/structure/cable{ icon_state = "1-8" @@ -40510,21 +40482,21 @@ icon_state = "1-2" }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cIK" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cIL" = ( /obj/effect/floor_decal/corner/brown{ dir = 1 }, /obj/item/frame/light/small, /turf/simulated/floor/tiled, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cIM" = ( /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cIN" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -40543,7 +40515,7 @@ }, /obj/random/crate, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cIO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40555,7 +40527,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cIP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40565,7 +40537,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cIQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40577,7 +40549,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cIR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -40592,7 +40564,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cIS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/shutters{ @@ -40613,7 +40585,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cIT" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40627,7 +40599,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cIU" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40644,7 +40616,7 @@ sort_type = "Sorting Office" }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cIV" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40659,7 +40631,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cIW" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40674,7 +40646,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cIX" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40687,7 +40659,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cIY" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40698,7 +40670,7 @@ }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cIZ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40717,7 +40689,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cJa" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40734,7 +40706,7 @@ sort_type = "Cargo Bay" }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cJb" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40752,7 +40724,7 @@ pixel_y = -30 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cJc" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40767,7 +40739,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cJd" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40780,7 +40752,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cJe" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40801,7 +40773,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cJf" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40821,7 +40793,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cJg" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -40845,7 +40817,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cJh" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -40860,7 +40832,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cJi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40875,7 +40847,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cJj" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -40886,18 +40858,18 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cJk" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Cargo Maintenance" }, /turf/simulated/floor/plating, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cJl" = ( /obj/random/trash, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cJm" = ( /obj/structure/flora/bush/brflowers, /obj/machinery/firealarm{ @@ -40905,13 +40877,13 @@ pixel_y = -24 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cJn" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cJo" = ( /obj/structure/table/woodentable, /obj/machinery/camera/network/second_deck{ @@ -40920,13 +40892,13 @@ }, /obj/item/clothing/accessory/scarf/christmas, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cJp" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cJq" = ( /obj/structure/sign/directions/engineering{ dir = 8; @@ -40940,7 +40912,7 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cJr" = ( /obj/structure/sign/directions/bridge{ dir = 1; @@ -40954,13 +40926,13 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cJs" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cJt" = ( /obj/structure/table/woodentable, /obj/machinery/camera/network/second_deck{ @@ -40968,13 +40940,13 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cJu" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cJv" = ( /obj/structure/flora/bush/brflowers, /obj/machinery/firealarm{ @@ -40982,7 +40954,7 @@ pixel_y = -24 }, /turf/simulated/floor/grass, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "cJw" = ( /obj/structure/closet/crate, /obj/item/clothing/shoes/jackboots/swat/combat, @@ -40994,7 +40966,7 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/medical, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cJy" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -41009,7 +40981,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJz" = ( /obj/structure/sign/warning/high_voltage{ pixel_y = -32 @@ -41026,7 +40998,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJA" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -41044,7 +41016,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJB" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -41057,7 +41029,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -41070,7 +41042,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -41087,7 +41059,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41095,7 +41067,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJF" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - Medical Hallway West 1"; @@ -41107,7 +41079,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJG" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -41121,7 +41093,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJH" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -41140,18 +41112,18 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJJ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41163,7 +41135,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJL" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -41178,7 +41150,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJM" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -41192,7 +41164,7 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41201,7 +41173,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41211,7 +41183,7 @@ icon_state = "pipe-j2" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJP" = ( /obj/machinery/firealarm{ dir = 1; @@ -41230,7 +41202,7 @@ }, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJQ" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -41248,7 +41220,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41259,7 +41231,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41274,7 +41246,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJT" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/disposalpipe/sortjunction{ @@ -41283,7 +41255,7 @@ sort_type = "Chemistry" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJU" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/disposalpipe/segment{ @@ -41292,7 +41264,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJV" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -41310,7 +41282,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay) +/area/crux/medical/medbay) "cJW" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -41322,7 +41294,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cJX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41333,7 +41305,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cJY" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/disposalpipe/segment{ @@ -41346,7 +41318,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cJZ" = ( /obj/item/radio/intercom{ dir = 4; @@ -41364,7 +41336,7 @@ }, /obj/structure/table/bench/steel, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "cKa" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/disposalpipe/segment{ @@ -41373,7 +41345,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cKb" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/camera/network/medbay{ @@ -41386,7 +41358,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cKc" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -41400,7 +41372,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cKd" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/disposalpipe/junction/yjunction{ @@ -41409,7 +41381,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cKe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41418,7 +41390,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cKf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -41432,7 +41404,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cKg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -41443,11 +41415,11 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cKh" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cKi" = ( /obj/structure/closet/secure_closet/paramedic, /obj/effect/floor_decal/borderfloorwhite{ @@ -41457,7 +41429,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cKj" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 @@ -41466,7 +41438,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cKk" = ( /obj/structure/closet/secure_closet/medical3, /obj/random/soap, @@ -41484,16 +41456,16 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cKl" = ( /turf/simulated/wall/r_wall, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cKm" = ( /obj/machinery/mass_driver{ id_tag = "trash" }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cKn" = ( /obj/structure/disposaloutlet{ dir = 8 @@ -41510,14 +41482,14 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cKo" = ( /obj/machinery/camera/network/civilian{ c_tag = "CIV - Waste Disposal"; dir = 4 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cKp" = ( /obj/machinery/power/apc{ dir = 4; @@ -41530,7 +41502,7 @@ }, /obj/structure/cable, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cKq" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -41538,7 +41510,7 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKr" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -41547,39 +41519,39 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKs" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKt" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKu" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKv" = ( /obj/structure/cable{ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKw" = ( /obj/structure/firedoor_assembly, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKx" = ( /obj/item/stack/tile/floor, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cKy" = ( /obj/machinery/light/small{ dir = 8 @@ -41591,20 +41563,20 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cKz" = ( /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cKA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cKB" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cKC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/shutters{ @@ -41613,15 +41585,15 @@ name = "Warehouse Shutters" }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cKD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cKE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cKF" = ( /obj/machinery/photocopier, /obj/structure/cable/green{ @@ -41640,13 +41612,13 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cKG" = ( /turf/simulated/wall/r_wall, -/area/quartermaster/office) +/area/crux/supply/office) "cKH" = ( /turf/simulated/wall/r_wall, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cKI" = ( /obj/structure/closet/secure_closet/cargotech, /obj/item/storage/backpack/dufflebag, @@ -41656,7 +41628,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cKJ" = ( /obj/structure/closet/secure_closet/cargotech, /obj/item/stamp/cargo, @@ -41666,7 +41638,7 @@ /obj/machinery/light, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cKK" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -41675,7 +41647,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cKL" = ( /obj/item/stack/tape_roll/duct_tape, /obj/item/storage/firstaid/regular{ @@ -41696,7 +41668,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/lockerroom) +/area/crux/supply/lockerroom) "cKM" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -41705,10 +41677,10 @@ name = "Engineering automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cKN" = ( /turf/simulated/wall, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cKO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light{ @@ -41721,7 +41693,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cKP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -41729,7 +41701,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cKQ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/power/apc{ @@ -41743,10 +41715,10 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cKR" = ( /turf/simulated/wall, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cKS" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -41757,10 +41729,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cKT" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cKU" = ( /obj/structure/cable{ icon_state = "1-2" @@ -41770,10 +41742,10 @@ name = "Cargo Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cKV" = ( /turf/simulated/wall, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cKW" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ @@ -41781,7 +41753,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cKY" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -41794,26 +41766,26 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cKZ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "cmooffice" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cLa" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cLb" = ( /turf/simulated/wall, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cLd" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cLe" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -41822,38 +41794,38 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cLf" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cLg" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cLh" = ( /turf/simulated/wall, -/area/medical/cryo) +/area/crux/medical/cryo) "cLi" = ( /obj/structure/sign/warning/nosmoking_1, /turf/simulated/wall, -/area/medical/cryo) +/area/crux/medical/cryo) "cLj" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/cryo) +/area/crux/medical/cryo) "cLl" = ( /turf/simulated/wall, -/area/medical/psych) +/area/crux/medical/psych) "cLm" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "psyco_tint" }, /turf/simulated/floor/plating, -/area/medical/psych) +/area/crux/medical/psych) "cLn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -41866,11 +41838,11 @@ name = "Mental Health" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/psych) +/area/crux/medical/psych) "cLo" = ( /obj/structure/flora/pottedplant/largebush, /turf/simulated/floor/tiled/dark, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cLp" = ( /obj/structure/table/glass, /obj/machinery/alarm{ @@ -41882,7 +41854,7 @@ pixel_x = -5 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cLq" = ( /obj/structure/table/glass, /obj/item/radio/intercom/department_medbay{ @@ -41890,14 +41862,14 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cLr" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cLs" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -41909,7 +41881,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cLt" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -41923,10 +41895,10 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cLu" = ( /turf/simulated/wall, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cLv" = ( /obj/structure/closet/secure_closet/paramedic, /obj/machinery/power/apc{ @@ -41947,10 +41919,10 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cLw" = ( /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cLx" = ( /obj/structure/closet/secure_closet/medical3, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -41961,23 +41933,23 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cLy" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cLz" = ( /obj/structure/sign/warning/vent_port, /turf/simulated/wall/r_wall, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cLA" = ( /obj/machinery/door/blast/regular{ id_tag = "trash"; name = "disposal mass driver" }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cLB" = ( /obj/machinery/conveyor_switch/oneway{ convdir = -1; @@ -41993,11 +41965,11 @@ pixel_y = -6 }, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cLC" = ( /obj/item/stool/padded, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cLD" = ( /obj/machinery/alarm{ dir = 1; @@ -42008,7 +41980,7 @@ }, /obj/item/storage/bag/trash, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cLE" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/effect/floor_decal/industrial/warning{ @@ -42016,20 +41988,20 @@ }, /obj/machinery/meter, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLF" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLG" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLH" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -42042,14 +42014,14 @@ pixel_y = -25 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLI" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLJ" = ( /obj/structure/sign/warning/airlock{ pixel_y = -32 @@ -42058,21 +42030,21 @@ dir = 8 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLK" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLL" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLM" = ( /obj/item/stack/cable_coil/green, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cLN" = ( /obj/item/radio/intercom{ dir = 8; @@ -42086,19 +42058,19 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cLO" = ( /obj/abstract/landmark{ name = "blobstart" }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cLP" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cLQ" = ( /obj/machinery/power/apc{ dir = 4; @@ -42112,7 +42084,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cLR" = ( /obj/structure/bed/chair/comfy/brown, /obj/abstract/landmark/start{ @@ -42125,13 +42097,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cLS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cLV" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -42149,16 +42121,16 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cLW" = ( /turf/unsimulated/mask, -/area/quartermaster/office) +/area/crux/supply/office) "cLX" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cLY" = ( /turf/simulated/wall, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cLZ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -42170,7 +42142,7 @@ name = "Cargo Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cMa" = ( /obj/structure/closet/hydrant{ pixel_x = -32 @@ -42180,12 +42152,12 @@ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cMb" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cMc" = ( /obj/machinery/power/apc{ dir = 1; @@ -42197,13 +42169,13 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cMd" = ( /obj/machinery/alarm{ pixel_y = 23 }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cMe" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -42213,7 +42185,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cMf" = ( /obj/structure/cable{ icon_state = "1-2" @@ -42221,7 +42193,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cMg" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -42231,10 +42203,10 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cMh" = ( /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cMi" = ( /obj/structure/cable{ icon_state = "0-2" @@ -42243,7 +42215,7 @@ icon_state = "16-0" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cMj" = ( /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, @@ -42254,7 +42226,7 @@ /obj/random/maintenance/clean, /obj/item/clothing/glasses/meson, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cMk" = ( /obj/structure/cable{ icon_state = "1-2" @@ -42263,7 +42235,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cMl" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -42274,7 +42246,7 @@ pixel_x = -24 }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cMm" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -42291,7 +42263,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cMn" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -42308,7 +42280,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cMo" = ( /obj/machinery/disposal, /obj/item/radio/intercom{ @@ -42326,7 +42298,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cMp" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 1 @@ -42336,7 +42308,7 @@ }, /mob/living/simple_animal/cat/fluff/ran, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cMq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -42350,7 +42322,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cMr" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - CMO" @@ -42362,7 +42334,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cMs" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/vials{ @@ -42377,7 +42349,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cMt" = ( /obj/machinery/atmospherics/unary/freezer{ icon_state = "freezer" @@ -42387,7 +42359,7 @@ pixel_y = 22 }, /turf/simulated/floor/tiled/techmaint, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -42402,7 +42374,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -42417,7 +42389,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -42432,11 +42404,11 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMx" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techmaint, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMy" = ( /obj/structure/bed/chair, /obj/machinery/power/apc{ @@ -42460,7 +42432,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -42477,7 +42449,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMA" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 1 @@ -42486,7 +42458,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMB" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloorwhite{ @@ -42496,7 +42468,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMC" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 28 @@ -42515,17 +42487,17 @@ }, /obj/machinery/computer/modular/preset/medical, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cMD" = ( /obj/item/wrench, /obj/structure/table/glass, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/techmaint, -/area/medical/cryo) +/area/crux/medical/cryo) "cME" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/tiled/techmaint, -/area/medical/cryo) +/area/crux/medical/cryo) "cMF" = ( /obj/machinery/atmospherics/unary/freezer{ icon_state = "freezer" @@ -42535,7 +42507,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techmaint, -/area/medical/cryo) +/area/crux/medical/cryo) "cMH" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/portables_connector, @@ -42544,11 +42516,11 @@ pixel_y = 22 }, /turf/simulated/floor/tiled/techmaint, -/area/medical/cryo) +/area/crux/medical/cryo) "cMI" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/medical/cryo) +/area/crux/medical/cryo) "cMJ" = ( /obj/structure/table/woodentable, /obj/item/toy/plushie/therapy/blue, @@ -42558,11 +42530,11 @@ pixel_y = 21 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cMK" = ( /obj/structure/bed/chair/comfy/brown, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cML" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -42572,14 +42544,14 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cMM" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/structure/closet/secure_closet/psychiatry, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cMN" = ( /obj/structure/flora/pottedplant/flower, /obj/machinery/ai_status_display{ @@ -42593,10 +42565,10 @@ pixel_y = 32 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cMO" = ( /turf/simulated/wall, -/area/medical/morgue) +/area/crux/medical/morgue) "cMP" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -42614,7 +42586,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cMQ" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -42633,7 +42605,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cMR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -42649,7 +42621,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cMS" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -42667,7 +42639,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cMT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -42678,7 +42650,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cMU" = ( /obj/structure/closet/secure_closet/medical3, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -42698,22 +42670,22 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cMW" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /obj/machinery/shield_diffuser, /turf/simulated/floor, -/area/maintenance/disposal) +/area/crux/maintenance/disposal) "cMX" = ( /turf/simulated/wall/r_wall, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cMY" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cMZ" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "crg_aft_inner"; @@ -42721,7 +42693,7 @@ name = "Internal Airlock Access" }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cNa" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/door/airlock/external/glass{ @@ -42730,7 +42702,7 @@ name = "Internal Airlock Access" }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cNb" = ( /obj/structure/closet/crate/medical, /obj/effect/floor_decal/borderfloor{ @@ -42740,7 +42712,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cNc" = ( /obj/structure/closet/crate/internals, /obj/machinery/firealarm{ @@ -42750,14 +42722,14 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cNd" = ( /obj/structure/closet/crate/freezer, /obj/machinery/light/small, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cNe" = ( /obj/structure/rack{ dir = 8 @@ -42765,7 +42737,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cNf" = ( /obj/structure/rack{ dir = 8 @@ -42781,7 +42753,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/quartermaster/warehouse) +/area/crux/supply/warehouse) "cNg" = ( /obj/machinery/light{ dir = 8 @@ -42797,18 +42769,18 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cNh" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cNi" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cNj" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -42817,7 +42789,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cNl" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -42827,7 +42799,7 @@ pixel_x = -24 }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cNm" = ( /obj/machinery/light/small{ dir = 1 @@ -42847,7 +42819,7 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cNn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -42866,7 +42838,7 @@ /obj/structure/cable/green, /obj/structure/railing, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cNo" = ( /obj/random/contraband, /obj/random/contraband, @@ -42876,7 +42848,7 @@ /obj/random/maintenance/cargo, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cNp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42889,7 +42861,7 @@ /obj/random/maintenance/engineering, /obj/random/tool/power, /turf/simulated/floor/tiled, -/area/construction/seconddeck/construction1) +/area/crux/engineering/construction/sd_construction) "cNq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -42901,7 +42873,7 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cNr" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -42911,14 +42883,14 @@ name = "Emergency Storage" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cNs" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cNt" = ( /obj/structure/cable{ icon_state = "1-8" @@ -42928,7 +42900,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cNu" = ( /obj/structure/cable{ icon_state = "0-8" @@ -42937,14 +42909,14 @@ icon_state = "16-0" }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cNv" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cNw" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -42957,7 +42929,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cNx" = ( /obj/structure/cable{ icon_state = "1-2" @@ -42969,7 +42941,7 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cNy" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -42982,14 +42954,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cNz" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cNA" = ( /obj/machinery/power/apc{ dir = 8; @@ -43005,7 +42977,7 @@ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cNB" = ( /obj/structure/cable{ icon_state = "2-8" @@ -43015,11 +42987,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cNC" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cND" = ( /obj/structure/cable{ icon_state = "1-2" @@ -43028,13 +43000,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cNE" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cNF" = ( /obj/machinery/power/terminal{ dir = 4 @@ -43046,7 +43018,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cNG" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Substation - Medical" @@ -43056,7 +43028,7 @@ icon_state = "0-2" }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cNH" = ( /obj/machinery/papershredder, /obj/machinery/alarm{ @@ -43070,13 +43042,13 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cNI" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cNJ" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -43088,25 +43060,25 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cNK" = ( /obj/structure/bed/chair, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cNL" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cNM" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "CMO's Quarters" }, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cNN" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -43119,21 +43091,21 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNO" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNQ" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNR" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -43145,7 +43117,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNS" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -43154,7 +43126,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -43162,19 +43134,19 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNU" = ( /obj/machinery/hologram/holopad{ holopad_id = "Medbay Scanner" }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNV" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNW" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -43183,14 +43155,14 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cNX" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/cryo) +/area/crux/medical/cryo) "cNY" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -43202,13 +43174,13 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cNZ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cOa" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -43217,7 +43189,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cOb" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -43227,7 +43199,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cOc" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -43247,7 +43219,7 @@ pixel_x = 11 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cOd" = ( /obj/structure/table/woodentable, /obj/item/flashlight/lamp/green, @@ -43256,12 +43228,12 @@ pixel_x = -22 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cOe" = ( /obj/structure/table/woodentable, /obj/item/modular_computer/laptop/preset/medical, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cOf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -43269,10 +43241,10 @@ }, /obj/machinery/hologram/holopad, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cOg" = ( /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cOh" = ( /obj/structure/bed/psych, /obj/machinery/firealarm{ @@ -43280,7 +43252,7 @@ pixel_x = 24 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cOi" = ( /obj/structure/morgue, /obj/effect/floor_decal/borderfloor{ @@ -43290,7 +43262,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cOj" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - Morgue" @@ -43305,7 +43277,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cOk" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -43320,7 +43292,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cOl" = ( /obj/structure/table/steel, /obj/item/paper_bin{ @@ -43343,7 +43315,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cOm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -43354,7 +43326,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cOn" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -43363,7 +43335,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cOo" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -28 @@ -43375,13 +43347,13 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cOp" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cOq" = ( /obj/structure/closet/secure_closet/medical3, /obj/random/soap, @@ -43392,7 +43364,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cOr" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "crg_aft_airlock"; @@ -43410,14 +43382,14 @@ dir = 9 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cOs" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cOt" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -43427,7 +43399,7 @@ dir = 5 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cOu" = ( /obj/structure/bed/chair/comfy/brown{ dir = 1 @@ -43439,7 +43411,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cOv" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -43448,17 +43420,17 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cOw" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cOx" = ( /obj/effect/floor_decal/steeldecal/steel_decals_central5{ dir = 4 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cOz" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Substation - Cargo" @@ -43468,7 +43440,7 @@ icon_state = "0-2" }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cOA" = ( /obj/structure/cable{ icon_state = "0-2" @@ -43484,7 +43456,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cOB" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, @@ -43507,20 +43479,20 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "cOC" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cOD" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Firefighting Equipment" }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cOE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -43532,7 +43504,7 @@ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cOF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -43541,7 +43513,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cOG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -43553,23 +43525,23 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "cOH" = ( /obj/machinery/floodlight, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cOI" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cOJ" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cOK" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cOL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/ai_status_display{ @@ -43582,7 +43554,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cOM" = ( /obj/structure/disposalpipe/segment, /obj/machinery/status_display{ @@ -43599,7 +43571,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cON" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, @@ -43607,28 +43579,28 @@ pixel_y = -32 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cOO" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cOP" = ( /obj/machinery/space_heater, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cOR" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cOS" = ( /obj/structure/cable{ icon_state = "2-4" @@ -43640,13 +43612,13 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cOT" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Medical Substation Bypass" }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cOU" = ( /obj/structure/table/reinforced, /obj/machinery/faxmachine, @@ -43660,10 +43632,10 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cOV" = ( /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cOW" = ( /obj/structure/table/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -43671,7 +43643,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cOX" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -43680,7 +43652,7 @@ /obj/item/stamp/cmo, /obj/item/pen/multi, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cOY" = ( /obj/structure/table/reinforced, /obj/machinery/computer/modular/preset/cardslot/command{ @@ -43692,7 +43664,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cOZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/effect/floor_decal/borderfloorwhite/corner{ @@ -43702,21 +43674,21 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPb" = ( /obj/machinery/sleeper{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPd" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -43725,13 +43697,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPe" = ( /obj/machinery/bodyscanner{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPf" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -43741,7 +43713,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -43756,7 +43728,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cPh" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -43766,7 +43738,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/cryo) +/area/crux/medical/cryo) "cPi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -43781,7 +43753,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cPj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -43790,7 +43762,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cPk" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -43801,7 +43773,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cPl" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -43813,7 +43785,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cPm" = ( /obj/machinery/power/apc{ dir = 4; @@ -43834,7 +43806,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cPn" = ( /obj/structure/table/woodentable, /obj/item/paper_bin, @@ -43847,7 +43819,7 @@ dir = 8 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cPo" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -43869,7 +43841,7 @@ dir = 1 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cPp" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -43889,13 +43861,13 @@ }, /obj/structure/cable/green, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cPq" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cPr" = ( /obj/structure/bed/chair/comfy/brown{ dir = 8 @@ -43908,7 +43880,7 @@ pixel_x = 25 }, /turf/simulated/floor/carpet/blue3, -/area/medical/psych) +/area/crux/medical/psych) "cPs" = ( /obj/structure/morgue, /obj/effect/floor_decal/borderfloor{ @@ -43918,10 +43890,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cPt" = ( /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cPu" = ( /obj/structure/morgue{ dir = 8 @@ -43933,7 +43905,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cPv" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -43951,7 +43923,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cPw" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -43966,11 +43938,11 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cPx" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cPy" = ( /obj/structure/closet/wardrobe/medic_white, /obj/item/flashlight/pen, @@ -43982,7 +43954,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cPz" = ( /obj/structure/table/glass, /obj/item/stack/package_wrap, @@ -43994,7 +43966,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cPA" = ( /obj/structure/rack, /obj/item/storage/belt/medical, @@ -44024,7 +43996,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/medical_lockerroom) +/area/crux/medical/medical_lockerroom) "cPB" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 4; @@ -44038,12 +44010,12 @@ dir = 10 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cPC" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cPD" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 8; @@ -44056,11 +44028,11 @@ dir = 6 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cPE" = ( /obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cPF" = ( /obj/random/toy, /obj/random/plushie, @@ -44074,14 +44046,14 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cPG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ name = "Cargo Maintenance" }, /turf/simulated/floor/plating, -/area/quartermaster/office) +/area/crux/supply/office) "cPH" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/navbeacon/delivery/north{ @@ -44089,7 +44061,7 @@ }, /mob/living/bot/mulebot, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cPI" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/navbeacon/delivery/north{ @@ -44097,7 +44069,7 @@ }, /mob/living/bot/mulebot, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cPJ" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/camera/network/cargo{ @@ -44109,28 +44081,28 @@ location = "QM #3" }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cPK" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /obj/effect/floor_decal/borderfloor/corner2, /obj/effect/floor_decal/corner/brown/bordercorner2, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cPL" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/brown/border, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "cPM" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/quartermaster/office) +/area/crux/supply/office) "cPN" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Cargo Substation Bypass" }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cPO" = ( /obj/structure/cable{ icon_state = "2-8" @@ -44142,17 +44114,17 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cPP" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "cPQ" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cPR" = ( /obj/structure/rack{ dir = 1 @@ -44166,11 +44138,11 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cPS" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cPT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -44178,12 +44150,13 @@ icon_state = "1-2" }, /obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cPU" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cPV" = ( /obj/item/t_scanner, /obj/item/storage/box/lights/mixed, @@ -44195,7 +44168,7 @@ /obj/random/maintenance/cargo, /obj/item/clothing/glasses/welding, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/ap_emergency) +/area/crux/storage/emergency/sd_aport) "cPW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -44206,8 +44179,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cPX" = ( /obj/structure/rack{ dir = 1 @@ -44218,7 +44195,7 @@ /obj/random/maintenance/clean, /obj/random/cash, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cPY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44234,8 +44211,11 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44247,8 +44227,11 @@ icon_state = "4-8" }, /obj/structure/catwalk, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44261,8 +44244,11 @@ }, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -44283,8 +44269,11 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cQd" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, @@ -44294,8 +44283,12 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cQe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -44315,7 +44308,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cQf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44332,7 +44325,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cQg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44348,7 +44341,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cQh" = ( /obj/structure/cable{ icon_state = "4-8" @@ -44358,7 +44351,7 @@ }, /obj/item/inflatable/door/torn, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cQi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -44368,7 +44361,7 @@ }, /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cQj" = ( /obj/random/drinkbottle, /obj/random/tech_supply, @@ -44380,7 +44373,7 @@ }, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQk" = ( /obj/structure/table/steel, /obj/item/t_scanner, @@ -44391,7 +44384,7 @@ }, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQl" = ( /obj/structure/table/steel, /obj/item/storage/box/lights/mixed, @@ -44402,14 +44395,14 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cQm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cQn" = ( /obj/structure/cable{ icon_state = "1-2" @@ -44419,7 +44412,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/storage/emergency_storage/seconddeck/as_emergency) +/area/crux/storage/emergency/sd_astar) "cQo" = ( /obj/structure/cable{ icon_state = "1-2" @@ -44427,7 +44420,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cQp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -44437,7 +44430,7 @@ name = "Medbay Substation" }, /turf/simulated/floor/plating, -/area/maintenance/substation/medical) +/area/crux/maintenance/substation/medical) "cQq" = ( /obj/machinery/power/apc{ dir = 8; @@ -44463,13 +44456,13 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cQr" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cQs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -44478,7 +44471,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cQt" = ( /obj/structure/bed/chair/office/light{ dir = 1 @@ -44511,7 +44504,7 @@ name = "Chief Medical Officer" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cQu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -44532,7 +44525,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cQv" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/effect/floor_decal/borderfloorwhite{ @@ -44543,7 +44536,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQw" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -44552,16 +44545,16 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQx" = ( /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQy" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQz" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -44576,7 +44569,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQA" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -44591,7 +44584,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -44604,7 +44597,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -44616,14 +44609,14 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cQD" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/cryo) +/area/crux/medical/cryo) "cQE" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -44635,7 +44628,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cQF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -44644,13 +44637,13 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cQG" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cQH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -44661,7 +44654,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cQI" = ( /obj/machinery/firealarm{ dir = 4; @@ -44674,16 +44667,16 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cQJ" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cQK" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cQL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light{ @@ -44697,7 +44690,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cQM" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -44714,7 +44707,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cQN" = ( /obj/machinery/door/airlock/external{ id_tag = "crg_aft_outer"; @@ -44722,7 +44715,7 @@ name = "External Airlock Access" }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cQO" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -44731,7 +44724,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cQP" = ( /obj/structure/table/steel, /obj/machinery/cell_charger, @@ -44739,7 +44732,7 @@ /obj/item/clothing/head/soft, /obj/machinery/light, /turf/simulated/floor/tiled/dark, -/area/quartermaster/office) +/area/crux/supply/office) "cQQ" = ( /obj/structure/table/steel, /obj/machinery/recharger, @@ -44749,7 +44742,7 @@ }, /obj/item/hand_labeler, /turf/simulated/floor/tiled/dark, -/area/quartermaster/office) +/area/crux/supply/office) "cQR" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -44765,7 +44758,7 @@ name = "Patient Ward" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cQS" = ( /obj/random/maintenance/cargo, /obj/random/maintenance, @@ -44774,7 +44767,7 @@ /obj/structure/catwalk, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQT" = ( /obj/structure/cable{ icon_state = "2-4" @@ -44791,8 +44784,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44806,8 +44803,11 @@ /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44821,8 +44821,11 @@ /obj/effect/floor_decal/industrial/warning{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44834,8 +44837,11 @@ icon_state = "4-8" }, /obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44849,8 +44855,11 @@ /obj/effect/floor_decal/industrial/warning{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQY" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/machinery/power/apc{ @@ -44859,17 +44868,17 @@ }, /obj/structure/cable, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cQZ" = ( /obj/structure/catwalk, /obj/random/plushie/large, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cRd" = ( /obj/machinery/light/small, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cRe" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -44883,7 +44892,7 @@ /obj/item/storage/mre/random, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cRf" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -44901,13 +44910,17 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cRg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cRh" = ( /obj/machinery/firealarm{ dir = 4; @@ -44919,40 +44932,50 @@ /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 5 }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "cRi" = ( -/turf/simulated/wall, -/area/crew_quarters/cafeteria) +/obj/abstract/landmark/latejoin/cryo, +/turf/simulated/floor/carpet/blue2, +/area/crux/hotel/executive_suite_a) "cRj" = ( /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cRk" = ( -/obj/machinery/door/firedoor, -/obj/effect/wingrille_spawn/reinforced, -/turf/simulated/floor/plating, -/area/crew_quarters/cafeteria) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/abstract/landmark/latejoin/cryo, +/turf/simulated/floor/carpet/green, +/area/crux/hotel/standard_room_c) "cRl" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cRm" = ( /obj/random/obstruction, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cRn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cRo" = ( /obj/machinery/atmospherics/valve/shutoff{ dir = 4; name = "First Floor North automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cRp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -44967,7 +44990,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cRq" = ( /obj/structure/cable{ icon_state = "1-2" @@ -44979,7 +45002,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cRr" = ( /obj/structure/sign/warning/high_voltage{ pixel_y = 32 @@ -44991,7 +45014,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cRs" = ( /obj/structure/closet/secure_closet/cmo, /obj/machinery/ai_status_display{ @@ -45007,7 +45030,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cRt" = ( /obj/structure/table/reinforced, /obj/item/modular_computer/laptop/preset/medical{ @@ -45023,7 +45046,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cRu" = ( /obj/machinery/firealarm{ dir = 1; @@ -45032,7 +45055,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, /turf/simulated/floor/tiled, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "cRv" = ( /obj/structure/filing_cabinet/chestdrawer{ dir = 1 @@ -45044,7 +45067,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cRw" = ( /obj/machinery/photocopier, /obj/item/radio/intercom/department_medbay{ @@ -45058,7 +45081,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/heads/sc/cmo) +/area/crux/habitation/cmo) "cRx" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/floor_decal/industrial/hatch/yellow, @@ -45066,7 +45089,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techmaint, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRy" = ( /obj/structure/closet/secure_closet/medical1, /obj/item/radio/intercom/department_medbay{ @@ -45079,7 +45102,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRz" = ( /obj/structure/iv_drip, /obj/machinery/firealarm{ @@ -45090,7 +45113,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRA" = ( /obj/structure/table/glass, /obj/item/chems/spray/cleaner{ @@ -45114,7 +45137,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRB" = ( /obj/structure/table/glass, /obj/effect/floor_decal/borderfloorwhite{ @@ -45127,7 +45150,7 @@ pixel_x = 32 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRC" = ( /obj/structure/table/glass, /obj/item/roller, @@ -45142,7 +45165,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRD" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -45156,7 +45179,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRE" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -45174,7 +45197,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRF" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -45187,7 +45210,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRG" = ( /obj/structure/iv_drip, /obj/structure/closet/secure_closet/medical_wall{ @@ -45207,13 +45230,13 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cRH" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall, -/area/medical/cryo) +/area/crux/medical/cryo) "cRI" = ( /obj/machinery/disposal, /obj/structure/extinguisher_cabinet{ @@ -45229,7 +45252,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cRJ" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -45242,7 +45265,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cRK" = ( /obj/machinery/sleeper{ dir = 4 @@ -45250,7 +45273,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cRL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -45272,7 +45295,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cRM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -45288,7 +45311,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/cryo) +/area/crux/medical/cryo) "cRN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -45305,7 +45328,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cRO" = ( /obj/machinery/power/apc{ dir = 1; @@ -45332,7 +45355,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cRP" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -45353,7 +45376,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cRQ" = ( /obj/item/radio/intercom/department_medbay{ pixel_y = 21 @@ -45368,7 +45391,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cRR" = ( /obj/machinery/light{ dir = 1 @@ -45381,7 +45404,7 @@ }, /obj/machinery/fabricator/bioprinter/filled, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cRS" = ( /obj/structure/table, /obj/item/storage/laundry_basket, @@ -45396,7 +45419,7 @@ }, /obj/item/storage/box/bodybags, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cRT" = ( /obj/structure/filing_cabinet/chestdrawer{ desc = "A large drawer filled with autopsy reports."; @@ -45413,11 +45436,11 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cRU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cRV" = ( /obj/structure/table/steel, /obj/item/storage/box/bodybags, @@ -45441,7 +45464,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cRW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -45454,7 +45477,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cRX" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -45474,7 +45497,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cRY" = ( /obj/machinery/light/small{ dir = 8 @@ -45483,13 +45506,13 @@ dir = 1 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cRZ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSa" = ( /obj/machinery/button/access/exterior{ id_tag = "crg_aft_airlock"; @@ -45500,13 +45523,13 @@ dir = 1 }, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSb" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSd" = ( /obj/structure/rack{ dir = 1 @@ -45516,7 +45539,7 @@ /obj/random/maintenance, /obj/random/maintenance, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSe" = ( /obj/structure/rack{ dir = 1 @@ -45528,7 +45551,7 @@ /obj/random/maintenance, /obj/random/maintenance, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSf" = ( /obj/structure/grille, /obj/structure/window/reinforced, @@ -45536,18 +45559,18 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSg" = ( /obj/item/shard{ icon_state = "medium" }, /obj/item/stack/material/rods, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSh" = ( /obj/item/stack/material/pane/mapped/rglass, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSi" = ( /obj/structure/cable{ icon_state = "0-2" @@ -45559,25 +45582,25 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSj" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSk" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSl" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSm" = ( /obj/structure/rack{ dir = 1 @@ -45587,7 +45610,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSn" = ( /obj/structure/cable{ icon_state = "1-2" @@ -45599,11 +45622,11 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSo" = ( /obj/random/obstruction, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cSp" = ( /obj/structure/table/steel, /obj/random/maintenance/clean, @@ -45615,27 +45638,27 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cSq" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cSr" = ( /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "cSu" = ( /turf/simulated/wall, -/area/library) +/area/crux/habitation/library) "cSv" = ( /obj/structure/bed/chair/office/comfy, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "cSw" = ( /obj/structure/bed/chair/armchair/brown{ dir = 4 }, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "cSx" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -45646,14 +45669,14 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cSy" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cSA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -45667,13 +45690,13 @@ /obj/machinery/door/airlock/maintenance, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cSB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cSC" = ( /obj/machinery/light/small{ dir = 1 @@ -45682,7 +45705,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "cSD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -45694,7 +45717,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cSE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -45704,7 +45727,7 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cSF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -45716,7 +45739,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cSG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -45731,11 +45754,11 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cSH" = ( /obj/structure/bed/sofa/left/red, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cSI" = ( /obj/structure/cable{ icon_state = "1-4" @@ -45744,7 +45767,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cSJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -45753,11 +45776,11 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cSK" = ( /obj/structure/bed/sofa/right/red, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cSL" = ( /obj/structure/morgue{ dir = 8 @@ -45769,18 +45792,18 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cSN" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cSO" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/medical/sleeper) +/area/crux/medical/sleeper) "cSP" = ( /turf/simulated/wall, -/area/medical/ward) +/area/crux/medical/ward) "cSQ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -45793,12 +45816,12 @@ name = "Patient Ward" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/ward) +/area/crux/medical/ward) "cSR" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/medical/ward) +/area/crux/medical/ward) "cSS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -45806,14 +45829,14 @@ name = "Patient Ward" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/ward) +/area/crux/medical/ward) "cST" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/medical/cryo) +/area/crux/medical/cryo) "cSU" = ( /turf/simulated/wall, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cSV" = ( /obj/machinery/button/alternate/door{ desc = "A remote control switch for the medbay foyer."; @@ -45831,7 +45854,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cSW" = ( /obj/item/stool, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -45842,13 +45865,13 @@ }, /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cSX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cSY" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -45857,24 +45880,24 @@ name = "Geneticist" }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cSZ" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cTa" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Morgue" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/morgue) +/area/crux/medical/morgue) "cTb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cTc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -45883,7 +45906,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cTd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -45899,7 +45922,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cTe" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -45915,7 +45938,7 @@ name = "Morgue" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/morgue) +/area/crux/medical/morgue) "cTf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -45932,7 +45955,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cTg" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -45948,21 +45971,21 @@ pixel_x = 21 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cTh" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTi" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -45972,14 +45995,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTk" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -45988,7 +46011,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTm" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -45997,7 +46020,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTn" = ( /obj/structure/cable{ icon_state = "1-8" @@ -46009,7 +46032,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTo" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -46019,7 +46042,7 @@ }, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTp" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -46028,7 +46051,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -46036,19 +46059,19 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cTr" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cTt" = ( /obj/structure/cable{ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cTu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -46057,7 +46080,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cTy" = ( /obj/structure/cable{ icon_state = "1-8" @@ -46066,7 +46089,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cTz" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -46084,20 +46107,20 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cTA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cTC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "cTD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cTH" = ( /obj/structure/cable{ icon_state = "2-8" @@ -46114,23 +46137,23 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cTL" = ( /obj/structure/stairs/long, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cTM" = ( /obj/structure/bed/sofa/right/red{ dir = 1 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cTN" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cTO" = ( /obj/structure/rack{ dir = 1 @@ -46140,7 +46163,7 @@ /obj/random/maintenance/medical, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cTP" = ( /obj/structure/rack{ dir = 1 @@ -46154,17 +46177,17 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cTQ" = ( /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cTR" = ( /turf/simulated/wall/r_wall, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cTS" = ( /turf/simulated/wall/r_wall, -/area/medical/ward) +/area/crux/medical/ward) "cTT" = ( /obj/structure/bed/padded, /obj/item/bedsheet/medical, @@ -46179,7 +46202,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cTU" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/item/radio/intercom{ @@ -46194,7 +46217,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cTV" = ( /obj/structure/table/glass, /obj/item/modular_computer/laptop/preset/medical, @@ -46212,7 +46235,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cTW" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/item/radio/intercom/department_medbay{ @@ -46225,7 +46248,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cTX" = ( /obj/structure/bed/padded, /obj/item/bedsheet/medical, @@ -46237,7 +46260,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cTY" = ( /obj/structure/table/glass, /obj/item/storage/box/gloves{ @@ -46270,7 +46293,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cTZ" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -46287,10 +46310,10 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cUa" = ( /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cUb" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 4 @@ -46299,7 +46322,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cUc" = ( /obj/structure/closet/wardrobe/medic_white, /obj/effect/floor_decal/borderfloorwhite{ @@ -46309,7 +46332,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cUd" = ( /obj/structure/bed/padded, /obj/item/bedsheet/medical, @@ -46321,7 +46344,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cUe" = ( /obj/structure/bed/padded, /obj/item/bedsheet/medical, @@ -46336,7 +46359,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cUf" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 10 @@ -46346,7 +46369,7 @@ }, /obj/machinery/constructable_frame/computerframe, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cUh" = ( /obj/machinery/constructable_frame/computerframe, /obj/effect/floor_decal/borderfloorwhite/corner{ @@ -46356,7 +46379,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cUi" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -46365,7 +46388,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cUj" = ( /obj/structure/closet/wardrobe/medic_white, /obj/item/radio/intercom{ @@ -46378,7 +46401,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/purple/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cUk" = ( /obj/structure/table/steel, /obj/item/paper_bin{ @@ -46406,14 +46429,14 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cUl" = ( /obj/machinery/optable, /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cUm" = ( /obj/structure/table/steel, /obj/item/scanner/autopsy, @@ -46425,7 +46448,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cUn" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -46434,13 +46457,13 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/medical/morgue) +/area/crux/medical/morgue) "cUo" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall, -/area/medical/morgue) +/area/crux/medical/morgue) "cUp" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -46453,7 +46476,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cUq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -46464,13 +46487,16 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "cUr" = ( /turf/simulated/wall/r_wall, -/area/maintenance/library) +/area/crux/maintenance/library) "cUs" = ( /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) +"cUA" = ( +/turf/simulated/wall/r_wall, +/area/crux/habitation/kitchen) "cUJ" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -46480,19 +46506,19 @@ pixel_x = -27 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cUK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cUL" = ( /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cUR" = ( /obj/structure/cable{ icon_state = "4-8" @@ -46511,7 +46537,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cUW" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -46519,34 +46545,34 @@ /obj/structure/table/marble, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "cVd" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cVe" = ( /obj/structure/bed/sofa/left/red{ dir = 1 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cVf" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cVg" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cVh" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cVi" = ( /obj/machinery/firealarm{ dir = 8; @@ -46565,17 +46591,17 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVj" = ( /obj/structure/bed/chair/office/dark{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVk" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVl" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -46590,14 +46616,13 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVm" = ( /obj/structure/table/glass, /obj/item/radio/phone{ anchored = 1; canhear_range = 7; frequency = 1487; - icon_state = "red_phone"; name = "Surgery Emergency Phone" }, /obj/random/medical, @@ -46618,7 +46643,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVn" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -46628,7 +46653,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -46636,13 +46661,13 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVp" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVq" = ( /obj/machinery/light{ dir = 4 @@ -46661,7 +46686,7 @@ }, /obj/machinery/washing_machine, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVr" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -46676,7 +46701,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVs" = ( /obj/machinery/firealarm{ dir = 4; @@ -46695,14 +46720,14 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cVt" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Cloning Laboratory" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cVv" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -46711,10 +46736,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cVw" = ( /turf/simulated/wall/r_wall, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cVx" = ( /obj/structure/closet/wardrobe/grey, /obj/item/storage/backpack, @@ -46724,38 +46749,38 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVy" = ( /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /obj/random/drinkbottle, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVz" = ( /obj/item/ashtray/glass, /obj/structure/table/steel, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVA" = ( /obj/structure/bed/chair/comfy/beige, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVB" = ( /obj/structure/table/steel, /obj/item/chems/drinks/glass2/rocks, /obj/item/chems/drinks/glass2/rocks, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVC" = ( /obj/structure/bed/chair/comfy/purple, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVD" = ( /obj/structure/table/steel, /obj/item/chems/drinks/flask/barflask, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVE" = ( /obj/machinery/alarm{ dir = 1; @@ -46764,18 +46789,18 @@ /obj/structure/table/steel, /obj/item/storage/toolbox/mechanical, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVF" = ( /obj/item/storage/briefcase/inflatable, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cVG" = ( /obj/structure/table/woodentable, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cVH" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -46788,14 +46813,14 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "cVK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Balcony" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cVV" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -46811,36 +46836,40 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cVW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cVX" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/green/bordercorner, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cWb" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 }, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cWc" = ( -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "cWe" = ( /obj/structure/cable{ icon_state = "2-8" @@ -46848,7 +46877,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "cWl" = ( /obj/machinery/camera/network/civilian{ c_tag = "CIV - Library Office" @@ -46867,11 +46896,11 @@ icon_state = "0-4" }, /turf/simulated/floor/wood, -/area/library/office) +/area/crux/habitation/library/office) "cWm" = ( /obj/machinery/door/airlock, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cWs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -46883,13 +46912,13 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -46902,14 +46931,14 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWw" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -46921,7 +46950,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWx" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -46934,7 +46963,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWy" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -46946,7 +46975,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWz" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -46957,7 +46986,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWA" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -46972,7 +47001,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWB" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -46982,7 +47011,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWC" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -46998,7 +47027,7 @@ }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWD" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -47013,7 +47042,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -47029,14 +47058,14 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cWF" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ name = "Patient Ward" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -47054,7 +47083,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWH" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -47066,7 +47095,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -47087,7 +47116,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -47108,7 +47137,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWK" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -47130,7 +47159,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -47148,7 +47177,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWM" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -47163,7 +47192,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -47180,7 +47209,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWO" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -47196,7 +47225,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -47208,7 +47237,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWQ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -47220,7 +47249,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWR" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -47233,12 +47262,12 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWS" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cWT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -47246,7 +47275,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "cXa" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 9 @@ -47258,8 +47287,9 @@ dir = 8; pixel_x = 22 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cXh" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -47275,11 +47305,11 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cXi" = ( /obj/structure/bed/chair/wood, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "cXl" = ( /obj/machinery/meter, /obj/effect/floor_decal/industrial/warning{ @@ -47292,7 +47322,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cXm" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -47301,7 +47331,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cXn" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -47313,7 +47343,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cXo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -47323,12 +47353,12 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/medical/ward) +/area/crux/medical/ward) "cXp" = ( /obj/machinery/light/small, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "cXq" = ( /obj/structure/bed/chair{ dir = 4 @@ -47348,11 +47378,11 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/quartermaster/delivery) +/area/crux/supply/delivery) "cXA" = ( /obj/structure/catwalk, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "cXB" = ( /obj/structure/cable{ icon_state = "1-8" @@ -47362,7 +47392,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, -/area/library/office) +/area/crux/habitation/library/office) "cXC" = ( /obj/machinery/constructable_frame/computerframe{ dir = 1 @@ -47371,7 +47401,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/medical/genetics_cloning) +/area/crux/medical/genetics_cloning) "cXE" = ( /obj/structure/table/glass, /obj/item/chems/ivbag/blood/aminus, @@ -47389,7 +47419,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXF" = ( /obj/structure/table/glass, /obj/item/chems/ivbag/blood/ominus, @@ -47403,7 +47433,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXG" = ( /obj/structure/table/glass, /obj/item/chems/ivbag, @@ -47417,7 +47447,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXH" = ( /obj/item/stool/padded, /obj/machinery/camera/network/medbay{ @@ -47431,7 +47461,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXI" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -47445,7 +47475,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXJ" = ( /obj/machinery/door/firedoor, /obj/machinery/vending/wallmed1{ @@ -47454,12 +47484,12 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXK" = ( /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXL" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -47471,7 +47501,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXM" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -47481,12 +47511,12 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXN" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXO" = ( /obj/machinery/door/firedoor, /obj/machinery/vending/wallmed1{ @@ -47499,7 +47529,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXP" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -47507,7 +47537,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXQ" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - Patient Ward East"; @@ -47516,7 +47546,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXR" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -47524,7 +47554,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXS" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -47536,7 +47566,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -47550,7 +47580,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXU" = ( /obj/machinery/alarm{ dir = 1; @@ -47561,13 +47591,13 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cXV" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "cXW" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -47576,13 +47606,13 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cXX" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cXY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -47596,7 +47626,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cXZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -47604,7 +47634,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -47616,7 +47646,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -47632,7 +47662,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -47640,7 +47670,7 @@ /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/paleblue/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYe" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/firealarm{ @@ -47650,7 +47680,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -47658,7 +47688,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYg" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -47669,7 +47699,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -47677,11 +47707,11 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cYn" = ( /obj/structure/table/woodentable, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "cYu" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -47697,7 +47727,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cYB" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 1; @@ -47708,7 +47738,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "cYL" = ( /obj/machinery/button/windowtint{ id_tag = "library_window_tint"; @@ -47722,14 +47752,14 @@ pixel_y = 30 }, /turf/simulated/floor/wood, -/area/library/office) +/area/crux/habitation/library/office) "cYM" = ( /obj/machinery/newscaster{ pixel_x = 30 }, /obj/structure/bookcase, /turf/simulated/floor/wood, -/area/library/office) +/area/crux/habitation/library/office) "cYN" = ( /obj/machinery/newscaster{ pixel_x = -30 @@ -47738,7 +47768,7 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/library/office) +/area/crux/habitation/library/office) "cYO" = ( /obj/structure/rack, /obj/item/storage/briefcase{ @@ -47750,20 +47780,20 @@ }, /obj/item/clothing/under/suit_jacket/red, /turf/simulated/floor/wood, -/area/library/office) +/area/crux/habitation/library/office) "cYP" = ( /turf/simulated/wall/r_wall, -/area/medical/surgery) +/area/crux/medical/surgery) "cYQ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "st1_tint" }, /turf/simulated/floor/plating, -/area/medical/surgery) +/area/crux/medical/surgery) "cYR" = ( /turf/simulated/wall, -/area/medical/surgery) +/area/crux/medical/surgery) "cYS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -47775,7 +47805,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/medical/surgery) +/area/crux/medical/surgery) "cYT" = ( /obj/machinery/alarm{ dir = 1; @@ -47792,7 +47822,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cYU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -47806,7 +47836,7 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cYV" = ( /obj/machinery/firealarm{ dir = 1; @@ -47824,10 +47854,10 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/ward) +/area/crux/medical/ward) "cYW" = ( /turf/simulated/wall/r_wall, -/area/medical/surgery2) +/area/crux/medical/surgery2) "cYX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -47839,17 +47869,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/medical/surgery2) +/area/crux/medical/surgery2) "cYY" = ( /turf/simulated/wall, -/area/medical/surgery2) +/area/crux/medical/surgery2) "cYZ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "st2_tint" }, /turf/simulated/floor/plating, -/area/medical/surgery2) +/area/crux/medical/surgery2) "cZa" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -47861,17 +47891,17 @@ name = "Operating Theatre Storage" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "cZb" = ( /turf/simulated/wall, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "cZc" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "pr1_window_tint" }, /turf/simulated/floor/plating, -/area/medical/patient_a) +/area/crux/medical/patient_a) "cZd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -47883,17 +47913,17 @@ name = "Patient Room A" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/patient_a) +/area/crux/medical/patient_a) "cZe" = ( /turf/simulated/wall, -/area/medical/patient_a) +/area/crux/medical/patient_a) "cZf" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "pr2_window_tint" }, /turf/simulated/floor/plating, -/area/medical/patient_b) +/area/crux/medical/patient_b) "cZg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -47905,18 +47935,18 @@ name = "Patient Room B" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/patient_b) +/area/crux/medical/patient_b) "cZh" = ( /turf/simulated/wall/r_wall, -/area/medical/patient_b) +/area/crux/medical/patient_b) "cZi" = ( /obj/structure/bed/chair, /turf/simulated/floor/tiled/dark, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cZj" = ( /obj/structure/table/glass, /turf/simulated/floor/tiled/dark, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "cZx" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -47935,14 +47965,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cZy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cZA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -47953,8 +47983,9 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "cZT" = ( /obj/structure/table, /obj/item/towel/random{ @@ -47965,7 +47996,7 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "cZU" = ( /obj/structure/table, /obj/item/hemostat, @@ -47980,7 +48011,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "cZV" = ( /obj/structure/table, /obj/machinery/power/apc{ @@ -48013,7 +48044,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "cZW" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -48027,7 +48058,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "cZX" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -48044,10 +48075,10 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "cZY" = ( /turf/simulated/wall, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "cZZ" = ( /obj/machinery/door/firedoor, /obj/machinery/holosign/surgery, @@ -48061,7 +48092,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "daa" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -48078,7 +48109,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dab" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -48092,7 +48123,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dac" = ( /obj/structure/table, /obj/machinery/power/apc{ @@ -48125,7 +48156,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dad" = ( /obj/structure/table, /obj/item/hemostat, @@ -48137,11 +48168,11 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dae" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/medical/surgery2) +/area/crux/medical/surgery2) "daf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -48155,7 +48186,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dag" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -48164,7 +48195,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dah" = ( /obj/structure/iv_drip, /obj/machinery/power/apc{ @@ -48180,7 +48211,7 @@ icon_state = "0-8" }, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dai" = ( /obj/structure/iv_drip, /obj/machinery/power/apc{ @@ -48207,7 +48238,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "daj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -48221,7 +48252,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dak" = ( /obj/machinery/firealarm{ dir = 4; @@ -48234,7 +48265,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dal" = ( /obj/structure/iv_drip, /obj/machinery/firealarm{ @@ -48248,7 +48279,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "dam" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -48262,7 +48293,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "dan" = ( /obj/machinery/power/apc{ dir = 4; @@ -48288,7 +48319,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "daD" = ( /obj/structure/table/woodentable, /obj/item/flashlight/lamp/green{ @@ -48299,27 +48330,27 @@ dir = 1 }, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "daE" = ( /obj/structure/bed/chair/armchair/brown{ dir = 8 }, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "daF" = ( /obj/structure/bed/chair/office/comfy{ dir = 4 }, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "daM" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "daW" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "daX" = ( /obj/structure/cable{ icon_state = "0-2" @@ -48330,7 +48361,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "daZ" = ( /obj/structure/table, /obj/item/stack/medical/advanced/bruise_pack, @@ -48346,13 +48377,13 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dba" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dbb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -48363,7 +48394,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dbc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -48375,7 +48406,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dbd" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/shutters{ @@ -48387,7 +48418,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dbe" = ( /obj/structure/bed/chair{ dir = 8 @@ -48411,7 +48442,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dbf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -48427,7 +48458,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dbg" = ( /obj/structure/bed/chair{ dir = 4 @@ -48448,7 +48479,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dbh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/blast/shutters{ @@ -48460,7 +48491,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dbi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -48472,7 +48503,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dbj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -48483,13 +48514,13 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dbk" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dbl" = ( /obj/structure/table, /obj/item/stack/medical/advanced/bruise_pack, @@ -48505,26 +48536,26 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dbm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dbn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dbo" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dbp" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -48541,7 +48572,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dbq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -48552,7 +48583,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dbr" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -48567,7 +48598,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dbs" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -48583,7 +48614,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "dbt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -48594,7 +48625,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "dbu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -48610,7 +48641,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "dbI" = ( /obj/structure/table/glass, /obj/machinery/recharger, @@ -48622,7 +48653,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/reception) +/area/crux/medical/reception) "dbL" = ( /obj/structure/rack, /obj/item/clothing/suit/radiation, @@ -48630,7 +48661,7 @@ /obj/item/storage/toolbox/emergency, /obj/item/defibrillator/loaded, /turf/simulated/floor/tiled/dark, -/area/medical/biostorage) +/area/crux/medical/biostorage) "dca" = ( /obj/structure/table, /obj/item/circular_saw{ @@ -48648,14 +48679,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dcb" = ( /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dcc" = ( /obj/machinery/optable, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dcd" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -48670,7 +48701,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dce" = ( /obj/structure/bed/chair{ dir = 8 @@ -48682,12 +48713,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dcf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/hologram/holopad, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dcg" = ( /obj/structure/bed/chair{ dir = 4 @@ -48699,7 +48730,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "dch" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -48714,14 +48745,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dci" = ( /obj/machinery/optable, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dcj" = ( /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dck" = ( /obj/structure/table, /obj/item/circular_saw{ @@ -48739,7 +48770,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "dcl" = ( /obj/structure/closet/crate/medical, /obj/item/surgicaldrill, @@ -48764,15 +48795,15 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dcm" = ( /obj/structure/closet/crate/freezer, /obj/machinery/light, /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dcn" = ( /turf/simulated/floor/tiled/freezer, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "dco" = ( /obj/structure/table/glass, /obj/item/modular_computer/laptop/preset/medical, @@ -48790,14 +48821,14 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dcp" = ( /obj/structure/bed/padded, /obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/pink/border, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dcq" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/item/radio/intercom{ @@ -48817,7 +48848,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_a) +/area/crux/medical/patient_a) "dcr" = ( /obj/structure/table/glass, /obj/item/modular_computer/laptop/preset/medical, @@ -48833,14 +48864,14 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "dcs" = ( /obj/structure/bed/padded, /obj/item/bedsheet/medical, /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/pink/border, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) +/area/crux/medical/patient_b) "dct" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/machinery/camera/network/medbay{ @@ -48862,19 +48893,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/patient_b) -"dcv" = ( -/obj/structure/cable/cyan{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/cap/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/engineering/engine_room) +/area/crux/medical/patient_b) "dcy" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -48889,25 +48908,25 @@ icon_state = "1-8" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "dcC" = ( /obj/structure/railing/mapped{ dir = 4 }, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "dcH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dcI" = ( /obj/structure/table/woodentable, /obj/item/storage/pill_bottle/dice_nerd, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "dcK" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor/corner{ @@ -48921,13 +48940,13 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dcL" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dcS" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloorwhite, @@ -48940,7 +48959,7 @@ /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/antibiotics, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "dda" = ( /obj/structure/table, /obj/item/surgicaldrill, @@ -48964,7 +48983,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "ddb" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 8 @@ -48973,11 +48992,11 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "ddc" = ( /obj/machinery/computer/operating, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "ddd" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 4 @@ -48986,7 +49005,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "dde" = ( /obj/structure/bed/chair{ dir = 8 @@ -49004,13 +49023,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "ddf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "ddg" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 8 @@ -49019,16 +49038,16 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "ddh" = ( /obj/machinery/computer/operating, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "ddi" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/pink/bordercorner, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "ddj" = ( /obj/structure/table, /obj/item/surgicaldrill, @@ -49052,23 +49071,23 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "ddk" = ( /turf/simulated/wall/r_wall, -/area/medical/surgery_storage) +/area/crux/medical/surgery_storage) "ddl" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/patient_a) +/area/crux/medical/patient_a) "ddn" = ( /turf/simulated/wall/r_wall, -/area/medical/patient_a) +/area/crux/medical/patient_a) "ddo" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/patient_b) +/area/crux/medical/patient_b) "ddy" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -49081,7 +49100,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "ddz" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -49090,7 +49109,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "ddN" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - Operating Theatre 1"; @@ -49106,7 +49125,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "ddO" = ( /obj/machinery/ai_status_display{ pixel_y = -32 @@ -49114,7 +49133,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/pink/border, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "ddP" = ( /obj/machinery/firealarm{ dir = 1; @@ -49128,10 +49147,10 @@ }, /obj/structure/iv_drip, /turf/simulated/floor/tiled/white, -/area/medical/surgery) +/area/crux/medical/surgery) "ddQ" = ( /turf/simulated/wall/r_wall, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "ddR" = ( /obj/structure/table, /obj/item/storage/box/cups, @@ -49150,7 +49169,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "ddS" = ( /obj/machinery/alarm{ dir = 1; @@ -49163,7 +49182,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "ddT" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/item/radio/intercom/department_medbay{ @@ -49180,7 +49199,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/medical/surgeryobs) +/area/crux/medical/surgeryobs) "ddU" = ( /obj/machinery/firealarm{ dir = 1; @@ -49194,7 +49213,7 @@ }, /obj/structure/iv_drip, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "ddV" = ( /obj/machinery/ai_status_display{ pixel_y = -32 @@ -49202,7 +49221,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/pink/border, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "ddW" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - Operating Theatre 2"; @@ -49218,7 +49237,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/medical/surgery2) +/area/crux/medical/surgery2) "def" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/borderfloor{ @@ -49227,8 +49246,9 @@ /obj/effect/floor_decal/corner/green/border{ dir = 4 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "des" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -49244,7 +49264,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dew" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -49262,16 +49282,17 @@ dir = 8; pixel_x = 32 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "deJ" = ( /obj/machinery/ai_status_display, /turf/simulated/wall, -/area/library/office) +/area/crux/habitation/library/office) "deL" = ( /obj/machinery/status_display, /turf/simulated/wall, -/area/library/office) +/area/crux/habitation/library/office) "deQ" = ( /obj/machinery/alarm{ dir = 4; @@ -49291,12 +49312,12 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "deS" = ( /obj/structure/table/woodentable, /obj/item/deck/cards, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "deW" = ( /obj/item/radio/intercom{ dir = 8; @@ -49312,7 +49333,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "deX" = ( /obj/machinery/alarm{ dir = 8; @@ -49328,18 +49349,18 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "deY" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "deZ" = ( /obj/structure/bed/chair/office/comfy{ dir = 8 }, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "dff" = ( /obj/machinery/light{ dir = 1 @@ -49358,17 +49379,17 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfg" = ( /obj/structure/railing, /turf/simulated/open, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfi" = ( /turf/simulated/wall, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfk" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfr" = ( /obj/machinery/firealarm{ dir = 4; @@ -49386,7 +49407,7 @@ }, /obj/item/defibrillator/loaded, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/north) +/area/crux/medical/first_aid_station/seconddeck/north) "dfJ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -49401,7 +49422,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfK" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -49420,7 +49441,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfL" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -49433,7 +49454,7 @@ dir = 4 }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfM" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -49455,22 +49476,22 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dfR" = ( /obj/structure/door/plastic, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "dfU" = ( /obj/structure/table/woodentable, /obj/item/storage/pill_bottle/dice, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "dfX" = ( /obj/machinery/navbeacon{ codes = "{'patrol':'CIV','next_patrol':'CH7'}" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgc" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -49493,13 +49514,13 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgh" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgi" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -49512,13 +49533,13 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgj" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "dgp" = ( /obj/machinery/door/blast/regular{ id_tag = "mixvent"; @@ -49526,7 +49547,7 @@ }, /obj/machinery/shield_diffuser, /turf/simulated/floor/reinforced, -/area/rnd/mixing) +/area/crux/science/mixing) "dgG" = ( /obj/structure/closet/wardrobe/science_white, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -49542,7 +49563,7 @@ }, /obj/item/storage/box/gloves, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "dgI" = ( /obj/machinery/light{ dir = 8 @@ -49558,7 +49579,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgJ" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 8 @@ -49567,7 +49588,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgM" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -49577,7 +49598,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "dgN" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -49598,7 +49619,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgS" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -49613,7 +49634,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dgU" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -49628,10 +49649,10 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dha" = ( /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "dhb" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -49644,24 +49665,25 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "dhc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dhd" = ( /obj/structure/table/woodentable, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "dhe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "dhn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -49673,7 +49695,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dhp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -49685,7 +49707,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dhq" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -49700,7 +49722,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dhr" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -49709,7 +49731,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dhs" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/brown/bordercorner, @@ -49718,13 +49740,13 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dht" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dhz" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -49733,16 +49755,16 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dhI" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "dhM" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "dhR" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, @@ -49751,7 +49773,7 @@ }, /obj/structure/table/glass, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dhS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -49760,7 +49782,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dhZ" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, @@ -49771,7 +49793,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dia" = ( /obj/machinery/camera/network/second_deck{ c_tag = "First Floor - South Stairwell"; @@ -49785,23 +49807,23 @@ pixel_y = -24 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dii" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/green/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "din" = ( /obj/structure/table/marble, /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "dio" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dip" = ( /obj/machinery/door/airlock/double/glass{ dir = 8; @@ -49809,7 +49831,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "diq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -49820,14 +49842,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dir" = ( /obj/structure/sign/department/greencross{ desc = "White cross in a green field, you can get medical aid here."; name = "First-Aid" }, /turf/simulated/wall, -/area/ai_monitored/emergency/eva) +/area/crux/eva/emergency) "dis" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -49837,7 +49859,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "dit" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -49852,7 +49874,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "djg" = ( /obj/machinery/computer/modular/preset/engineering{ dir = 4 @@ -49861,23 +49883,23 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "djF" = ( /obj/structure/bookcase, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "dkm" = ( /obj/structure/bed/chair/office/comfy{ dir = 1 }, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "dkv" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "dkx" = ( /obj/structure/catwalk, /obj/machinery/power/apc{ @@ -49886,7 +49908,7 @@ }, /obj/structure/cable, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "dlJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -49894,22 +49916,16 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "dlX" = ( /obj/machinery/photocopier, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "dmJ" = ( /obj/effect/wingrille_spawn/reinforced, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/maintenance/research) -"dua" = ( -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/simulated/floor/plating, -/area/engineering/engine_room) +/area/crux/maintenance/research) "dup" = ( /obj/structure/cable{ icon_state = "4-8" @@ -49921,8 +49937,11 @@ dir = 4 }, /obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "dwg" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -49937,7 +49956,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dwq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -49951,15 +49970,15 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dwT" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dwU" = ( /turf/simulated/wall, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dwW" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -49971,7 +49990,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/steel_grid, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dxl" = ( /obj/structure/table/steel_reinforced, /obj/item/stack/material/panel/mapped/plastic{ @@ -49985,7 +50004,7 @@ amount = 20 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "dxo" = ( /obj/machinery/power/apc{ dir = 1; @@ -49997,7 +50016,7 @@ }, /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "dxC" = ( /obj/structure/table/steel_reinforced, /obj/item/stack/material/pane/mapped/glass{ @@ -50015,7 +50034,7 @@ pixel_x = -32 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "dyb" = ( /obj/structure/table/glass, /obj/machinery/recharger, @@ -50035,7 +50054,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dyi" = ( /obj/structure/bed/roller, /obj/machinery/power/apc{ @@ -50056,7 +50075,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dyp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -50070,15 +50089,11 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dze" = ( /obj/structure/table/steel_reinforced, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, -/obj/item/stack/material/sheet/mapped/steel/fifty{ - amount = 50 - }, +/obj/item/stack/material/sheet/mapped/steel/fifty, +/obj/item/stack/material/sheet/mapped/steel/fifty, /obj/item/stack/material/reinforced/mapped/plasteel{ amount = 15 }, @@ -50086,7 +50101,7 @@ amount = 15 }, /turf/simulated/floor/tiled/dark, -/area/engineering/workshop) +/area/crux/engineering/workshop) "dzA" = ( /obj/machinery/alarm{ dir = 8; @@ -50094,7 +50109,7 @@ }, /obj/item/stool/padded, /turf/simulated/floor/tiled, -/area/teleporter) +/area/crux/secure/teleporter) "dBM" = ( /obj/machinery/newscaster{ pixel_x = 30 @@ -50115,7 +50130,7 @@ /obj/item/storage/toolbox/emergency, /obj/random/medical/lite, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dGF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -50126,7 +50141,7 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dGG" = ( /obj/structure/rack{ dir = 8 @@ -50138,7 +50153,7 @@ dir = 10 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dGH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -50146,7 +50161,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dHe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -50160,7 +50175,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "dHx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -50172,13 +50187,13 @@ pixel_x = -22 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dHz" = ( /obj/machinery/atmospherics/valve/shutoff{ name = "First Floor East automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dIc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -50192,14 +50207,14 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dIL" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dIN" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/structure/cable{ @@ -50213,7 +50228,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "dJC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -50224,13 +50239,13 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dJE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "dMr" = ( /obj/machinery/teleport/hub{ dir = 8 @@ -50240,7 +50255,7 @@ dir = 5 }, /turf/simulated/floor/tiled/techfloor, -/area/teleporter) +/area/crux/secure/teleporter) "dNg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50250,13 +50265,13 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/fpcenter) +/area/crux/hallway/primary/seconddeck/fpcenter) "dOK" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "dPp" = ( /obj/structure/bed/sofa/left/red{ dir = 1 @@ -50265,7 +50280,7 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "dRK" = ( /obj/structure/hygiene/toilet{ dir = 4 @@ -50274,7 +50289,7 @@ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "dTd" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, @@ -50285,7 +50300,7 @@ /obj/random/maintenance/cargo, /obj/random/cash, /turf/simulated/floor, -/area/maintenance/library) +/area/crux/maintenance/library) "dUM" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -50297,7 +50312,7 @@ icon_state = "1-4" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "dUP" = ( /obj/item/radio/intercom{ dir = 8; @@ -50314,7 +50329,7 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dUQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -50325,7 +50340,7 @@ /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dUR" = ( /obj/machinery/camera/network/medbay{ c_tag = "MED - FA Station West"; @@ -50346,7 +50361,7 @@ }, /obj/item/defibrillator/loaded, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dUS" = ( /obj/machinery/firealarm{ dir = 8; @@ -50366,7 +50381,7 @@ /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/antibiotics, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dUT" = ( /obj/machinery/alarm{ dir = 1; @@ -50376,7 +50391,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/first_aid_station/seconddeck/west) +/area/crux/medical/first_aid_station/seconddeck/west) "dUU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/green{ @@ -50397,7 +50412,7 @@ sort_type = "Medbay" }, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "dUV" = ( /obj/structure/lattice, /obj/structure/cable/green{ @@ -50411,13 +50426,13 @@ dir = 1 }, /turf/simulated/open, -/area/maintenance/substation/cargo) +/area/crux/maintenance/substation/cargo) "dVx" = ( /obj/machinery/holomap{ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/west) +/area/crux/hallway/primary/seconddeck/west) "dVy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50429,7 +50444,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "dVz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50438,13 +50453,13 @@ pixel_y = 32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/apcenter) +/area/crux/hallway/primary/seconddeck/apcenter) "dWh" = ( /obj/machinery/computer/station_alert{ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "dYT" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -50453,19 +50468,19 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "dYX" = ( /obj/machinery/hologram/holopad{ holopad_id = "Medbay Sleeper" }, /obj/effect/floor_decal/industrial/outline/grey, /turf/simulated/floor/tiled/white, -/area/medical/sleeper) +/area/crux/medical/sleeper) "ebl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hotel/lounge) +/area/crux/hotel/lounge) "ebm" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -50480,25 +50495,25 @@ id_tag = "standard_room_a" }, /turf/simulated/floor/tiled, -/area/hotel/standard_room_a) +/area/crux/hotel/standard_room_a) "ebo" = ( /obj/structure/window/basic/full/polarized, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, -/area/crew_quarters/heads/eleostura/servicemanager) +/area/crux/habitation/servicemanager) "ebp" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/carpet/blue2, -/area/hotel/executive_suite_a) +/area/crux/hotel/executive_suite_a) "ebq" = ( /obj/machinery/atmospherics/valve{ dir = 4 }, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/security_starboard) +/area/crux/maintenance/security_starboard) "ebr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -50514,11 +50529,11 @@ }, /obj/random/mouse, /turf/simulated/floor, -/area/maintenance/engineering) +/area/crux/maintenance/engineering) "ebs" = ( /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/research) +/area/crux/maintenance/research) "ebt" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/earmuffs, @@ -50533,7 +50548,7 @@ /obj/item/airlock_brace, /obj/item/airlock_brace, /turf/simulated/floor/tiled, -/area/engineering/engine_monitoring) +/area/crux/engineering/engine_monitoring) "ebu" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 28 @@ -50546,7 +50561,7 @@ }, /obj/structure/closet/secure_closet/scientist, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "ebv" = ( /obj/item/radio/intercom{ dir = 1; @@ -50555,7 +50570,7 @@ }, /obj/machinery/photocopier, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "ebw" = ( /obj/structure/closet/secure_closet/scientist, /obj/effect/floor_decal/borderfloorwhite/corner{ @@ -50565,7 +50580,7 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "ebx" = ( /obj/machinery/power/smes/buildable{ RCon_tag = "Substation - Research"; @@ -50578,7 +50593,7 @@ icon_state = "0-4" }, /turf/simulated/floor/plating, -/area/maintenance/substation/research) +/area/crux/maintenance/substation/research) "eby" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -50587,7 +50602,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "ebz" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -50599,7 +50614,7 @@ dir = 6 }, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "ebA" = ( /obj/structure/bed/chair{ dir = 8 @@ -50608,7 +50623,7 @@ name = "Scientist" }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "ebB" = ( /obj/structure/bed/chair{ dir = 4 @@ -50617,7 +50632,7 @@ name = "Xenobiologist" }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "ebC" = ( /obj/structure/table/glass, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -50633,7 +50648,7 @@ pixel_y = 5 }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "ebD" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -50647,7 +50662,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "ebE" = ( /obj/machinery/light{ dir = 4 @@ -50655,7 +50670,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "ebF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -50663,11 +50678,11 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/purple/border, /turf/simulated/floor/tiled/white, -/area/rnd/research_lockerroom) +/area/crux/science/research_lockerroom) "ebG" = ( /obj/structure/sign/warning/compressed_gas, /turf/simulated/wall, -/area/rnd/storage) +/area/crux/science/storage) "ebH" = ( /obj/structure/bed/chair{ dir = 8 @@ -50679,7 +50694,7 @@ name = "Xenobiologist" }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "ebI" = ( /obj/structure/bed/chair{ dir = 4 @@ -50688,7 +50703,7 @@ name = "Scientist" }, /turf/simulated/floor/wood, -/area/research) +/area/crux/science) "ebJ" = ( /obj/structure/closet/crate/radiation, /obj/item/clothing/glasses/meson, @@ -50699,14 +50714,14 @@ amount = 30 }, /turf/simulated/floor, -/area/engineering/storage) +/area/crux/engineering/storage) "ebK" = ( /obj/structure/railing, /turf/simulated/open, -/area/research) +/area/crux/science) "ebL" = ( /turf/simulated/floor/tiled/steel_grid, -/area/research) +/area/crux/science) "ebM" = ( /obj/effect/floor_decal/borderfloorwhite{ dir = 5 @@ -50716,7 +50731,7 @@ }, /obj/structure/closet/firecloset, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "ebN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -50731,7 +50746,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/engineering/drone_fabrication) +/area/crux/engineering/drone_fabrication) "ebO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -50743,7 +50758,7 @@ pixel_y = -24 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "ebP" = ( /obj/structure/disposalpipe/up{ dir = 1 @@ -50764,7 +50779,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/substation/central) +/area/crux/maintenance/substation/central) "ebQ" = ( /obj/item/cell/high{ charge = 100; @@ -50819,7 +50834,7 @@ name = "robotics parts" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "ebR" = ( /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, @@ -50840,7 +50855,7 @@ name = "welding equipment" }, /turf/simulated/floor/tiled/white, -/area/assembly/robotics) +/area/crux/engineering/robotics) "ebS" = ( /obj/machinery/firealarm{ dir = 8; @@ -50865,7 +50880,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "ebT" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -50887,11 +50902,11 @@ }, /obj/structure/disposalpipe/junction, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "ebU" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "ebV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -50906,7 +50921,7 @@ dir = 4 }, /turf/simulated/wall/r_wall, -/area/research) +/area/crux/science) "ebW" = ( /obj/machinery/light{ dir = 8 @@ -50915,7 +50930,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "ebX" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -50926,7 +50941,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/research) +/area/crux/science) "ebY" = ( /obj/machinery/alarm{ dir = 8; @@ -50934,7 +50949,7 @@ }, /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/maintenance/research_medical) +/area/crux/maintenance/research_medical) "ebZ" = ( /obj/machinery/camera/network/second_deck{ c_tag = "First Floor - East Hallway One" @@ -50949,7 +50964,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "eca" = ( /obj/machinery/camera/network/second_deck{ c_tag = "First Floor - East Hallway Three" @@ -50961,20 +50976,20 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ecb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/black{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ecc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/black{ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ecd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -50993,7 +51008,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ece" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51005,7 +51020,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/east) +/area/crux/hallway/primary/seconddeck/east) "ecf" = ( /obj/effect/floor_decal/borderfloorwhite/corner, /obj/effect/floor_decal/corner/lime/bordercorner, @@ -51013,7 +51028,7 @@ dir = 9 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ecg" = ( /obj/item/storage/secure/safe{ pixel_x = 5; @@ -51023,7 +51038,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/lime/border, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ech" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/red{ @@ -51031,7 +51046,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/black, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "eci" = ( /obj/effect/floor_decal/borderfloorwhite/corner{ dir = 8 @@ -51040,14 +51055,14 @@ dir = 8 }, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "ecj" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/black, /turf/simulated/floor/tiled/white, -/area/medical/virology) +/area/crux/medical/virology) "eck" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -51056,11 +51071,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/door/airlock/double/glass{ - dir = 2 - }, +/obj/machinery/door/airlock/double/glass, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "ecl" = ( /obj/structure/cable{ icon_state = "1-2" @@ -51071,7 +51084,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "ecm" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -51088,7 +51101,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/white, -/area/medical/medbay2) +/area/crux/medical/medbay2) "ecn" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -51099,7 +51112,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "eco" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/vehicle/train/cargo/engine{ @@ -51107,14 +51120,14 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "ecp" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/vehicle/train/cargo/trolley{ dir = 8 }, /turf/simulated/floor/tiled, -/area/quartermaster/office) +/area/crux/supply/office) "ecq" = ( /obj/structure/cable{ icon_state = "1-2" @@ -51125,16 +51138,16 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "ecs" = ( /obj/item/glass_jar, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "ecu" = ( /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/cargo) +/area/crux/maintenance/cargo) "ecw" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/power/apc{ @@ -51149,7 +51162,7 @@ /obj/effect/floor_decal/borderfloorwhite, /obj/effect/floor_decal/corner/paleblue/border, /turf/simulated/floor/tiled/white, -/area/medical/patient_wing) +/area/crux/medical/patient_wing) "ecF" = ( /obj/machinery/teleport/station{ dir = 8 @@ -51158,7 +51171,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/teleporter) +/area/crux/secure/teleporter) "ecG" = ( /obj/machinery/computer/teleporter{ dir = 8 @@ -51167,14 +51180,14 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/teleporter) +/area/crux/secure/teleporter) "ecH" = ( /obj/machinery/light/small{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ecI" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -51182,53 +51195,53 @@ /obj/effect/floor_decal/industrial/warning, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ecJ" = ( /obj/structure/catwalk, /obj/structure/cable{ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "ecK" = ( /obj/machinery/light/small{ dir = 4 }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/central) +/area/crux/maintenance/central) "ecL" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 1; start_pressure = 4559.63 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "ecR" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/plating, -/area/engineering/foyer) +/area/crux/engineering/foyer) "ecU" = ( /obj/machinery/atmospherics/valve/shutoff{ dir = 4; name = "Medical automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/medbay_fore) +/area/crux/maintenance/medbay_fore) "ecW" = ( /obj/machinery/atmospherics/valve/shutoff{ name = "Cargo automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/apmaint) +/area/crux/maintenance/apmaint) "ecZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "eda" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -51239,25 +51252,30 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "edb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "edc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "edd" = ( /obj/machinery/atmospherics/valve/shutoff{ name = "First Floor West automatic shutoff valve" }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "ede" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -51267,8 +51285,9 @@ dir = 8; pixel_x = 22 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "edg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -51277,15 +51296,16 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "edh" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "edi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -51295,8 +51315,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "edm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal{ dir = 4 @@ -51304,8 +51325,12 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "edo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -51317,7 +51342,7 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "edp" = ( /obj/machinery/atmospherics/valve/shutoff{ dir = 4; @@ -51326,8 +51351,11 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "edr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -51336,7 +51364,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "edt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -51345,18 +51373,19 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "edv" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/maintenance/bar) +/area/crux/maintenance/bar) "edN" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -51365,11 +51394,11 @@ dir = 6 }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "edP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edQ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -51382,7 +51411,7 @@ dir = 4 }, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "edR" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -51392,14 +51421,14 @@ }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/tiled/dark, -/area/engineering/hallway/atmos_hallway) +/area/crux/engineering/hallway/atmos_hallway) "edS" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edT" = ( /obj/structure/bed/chair/office/dark, /obj/abstract/landmark/start{ @@ -51407,7 +51436,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edU" = ( /obj/structure/bed/chair/office/dark, /obj/abstract/landmark/start{ @@ -51415,7 +51444,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edV" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, @@ -51430,7 +51459,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/red, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edW" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced, @@ -51438,51 +51467,52 @@ /obj/item/folder/yellow, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edX" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/red{ dir = 8 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/red{ dir = 5 }, /turf/simulated/floor/tiled, -/area/engineering/foyer) +/area/crux/engineering/foyer) "edZ" = ( /obj/machinery/shipsensors, /obj/structure/lattice, /obj/structure/catwalk, /turf/exterior/open, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "eea" = ( /obj/machinery/computer/ship/sensors, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/seconddeck/ascenter) +/area/crux/hallway/primary/seconddeck/ascenter) "ehN" = ( /obj/structure/door/plastic{ dir = 4; name = "showers" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "eqh" = ( -/turf/simulated/wall/r_wall, -/area/crew_quarters/kitchen) +/obj/abstract/landmark/latejoin/cryo, +/turf/simulated/floor/carpet/blue2, +/area/crux/hotel/executive_suite_d) "eAB" = ( /obj/structure/railing, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "eBt" = ( /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "eEa" = ( /obj/structure/table/marble, /obj/machinery/fabricator/micro/bartender, /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "eJH" = ( /obj/structure/cable{ icon_state = "1-2" @@ -51493,29 +51523,29 @@ name = "Curator's Office" }, /turf/simulated/floor/wood, -/area/library/office) +/area/crux/habitation/library/office) "eKs" = ( /obj/machinery/hologram/holopad{ holopad_id = "Atmospherics Southwest" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "eRK" = ( /obj/structure/bed/chair/wood{ dir = 1 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "eVm" = ( /obj/machinery/atmospherics/valve{ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/rnd/mixing) +/area/crux/science/mixing) "eXX" = ( /obj/abstract/level_data_spawner/crux_level_one, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "faV" = ( /obj/machinery/cooker/candy, /obj/machinery/light_switch{ @@ -51523,7 +51553,7 @@ pixel_x = -26 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "fuL" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -51540,7 +51570,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "fAs" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -51552,13 +51582,14 @@ dir = 4; pixel_x = 24 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "fDg" = ( /obj/structure/railing/mapped, /obj/structure/table, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "fIc" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -51572,7 +51603,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "gfM" = ( /obj/structure/hygiene/shower{ dir = 4 @@ -51580,11 +51611,11 @@ /obj/structure/curtain/open/shower, /obj/structure/hygiene/drain, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "gpk" = ( /obj/structure/table/marble, /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "gsk" = ( /obj/structure/cable{ icon_state = "4-8" @@ -51596,40 +51627,40 @@ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "gwZ" = ( /obj/structure/table/woodentable, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "gAM" = ( /obj/structure/closet/crate/freezer{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "gCo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /turf/simulated/floor/carpet, -/area/library/office) +/area/crux/habitation/library/office) "hct" = ( /obj/structure/catwalk, /obj/structure/railing/mapped, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "hdM" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "hjJ" = ( /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "hmi" = ( /obj/structure/cable{ icon_state = "4-8" @@ -51640,30 +51671,34 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "hrS" = ( /turf/simulated/wall, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "hyP" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "hEd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/purple{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) "hKe" = ( /obj/structure/table/woodentable, /obj/machinery/light/small, /turf/simulated/floor/carpet, -/area/library/office) +/area/crux/habitation/library/office) "hOt" = ( /turf/simulated/wall, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "hZd" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -51678,35 +51713,39 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "ijg" = ( /obj/effect/wingrille_spawn/reinforced/polarized{ id = "library_window_tint" }, /turf/simulated/floor/plating, -/area/library/office) +/area/crux/habitation/library/office) "imK" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "isQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "itG" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/kitchen) +/area/crux/habitation) "iCX" = ( /obj/structure/cable{ icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "iDD" = ( /obj/structure/table/marble, /obj/machinery/chemical_dispenser/bar_soft/full, @@ -51714,50 +51753,66 @@ pixel_y = 12 }, /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) +"jmw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/crux/maintenance/bar) "juI" = ( /obj/machinery/hologram/holopad{ holopad_id = "Atmospherics East" }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "jIq" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "jVA" = ( /obj/structure/railing/mapped, /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "kbz" = ( /obj/structure/door/plastic{ name = "recharging station" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) +"kcp" = ( +/obj/abstract/landmark/latejoin/cryo, +/turf/simulated/floor/carpet/blue2, +/area/crux/hotel/executive_suite_c) "kfd" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "kgc" = ( /obj/structure/table/woodentable, /obj/item/camera/tvcamera, /turf/simulated/floor/carpet, -/area/library/office) +/area/crux/habitation/library/office) "klY" = ( /obj/machinery/vending/lavatory, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "kpn" = ( /obj/structure/cable{ icon_state = "2-8" }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "kwL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -51766,27 +51821,28 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "kRq" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "kSq" = ( /obj/structure/table/marble, /obj/machinery/chemical_dispenser/bar_alc/full, /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "kZP" = ( /obj/structure/table, /obj/random/soap, /obj/random/soap, /obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "lmo" = ( /obj/structure/cable{ icon_state = "0-4" @@ -51796,16 +51852,16 @@ pixel_y = -24 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "lEX" = ( /obj/item/stool/padded, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "lFm" = ( /obj/structure/reagent_dispensers/watertank, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "lFM" = ( /obj/structure/table/marble, /obj/item/chems/glass/rag, @@ -51817,7 +51873,7 @@ pixel_y = 6 }, /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "lGT" = ( /obj/structure/table/woodentable, /obj/item/paper_bin{ @@ -51825,14 +51881,14 @@ }, /obj/item/pen/invisible, /turf/simulated/floor/carpet, -/area/library/office) +/area/crux/habitation/library/office) "lGV" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/double/glass{ dir = 8 }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "lPJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -51841,16 +51897,16 @@ dir = 9 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "lSe" = ( /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "lYx" = ( /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "lYW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -51859,18 +51915,19 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "mcD" = ( /obj/machinery/vending/dinnerware{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "mhU" = ( /obj/machinery/gibber, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "mmf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -51882,7 +51939,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "mna" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -51898,46 +51955,50 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) +"msO" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/wood, +/area/crux/habitation) "mvG" = ( /obj/machinery/computer/modular/preset/civilian{ dir = 8 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "mxq" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "mzM" = ( /obj/structure/bed/chair/office/comfy, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/carpet, -/area/library) +/area/crux/habitation/library) "mBa" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "mIL" = ( /obj/structure/railing/mapped, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "mRF" = ( /obj/machinery/atmospherics/pipe/simple/visible/red, /obj/structure/lattice, /turf/exterior/open, -/area/engineering/atmos) +/area/crux/engineering/atmos) "mRX" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /obj/machinery/light, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "mYw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -51945,14 +52006,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "ngj" = ( /obj/structure/bed/chair/wood{ dir = 4 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "nlT" = ( /obj/structure/bed/chair/wood{ dir = 1 @@ -51961,21 +52026,36 @@ dir = 8 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) +"noR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/abstract/landmark/latejoin/cryo, +/turf/simulated/floor/carpet/green, +/area/crux/hotel/standard_room_a) "nuF" = ( /obj/structure/bookcase/cart, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) +"nvM" = ( +/obj/machinery/door/firedoor, +/obj/effect/wingrille_spawn/reinforced, +/turf/simulated/floor/plating, +/area/crux/habitation/kitchen) "nwx" = ( /obj/structure/door/plastic{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "nyb" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "nAG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -51983,14 +52063,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "nJY" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "nNK" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -51998,7 +52081,7 @@ pixel_y = -24 }, /turf/simulated/floor/plating, -/area/maintenance/medbay) +/area/crux/maintenance/medbay) "nQQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -52009,8 +52092,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "oaG" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52023,22 +52109,30 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "oej" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) +"oep" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/simulated/floor/wood, +/area/crux/habitation) "ooh" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /obj/machinery/cooker/grill, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "ovd" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52052,7 +52146,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "owT" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52065,7 +52159,7 @@ dir = 10 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "oyg" = ( /obj/structure/cable{ icon_state = "1-8" @@ -52075,11 +52169,11 @@ icon_state = "pipe-c" }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "oJY" = ( /obj/structure/railing, /turf/simulated/floor/tiled, -/area/hallway/secondary/eva_hallway) +/area/crux/hallway/secondary/eva_hallway) "oKB" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8; @@ -52094,7 +52188,7 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "oRi" = ( /obj/structure/catwalk, /obj/structure/railing/mapped{ @@ -52102,15 +52196,15 @@ }, /obj/structure/railing/mapped, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "pel" = ( /obj/structure/railing, /turf/simulated/floor/tiled, -/area/research) +/area/crux/science) "pjp" = ( /obj/structure/closet/secure_closet/freezer/meat, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "pjP" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -52119,7 +52213,7 @@ dir = 1 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "ppN" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52131,7 +52225,7 @@ dir = 4 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "pya" = ( /obj/structure/hygiene/shower{ dir = 8 @@ -52139,7 +52233,7 @@ /obj/structure/curtain/open/shower, /obj/structure/hygiene/drain, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "pAe" = ( /obj/machinery/camera/network/civilian{ c_tag = "CIV - Kitchen Cold Room"; @@ -52158,7 +52252,7 @@ /obj/item/clothing/gloves/latex, /obj/item/clothing/gloves/latex, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "pGl" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52171,7 +52265,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "pNk" = ( /obj/structure/cable{ icon_state = "1-2" @@ -52183,16 +52277,16 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "pOd" = ( /turf/simulated/wall, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "pQc" = ( /obj/structure/bed/chair/wood{ dir = 8 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "pTO" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52207,23 +52301,23 @@ dir = 5 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "qaw" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "qwE" = ( /obj/structure/catwalk, /obj/structure/railing/mapped, /obj/structure/ladder, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "qBZ" = ( /obj/item/stool/padded, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "qIG" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -52232,13 +52326,13 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rnd/mixing) +/area/crux/science/mixing) "qNg" = ( /obj/structure/railing/mapped{ dir = 4 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "qRI" = ( /obj/structure/cable{ icon_state = "0-4" @@ -52253,7 +52347,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "qUf" = ( /obj/structure/cable{ icon_state = "1-8" @@ -52264,25 +52358,25 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "qYB" = ( /obj/structure/table/woodentable, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "qZI" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /obj/structure/table/marble, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "rjV" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /obj/machinery/cooker/fryer, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "rrv" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -52291,19 +52385,19 @@ pixel_x = -24 }, /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "rsD" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "rFe" = ( /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "rKi" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/library) +/area/crux/habitation/library) "rLE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -52312,11 +52406,11 @@ dir = 6 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "rQA" = ( /obj/machinery/vending/boozeomat, /turf/simulated/floor/lino, -/area/crew_quarters/bar) +/area/crux/habitation/bar) "siQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -52327,29 +52421,29 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "sjx" = ( /obj/structure/cable{ icon_state = "2-4" }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "sqj" = ( /obj/structure/table, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "sqZ" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "sFR" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "sGd" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52358,14 +52452,14 @@ dir = 1 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "sGf" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "sMJ" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 6 @@ -52382,7 +52476,7 @@ }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/south) +/area/crux/hallway/primary/seconddeck/south) "sVa" = ( /obj/structure/table/woodentable, /obj/item/flashlight/lamp/green{ @@ -52390,14 +52484,14 @@ pixel_y = 5 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "tgr" = ( /turf/simulated/floor/carpet, -/area/library/office) +/area/crux/habitation/library/office) "tio" = ( /obj/machinery/light/small, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "tnr" = ( /obj/structure/cable{ icon_state = "2-8" @@ -52411,24 +52505,36 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) +"tnI" = ( +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled, +/area/crux/hallway/primary/seconddeck/south) "tnP" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "tqh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/wall/r_wall, -/area/rnd/mixing) +/area/crux/science/mixing) +"ttk" = ( +/obj/abstract/landmark/latejoin/cryo, +/turf/simulated/floor/carpet/blue2, +/area/crux/hotel/executive_suite_b) "tKu" = ( /obj/machinery/light/small, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "tPR" = ( /obj/machinery/door/airlock/freezer, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -52442,7 +52548,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "tVq" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -52451,7 +52557,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "tYU" = ( /obj/structure/cable{ icon_state = "1-4" @@ -52463,11 +52569,11 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "tZc" = ( /obj/abstract/landmark/map_load_mark/engine_loader, -/turf/exterior/open, -/area/surface/level_one) +/turf/simulated/wall/r_wall, +/area/crux/engineering/engine_room) "udn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -52479,11 +52585,11 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "ufG" = ( /obj/machinery/light, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) "uwo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -52492,7 +52598,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "uFa" = ( /obj/structure/cable{ icon_state = "1-2" @@ -52501,8 +52607,17 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, -/area/crew_quarters/cafeteria) +/area/crux/habitation) +"uJp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotile, +/area/crux/hallway/primary/seconddeck/apcenter) "uPJ" = ( /obj/structure/hygiene/toilet{ dir = 1 @@ -52511,12 +52626,12 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "vfe" = ( /obj/structure/reagent_dispensers/fueltank, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/library) +/area/crux/maintenance/library) "vfN" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -52527,7 +52642,7 @@ icon_state = "1-4" }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "vuI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -52536,7 +52651,10 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) +"vwd" = ( +/turf/simulated/wall, +/area/crux/habitation/kitchen) "vwz" = ( /obj/machinery/light, /obj/machinery/light_switch{ @@ -52544,10 +52662,20 @@ pixel_y = -21 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) +"vzD" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/corner/green/border{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/tiled, +/area/crux/hallway/primary/seconddeck/south) "vDV" = ( /turf/simulated/wall, -/area/crew_quarters/kitchen) +/area/crux/habitation) "vPc" = ( /obj/structure/table/woodentable, /obj/item/magnetic_tape/random, @@ -52555,20 +52683,20 @@ /obj/item/taperecorder, /obj/item/camera, /turf/simulated/floor/carpet, -/area/library/office) +/area/crux/habitation/library/office) "vTH" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "vTW" = ( /obj/structure/railing{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/seconddeck/stairwell) +/area/crux/hallway/primary/seconddeck/stairwell) "vWK" = ( /turf/simulated/wall/r_wall, -/area/library) +/area/crux/habitation/library) "vXU" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52582,46 +52710,46 @@ pixel_y = 24 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "waC" = ( /obj/machinery/light{ dir = 1 }, /obj/structure/table, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "whX" = ( /turf/simulated/wall, -/area/library/office) +/area/crux/habitation/library/office) "wiy" = ( /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "wjY" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 }, /obj/machinery/cooker/oven, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "wop" = ( /obj/structure/railing/mapped{ dir = 8 }, /turf/exterior/open, -/area/surface/level_one) +/area/crux/outside/level_one) "woR" = ( /obj/structure/kitchenspike, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "wqh" = ( /turf/simulated/wall, -/area/maintenance/library) +/area/crux/maintenance/library) "wxn" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "wBs" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52636,14 +52764,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "wMU" = ( /obj/structure/railing/mapped, /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/balcony/south) +/area/crux/outside/roof/balcony_south) "wOC" = ( /obj/effect/floor_decal/corner/grey/diagonal{ dir = 4 @@ -52654,31 +52782,31 @@ pixel_y = 30 }, /turf/simulated/floor/tiled/white, -/area/crew_quarters/kitchen) +/area/crux/habitation/kitchen) "wPE" = ( /obj/machinery/atmospherics/valve/open, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "wUe" = ( /obj/machinery/icecream_vat, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "xjf" = ( /obj/machinery/smartfridge/sheets, /turf/simulated/floor/plating, -/area/quartermaster/foyer) +/area/crux/supply/foyer) "xqa" = ( /obj/machinery/light/small{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/kitchen/coldroom) +/area/crux/habitation/kitchen/coldroom) "xEe" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "xKc" = ( /obj/machinery/door/airlock/double/glass{ dir = 8; @@ -52691,7 +52819,7 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) "xKB" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 4 @@ -52699,13 +52827,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/engineering/atmos) +/area/crux/engineering/atmos) "xVN" = ( /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/toilet/seconddeck/south) +/area/crux/habitation/toilet/seconddeck_south) "yen" = ( /obj/structure/table/woodentable, /obj/machinery/fabricator/book, @@ -52713,7 +52841,7 @@ dir = 8 }, /turf/simulated/floor/wood, -/area/library) +/area/crux/habitation/library) (1,1,1) = {" aaa @@ -62363,7 +62491,7 @@ aaa aaa aaa aaa -tZc +aaa aaa aaa aad @@ -66203,7 +66331,7 @@ bTD bTD bTD bTD -bTD +tZc bTD bTD cAz @@ -68259,15 +68387,15 @@ cAz cAz cAz cAz -cdN cAz cAz cAz -dcv cAz cAz cAz -dua +cAz +cAz +cAz cAz cAz cAz @@ -68506,7 +68634,7 @@ aaa bHW bRP bRP -cot +bRP bRP bRP bRP @@ -84148,7 +84276,7 @@ aYu aZa aZB bah -baT +noR bbI bcr bda @@ -85492,7 +85620,7 @@ cvJ cxI cvA cBl -csk +uJp cEt csk csk @@ -85762,13 +85890,13 @@ cQe cRh dhc cXa -dfk +tnI cVX -ddz +vzD fAs cZA -ddz -ddz +vzD +vzD def dew hmi @@ -86018,24 +86146,24 @@ cOK cQf coV coV -cRi -cRk -cRk -cRk -cRi -cRk -cRk -cRk -cRi -cRi -dup -dip vDV +itG +itG +itG vDV itG itG +itG vDV -eqh +vDV +dup +dip +vwd +vwd +nvM +nvM +vwd +cUA bbU eBt mIL @@ -86287,7 +86415,7 @@ cRj cRj nQQ lmo -vDV +vwd wOC ooh wjY @@ -86719,11 +86847,11 @@ aZi aWo bar bbe -bas +ttk bcA bao bdR -bgd +cRi bfj bgd bdg @@ -86801,12 +86929,12 @@ cRj cRj cRj cRj -vDV +vwd vXU ppN ovd mRX -eqh +cUA sqZ eBt fDg @@ -88261,11 +88389,11 @@ aYa aXA bfV bbj -bcD +eqh bcD bdr bdU -bgj +kcp bfo bgj beI @@ -88329,12 +88457,12 @@ aaa aaa coV cQm -edm +jmw coV dhI nAG cRj -bus +gpk gpk gpk gpk @@ -88845,8 +88973,8 @@ coV cSp edm edv -cRj -cRj +msO +oep cRj cRj cRj @@ -89873,9 +90001,9 @@ cOO cQn cRp cpk -cRi -cRi -cRi +vDV +vDV +vDV imK cVf cVf @@ -90829,7 +90957,7 @@ aYh bvf bbp aZM -baA +cRk bbr bcb bcK diff --git a/maps/crux/crux-station-2.dmm b/maps/crux/crux-station-2.dmm index 2bcc1d55889..b419360b540 100644 --- a/maps/crux/crux-station-2.dmm +++ b/maps/crux/crux-station-2.dmm @@ -4,38 +4,38 @@ name = "carpspawn" }, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "aad" = ( /obj/structure/lattice, /obj/structure/grille, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "aae" = ( /obj/item/stack/material/rods, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "aag" = ( /obj/structure/lattice, /obj/structure/grille/broken, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "abc" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "adJ" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /obj/item/stack/material/rods, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "adK" = ( /obj/structure/lattice, /obj/item/stack/material/rods, /obj/structure/grille/broken, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "aGU" = ( /obj/structure/railing/mapped{ dir = 4 @@ -43,31 +43,31 @@ /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/brflowers, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "aHQ" = ( /obj/structure/table/woodentable, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "aKm" = ( /obj/structure/lattice, /obj/structure/grille/broken, /obj/item/stack/material/rods, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "aXD" = ( /obj/machinery/smartfridge/drying_rack, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "aXG" = ( /obj/random/junk, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "aYE" = ( /obj/structure/railing/mapped{ dir = 8 }, /turf/simulated/wall, -/area/roofgarden) +/area/crux/outside/roof/garden) "bfG" = ( /obj/structure/lattice, /obj/structure/grille{ @@ -75,22 +75,22 @@ icon_state = "brokengrille" }, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "bho" = ( /obj/structure/grille, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "bjT" = ( /obj/random/tool, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "boS" = ( /obj/structure/railing/mapped{ dir = 4 }, /obj/structure/railing/mapped, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "brB" = ( /obj/structure/catwalk, /obj/structure/railing/mapped, @@ -98,11 +98,11 @@ dir = 4 }, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "bWW" = ( /obj/machinery/portable_atmospherics/hydroponics, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "bZd" = ( /obj/structure/cable{ icon_state = "2-4" @@ -117,39 +117,39 @@ dir = 6 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "ccS" = ( /turf/simulated/wall, -/area/hydroponics) +/area/crux/habitation/hydroponics) "ckv" = ( /obj/structure/flora/bush/ppflowers, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "cnk" = ( /obj/machinery/door/airlock/double/glass{ dir = 8; name = "Rooftop Garden" }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "crS" = ( /obj/structure/railing/mapped{ dir = 4 }, /obj/structure/railing/mapped, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "csr" = ( /obj/structure/flora/bush/genericbush, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "cvl" = ( /obj/structure/catwalk, /obj/structure/railing/mapped{ dir = 4 }, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "cKW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -157,13 +157,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "cSM" = ( /obj/structure/railing/mapped{ dir = 4 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "deo" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -182,7 +182,7 @@ name = "Second Floor automatic shutoff valve" }, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "deO" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -200,7 +200,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "dfq" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -212,10 +212,10 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "dgq" = ( /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "dgu" = ( /obj/structure/cable{ icon_state = "1-2" @@ -223,44 +223,44 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "dhs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet/red, -/area/chapel/main) +/area/crux/habitation/chapel) "djC" = ( /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "djD" = ( /obj/structure/lattice, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "dAV" = ( /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dAX" = ( /turf/simulated/floor, -/area/surface/level_two) +/area/crux/outside/level_two) "dAZ" = ( /obj/structure/grille, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dBa" = ( /turf/simulated/wall/r_wall, -/area/surface/level_two) +/area/crux/outside/level_two) "dBb" = ( /obj/machinery/camera/network/command{ c_tag = "AI - North"; dir = 1 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dBc" = ( /turf/simulated/wall/r_wall, -/area/ai) +/area/crux/network) "dBd" = ( /obj/structure/table, /obj/item/radio/intercom{ @@ -273,20 +273,20 @@ pixel_y = 15 }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBe" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/ai) +/area/crux/network) "dBf" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBg" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBh" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/porta_turret, @@ -295,34 +295,34 @@ }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBi" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBj" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/ai) +/area/crux/network) "dBk" = ( /obj/machinery/porta_turret, /obj/effect/floor_decal/industrial/outline/grey, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBl" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBm" = ( /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBn" = ( /obj/effect/floor_decal/industrial/warning/cee, /obj/structure/cable/cyan{ @@ -332,13 +332,13 @@ holopad_id = "AI Core North" }, /turf/simulated/floor/tiled/dark, -/area/ai) +/area/crux/network) "dBo" = ( /obj/structure/cable/cyan{ icon_state = "4-8" }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBp" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -348,7 +348,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBq" = ( /obj/machinery/porta_turret, /obj/effect/floor_decal/industrial/outline/grey, @@ -356,7 +356,7 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBs" = ( /obj/machinery/power/solar{ id_tag = "foreportsolar"; @@ -368,7 +368,7 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dBt" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -378,7 +378,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dBu" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -390,14 +390,14 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dBv" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBw" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -406,7 +406,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBx" = ( /obj/machinery/ai_slipper{ icon_state = "motion0" @@ -416,7 +416,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBy" = ( /obj/machinery/power/terminal{ dir = 4 @@ -425,7 +425,7 @@ icon_state = "0-8" }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBz" = ( /obj/structure/cable/cyan, /obj/machinery/power/smes/buildable{ @@ -439,7 +439,7 @@ pixel_y = -24 }, /turf/simulated/floor/plating, -/area/ai) +/area/crux/network) "dBA" = ( /obj/machinery/ai_slipper{ icon_state = "motion0" @@ -449,13 +449,13 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBB" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBC" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 @@ -464,7 +464,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBD" = ( /obj/structure/cable/yellow{ icon_state = "0-4" @@ -476,7 +476,7 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dBE" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -486,7 +486,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dBF" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -498,7 +498,7 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dBG" = ( /obj/structure/cable/yellow{ icon_state = "0-4" @@ -510,7 +510,7 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dBH" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -523,32 +523,32 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dBI" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBJ" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBL" = ( /turf/simulated/wall/titanium, -/area/ai) +/area/crux/network) "dBN" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBO" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -561,14 +561,14 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dBP" = ( /obj/machinery/camera/network/command{ c_tag = "AI - West 1"; dir = 8 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dBQ" = ( /obj/abstract/landmark{ name = "tripai" @@ -579,7 +579,7 @@ pixel_x = -21 }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dBR" = ( /obj/machinery/porta_turret, /obj/effect/floor_decal/industrial/outline/grey, @@ -588,7 +588,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBS" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/industrial/warning{ @@ -601,7 +601,7 @@ holopad_id = "AI Core West" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBT" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/industrial/warning{ @@ -609,14 +609,14 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBU" = ( /obj/machinery/door/airlock/hatch{ locked = 1; name = "AI Core" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBV" = ( /obj/machinery/ai_slipper{ icon_state = "motion0" @@ -654,7 +654,7 @@ icon_state = "0-4" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBW" = ( /obj/machinery/door/airlock/hatch{ locked = 1; @@ -664,7 +664,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBX" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/industrial/warning{ @@ -678,7 +678,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBY" = ( /obj/effect/floor_decal/industrial/warning, /obj/effect/floor_decal/industrial/warning{ @@ -688,7 +688,7 @@ holopad_id = "AI Core East" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dBZ" = ( /obj/machinery/porta_turret, /obj/effect/floor_decal/industrial/outline/grey, @@ -699,7 +699,7 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCa" = ( /obj/abstract/landmark{ name = "tripai" @@ -710,17 +710,17 @@ pixel_x = 21 }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dCb" = ( /obj/machinery/camera/network/command{ c_tag = "AI - East"; dir = 4 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dCc" = ( /turf/simulated/wall/r_wall, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dCd" = ( /obj/abstract/landmark/start{ name = "AI" @@ -740,61 +740,61 @@ pixel_y = -21 }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dCe" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/cyan{ icon_state = "1-2" }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dCf" = ( /turf/simulated/wall/r_wall, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCg" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dCh" = ( /turf/simulated/wall/r_wall, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dCi" = ( /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dCj" = ( /obj/machinery/alarm{ pixel_y = 22 }, /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dCk" = ( /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dCl" = ( /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dCn" = ( /obj/structure/cable/green{ icon_state = "2-4" }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dCo" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dCp" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/wall/r_wall, -/area/ai) +/area/crux/network) "dCq" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -808,7 +808,7 @@ pixel_x = -23 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCr" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -817,20 +817,20 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCs" = ( /obj/machinery/ai_slipper{ icon_state = "motion0" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dCt" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCu" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -841,51 +841,51 @@ pixel_x = 24 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCv" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCw" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCx" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCy" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCz" = ( /obj/structure/firedoor_assembly, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCA" = ( /turf/simulated/wall/r_wall, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dCB" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dCC" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dCD" = ( /obj/item/stack/cable_coil/yellow, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dCE" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dCG" = ( /obj/machinery/light/small{ dir = 1 @@ -895,7 +895,7 @@ }, /obj/item/stack/cable_coil/yellow, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dCH" = ( /obj/structure/cable{ icon_state = "0-2" @@ -911,10 +911,10 @@ pixel_x = 21 }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dCI" = ( /turf/simulated/wall, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dCJ" = ( /obj/machinery/light/small{ dir = 8 @@ -923,18 +923,18 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dCK" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dCL" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dCM" = ( /obj/machinery/porta_turret, /obj/effect/floor_decal/industrial/outline/grey, @@ -942,7 +942,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCN" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -954,7 +954,7 @@ dir = 5 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -963,7 +963,7 @@ dir = 4 }, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dCQ" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -978,7 +978,7 @@ dir = 10 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCR" = ( /obj/machinery/porta_turret, /obj/effect/floor_decal/industrial/outline/grey, @@ -986,30 +986,30 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dCS" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCT" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCU" = ( /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCV" = ( /obj/machinery/light/small{ dir = 4 }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dCW" = ( /turf/simulated/wall, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dCX" = ( /obj/structure/cable{ icon_state = "0-2" @@ -1026,7 +1026,7 @@ }, /obj/item/stack/cable_coil/yellow, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dCY" = ( /obj/machinery/light/small{ dir = 1 @@ -1038,28 +1038,28 @@ /obj/item/stack/cable_coil/yellow, /obj/item/stool, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDa" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDb" = ( /obj/structure/cable/yellow, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dDc" = ( /obj/machinery/power/tracker, /obj/structure/cable/yellow{ icon_state = "0-4" }, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dDd" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dDe" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1071,14 +1071,14 @@ icon_state = "1-4" }, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dDf" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dDg" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1091,7 +1091,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dDh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1102,7 +1102,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDi" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1126,7 +1126,7 @@ id_tag = "fore_port_solar_pump" }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDj" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1139,7 +1139,7 @@ }, /obj/machinery/light/small, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDk" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -1153,7 +1153,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDl" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1172,7 +1172,7 @@ pixel_y = 25 }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDm" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1182,7 +1182,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDn" = ( /obj/structure/cable{ icon_state = "2-4" @@ -1196,7 +1196,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDo" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1209,7 +1209,7 @@ name = "Northwest Solar Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDp" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1221,40 +1221,40 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dDq" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dDr" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dDs" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/cable{ icon_state = "2-8" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dDt" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dDu" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/structure/catwalk, /turf/simulated/floor, -/area/surface/level_two) +/area/crux/outside/level_two) "dDv" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 1 @@ -1267,14 +1267,14 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dDw" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dDx" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -1289,7 +1289,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dDy" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -1301,7 +1301,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dDz" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -1313,11 +1313,11 @@ dir = 1 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dDA" = ( /obj/structure/catwalk, /turf/simulated/floor, -/area/surface/level_two) +/area/crux/outside/level_two) "dDB" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -1325,7 +1325,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/open, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dDC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -1337,13 +1337,13 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dDD" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dDE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1355,7 +1355,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dDF" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1368,7 +1368,7 @@ name = "Northeast Solar Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDG" = ( /obj/structure/cable{ icon_state = "2-8" @@ -1382,7 +1382,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDH" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1392,7 +1392,7 @@ icon_state = "2-4" }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDI" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -1411,7 +1411,7 @@ pixel_y = 25 }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 @@ -1425,7 +1425,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDK" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 8 @@ -1438,7 +1438,7 @@ id_tag = "fore_starboard_solar_pump" }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDL" = ( /obj/effect/floor_decal/industrial/warning/cee{ dir = 4 @@ -1462,7 +1462,7 @@ id_tag = "fore_starboard_solar_pump" }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDM" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1473,7 +1473,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dDN" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1486,54 +1486,54 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dDO" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dDP" = ( /obj/structure/cable/yellow{ icon_state = "0-8" }, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dDQ" = ( /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dDR" = ( /obj/structure/cable/yellow{ icon_state = "0-4" }, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dDS" = ( /obj/machinery/power/tracker, /obj/structure/cable/yellow{ icon_state = "0-8" }, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dDT" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDU" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDV" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDW" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -1544,7 +1544,7 @@ }, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDX" = ( /obj/machinery/power/terminal{ dir = 4 @@ -1560,7 +1560,7 @@ /obj/structure/table/steel, /obj/item/stack/cable_coil/yellow, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDY" = ( /obj/structure/cable, /obj/machinery/power/smes/buildable{ @@ -1570,7 +1570,7 @@ output_level = 100000 }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dDZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/sign/warning/high_voltage{ @@ -1584,7 +1584,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEa" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, @@ -1600,7 +1600,7 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEb" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -1608,7 +1608,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/open, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEc" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -1616,18 +1616,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/greengrid, -/area/ai) +/area/crux/network) "dEd" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dEe" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dEf" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/sign/warning/high_voltage{ @@ -1641,7 +1641,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dEg" = ( /obj/structure/cable, /obj/machinery/power/smes/buildable{ @@ -1651,7 +1651,7 @@ output_level = 100000 }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dEh" = ( /obj/machinery/power/terminal{ dir = 8 @@ -1665,7 +1665,7 @@ pixel_y = -22 }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dEi" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/atmospherics/portables_connector{ @@ -1676,31 +1676,31 @@ pixel_y = -32 }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dEj" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dEk" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dEl" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dEm" = ( /obj/structure/cable/yellow{ icon_state = "0-2" }, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dEo" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -1713,19 +1713,19 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dEp" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEq" = ( /turf/simulated/wall, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEr" = ( /turf/simulated/wall/r_wall, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEs" = ( /obj/machinery/door/airlock/vault/bolted{ name = "AI core" @@ -1740,24 +1740,24 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dEt" = ( /obj/structure/sign/warning/lethal_turrets, /turf/simulated/wall/r_wall, -/area/ai) +/area/crux/network) "dEu" = ( /obj/structure/sign/plaque/ai_dev, /turf/simulated/wall/r_wall, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEv" = ( /turf/simulated/wall, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dEw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dEx" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -1770,11 +1770,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dEy" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEz" = ( /obj/structure/table, /obj/item/aiModule/freeform, @@ -1790,20 +1790,20 @@ pixel_y = 32 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEA" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/porta_turret, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEB" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEC" = ( /obj/machinery/computer/upload/ai, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dED" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -1821,18 +1821,18 @@ pixel_y = 24 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEE" = ( /obj/machinery/computer/upload/robot, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEF" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/camera/network/command{ c_tag = "AI - Upload" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEG" = ( /obj/structure/table, /obj/item/aiModule/nanotrasen, @@ -1847,39 +1847,39 @@ pixel_y = 32 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEH" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dEI" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEJ" = ( /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEK" = ( /obj/machinery/camera/network/command{ c_tag = "AI - West 2"; dir = 8 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dEL" = ( /obj/structure/cable/cyan{ icon_state = "2-4" }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEM" = ( /obj/structure/cable/cyan{ icon_state = "4-8" }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEN" = ( /obj/structure/cable/cyan{ icon_state = "4-8" @@ -1888,7 +1888,7 @@ dir = 5 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEO" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/structure/cable/cyan{ @@ -1898,7 +1898,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEP" = ( /obj/structure/cable/cyan{ icon_state = "1-8" @@ -1916,30 +1916,30 @@ icon_state = "motion0" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEQ" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dER" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dES" = ( /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dET" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dEU" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -1948,7 +1948,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEV" = ( /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/effect/floor_decal/industrial/outline/yellow, @@ -1960,7 +1960,7 @@ pixel_x = 22 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dEW" = ( /obj/machinery/power/apc{ dir = 8; @@ -1972,13 +1972,13 @@ }, /obj/structure/cable/cyan, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEX" = ( /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/light, /obj/machinery/porta_turret, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEY" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -1988,14 +1988,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dEZ" = ( /obj/machinery/alarm{ dir = 8; pixel_x = 22 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFa" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -2007,7 +2007,7 @@ }, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFb" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -2016,7 +2016,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFc" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -2026,7 +2026,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/foreportsolar) +/area/crux/outside/solars_foreportsolar) "dFd" = ( /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/effect/floor_decal/industrial/outline/yellow, @@ -2034,7 +2034,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dFe" = ( /obj/structure/table, /obj/item/aiModule/asimov, @@ -2051,7 +2051,7 @@ dir = 1 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFf" = ( /obj/item/radio/intercom{ dir = 8; @@ -2059,7 +2059,7 @@ pixel_x = -21 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFg" = ( /obj/structure/cable/cyan{ icon_state = "1-2" @@ -2070,20 +2070,20 @@ name = "lightsout" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFh" = ( /obj/item/radio/intercom/locked/ai_private{ dir = 4; pixel_x = 21 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFi" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -28 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFj" = ( /obj/structure/table, /obj/item/aiModule/oxygen, @@ -2099,7 +2099,7 @@ dir = 1 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFk" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -2107,7 +2107,7 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/portable_atmospherics/canister/air/airlock, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFl" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -2117,7 +2117,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/forestarboardsolar) +/area/crux/outside/solars_forestarboardsolar) "dFm" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -2127,7 +2127,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dFn" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 @@ -2137,19 +2137,19 @@ }, /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dFo" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dFp" = ( /turf/simulated/wall/r_wall, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFq" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFr" = ( /obj/machinery/door/firedoor, /obj/structure/cable/cyan{ @@ -2161,19 +2161,19 @@ name = "AI Upload" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload) +/area/crux/network/ai_upload) "dFs" = ( /turf/simulated/wall/r_wall, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFt" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFu" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFv" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -2189,7 +2189,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFw" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -2199,7 +2199,7 @@ }, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFx" = ( /obj/machinery/power/apc{ dir = 8; @@ -2212,7 +2212,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dFy" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 1; @@ -2225,7 +2225,7 @@ /obj/random/maintenance/security, /obj/random/maintenance/security, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dFz" = ( /obj/machinery/network/message_server, /obj/machinery/camera/network/command{ @@ -2233,16 +2233,16 @@ dir = 4 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFA" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFB" = ( /turf/simulated/floor/bluegrid, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFC" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -2262,7 +2262,7 @@ c_tag = "AI - Upload Foyer" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dFD" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -2277,7 +2277,7 @@ dir = 8 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dFE" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -2307,18 +2307,18 @@ pixel_y = 36 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dFF" = ( /obj/machinery/recharge_station, /turf/simulated/floor/bluegrid, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFG" = ( /obj/machinery/recharge_station, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFH" = ( /obj/structure/table, /obj/item/radio/phone, @@ -2330,7 +2330,7 @@ pixel_x = 30 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFI" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 1; @@ -2340,7 +2340,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFJ" = ( /obj/machinery/power/apc{ dir = 4; @@ -2353,7 +2353,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dFK" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2361,7 +2361,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dFM" = ( /obj/structure/cable/yellow{ icon_state = "0-2" @@ -2372,7 +2372,7 @@ name = "Northwest Solar Control" }, /turf/simulated/floor/plating, -/area/maintenance/solars/foreportsolar) +/area/crux/maintenance/solars/foreportsolar) "dFN" = ( /obj/structure/bed/chair/office/light{ dir = 8 @@ -2381,7 +2381,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFO" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -2392,7 +2392,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2404,7 +2404,7 @@ icon_state = "2-4" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFQ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/cyan{ @@ -2420,7 +2420,7 @@ name = "Messaging Server" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dFR" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -2439,7 +2439,7 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dFS" = ( /obj/effect/floor_decal/industrial/warning, /obj/machinery/hologram/holopad, @@ -2452,7 +2452,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dFT" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -2471,7 +2471,7 @@ }, /obj/machinery/light, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dFU" = ( /obj/machinery/door/firedoor, /obj/structure/cable/cyan{ @@ -2487,7 +2487,7 @@ name = "Synthetic Storage Access" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2502,7 +2502,7 @@ name = "Cyborg" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFW" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -2516,7 +2516,7 @@ name = "Cyborg" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFX" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -2526,7 +2526,7 @@ }, /obj/abstract/landmark/latejoin/cyborg, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dFY" = ( /obj/structure/cable/yellow{ icon_state = "0-2" @@ -2537,14 +2537,14 @@ name = "Northeast Solar Control" }, /turf/simulated/floor/plating, -/area/maintenance/solars/forestarboardsolar) +/area/crux/maintenance/solars/forestarboardsolar) "dFZ" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/structure/largecrate, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dGa" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2552,7 +2552,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dGb" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2563,24 +2563,24 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dGd" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dGe" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dGg" = ( /turf/simulated/wall/r_wall, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "dGh" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/wall/r_wall, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "dGi" = ( /obj/structure/closet/crate{ name = "Camera Assembly Crate" @@ -2590,14 +2590,14 @@ /obj/item/frame/camera, /obj/item/frame/camera, /turf/simulated/floor/bluegrid, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dGj" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_y = -21 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dGk" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -2607,7 +2607,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dGl" = ( /obj/machinery/power/apc{ dir = 4; @@ -2619,10 +2619,10 @@ }, /obj/structure/cable/cyan, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dGm" = ( /turf/simulated/wall/r_wall, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dGn" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -2631,7 +2631,7 @@ name = "AI Upload Access" }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_upload_foyer) +/area/crux/network/ai_upload_foyer) "dGo" = ( /obj/machinery/power/apc{ dir = 8; @@ -2643,7 +2643,7 @@ }, /obj/structure/cable/cyan, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dGp" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -2653,7 +2653,7 @@ pixel_y = -22 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dGq" = ( /obj/abstract/landmark/latejoin/cyborg, /obj/item/radio/intercom{ @@ -2661,29 +2661,29 @@ pixel_y = -21 }, /turf/simulated/floor/tiled/techfloor, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dGr" = ( /obj/machinery/cryopod/robot{ dir = 4 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dGs" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dGt" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dGw" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dGx" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dGz" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2694,7 +2694,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dGA" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2706,16 +2706,16 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dGB" = ( /obj/structure/closet/secure_closet/hop2, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dGC" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dGD" = ( /obj/structure/table, /obj/item/flashlight/lamp/green, @@ -2725,18 +2725,18 @@ pixel_x = 21 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dGE" = ( /turf/simulated/wall, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "dGI" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dGJ" = ( /obj/structure/sign/warning/secure_area, /turf/simulated/wall/r_wall, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dGK" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 @@ -2745,7 +2745,7 @@ dir = 10 }, /turf/simulated/floor/tiled/techfloor, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dGL" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -2754,7 +2754,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/techfloor, /turf/simulated/floor/tiled/techfloor, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dGM" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -2763,24 +2763,24 @@ dir = 6 }, /turf/simulated/floor/tiled/techfloor, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dGN" = ( /obj/structure/sign/warning/lethal_turrets, /turf/simulated/wall/r_wall, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dGO" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dGP" = ( /obj/structure/closet/secure_closet/cmo, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dGQ" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dGR" = ( /obj/structure/table, /obj/item/flashlight/lamp/green, @@ -2790,10 +2790,10 @@ pixel_x = 21 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dGS" = ( /turf/simulated/wall, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dGT" = ( /obj/structure/table, /obj/item/flashlight/lamp/green, @@ -2803,16 +2803,16 @@ pixel_x = -21 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dGU" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dGV" = ( /obj/structure/closet/secure_closet/research_director, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dGW" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2824,7 +2824,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dGX" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -2833,14 +2833,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dGY" = ( /obj/structure/closet, /obj/item/storage/backpack, /obj/random/maintenance/clean, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dGZ" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -2860,7 +2860,7 @@ pixel_y = 6 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dHa" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -2870,7 +2870,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dHb" = ( /obj/structure/table, /obj/machinery/light{ @@ -2887,7 +2887,7 @@ pixel_x = 32 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dHf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -2896,7 +2896,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -2905,7 +2905,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHh" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -2914,14 +2914,14 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHi" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHj" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -2930,7 +2930,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -2939,7 +2939,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHl" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -2959,7 +2959,7 @@ pixel_y = 6 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dHm" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -2969,7 +2969,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dHn" = ( /obj/structure/table, /obj/machinery/light{ @@ -2986,7 +2986,7 @@ pixel_x = 32 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dHo" = ( /obj/structure/table, /obj/machinery/light{ @@ -3003,7 +3003,7 @@ pixel_x = -32 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dHp" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -3013,7 +3013,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dHq" = ( /obj/machinery/power/apc{ dir = 4; @@ -3033,7 +3033,7 @@ pixel_y = 6 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dHr" = ( /obj/item/storage/box/lights/mixed, /obj/random/maintenance/security, @@ -3041,7 +3041,7 @@ /obj/random/maintenance/security, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dHs" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3050,7 +3050,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dHt" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -3060,7 +3060,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dHu" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -3071,7 +3071,7 @@ }, /obj/structure/dogbed, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dHv" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3081,7 +3081,7 @@ dir = 10 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dHw" = ( /obj/structure/bed/padded, /obj/item/bedsheet/hop, @@ -3090,7 +3090,7 @@ pixel_x = 24 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dHy" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -3102,20 +3102,20 @@ RCon_tag = "Substation - Command" }, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "dHA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHB" = ( /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHC" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHD" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -3124,12 +3124,12 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHE" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHF" = ( /obj/machinery/camera/network/third_deck{ c_tag = "Second Floor - Central North"; @@ -3138,7 +3138,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHG" = ( /obj/machinery/firealarm{ dir = 1; @@ -3147,7 +3147,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHH" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -3156,7 +3156,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHI" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -3169,7 +3169,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dHJ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -3179,7 +3179,7 @@ pixel_x = -22 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dHK" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3189,7 +3189,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dHL" = ( /obj/structure/bed/padded, /obj/item/bedsheet/medical, @@ -3198,7 +3198,7 @@ pixel_x = 24 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dHM" = ( /obj/structure/bed/padded, /obj/item/bedsheet/rd, @@ -3207,7 +3207,7 @@ pixel_x = -24 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dHN" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3217,7 +3217,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dHO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -3227,7 +3227,7 @@ pixel_x = 22 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dHP" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -3237,28 +3237,28 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dHQ" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHR" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHS" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHT" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHU" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -3270,7 +3270,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHV" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3286,27 +3286,27 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHW" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHX" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHY" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dHZ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "hopquarters" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dIa" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -3318,17 +3318,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dIb" = ( /turf/simulated/wall, -/area/crew_quarters/heads/sc/hop/quarters) +/area/crux/habitation/hop/quarters) "dId" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "dIe" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIf" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -3337,18 +3337,18 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIg" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dIh" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "cmoquarters" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dIi" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -3360,10 +3360,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/cmo/quarters) +/area/crux/habitation/cmo/quarters) "dIj" = ( /turf/simulated/wall, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dIk" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -3375,27 +3375,27 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dIl" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "rdquarters" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/hor/quarters) +/area/crux/habitation/hor/quarters) "dIm" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIn" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIo" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIp" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3411,7 +3411,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIq" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -3420,28 +3420,28 @@ dir = 4 }, /turf/simulated/floor/tiled/techfloor, -/area/ai) +/area/crux/network) "dIr" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIs" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIt" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIu" = ( /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIv" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -3450,7 +3450,7 @@ dir = 1 }, /turf/simulated/floor, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIw" = ( /obj/machinery/door/airlock/external{ id_tag = "d3_port_outer"; @@ -3458,7 +3458,7 @@ name = "External Airlock Access" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIx" = ( /obj/effect/floor_decal/industrial/warning{ dir = 9 @@ -3472,7 +3472,7 @@ pixel_y = 25 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIy" = ( /obj/structure/sign/warning/airlock{ pixel_y = 32 @@ -3485,7 +3485,7 @@ id_tag = "d3_port_pump" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIz" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "d3_port_inner"; @@ -3493,7 +3493,7 @@ name = "Internal Airlock Access" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIA" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -3505,7 +3505,7 @@ pixel_y = 26 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIB" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3513,7 +3513,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -3521,14 +3521,14 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dID" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIE" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -3537,7 +3537,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIF" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -3546,7 +3546,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIG" = ( /obj/machinery/power/apc{ dir = 1; @@ -3563,7 +3563,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIH" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -3572,7 +3572,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dII" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3586,13 +3586,13 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIJ" = ( /obj/machinery/camera/network/third_deck{ c_tag = "Second Floor - West Hallway One" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIK" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -3602,7 +3602,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIM" = ( /obj/structure/sign/warning/high_voltage{ pixel_y = 32 @@ -3614,7 +3614,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3624,7 +3624,7 @@ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dIP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3640,7 +3640,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIQ" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -3656,24 +3656,24 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIR" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /obj/structure/flora/pottedplant/fern, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIS" = ( /turf/unsimulated/mask, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIT" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -3685,7 +3685,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIV" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -3696,14 +3696,14 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dIW" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ name = "Central Access" }, /turf/simulated/floor/tiled/steel_grid, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIX" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 1 @@ -3712,7 +3712,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIY" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3726,7 +3726,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dIZ" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -3735,7 +3735,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJa" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -3747,7 +3747,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJb" = ( /obj/machinery/camera/network/third_deck{ c_tag = "Second Floor - East Hallway One" @@ -3759,7 +3759,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJc" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/borderfloor/corner{ @@ -3769,7 +3769,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJd" = ( /obj/machinery/light{ dir = 1 @@ -3781,7 +3781,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJe" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -3790,14 +3790,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJf" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/steeldecal/steel_decals4{ @@ -3807,7 +3807,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJh" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -3815,7 +3815,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJi" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -3827,7 +3827,7 @@ pixel_y = 26 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJj" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "d3_starboard_inner"; @@ -3835,7 +3835,7 @@ name = "Internal Airlock Access" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJk" = ( /obj/structure/sign/warning/airlock{ pixel_y = 32 @@ -3848,7 +3848,7 @@ id_tag = "d3_starboard_pump" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJl" = ( /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -3862,7 +3862,7 @@ pixel_y = 25 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJm" = ( /obj/machinery/door/airlock/external{ id_tag = "d3_starboard_outer"; @@ -3870,7 +3870,7 @@ name = "External Airlock Access" }, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJn" = ( /obj/machinery/light/small{ dir = 1 @@ -3879,7 +3879,7 @@ dir = 8 }, /turf/simulated/floor, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJo" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -3891,7 +3891,7 @@ pixel_y = -26 }, /turf/simulated/floor, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJp" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -3908,7 +3908,7 @@ id_tag = "d3_port_pump" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJq" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -3918,7 +3918,7 @@ }, /obj/machinery/light/small, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -3927,7 +3927,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJs" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -3938,7 +3938,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJt" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3954,7 +3954,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJu" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3968,7 +3968,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJv" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3981,7 +3981,7 @@ }, /obj/structure/flora/pottedplant/minitree, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJw" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -3993,7 +3993,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJx" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4008,7 +4008,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJy" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4020,7 +4020,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJz" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -4034,7 +4034,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJA" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4046,7 +4046,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJB" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4056,7 +4056,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJD" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4071,7 +4071,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJF" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4085,7 +4085,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dJG" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -4100,7 +4100,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dJH" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor{ @@ -4110,11 +4110,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dJI" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dJJ" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -4123,7 +4123,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dJK" = ( /obj/structure/cable/green{ icon_state = "2-4" @@ -4138,7 +4138,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dJL" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4152,7 +4152,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4167,7 +4167,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJN" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -4181,7 +4181,7 @@ /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJO" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4193,7 +4193,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJP" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4205,7 +4205,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJQ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4215,7 +4215,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJR" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4230,7 +4230,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJS" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4243,7 +4243,7 @@ }, /obj/structure/flora/pottedplant/minitree, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJT" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -4257,7 +4257,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJU" = ( /obj/structure/cable/green{ icon_state = "2-8" @@ -4271,7 +4271,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -4280,7 +4280,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJW" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -4290,7 +4290,7 @@ id_tag = "d3_starboard_pump" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJX" = ( /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -4307,7 +4307,7 @@ tag_interior_door = "d3_starboard_inner" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJY" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -4319,24 +4319,24 @@ pixel_y = -26 }, /turf/simulated/floor, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dJZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKa" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKb" = ( /obj/structure/sign/deck/third, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/warning/corner{ @@ -4349,7 +4349,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKd" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4360,25 +4360,25 @@ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKe" = ( /obj/effect/floor_decal/steeldecal/steel_decals4{ dir = 10 }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKf" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKg" = ( /obj/machinery/light, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKh" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -4390,7 +4390,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKi" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4404,7 +4404,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKj" = ( /obj/machinery/alarm{ dir = 1; @@ -4413,7 +4413,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKk" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -4426,7 +4426,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKl" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4443,7 +4443,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dKm" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ @@ -4461,7 +4461,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dKn" = ( /obj/machinery/alarm{ dir = 4; @@ -4474,7 +4474,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dKo" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4486,7 +4486,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dKp" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4500,7 +4500,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKq" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, @@ -4509,7 +4509,7 @@ pixel_y = -21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKr" = ( /obj/machinery/firealarm{ dir = 1; @@ -4521,7 +4521,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKs" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -4530,12 +4530,12 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKt" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKu" = ( /obj/machinery/power/apc{ name = "south bump"; @@ -4545,7 +4545,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKv" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4558,7 +4558,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKw" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -4568,36 +4568,36 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKx" = ( /obj/structure/sign/deck/third, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKy" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKz" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dKA" = ( /turf/simulated/shuttle/wall, -/area/shuttle/escape_pod7/station) +/area/crux/shuttle/escape_pod7/station) "dKC" = ( /obj/structure/shuttle/engine/propulsion/burst{ dir = 4 }, /turf/simulated/shuttle/wall, -/area/shuttle/escape_pod7/station) +/area/crux/shuttle/escape_pod7/station) "dKD" = ( /turf/simulated/wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKE" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -4606,14 +4606,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKF" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKG" = ( /obj/machinery/alarm{ dir = 8; @@ -4622,13 +4622,13 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/white/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dKH" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dKI" = ( /turf/simulated/wall, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dKJ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -4640,13 +4640,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dKK" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dKL" = ( /turf/simulated/wall, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dKM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -4658,18 +4658,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dKN" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "cequarters" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dKO" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dKP" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4681,11 +4681,11 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dKQ" = ( /obj/structure/table/glass, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dKR" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4697,18 +4697,18 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dKS" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dKT" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "hosquarters" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dKU" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -4720,16 +4720,16 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dKV" = ( /turf/simulated/wall, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dKW" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dKX" = ( /turf/simulated/wall, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dKY" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -4741,17 +4741,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dKZ" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced/polarized{ id = "bsquarters" }, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dLa" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dLb" = ( /obj/machinery/alarm{ dir = 4; @@ -4764,26 +4764,26 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dLc" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dLd" = ( /turf/simulated/wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dLe" = ( /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 }, /turf/simulated/shuttle/wall, -/area/shuttle/escape_pod8/station) +/area/crux/shuttle/escape_pod8/station) "dLg" = ( /turf/simulated/shuttle/wall, -/area/shuttle/escape_pod8/station) +/area/crux/shuttle/escape_pod8/station) "dLh" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -4799,7 +4799,7 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/escape_pod7/station) +/area/crux/shuttle/escape_pod7/station) "dLi" = ( /obj/structure/bed/chair{ dir = 8 @@ -4811,13 +4811,12 @@ pixel_y = 32 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ - frequency = 1381; id_tag = "escape_pod_7"; pixel_y = -25; tag_door = "escape_pod_7_hatch" }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod7/station) +/area/crux/shuttle/escape_pod7/station) "dLj" = ( /obj/structure/bed/chair{ dir = 8 @@ -4831,7 +4830,7 @@ pixel_y = -32 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod7/station) +/area/crux/shuttle/escape_pod7/station) "dLl" = ( /obj/machinery/door/airlock/external{ id_tag = "escape_pod_7_hatch"; @@ -4839,7 +4838,7 @@ name = "Escape Pod Hatch 7" }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod7/station) +/area/crux/shuttle/escape_pod7/station) "dLm" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "escape_pod_7_berth_hatch"; @@ -4847,20 +4846,19 @@ name = "Escape Pod 7" }, /turf/simulated/floor, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dLn" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ - frequency = 1381; id_tag = "escape_pod_7_berth"; pixel_x = -25; pixel_y = 30; tag_door = "escape_pod_7_berth_hatch" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dLo" = ( /obj/effect/floor_decal/borderfloor{ dir = 4 @@ -4869,20 +4867,20 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dLp" = ( /obj/machinery/recharge_station, /obj/machinery/light/small{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLq" = ( /obj/machinery/door/airlock{ name = "Unit 1" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLr" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -4891,7 +4889,7 @@ pixel_y = 32 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLs" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -4905,7 +4903,7 @@ dir = 9 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLt" = ( /obj/structure/table, /obj/machinery/power/apc{ @@ -4926,7 +4924,7 @@ pixel_x = 21 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLu" = ( /obj/structure/bed/padded, /obj/item/bedsheet/ce, @@ -4935,7 +4933,7 @@ pixel_x = -24 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dLv" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4945,7 +4943,7 @@ dir = 5 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dLw" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -4955,7 +4953,7 @@ pixel_x = 22 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dLx" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -4965,7 +4963,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dLy" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -4978,21 +4976,21 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dLz" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/structure/flora/pottedplant/stoutbush, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dLA" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /obj/structure/flora/pottedplant/fern, /turf/simulated/floor/tiled/dark, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dLB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5004,7 +5002,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dLC" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5014,7 +5012,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dLD" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -5024,7 +5022,7 @@ pixel_x = -22 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dLE" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5034,7 +5032,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dLF" = ( /obj/structure/bed/padded, /obj/item/bedsheet/hos, @@ -5043,7 +5041,7 @@ pixel_x = 24 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dLG" = ( /obj/machinery/firealarm{ dir = 8; @@ -5052,7 +5050,7 @@ /obj/structure/bed, /obj/item/bedsheet/blue, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dLH" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5062,7 +5060,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dLI" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -5072,7 +5070,7 @@ pixel_x = 22 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dLJ" = ( /obj/effect/floor_decal/borderfloor{ dir = 8 @@ -5081,20 +5079,19 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dLK" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{ - frequency = 1381; id_tag = "escape_pod_8_berth"; pixel_x = 25; pixel_y = 30; tag_door = "escape_pod_8_berth_hatch" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dLL" = ( /obj/machinery/door/airlock/external/glass{ id_tag = "escape_pod_8_berth_hatch"; @@ -5102,7 +5099,7 @@ name = "Escape Pod 8" }, /turf/simulated/floor, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dLM" = ( /obj/machinery/door/airlock/external{ id_tag = "escape_pod_8_hatch"; @@ -5110,7 +5107,7 @@ name = "Escape Pod Hatch 8" }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod8/station) +/area/crux/shuttle/escape_pod8/station) "dLO" = ( /obj/structure/bed/chair{ dir = 4 @@ -5123,7 +5120,7 @@ pixel_y = 32 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod8/station) +/area/crux/shuttle/escape_pod8/station) "dLP" = ( /obj/structure/bed/chair{ dir = 4 @@ -5135,13 +5132,12 @@ pixel_y = -32 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ - frequency = 1381; id_tag = "escape_pod_8"; pixel_y = 25; tag_door = "escape_pod_8_hatch" }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod8/station) +/area/crux/shuttle/escape_pod8/station) "dLQ" = ( /obj/structure/grille, /obj/structure/window/reinforced/full, @@ -5157,19 +5153,19 @@ health = 1e+006 }, /turf/simulated/floor/shuttle/plating, -/area/shuttle/escape_pod8/station) +/area/crux/shuttle/escape_pod8/station) "dLR" = ( /obj/structure/sign/warning/pods{ dir = 8 }, /turf/simulated/wall, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dLS" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dLT" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5182,7 +5178,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dLU" = ( /obj/structure/closet/emcloset, /obj/effect/floor_decal/borderfloor{ @@ -5192,24 +5188,24 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "dLV" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLW" = ( /obj/machinery/firealarm{ dir = 8; pixel_x = -24 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLX" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -5218,7 +5214,7 @@ dir = 9 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dLZ" = ( /obj/machinery/light{ dir = 4 @@ -5231,7 +5227,7 @@ pixel_x = 32 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dMa" = ( /obj/structure/table, /obj/machinery/light{ @@ -5248,7 +5244,7 @@ pixel_x = -32 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dMb" = ( /obj/structure/bed/chair/office/dark, /obj/structure/cable/green{ @@ -5256,7 +5252,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dMc" = ( /obj/machinery/power/apc{ dir = 4; @@ -5276,7 +5272,7 @@ pixel_y = -6 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dMd" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5284,7 +5280,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMe" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/borderfloor/corner{ @@ -5294,7 +5290,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMf" = ( /obj/structure/sign/directions/engineering{ dir = 1; @@ -5308,7 +5304,7 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMg" = ( /obj/structure/sign/directions/bridge{ pixel_y = 10 @@ -5321,16 +5317,16 @@ pixel_y = -10 }, /turf/simulated/wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMj" = ( /turf/simulated/floor/tiled/techfloor/grid, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMk" = ( /obj/structure/sign/directions/evac{ dir = 1 }, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMl" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -5339,7 +5335,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMm" = ( /obj/machinery/power/apc{ dir = 8; @@ -5359,7 +5355,7 @@ pixel_y = 6 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dMn" = ( /obj/structure/bed/chair/office/dark, /obj/structure/cable/green{ @@ -5367,7 +5363,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dMo" = ( /obj/structure/table, /obj/machinery/light{ @@ -5384,7 +5380,7 @@ pixel_x = 32 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dMp" = ( /obj/machinery/light{ dir = 8 @@ -5401,7 +5397,7 @@ /obj/item/folder/blue, /obj/item/pen/multi, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dMq" = ( /obj/structure/bed/chair/office/dark, /obj/structure/cable/green{ @@ -5409,11 +5405,11 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dMs" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dMt" = ( /obj/structure/closet/emcloset, /obj/effect/floor_decal/borderfloor{ @@ -5423,7 +5419,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dMu" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5438,22 +5434,22 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dMv" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dMw" = ( /obj/structure/sign/warning/pods{ dir = 4 }, /turf/simulated/wall, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dMx" = ( /turf/simulated/wall/r_wall, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dMy" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -5462,10 +5458,10 @@ /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dMz" = ( /turf/simulated/wall, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dMA" = ( /obj/structure/hygiene/toilet{ dir = 4 @@ -5474,34 +5470,34 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dMB" = ( /obj/machinery/door/airlock{ name = "Unit 2" }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dMC" = ( /obj/machinery/alarm{ dir = 1; pixel_y = -22 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dMD" = ( /obj/structure/hygiene/shower{ dir = 1 }, /obj/structure/curtain/open/shower, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dME" = ( /obj/structure/undies_wardrobe, /obj/structure/window/basic{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/restroom) +/area/crux/habitation/restroom) "dMF" = ( /obj/structure/table, /obj/item/flashlight/lamp/green, @@ -5511,18 +5507,18 @@ pixel_x = -21 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dMG" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dMH" = ( /obj/structure/closet/secure_closet/engineering_personal, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/chief/quarters) +/area/crux/habitation/chief/quarters) "dMI" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -5533,14 +5529,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMJ" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMK" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5557,7 +5553,7 @@ pixel_y = 21 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dML" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5573,7 +5569,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5585,13 +5581,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMN" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMO" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5603,7 +5599,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMP" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5619,7 +5615,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMQ" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -5634,7 +5630,7 @@ pixel_y = 30 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMR" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -5642,18 +5638,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dMS" = ( /obj/structure/closet/secure_closet/hos, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dMT" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dMU" = ( /obj/structure/table, /obj/item/flashlight/lamp/green, @@ -5663,7 +5659,7 @@ pixel_x = 21 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/eleostura/servicemanager/quarters) +/area/crux/habitation/servicemanager/quarters) "dMV" = ( /obj/item/radio/intercom{ dir = 8; @@ -5673,24 +5669,24 @@ /obj/structure/table, /obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dMW" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dMX" = ( /obj/structure/closet/lawcloset, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "dMY" = ( /turf/simulated/wall/r_wall, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dMZ" = ( /turf/simulated/wall, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dNa" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -5701,7 +5697,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dNb" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5709,11 +5705,11 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dNc" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dNd" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5724,7 +5720,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -5732,7 +5728,7 @@ }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNf" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -5741,13 +5737,13 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNh" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 @@ -5756,13 +5752,13 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNk" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -5772,25 +5768,25 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNl" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/effect/floor_decal/industrial/warning/corner, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNo" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -5798,7 +5794,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNp" = ( /obj/structure/closet, /obj/item/storage/backpack, @@ -5807,7 +5803,7 @@ /obj/random/maintenance/medical, /obj/random/firstaid, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dNq" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5817,7 +5813,7 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dNr" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -5828,45 +5824,45 @@ }, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dNs" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dNt" = ( /turf/simulated/wall/r_wall, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNu" = ( /obj/structure/flora/pottedplant/largebush, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNv" = ( /obj/structure/extinguisher_cabinet{ pixel_y = 30 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNw" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNx" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNy" = ( /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNz" = ( /obj/machinery/newscaster{ pixel_y = 30 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNA" = ( /obj/machinery/vending/coffee, /obj/machinery/computer/modular/telescreen/preset/entertainment{ @@ -5874,7 +5870,7 @@ pixel_x = 32 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNB" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -5889,7 +5885,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dNC" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -5900,28 +5896,28 @@ /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dND" = ( /obj/structure/sign/warning/secure_area, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNE" = ( /turf/simulated/wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNF" = ( /obj/structure/sign/deck/third, /turf/simulated/wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNG" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNH" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dNI" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -5931,7 +5927,7 @@ }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dNJ" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -5943,10 +5939,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dNK" = ( /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dNL" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -5956,7 +5952,7 @@ }, /obj/item/flashlight/lamp/green, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dNM" = ( /obj/structure/table/woodentable_reinforced, /obj/item/storage/photo_album{ @@ -5967,19 +5963,19 @@ pixel_y = 24 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dNN" = ( /obj/structure/bed/padded, /obj/item/bedsheet/captain, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dNO" = ( /obj/random/drinkbottle, /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dNP" = ( /obj/structure/hygiene/sink{ pixel_y = 16 @@ -5991,7 +5987,7 @@ dir = 6 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dNQ" = ( /obj/structure/table, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -6003,7 +5999,7 @@ pixel_y = 22 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dNR" = ( /obj/structure/closet, /obj/item/weldingtool, @@ -6012,7 +6008,7 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dNS" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6025,10 +6021,10 @@ /obj/structure/catwalk, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dNT" = ( /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dNU" = ( /obj/machinery/button/alternate/door{ id_tag = "heads_meeting"; @@ -6036,34 +6032,34 @@ pixel_x = -26 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNV" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNW" = ( /obj/structure/bed/chair/comfy/blue, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNX" = ( /obj/structure/bed/chair/comfy/blue, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNY" = ( /obj/structure/bed/chair/comfy/blue, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dNZ" = ( /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOa" = ( /obj/machinery/power/apc{ dir = 4; @@ -6077,7 +6073,7 @@ icon_state = "0-2" }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOb" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -6089,7 +6085,7 @@ name = "Bridge" }, /turf/simulated/floor/tiled/steel_grid, -/area/bridge) +/area/crux/bridge) "dOc" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -6097,13 +6093,13 @@ name = "Bridge" }, /turf/simulated/floor/tiled/steel_grid, -/area/bridge) +/area/crux/bridge) "dOd" = ( /obj/structure/railing{ dir = 4 }, /turf/simulated/open, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOe" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 @@ -6112,13 +6108,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOf" = ( /obj/machinery/alarm{ pixel_y = 22 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOg" = ( /obj/machinery/computer/message_monitor{ dir = 4 @@ -6128,7 +6124,7 @@ pixel_x = -24 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_server_room) +/area/crux/network/ai_server_room) "dOh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -6136,7 +6132,7 @@ name = "Bridge" }, /turf/simulated/floor/tiled/steel_grid, -/area/bridge) +/area/crux/bridge) "dOi" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6146,7 +6142,7 @@ name = "Bridge" }, /turf/simulated/floor/tiled/steel_grid, -/area/bridge) +/area/crux/bridge) "dOj" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6162,13 +6158,13 @@ pixel_x = -21 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOk" = ( /obj/structure/bed/chair/comfy/brown{ dir = 8 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -6177,7 +6173,7 @@ dir = 6 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6186,7 +6182,7 @@ dir = 1 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6199,7 +6195,7 @@ name = "Bathroom" }, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6208,7 +6204,7 @@ dir = 9 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOp" = ( /obj/machinery/light/small{ dir = 4 @@ -6217,7 +6213,7 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOq" = ( /obj/item/clothing/mask/gas, /obj/item/flashlight, @@ -6229,7 +6225,7 @@ /obj/random/maintenance/cargo, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "dOr" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6241,17 +6237,17 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dOs" = ( /obj/structure/table/steel, /obj/random/maintenance/engineering, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dOt" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dOu" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -6266,13 +6262,13 @@ icon_state = "0-2" }, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOv" = ( /obj/structure/bed/chair/comfy/blue{ dir = 4 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOw" = ( /obj/structure/table/woodentable_reinforced, /obj/item/folder/red, @@ -6281,7 +6277,7 @@ pixel_y = -2 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOx" = ( /obj/structure/table/woodentable_reinforced, /obj/item/paper_bin{ @@ -6299,10 +6295,10 @@ dir = 6 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOy" = ( /obj/structure/table/woodentable_reinforced, -/obj/item/book/manual/nt_regs, +/obj/item/book/fluff/nt_regs, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, @@ -6310,7 +6306,7 @@ dir = 4 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOz" = ( /obj/structure/bed/chair/comfy/blue{ dir = 8 @@ -6322,7 +6318,7 @@ dir = 1 }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOA" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -6341,7 +6337,7 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOB" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -6360,7 +6356,7 @@ name = "Conference Room" }, /turf/simulated/floor/tiled/steel_grid, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dOC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6379,7 +6375,7 @@ dir = 9 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dOD" = ( /obj/structure/disposalpipe/junction{ dir = 1; @@ -6395,23 +6391,23 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dOE" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOF" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOG" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOH" = ( /obj/machinery/hologram/holopad{ holopad_id = "Command Hallway" @@ -6424,13 +6420,13 @@ dir = 5 }, /turf/simulated/floor/tiled/monotile, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOI" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOJ" = ( /obj/machinery/computer/modular/preset/aislot/sysadmin{ dir = 8 @@ -6440,11 +6436,11 @@ pixel_x = 24 }, /turf/simulated/floor/bluegrid, -/area/ai/ai_cyborg_station) +/area/crux/network/ai_cyborg_station) "dOK" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dOL" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -6456,7 +6452,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dOM" = ( /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ @@ -6466,7 +6462,7 @@ dir = 5 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dON" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6475,7 +6471,7 @@ dir = 4 }, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOO" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -6483,7 +6479,7 @@ }, /obj/machinery/light, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -6496,7 +6492,7 @@ pixel_y = -22 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOQ" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 @@ -6505,7 +6501,7 @@ dir = 4 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOR" = ( /obj/structure/closet/secure_closet/captains{ name = "station director's locker" @@ -6514,13 +6510,13 @@ dir = 1 }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOS" = ( /obj/structure/hygiene/toilet{ dir = 1 }, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOT" = ( /obj/structure/hygiene/shower{ dir = 1 @@ -6533,12 +6529,12 @@ /obj/machinery/door/window/northright, /obj/item/bikehorn/rubberducky, /turf/simulated/floor/tiled/freezer, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dOU" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dOV" = ( /obj/item/clothing/mask/gas, /obj/item/flashlight, @@ -6551,7 +6547,7 @@ }, /obj/random/crate, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dOW" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6561,7 +6557,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dOX" = ( /obj/machinery/power/apc{ dir = 8; @@ -6572,24 +6568,24 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/catwalk, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dOY" = ( /obj/structure/table/steel, /obj/random/tech_supply, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dPa" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPb" = ( /obj/structure/cable/green{ icon_state = "4-8" }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPc" = ( /obj/structure/bed/chair/comfy/blue{ dir = 1 @@ -6598,7 +6594,7 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPd" = ( /obj/structure/bed/chair/comfy/blue{ dir = 1 @@ -6612,7 +6608,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPe" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -6621,7 +6617,7 @@ icon_state = "4-8" }, /turf/simulated/floor/carpet, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPf" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ @@ -6632,7 +6628,7 @@ dir = 8 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPg" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6645,7 +6641,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dPh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -6655,7 +6651,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dPi" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -6667,7 +6663,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dPj" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -6675,7 +6671,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dPk" = ( /obj/machinery/camera/network/third_deck{ c_tag = "Second Floor - Stairwell"; @@ -6688,14 +6684,14 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dPl" = ( /obj/structure/disposalpipe/segment{ dir = 4; icon_state = "pipe-c" }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dPm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6703,7 +6699,7 @@ /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dPn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6712,7 +6708,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dPo" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -6726,7 +6722,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dPp" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -6735,7 +6731,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dPq" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -6745,7 +6741,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dPr" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6754,11 +6750,11 @@ name = "Station Director's Quarters" }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dPs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dPt" = ( /obj/machinery/power/apc{ dir = 4; @@ -6771,15 +6767,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dPu" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dPv" = ( /obj/item/frame, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dPw" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -6792,12 +6788,12 @@ }, /obj/structure/cable/green, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPx" = ( /obj/structure/table/woodentable_reinforced, /obj/item/storage/box/donut, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPy" = ( /obj/machinery/hologram/holopad{ holopad_id = "Meeting Room North" @@ -6808,7 +6804,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPz" = ( /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ @@ -6816,10 +6812,10 @@ pixel_x = 24 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPA" = ( /turf/simulated/wall/r_wall, -/area/bridge) +/area/crux/bridge) "dPB" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -6836,7 +6832,7 @@ id = "bridge_center" }, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dPC" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -6860,7 +6856,7 @@ id = "bridge_center" }, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dPD" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -6877,22 +6873,22 @@ id = "bridge_center" }, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dPE" = ( /obj/structure/displaycase, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dPF" = ( /obj/machinery/keycard_auth{ pixel_y = 24 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dPG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dPH" = ( /obj/structure/cable/green{ icon_state = "0-2" @@ -6910,7 +6906,7 @@ c_tag = "COM - Station Director's Office" }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dPI" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/faxmachine, @@ -6920,22 +6916,22 @@ pixel_y = 21 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dPK" = ( /obj/machinery/computer/modular/preset/cardslot/command, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dPL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/meter, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dPM" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dPN" = ( /obj/structure/cable/yellow{ icon_state = "0-4" @@ -6947,7 +6943,7 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dPO" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -6957,7 +6953,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dPP" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -6969,15 +6965,15 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dPQ" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dPR" = ( /obj/structure/sign/warning/high_voltage, /turf/simulated/wall/r_wall, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPS" = ( /obj/structure/table/woodentable_reinforced, /obj/item/hand_labeler, @@ -6986,12 +6982,12 @@ pixel_y = -21 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPT" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/recharger, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPU" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -6999,26 +6995,26 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPV" = ( /obj/machinery/light, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPW" = ( /obj/machinery/papershredder, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPX" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPY" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dPZ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -7029,14 +7025,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQa" = ( /obj/structure/disposalpipe/segment, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQb" = ( /obj/item/radio/intercom{ dir = 1; @@ -7063,7 +7059,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQc" = ( /obj/structure/noticeboard{ pixel_y = 27 @@ -7075,7 +7071,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQd" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -7091,7 +7087,7 @@ /obj/item/storage/firstaid/regular, /obj/item/storage/pill_bottle/antibiotics, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQe" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 1 @@ -7100,14 +7096,14 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQf" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQg" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 4 @@ -7116,7 +7112,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQh" = ( /obj/effect/floor_decal/borderfloor{ dir = 1 @@ -7130,7 +7126,7 @@ }, /obj/item/defibrillator/loaded, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQi" = ( /obj/structure/fireaxecabinet{ pixel_y = 32 @@ -7142,7 +7138,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQj" = ( /obj/item/radio/intercom{ dir = 1; @@ -7166,13 +7162,13 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQk" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -7180,37 +7176,37 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQm" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQn" = ( /obj/structure/filing_cabinet, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQo" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQp" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQq" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQr" = ( /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQs" = ( /obj/structure/bed/chair/office/dark, /obj/abstract/landmark/start{ @@ -7231,7 +7227,7 @@ pixel_y = 6 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQt" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/network/requests_console{ @@ -7241,7 +7237,7 @@ pixel_x = 30 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQu" = ( /obj/structure/rack{ dir = 4 @@ -7251,7 +7247,7 @@ /obj/random/maintenance/clean, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dQv" = ( /obj/structure/cable/yellow{ icon_state = "0-4" @@ -7263,7 +7259,7 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dQw" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -7273,7 +7269,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dQx" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -7285,7 +7281,7 @@ /turf/simulated/floor{ icon_state = "solarpanel" }, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dQy" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -7298,7 +7294,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dQz" = ( /obj/machinery/alarm{ dir = 8; @@ -7306,12 +7302,12 @@ }, /obj/machinery/space_heater, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dQA" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dQC" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -7323,7 +7319,7 @@ name = "Conference Room" }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dQD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -7334,7 +7330,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQE" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -7344,7 +7340,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7356,7 +7352,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7365,7 +7361,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQH" = ( /obj/structure/bed/chair, /obj/structure/disposalpipe/segment{ @@ -7375,7 +7371,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQI" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -7390,7 +7386,7 @@ icon_state = "1-8" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQJ" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -7400,7 +7396,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -7408,7 +7404,7 @@ icon_state = "2-8" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dQL" = ( /obj/structure/rack, /obj/structure/window/reinforced, @@ -7427,14 +7423,14 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/window/southleft{ name = "Director's Desk Door" }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQN" = ( /obj/structure/table/woodentable_reinforced, /obj/structure/cable/green{ @@ -7448,12 +7444,12 @@ /obj/item/megaphone, /obj/item/pen/multi, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQO" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/computer/modular/preset/cardslot/command, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQP" = ( /obj/structure/table/woodentable_reinforced, /obj/item/folder/blue, @@ -7463,7 +7459,7 @@ }, /obj/item/stamp/captain, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQQ" = ( /obj/structure/table/woodentable_reinforced, /obj/item/flashlight/lamp/green, @@ -7471,7 +7467,7 @@ pixel_x = 32 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dQR" = ( /obj/machinery/alarm{ dir = 4; @@ -7479,7 +7475,7 @@ }, /obj/machinery/atmospherics/pipe/simple/visible/universal, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dQS" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -7492,11 +7488,11 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dQT" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dQU" = ( /obj/structure/closet, /obj/item/storage/backpack, @@ -7505,7 +7501,7 @@ /obj/random/maintenance/clean, /obj/random/drinkbottle, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dQV" = ( /obj/structure/flora/pottedplant{ pixel_y = 10 @@ -7518,7 +7514,7 @@ pixel_x = -28 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dQW" = ( /obj/structure/table/woodentable, /obj/machinery/keycard_auth{ @@ -7526,24 +7522,24 @@ }, /obj/item/storage/box/cups, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dQX" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dQY" = ( /obj/machinery/camera/network/command{ c_tag = "COM - Secretary Office" }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dQZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ name = "Secretary Office" }, /turf/simulated/floor/tiled/steel_grid, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRa" = ( /obj/machinery/computer/guestpass{ pixel_y = 28 @@ -7555,7 +7551,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -7565,13 +7561,13 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRd" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -7580,7 +7576,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRe" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, @@ -7606,19 +7602,19 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/bridge) +/area/crux/bridge) "dRf" = ( /obj/machinery/vending/snack{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dRg" = ( /obj/machinery/vending/cola{ dir = 8 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dRh" = ( /obj/machinery/hologram/holopad, /obj/effect/floor_decal/industrial/outline/grey, @@ -7629,7 +7625,7 @@ name = "lightsout" }, /turf/simulated/floor/tiled/dark, -/area/bridge) +/area/crux/bridge) "dRi" = ( /obj/structure/window/reinforced, /obj/effect/floor_decal/borderfloor, @@ -7638,7 +7634,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/bridge) +/area/crux/bridge) "dRj" = ( /obj/structure/window/reinforced{ dir = 4 @@ -7660,7 +7656,7 @@ dir = 1 }, /turf/simulated/floor/tiled/dark, -/area/bridge) +/area/crux/bridge) "dRk" = ( /obj/structure/table/reinforced, /obj/item/storage/box/lights/mixed, @@ -7683,13 +7679,13 @@ dir = 6 }, /turf/simulated/floor/tiled/dark, -/area/bridge) +/area/crux/bridge) "dRl" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRm" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -7699,7 +7695,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7715,7 +7711,7 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7734,7 +7730,7 @@ }, /obj/effect/floor_decal/steeldecal/steel_decals4, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRp" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -7748,7 +7744,7 @@ name = "Station Director's Office" }, /turf/simulated/floor/tiled/steel_grid, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRq" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -7758,7 +7754,7 @@ icon_state = "4-8" }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRr" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -7767,7 +7763,7 @@ icon_state = "4-8" }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -7779,19 +7775,19 @@ icon_state = "1-8" }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRt" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRu" = ( /obj/structure/bed/chair{ dir = 1 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRv" = ( /obj/structure/table/woodentable, /obj/item/whip/chainofcommand, @@ -7802,42 +7798,42 @@ pixel_x = 21 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRw" = ( /obj/machinery/atmospherics/unary/tank/air, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dRx" = ( /obj/machinery/atmospherics/unary/tank/air, /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dRy" = ( /obj/machinery/atmospherics/valve, /obj/effect/floor_decal/industrial/warning{ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dRz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRA" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRC" = ( /obj/machinery/hologram/holopad{ holopad_id = "Meeting Room South" @@ -7846,7 +7842,7 @@ dir = 4 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRD" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -7858,13 +7854,13 @@ dir = 9 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRE" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRF" = ( /obj/item/radio/intercom{ dir = 4; @@ -7872,14 +7868,14 @@ pixel_x = 21 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRG" = ( /obj/machinery/alarm{ dir = 4; pixel_x = -22 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRH" = ( /obj/structure/bed/chair, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -7889,23 +7885,23 @@ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRI" = ( /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRJ" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRK" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dRL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ @@ -7913,11 +7909,11 @@ pixel_x = -24 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRM" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRN" = ( /obj/machinery/papershredder, /obj/machinery/alarm{ @@ -7925,7 +7921,7 @@ pixel_x = 24 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dRO" = ( /obj/structure/closet/crate/internals, /obj/item/tank/emergency/oxygen/engi, @@ -7940,11 +7936,11 @@ dir = 5 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dRP" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dRQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 9 @@ -7954,21 +7950,21 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dRR" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dRS" = ( /turf/simulated/wall/r_wall, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dRT" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dRU" = ( /obj/machinery/photocopier, /obj/machinery/button/alternate/door{ @@ -7977,18 +7973,18 @@ pixel_y = -24 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRV" = ( /obj/structure/table/woodentable_reinforced, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRW" = ( /obj/structure/bed/chair/office/dark, /obj/abstract/landmark/start{ name = "Command Secretary" }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRX" = ( /obj/structure/bed/chair/office/dark, /obj/structure/cable/green{ @@ -7998,7 +7994,7 @@ name = "Command Secretary" }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRY" = ( /obj/structure/filing_cabinet, /obj/machinery/firealarm{ @@ -8006,11 +8002,11 @@ pixel_y = -24 }, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dRZ" = ( /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dSa" = ( /obj/machinery/computer/modular/preset/engineering/rcon{ dir = 1 @@ -8032,7 +8028,7 @@ dir = 8 }, /turf/simulated/floor/tiled/dark, -/area/bridge) +/area/crux/bridge) "dSb" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -8042,7 +8038,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSc" = ( /obj/machinery/computer/modular/preset/engineering{ dir = 1 @@ -8051,7 +8047,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/yellow/border, /turf/simulated/floor/tiled/dark, -/area/bridge) +/area/crux/bridge) "dSd" = ( /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -8075,7 +8071,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSe" = ( /obj/effect/floor_decal/borderfloor/corner{ dir = 8 @@ -8084,19 +8080,19 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSf" = ( /obj/structure/bed/chair, /obj/structure/cable/green{ icon_state = "1-2" }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSg" = ( /obj/effect/floor_decal/borderfloor/corner, /obj/effect/floor_decal/corner/blue/bordercorner, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSh" = ( /obj/machinery/button/alternate/door{ id_tag = "bridge blast"; @@ -8124,7 +8120,7 @@ dir = 6 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSi" = ( /obj/effect/floor_decal/borderfloor{ dir = 10 @@ -8139,7 +8135,7 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSj" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -8149,7 +8145,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/white/border, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSk" = ( /obj/structure/window/reinforced{ dir = 4 @@ -8170,18 +8166,18 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSl" = ( /obj/machinery/status_display, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dSm" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ dir = 1 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dSn" = ( /obj/structure/bed/chair/comfy/brown{ dir = 4 @@ -8190,14 +8186,14 @@ icon_state = "1-2" }, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dSo" = ( /obj/structure/table/woodentable, -/obj/item/book/manual/nt_regs, +/obj/item/book/fluff/nt_regs, /obj/item/magnetic_tape/random, /obj/item/taperecorder, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dSp" = ( /obj/structure/table/woodentable, /obj/machinery/recharger, @@ -8206,7 +8202,7 @@ pixel_y = -26 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dSq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance, @@ -8214,39 +8210,39 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dSr" = ( /turf/simulated/wall/r_wall, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dSs" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dSt" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dSu" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSv" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSw" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSx" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -8254,7 +8250,7 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSy" = ( /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -8265,7 +8261,7 @@ pixel_y = 32 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSz" = ( /obj/machinery/power/terminal{ dir = 4 @@ -8283,7 +8279,7 @@ /obj/item/stack/cable_coil/yellow, /obj/item/stack/cable_coil/yellow, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSA" = ( /obj/structure/cable{ icon_state = "0-2" @@ -8295,10 +8291,10 @@ output_level = 100000 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSB" = ( /turf/simulated/wall, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dSC" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/sign/warning/high_voltage{ @@ -8312,26 +8308,26 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dSD" = ( /obj/item/stack/cable_coil/yellow, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dSE" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dSF" = ( /obj/effect/floor_decal/industrial/warning/corner, /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dSG" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/computer/modular/preset/cardslot/command, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dSH" = ( /obj/structure/table/woodentable_reinforced, /obj/item/paper_bin{ @@ -8346,13 +8342,13 @@ }, /obj/item/pen, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dSI" = ( /obj/structure/table/woodentable_reinforced, /obj/machinery/faxmachine, /obj/machinery/light, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dSJ" = ( /obj/structure/table/woodentable_reinforced, /obj/item/paper_bin{ @@ -8370,7 +8366,7 @@ }, /obj/item/pen, /turf/simulated/floor/wood, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dSK" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8385,7 +8381,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dSL" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8404,7 +8400,7 @@ /obj/structure/cable/green, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dSM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8419,7 +8415,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dSN" = ( /obj/structure/table/reinforced, /obj/machinery/light{ @@ -8436,7 +8432,7 @@ dir = 10 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSO" = ( /obj/structure/table/reinforced, /obj/item/storage/box/PDAs{ @@ -8447,7 +8443,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSP" = ( /obj/structure/window/reinforced{ dir = 8; @@ -8469,7 +8465,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSQ" = ( /obj/structure/table/reinforced, /obj/structure/cable/green{ @@ -8483,7 +8479,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSR" = ( /obj/effect/floor_decal/borderfloor{ dir = 6 @@ -8501,7 +8497,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSS" = ( /obj/structure/table/reinforced, /obj/item/flash, @@ -8510,7 +8506,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dST" = ( /obj/structure/table/reinforced, /obj/machinery/light{ @@ -8528,7 +8524,7 @@ }, /obj/item/storage/box/donut, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dSU" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8543,7 +8539,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dSV" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8562,7 +8558,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dSW" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8577,7 +8573,7 @@ opacity = 0 }, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dSX" = ( /obj/machinery/button/alternate/door{ id_tag = "directorblast"; @@ -8585,7 +8581,7 @@ pixel_x = -26 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dSY" = ( /obj/structure/bed/chair/comfy/brown{ dir = 4 @@ -8595,18 +8591,18 @@ }, /obj/machinery/light, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dSZ" = ( /obj/structure/table/woodentable, /obj/item/storage/box/donut, /turf/simulated/floor/carpet, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dTa" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dTb" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -8614,7 +8610,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/open, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTc" = ( /obj/structure/rack, /obj/item/clothing/glasses/sunglasses, @@ -8629,7 +8625,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTe" = ( /obj/machinery/atmospherics/pipe/simple/hidden, /obj/effect/floor_decal/industrial/warning/corner, @@ -8643,10 +8639,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTf" = ( /turf/simulated/wall, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTg" = ( /obj/structure/cable{ icon_state = "0-2" @@ -8658,7 +8654,7 @@ output_level = 100000 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTh" = ( /obj/machinery/alarm{ pixel_y = 22 @@ -8673,7 +8669,7 @@ icon_state = "0-2" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTi" = ( /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -8684,7 +8680,7 @@ pixel_y = 32 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTj" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 @@ -8692,44 +8688,44 @@ /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTk" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTl" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTm" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTn" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dTo" = ( /obj/machinery/power/tracker, /obj/structure/cable/yellow{ icon_state = "0-4" }, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dTp" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dTq" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -8741,14 +8737,14 @@ icon_state = "4-8" }, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dTr" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dTs" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8761,7 +8757,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dTt" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8772,7 +8768,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTu" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8797,7 +8793,7 @@ id_tag = "aft_port_solar_pump" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTv" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -8813,7 +8809,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTw" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 @@ -8827,7 +8823,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTx" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -8845,7 +8841,7 @@ pixel_y = 25 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTy" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -8857,7 +8853,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTz" = ( /obj/machinery/atmospherics/binary/pump/on{ dir = 8; @@ -8873,7 +8869,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTA" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -8886,7 +8882,7 @@ name = "Southwest Solar Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dTB" = ( /obj/structure/cable{ icon_state = "4-8" @@ -8898,13 +8894,13 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dTC" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dTD" = ( /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -8916,7 +8912,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dTE" = ( /obj/structure/lattice, /obj/structure/cable{ @@ -8924,7 +8920,7 @@ }, /obj/machinery/door/firedoor, /turf/simulated/open, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dTF" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8939,7 +8935,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dTG" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8957,7 +8953,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dTH" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green, @@ -8976,7 +8972,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dTI" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -8991,11 +8987,11 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "dTJ" = ( /obj/structure/sign/warning/secure_area, /turf/simulated/wall/r_wall, -/area/bridge) +/area/crux/bridge) "dTK" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -9013,7 +9009,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dTL" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green, @@ -9032,7 +9028,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dTM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -9050,11 +9046,11 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/bridge) +/area/crux/bridge) "dTN" = ( /obj/structure/sign/warning/high_voltage, /turf/simulated/wall/r_wall, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dTO" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -9069,7 +9065,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dTP" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -9088,7 +9084,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dTQ" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -9106,7 +9102,7 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dTR" = ( /obj/machinery/door/firedoor, /obj/structure/cable/green{ @@ -9121,13 +9117,13 @@ }, /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dTS" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTT" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -9139,7 +9135,7 @@ icon_state = "1-2" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTU" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 @@ -9148,13 +9144,13 @@ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTV" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9168,7 +9164,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dTX" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -9181,7 +9177,7 @@ name = "Southeast Solar Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTY" = ( /obj/structure/cable{ icon_state = "2-8" @@ -9197,7 +9193,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dTZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -9209,7 +9205,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUa" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -9228,7 +9224,7 @@ pixel_y = 25 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUb" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 9 @@ -9242,7 +9238,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUc" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; @@ -9258,7 +9254,7 @@ dir = 8 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUd" = ( /obj/machinery/atmospherics/unary/vent_pump/high_volume{ dir = 1; @@ -9283,7 +9279,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUe" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9294,7 +9290,7 @@ name = "Engineering External Access" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUf" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9307,20 +9303,20 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dUg" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dUh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dUi" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -9332,14 +9328,14 @@ icon_state = "1-8" }, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dUj" = ( /obj/machinery/power/tracker, /obj/structure/cable/yellow{ icon_state = "0-8" }, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dUk" = ( /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, @@ -9347,7 +9343,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dUl" = ( /obj/machinery/camera/network/engineering{ c_tag = "ENG - Solar Southwest"; @@ -9356,7 +9352,7 @@ /obj/machinery/light/small, /obj/item/stool, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dUm" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -9369,7 +9365,7 @@ pixel_x = 21 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dUn" = ( /obj/machinery/light/small{ dir = 8 @@ -9378,48 +9374,48 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUo" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUp" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUq" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 4 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dUr" = ( /obj/effect/floor_decal/industrial/warning{ dir = 1 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dUs" = ( /obj/effect/floor_decal/industrial/warning/corner{ dir = 1 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dUt" = ( /obj/structure/sign/warning/high_voltage{ pixel_y = 32 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "dUu" = ( /obj/structure/ladder, /obj/effect/floor_decal/industrial/outline/yellow, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dUv" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9431,7 +9427,7 @@ dir = 6 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dUw" = ( /obj/machinery/light/small{ dir = 4 @@ -9446,7 +9442,7 @@ dir = 9 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dUx" = ( /obj/structure/cable, /obj/item/radio/intercom{ @@ -9464,7 +9460,7 @@ /obj/item/stack/cable_coil/yellow, /obj/item/stack/cable_coil/yellow, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUy" = ( /obj/machinery/light/small, /obj/machinery/camera/network/engineering{ @@ -9472,7 +9468,7 @@ dir = 1 }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dUz" = ( /obj/machinery/computer/modular/preset/cardslot/command{ dir = 1 @@ -9480,7 +9476,7 @@ /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/blue/border, /turf/simulated/floor/tiled, -/area/bridge) +/area/crux/bridge) "dUA" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -9493,7 +9489,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dUB" = ( /obj/structure/table/steel, /obj/random/maintenance/cargo, @@ -9501,7 +9497,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUC" = ( /obj/machinery/alarm{ dir = 1; @@ -9513,7 +9509,7 @@ /obj/random/maintenance/clean, /obj/random/maintenance/clean, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUD" = ( /obj/structure/closet/wardrobe/grey, /obj/item/storage/backpack, @@ -9522,14 +9518,14 @@ /obj/random/maintenance/cargo, /obj/random/maintenance/cargo, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUE" = ( /obj/structure/closet/firecloset, /obj/random/maintenance/clean, /obj/random/maintenance/clean, /obj/random/maintenance/security, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUF" = ( /obj/structure/rack, /obj/item/chems/spray/extinguisher, @@ -9539,7 +9535,7 @@ /obj/item/clothing/glasses/meson, /obj/random/maintenance/cargo, /turf/simulated/floor, -/area/maintenance/thirddeck/aftport) +/area/crux/maintenance/thirddeck/aftport) "dUG" = ( /obj/structure/rack{ dir = 4 @@ -9550,11 +9546,11 @@ /obj/random/maintenance/engineering, /obj/random/maintenance/medical, /turf/simulated/floor, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dUH" = ( /obj/machinery/floodlight, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dUI" = ( /obj/machinery/alarm{ dir = 1; @@ -9562,11 +9558,11 @@ }, /obj/machinery/portable_atmospherics/powered/scrubber, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dUJ" = ( /obj/machinery/portable_atmospherics/powered/pump/filled, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dUK" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -9579,7 +9575,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dUL" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -9589,7 +9585,7 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftportsolar) +/area/crux/outside/solars_aftportsolar) "dUM" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -9599,13 +9595,13 @@ }, /obj/structure/catwalk, /turf/simulated/floor, -/area/solar/aftstarboardsolar) +/area/crux/outside/solars_aftstarboardsolar) "dUO" = ( /obj/abstract/map_data{ height = 3 }, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "dUW" = ( /obj/machinery/light{ dir = 1 @@ -9613,7 +9609,7 @@ /obj/machinery/computer/modular/preset/cardslot/command, /obj/random_multi/single_item/captains_spare_id, /turf/simulated/floor/wood, -/area/crew_quarters/heads/sc/sd) +/area/crux/habitation/sd) "dVd" = ( /obj/item/stack/cable_coil/random, /obj/item/stack/cable_coil/random, @@ -9624,7 +9620,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/random/crate, /turf/simulated/floor, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dVs" = ( /obj/machinery/portable_atmospherics/hydroponics, /obj/machinery/power/apc{ @@ -9634,7 +9630,7 @@ }, /obj/structure/cable, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "dVu" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/structure/rack{ @@ -9646,7 +9642,7 @@ /obj/random/maintenance/clean, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "dVv" = ( /obj/structure/rack, /obj/random/maintenance/clean, @@ -9655,7 +9651,7 @@ /obj/random/maintenance/clean, /obj/random/cash, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "dVw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/industrial/warning/corner{ @@ -9668,7 +9664,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "dVB" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/holomap{ @@ -9676,7 +9672,7 @@ pixel_y = -32 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "dWE" = ( /obj/structure/cable/yellow, /obj/machinery/power/solar_control{ @@ -9685,7 +9681,7 @@ name = "Southwest Solar Control" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftportsolar) +/area/crux/maintenance/solars/aftportsolar) "dWX" = ( /obj/structure/cable/yellow, /obj/machinery/power/solar_control{ @@ -9694,19 +9690,19 @@ name = "Southeast Solar Control" }, /turf/simulated/floor/plating, -/area/maintenance/solars/aftstarboardsolar) +/area/crux/maintenance/solars/aftstarboardsolar) "dXC" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "ebu" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "ecC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -9714,7 +9710,7 @@ /obj/machinery/meter, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/foreport) +/area/crux/maintenance/thirddeck/foreport) "ecD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -9722,7 +9718,7 @@ /obj/machinery/meter, /obj/random/mouse, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/forestarboard) +/area/crux/maintenance/thirddeck/forestarboard) "ecE" = ( /obj/machinery/door/firedoor, /obj/effect/wingrille_spawn/reinforced, @@ -9743,7 +9739,7 @@ icon_state = "1-4" }, /turf/simulated/floor/plating, -/area/bridge/meeting_room) +/area/crux/bridge/meeting_room) "ecS" = ( /obj/machinery/power/apc{ dir = 4; @@ -9763,7 +9759,7 @@ pixel_y = -6 }, /turf/simulated/floor/carpet/blue, -/area/crew_quarters/heads/sc/bs) +/area/crux/habitation/bs) "edz" = ( /obj/structure/cable/green{ icon_state = "1-8" @@ -9778,7 +9774,7 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "edA" = ( /obj/structure/cable/green{ icon_state = "0-4" @@ -9801,7 +9797,7 @@ dir = 6 }, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "edB" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/zpipe/down/scrubbers, @@ -9816,7 +9812,7 @@ }, /obj/structure/railing, /turf/simulated/open, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "edC" = ( /obj/structure/cable{ icon_state = "0-4" @@ -9827,7 +9823,7 @@ dir = 4 }, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "edD" = ( /obj/structure/bed/chair{ dir = 8 @@ -9837,7 +9833,7 @@ pixel_y = -30 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod7/station) +/area/crux/shuttle/escape_pod7/station) "edE" = ( /obj/structure/cable{ icon_state = "1-8" @@ -9855,7 +9851,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "edF" = ( /obj/structure/bed/chair{ dir = 4 @@ -9865,18 +9861,18 @@ pixel_y = 30 }, /turf/simulated/floor/shuttle, -/area/shuttle/escape_pod8/station) +/area/crux/shuttle/escape_pod8/station) "edG" = ( /obj/machinery/power/breakerbox/activated{ RCon_tag = "Command Substation Bypass" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "edI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/wall, -/area/maintenance/substation/command) +/area/crux/maintenance/substation/command) "edJ" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -9890,7 +9886,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "edK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9901,7 +9897,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals4, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "edL" = ( /obj/structure/cable/green{ icon_state = "1-4" @@ -9914,7 +9910,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "edM" = ( /obj/structure/cable/green{ icon_state = "4-8" @@ -9927,7 +9923,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/west) +/area/crux/hallway/primary/thirddeck/west) "ehD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -9937,7 +9933,7 @@ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "eiU" = ( /obj/structure/cable{ icon_state = "2-4" @@ -9946,7 +9942,7 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "evN" = ( /obj/structure/cable{ icon_state = "1-8" @@ -9961,7 +9957,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "eGB" = ( /obj/structure/cable{ icon_state = "1-4" @@ -9971,7 +9967,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "eMR" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -9980,29 +9976,29 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/east) +/area/crux/hallway/primary/thirddeck/east) "eRy" = ( /obj/structure/railing/mapped, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "eTO" = ( /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "eXG" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "eZE" = ( /obj/structure/reagent_dispensers/watertank/firefighter{ name = "gardening water tank" }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "flv" = ( /turf/simulated/wall/r_wall, -/area/hydroponics) +/area/crux/habitation/hydroponics) "fpZ" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -10012,7 +10008,7 @@ pixel_x = -25 }, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "fqT" = ( /obj/structure/hygiene/sink/kitchen{ pixel_y = 28 @@ -10021,17 +10017,17 @@ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "fte" = ( /obj/structure/cable{ icon_state = "2-4" }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "fEX" = ( /obj/structure/flora/bush/brflowers, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "fHN" = ( /obj/structure/cable{ icon_state = "1-8" @@ -10043,7 +10039,7 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "fRE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10055,24 +10051,24 @@ dir = 4 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "gia" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet/red, -/area/chapel/main) +/area/crux/habitation/chapel) "gql" = ( /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "gve" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "gMZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "gOk" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10082,17 +10078,17 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "gVm" = ( /obj/structure/bed/sofa/pew/left/mahogany{ dir = 4 }, /turf/simulated/floor/carpet/red, -/area/chapel/main) +/area/crux/habitation/chapel) "hsn" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/hydroponics) +/area/crux/habitation/hydroponics) "huO" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10103,11 +10099,11 @@ name = "Prayer Room" }, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "hyL" = ( /obj/machinery/light, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "hOq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -10116,74 +10112,74 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "hOJ" = ( /obj/machinery/biogenerator, /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "iec" = ( /obj/structure/ladder, /obj/structure/catwalk, /obj/structure/railing/mapped, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "ijt" = ( /obj/structure/flora/bush/fullgrass, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "ioU" = ( /obj/structure/railing{ dir = 4 }, /turf/simulated/floor/tiled, -/area/hallway/primary/thirddeck/central) +/area/crux/hallway/primary/thirddeck/central) "irn" = ( /obj/structure/bed/sofa/pew/left/mahogany{ dir = 4 }, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "isD" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "iTo" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/wall/r_wall, -/area/rooflounge) +/area/crux/outside/roof) "iZU" = ( /turf/simulated/wall, -/area/rooflounge) +/area/crux/outside/roof) "jak" = ( /obj/structure/railing/mapped{ dir = 4 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "jea" = ( /obj/machinery/door/airlock/double/glass{ dir = 8; name = "Hyrdoponics" }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "jmT" = ( /obj/structure/railing/mapped, /obj/structure/table/glass, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "jtn" = ( /obj/structure/flora/bush/fernybush, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "jUm" = ( /obj/structure/cable{ icon_state = "2-8" @@ -10191,31 +10187,31 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "kpz" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "krA" = ( /obj/machinery/vending/hydronutrients{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "kEH" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/machinery/light, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "lxG" = ( /obj/structure/railing/mapped, /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "lEh" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10223,19 +10219,19 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "mdq" = ( /obj/structure/table/glass, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "meP" = ( /obj/structure/flora/bush/fullgrass, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "mhm" = ( /obj/structure/table/woodentable/mahogany, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "mks" = ( /obj/structure/cable{ icon_state = "0-2" @@ -10246,26 +10242,26 @@ pixel_x = 24 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "moH" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "mEU" = ( /obj/structure/railing/mapped, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "mIN" = ( /obj/abstract/level_data_spawner/crux_level_two, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "mZu" = ( /obj/structure/table/woodentable/mahogany, /obj/item/storage/candle_box, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "nbf" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10276,7 +10272,7 @@ name = "Hydroponics" }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "nde" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10288,7 +10284,7 @@ dir = 1 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "nln" = ( /obj/structure/cable, /obj/machinery/power/apc{ @@ -10302,49 +10298,49 @@ pixel_y = 11 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "nnf" = ( /obj/structure/closet/secure_closet/hydroponics, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "ntd" = ( /obj/machinery/seed_storage/garden{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "nGs" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "nTs" = ( /obj/structure/railing/mapped, /obj/structure/railing/mapped{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "nWS" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "oqa" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "oAM" = ( /obj/structure/railing/mapped{ dir = 4 }, /obj/structure/flora/bush/sparsegrass, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "oBY" = ( /obj/structure/table, /obj/item/hatchet, @@ -10360,20 +10356,20 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "oOs" = ( /turf/simulated/wall/r_wall, -/area/chapel/main) +/area/crux/habitation/chapel) "poB" = ( /obj/structure/railing/mapped, /obj/structure/bed/chair{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "pOn" = ( /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "pPg" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10383,53 +10379,53 @@ dir = 8 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "pUT" = ( /obj/structure/bed/sofa/pew/right/mahogany{ dir = 4 }, /turf/simulated/floor/carpet/red, -/area/chapel/main) +/area/crux/habitation/chapel) "qhl" = ( /obj/machinery/light/spot{ dir = 4 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "qjK" = ( /obj/structure/table/woodentable/mahogany, /obj/machinery/light/small{ dir = 4 }, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "qjO" = ( /obj/machinery/light/spot{ dir = 4 }, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "qvd" = ( /obj/structure/flora/bush/sparsegrass, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "qQT" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "qTZ" = ( /obj/machinery/honey_extractor, /obj/structure/table, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "rkR" = ( /turf/exterior/open, -/area/rooflounge) +/area/crux/outside/roof) "rzH" = ( /obj/effect/wingrille_spawn/reinforced, /obj/structure/cable{ @@ -10442,7 +10438,7 @@ dir = 4 }, /turf/simulated/floor/plating, -/area/hydroponics) +/area/crux/habitation/hydroponics) "rDz" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10454,7 +10450,7 @@ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "rNn" = ( /obj/structure/cable{ icon_state = "1-2" @@ -10462,13 +10458,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "rVV" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "sbY" = ( /obj/structure/table/marble, /obj/machinery/door/firedoor, @@ -10483,26 +10479,26 @@ health = 1e+006 }, /turf/simulated/floor/tiled/dark, -/area/hydroponics) +/area/crux/habitation/hydroponics) "scd" = ( /obj/machinery/light{ dir = 1 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "srl" = ( /turf/simulated/wall/r_wall, -/area/rooflounge) +/area/crux/outside/roof) "tbA" = ( /obj/structure/flora/bush/sparsegrass, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "thT" = ( /obj/structure/railing/mapped{ dir = 8 }, /turf/simulated/floor/tiled/monotile, -/area/roofgarden) +/area/crux/outside/roof/garden) "trs" = ( /obj/structure/bookcase, /obj/item/storage/bible/aqdas, @@ -10511,13 +10507,13 @@ /obj/item/storage/bible/quran, /obj/item/storage/bible/tanakh, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "ttF" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "txn" = ( /obj/machinery/door/airlock, /obj/structure/cable{ @@ -10526,17 +10522,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, -/area/maintenance/thirddeck/aftstarboard) +/area/crux/maintenance/thirddeck/aftstarboard) "udl" = ( /turf/simulated/floor/carpet/red, -/area/chapel/main) +/area/crux/habitation/chapel) "ugg" = ( /turf/simulated/wall, -/area/chapel/main) +/area/crux/habitation/chapel) "uFU" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "uIv" = ( /obj/structure/cable{ icon_state = "1-8" @@ -10548,25 +10544,25 @@ dir = 9 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) "uUO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "uWQ" = ( /obj/machinery/portable_atmospherics/hydroponics/soil, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "uYH" = ( /obj/machinery/light{ dir = 4 }, /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "vbo" = ( /obj/structure/flora/bush/ywflowers, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "vfA" = ( /obj/structure/table/woodentable/mahogany, /obj/item/storage/candle_box/incense, @@ -10574,47 +10570,47 @@ dir = 8 }, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "vjL" = ( /obj/structure/flora/bush/sparsegrass, /obj/machinery/light/spot{ dir = 4 }, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "vMb" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/rooflounge) +/area/crux/outside/roof) "vSP" = ( /obj/effect/wingrille_spawn/reinforced, /turf/simulated/floor/plating, -/area/chapel/main) +/area/crux/habitation/chapel) "vTy" = ( /obj/machinery/seed_extractor, /turf/simulated/floor/tiled/freezer, -/area/hydroponics) +/area/crux/habitation/hydroponics) "wIZ" = ( /obj/structure/catwalk, /obj/structure/railing/mapped, /turf/exterior/open, -/area/surface/level_two) +/area/crux/outside/level_two) "wUI" = ( /obj/structure/bed/sofa/pew/right/mahogany{ dir = 4 }, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "xII" = ( /turf/simulated/floor/tiled, -/area/rooflounge) +/area/crux/outside/roof) "xOj" = ( /obj/structure/flora/bush/ppflowers, /obj/machinery/light{ dir = 8 }, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "xWw" = ( /obj/structure/cable{ icon_state = "0-4" @@ -10625,11 +10621,11 @@ pixel_x = -24 }, /turf/simulated/floor/wood/walnut, -/area/chapel/main) +/area/crux/habitation/chapel) "xXE" = ( /obj/structure/flora/bush/sunnybush, /turf/simulated/floor/grass, -/area/roofgarden) +/area/crux/outside/roof/garden) "ybP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10641,7 +10637,7 @@ dir = 4 }, /turf/simulated/floor/reinforced, -/area/surface/level_two) +/area/crux/outside/level_two) (1,1,1) = {" djC diff --git a/maps/crux/crux.dm b/maps/crux/crux.dm index 0a3eb73d39b..fec531c9333 100644 --- a/maps/crux/crux.dm +++ b/maps/crux/crux.dm @@ -32,10 +32,32 @@ #include "atoms/telecoms.dm" #include "atoms/guns.dm" + #include "areas/_areas.dm" + #include "areas/bridge.dm" + #include "areas/engineering.dm" + #include "areas/eva.dm" + #include "areas/giftshop.dm" + #include "areas/habitation.dm" + #include "areas/hallways.dm" + #include "areas/hangar.dm" + #include "areas/hotel.dm" + #include "areas/maintenance.dm" + #include "areas/medical.dm" + #include "areas/network.dm" + #include "areas/outside.dm" + #include "areas/science.dm" + #include "areas/secure.dm" + #include "areas/shuttles.dm" + #include "areas/storage.dm" + #include "areas/supply.dm" + #include "areas/turbolift.dm" + #include "jobs/jobs.dm" #include "jobs/departments.dm" - #include "crux_areas.dm" + #include "submaps/_submaps.dm" + #include "submaps/engine/engine_supermatter.dm" + #include "crux_cryo.dm" #include "crux_overmap.dm" #include "crux_testing.dm" diff --git a/maps/crux/crux_areas.dm b/maps/crux/crux_areas.dm deleted file mode 100644 index 1eaefc885da..00000000000 --- a/maps/crux/crux_areas.dm +++ /dev/null @@ -1,1113 +0,0 @@ -#define AMBIENCE_SPACE list('sound/ambience/ambispace1.ogg','sound/ambience/ambispace2.ogg','sound/ambience/ambispace3.ogg','sound/ambience/ambispace4.ogg','sound/ambience/ambispace5.ogg') - -/datum/map/crux - apc_test_exempt_areas = list( - /area/exoplanet = NO_SCRUBBER|NO_VENT|NO_APC, - /area/engineering/engine_room = NO_SCRUBBER|NO_VENT|NO_APC, // TODO port engine - /area/engineering/engine_waste = NO_SCRUBBER|NO_VENT|NO_APC, // TODO port engine - /area/surface = NO_SCRUBBER|NO_VENT|NO_APC, - /area/surface/level_one = NO_VENT|NO_APC, - /area/space = NO_SCRUBBER|NO_VENT|NO_APC, - /area/turbolift = NO_SCRUBBER|NO_VENT|NO_APC, - /area/shuttle = NO_SCRUBBER|NO_VENT|NO_APC, - /area/solar = NO_SCRUBBER|NO_VENT|NO_APC, - /area/shuttle/shuttle_start_2 = NO_SCRUBBER|NO_APC, - /area/shuttle/shuttle_start = NO_SCRUBBER|NO_APC, - /area/construction/firstdeck = NO_SCRUBBER|NO_VENT, - /area/construction/seconddeck/construction1 = NO_SCRUBBER|NO_VENT, - /area/storage/emergency_storage = NO_SCRUBBER|NO_VENT, - /area/rnd/test_area = NO_SCRUBBER|NO_VENT, - /area/balcony/south = NO_SCRUBBER|NO_VENT, - /area/crew_quarters/bar = NO_SCRUBBER|NO_VENT, - /area/roofgarden = NO_SCRUBBER|NO_VENT, - /area/maintenance/library = NO_SCRUBBER|NO_VENT, - /area/maintenance/medbay = NO_SCRUBBER|NO_VENT, - /area/maintenance/firstdeck = NO_SCRUBBER|NO_VENT, - /area/maintenance/firstdeck/foreport = NO_SCRUBBER, - /area/maintenance/firstdeck/forestarboard = NO_SCRUBBER, - /area/maintenance/substation = NO_SCRUBBER|NO_VENT, - /area/maintenance/robotics = NO_SCRUBBER|NO_VENT, - /area/maintenance/emergencyeva = NO_SCRUBBER|NO_VENT, - /area/maintenance/medbay_fore = NO_SCRUBBER|NO_VENT, - /area/maintenance/research_medical = NO_SCRUBBER|NO_VENT, - /area/maintenance/engineering = NO_SCRUBBER|NO_VENT, - /area/maintenance/bar = NO_SCRUBBER|NO_VENT, - /area/maintenance/disposal = NO_SCRUBBER|NO_VENT, - /area/maintenance/apmaint = NO_SCRUBBER|NO_VENT, - /area/maintenance/central = NO_SCRUBBER|NO_VENT, - /area/maintenance/thirddeck = NO_SCRUBBER|NO_VENT, - /area/maintenance/security_starboard = NO_SCRUBBER|NO_VENT, - /area/maintenance/solars/aftportsolar = NO_SCRUBBER, - /area/maintenance/solars/aftstarboardsolar = NO_SCRUBBER, - /area/maintenance/medbay = NO_SCRUBBER, - /area/maintenance/cargo = NO_SCRUBBER, - /area/maintenance/research = NO_SCRUBBER, - /area/maintenance/solars/foreportsolar = NO_SCRUBBER, - /area/maintenance/solars/forestarboardsolar = NO_SCRUBBER, - /area/tcomm/chamber = NO_SCRUBBER, - /area/server = NO_SCRUBBER, - /area/medical/genetics = NO_APC - ) - area_coherency_test_exempt_areas = list( - /area/space, - /area/surface, - /area/surface/level_one, - /area/surface/level_two - ) - -//Planetside -/area -/area/surface - name = "\improper Crux Surface" - area_flags = AREA_FLAG_RAD_SHIELDED - -/area/surface/level_one - name = "\improper Crux Exterior" - -/area/surface/level_two - name = "\improper Crux Heights" - -/area/turbolift - name = "\improper Turbolift" - icon_state = "shuttle" - requires_power = 0 - dynamic_lighting = 1 - area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT - -// Elevator areas. -/area/turbolift/port_deck_one - name = "lift (ground floor)" - lift_floor_label = "Ground Floor" - lift_floor_name = "Ground Floor" - lift_announce_str = "Arriving at Ground Floor: Main Hangars. Cargo Delivery. Telecommunications. Auxiliary Shuttle Docks. Escape Pods." - base_turf = /turf/simulated/floor - -/area/turbolift/port_deck_two - name = "lift (first floor)" - lift_floor_label = "First Floor" - lift_floor_name = "First Floor" - lift_announce_str = "Arriving at First Floor: Operations. Engineering. Cargo. Medbay. Research. Security. Crew Facilities Shuttle Docks. Cryogenic Storage." - -/area/turbolift/starboard_deck_one - name = "lift (ground floor)" - lift_floor_label = "Ground Floor" - lift_floor_name = "Ground Floor" - lift_announce_str = "Arriving at Ground Floor: Main Hangars. Cargo Delivery. Telecommunications. Auxiliary Shuttle Docks. Escape Pods." - base_turf = /turf/simulated/floor - -/area/turbolift/starboard_deck_two - name = "lift (first floor)" - lift_floor_label = "First Floor" - lift_floor_name = "First Floor" - lift_announce_str = "Arriving at First Floor: Operations. Engineering. Cargo. Medbay. Research. Security. Crew Facilities, Shuttle Docks. Cryogenic Storage." - -/area/turbolift/center_deck_one - name = "lift (ground floor)" - lift_floor_label = "Ground Floor" - lift_floor_name = "Ground Floor" - lift_announce_str = "Arriving at Ground Floor: Main Hangars. Cargo Delivery. Telecommunications. Auxiliary Shuttle Docks. Escape Pods." - base_turf = /turf/simulated/floor - -/area/turbolift/center_deck_two - name = "lift (first floor)" - lift_floor_label = "First Floor" - lift_floor_name = "First Floor" - lift_announce_str = "Arriving at First Floor: Operations. Engineering. Cargo. Medbay. Research. Security. Crew Facilities Shuttle Docks. Cryogenic Storage." - -/area/turbolift/center_deck_three - name = "lift (second floor)" - lift_floor_label = "Second Floor" - lift_floor_name = "Second Floor" - lift_announce_str = "Arriving at Second Floor: Command. Bridge. Meeting Room. Command Quarters. AI Core. Solars." - -/area/turbolift/cargo_deck_one - name = "lift (ground floor)" - lift_floor_label = "Ground Floor" - lift_floor_name = "Ground Floor" - lift_announce_str = "Arriving at Cargo Delivery." - base_turf = /turf/simulated/floor - -/area/turbolift/cargo_deck_two - name = "lift (first floor)" - lift_floor_label = "First Floor" - lift_floor_name = "First Floor" - lift_announce_str = "Arriving at Cargo." - -//Ground floor (Z-1) - -/area/engineering/auxiliary_engineering - name = "\improper Auxiliary Engineering Station" - sound_env = SMALL_ENCLOSED - -/area/crew_quarters/firstdeck/gym - name = "\improper Station Gym" - icon_state = "fitness" - -/area/construction/firstdeck - name = "\improper Engineering Construction Area" - icon_state = "construction" - -/area/construction/firstdeck/construction1 - name = "\improper Ground Floor Engineering Construction Area 1" - -/area/construction/firstdeck/construction2 - name = "\improper Ground Floor Engineering Construction Area 2" - -/area/construction/firstdeck/construction3 - name = "\improper Ground Floor Engineering Construction Area 3" - -/area/construction/firstdeck/construction4 - name = "\improper Ground Floor Engineering Construction Area 4" - -/area/construction/firstdeck/construction5 - name = "\improper Ground Floor Engineering Construction Area 5" - -/area/crew_quarters/toilet - name = "\improper Toilets" - -/area/crew_quarters/toilet/firstdeck - name = "\improper Ground Floor Restroom" - -/area/crew_quarters/toilet/seconddeck/south - name = "\improper First Floor South Restroom" - -/area/maintenance/firstdeck - name = "Ground Floor Maintenance" - icon_state = "maintcentral" - -/area/maintenance/firstdeck/aftstarboard - name = "Ground Floor Southeast Maintenance" - icon_state = "asmaint" - -/area/maintenance/firstdeck/aftport - name = "Ground Floor Southwest Maintenance" - icon_state = "apmaint" - -/area/maintenance/firstdeck/forestarboard - name = "Ground Floor Northeast Maintenance" - icon_state = "fsmaint" - -/area/maintenance/firstdeck/foreport - name = "Ground Floor Northwest Maintenance" - icon_state = "fpmaint" - -/area/maintenance/firstdeck/centralstarboard - name = "Ground Floor East Maintenance" - icon_state = "smaint" - -/area/maintenance/firstdeck/centralport - name = "Ground Floor West Maintenance" - icon_state = "pmaint" - -/area/hallway/primary/firstdeck/elevator - name = "\improper Ground Floor Central Elevator Access" - icon_state = "hallC" - -/area/hallway/primary/firstdeck/north - name = "\improper Ground Floor North Hallway" - icon_state = "hallF" - -/area/hallway/primary/firstdeck/fpcenter - name = "\improper Ground Floor Northwest Central Hallway" - icon_state = "hallC1" - -/area/hallway/primary/firstdeck/fscenter - name = "\improper Ground Floor Northeast Central Hallway" - icon_state = "hallC2" - -/area/hallway/primary/firstdeck/apcenter - name = "\improper Ground Floor Southwest Central Hallway" - icon_state = "hallC3" - -/area/hallway/primary/firstdeck/ascenter - name = "\improper Ground Floor Southeast Central Hallway" - icon_state = "hallC4" - -/area/hallway/primary/firstdeck/south - name = "\improper Ground Floor South Hallway" - icon_state = "hallA" - -/area/hallway/primary/firstdeck/south/entrance - name = "\improper Ground Floor South Entrance Hallway" - -/area/hallway/primary/firstdeck/west - name = "\improper Ground Floor West Hallway" - icon_state = "hallP" - -/area/hallway/primary/firstdeck/east - name = "\improper Ground Floor East Hallway" - icon_state = "hallS" - -/area/hallway/primary/firstdeck/auxdockfore - name = "\improper Ground Floor North Auxiliary Dock" - icon_state = "docking_hallway" - -/area/hallway/secondary/escape/firstdeck/ep_port - name = "\improper Large Escape Pod 2 West" - icon_state = "escape_pod" - -/area/hallway/secondary/escape/firstdeck/ep_starboard1 - name = "\improper Ground Floor Research Access Hallway" - icon_state = "escape_pod" - -/area/hallway/secondary/escape/firstdeck/ep_starboard2 - name = "\improper Large Escape Pod 2 East" - icon_state = "escape_pod" - -/area/hangar - name = "\improper Ground Floor Hangar" - icon_state = "hangar" - sound_env = LARGE_ENCLOSED -// ambience = AMBIENCE_HANGAR - -/area/hangar/one - name = "\improper Hangar One" - -/area/hangar/onecontrol - name = "\improper Hangar One Control Room" - icon_state = "hangarcontrol" - -/area/hangar/two - name = "\improper Hangar Two" - -/area/hangar/twocontrol - name = "\improper Hangar Two Control Room" - icon_state = "hangarcontrol" - -/area/hangar/three - name = "\improper Hangar Three" - -/area/hangar/threecontrol - name = "\improper Hangar Three Control Room" - icon_state = "hangarcontrol" - -/area/security/checkpoint3 - name = "\improper Security - Auxiliary Checkpoint" - icon_state = "security" - -/area/medical/first_aid_station - name = "\improper First-Aid Station" - icon_state = "medbay2" - -/area/medical/first_aid_station/firstdeck - name = "\improper Ground Floor First-Aid Station" - -/area/storage/emergency_storage - area_flags = AREA_FLAG_RAD_SHIELDED - name = "Emergency Storage" - icon_state = "emergencystorage" - -/area/storage/emergency_storage/firstdeck/aft_emergency - name = "Ground Floor South Emergency Storage" - -/area/storage/emergency_storage/firstdeck/ap_emergency - name = "Ground Floor Southwest Emergency Storage" - -/area/storage/emergency_storage/firstdeck/as_emergency - name = "Ground Floor Southeast Emergency Storage" - -/area/storage/emergency_storage/firstdeck/fore_emergency - name = "Ground Floor North Emergency Storage" - -/area/storage/emergency_storage/firstdeck/fp_emergency - name = "Ground Floor Northwest Emergency Storage" - -/area/storage/emergency_storage/firstdeck/fs_emergency - name = "Ground Floor Northeast Emergency Storage" - -/area/ai_monitored/eva - name = "EVA Storage" - icon_state = "eva" - -/area/ai_monitored/eva/pilot - name = "Pilot EVA Storage" - -/area/tcomm/ - icon_state = "tcomsatcham" -// holomap_color = HOLOMAP_AREACOLOR_COMMAND - -/area/tcomm/entrance - name = "\improper Telecomms Teleporter" - icon_state = "tcomsatentrance" - -/area/tcomm/tcomfoyer - name = "\improper Telecomms Foyer" - icon_state = "tcomsatfoyer" - -/area/tcomm/chamber - name = "\improper Telecomms Central Compartment" - icon_state = "tcomsatcham" - -/area/tcomm/tcomstorage - name = "\improper Telecomms Storage" - icon_state = "tcomsatstore" - -/area/tcomm/computer - name = "\improper Telecomms Control Room" - icon_state = "tcomsatcomp" - -/area/quartermaster/hallway - name = "\improper Cargo Bay Hallway" - icon_state = "quart" - -/area/quartermaster/mininglockerroom - name = "\improper Mining Locker Room" - icon_state = "mining" - -//First floor (Z-2) - -/area/maintenance/emergencyeva - name = "\improper Emergency EVA Maintenance" - icon_state = "maint_eva" - -/area/maintenance/robotics - name = "Robotics Maintenance" - icon_state = "maint_research" - -/area/maintenance/research_medical - name = "Research Medical Maintenance" - icon_state = "maint_research" - -/area/construction/seconddeck - name = "\improper First Floor Engineering Construction Area" - icon_state = "construction" - -/area/construction/seconddeck/construction1 - name = "\improper First Floor Engineering Construction Area 1" - -/area/crew_quarters/heads/sc - name = "\improper Command - Head Office" - icon_state = "head_quarters" - area_flags = AREA_FLAG_RAD_SHIELDED - sound_env = MEDIUM_SOFTFLOOR - -/area/crew_quarters/heads/sc/hop - name = "\improper Command - HoP's Office" - icon_state = "head_quarters" -// holomap_color = HOLOMAP_AREACOLOR_COMMAND - area_flags = AREA_FLAG_IS_NOT_PERSISTENT - -/area/crew_quarters/heads/sc/hor - name = "\improper Research - RD's Office" - icon_state = "head_quarters" -// holomap_color = HOLOMAP_AREACOLOR_SCIENCE - area_flags = AREA_FLAG_IS_NOT_PERSISTENT - -/area/crew_quarters/heads/sc/chief - name = "\improper Engineering - CE's Office" - icon_state = "head_quarters" -// holomap_color = HOLOMAP_AREACOLOR_ENGINEERING - -/area/crew_quarters/heads/eleostura/servicemanager - name = "\improper Service Manager's Office" - icon_state = "head_quarters" -// holomap_color = HOLOMAP_AREACOLOR_SECURITY - -/area/crew_quarters/heads/sc/cmo - name = "\improper Medbay - CMO's Office" - icon_state = "head_quarters" -// holomap_color = HOLOMAP_AREACOLOR_MEDICAL - area_flags = AREA_FLAG_IS_NOT_PERSISTENT - -/area/engineering/engineer_eva - name = "\improper Engineering EVA" - icon_state = "engine_eva" - -/area/engineering/engi_restroom - name = "\improper Engineering Restroom" - icon_state = "toilet" - area_flags = AREA_FLAG_RAD_SHIELDED - sound_env = SMALL_ENCLOSED - -/area/engineering/hallway/atmos_hallway - name = "\improper Atmospherics Hallway" - -/area/engineering/hallway/engineer_hallway - name = "\improper Engineering Hallway" - icon_state = "engineering_aft_hallway" - -/area/hallway/primary/seconddeck/stairwell - name = "\improper First Floor Central Stairwell Access" - icon_state = "hallC" - -/area/hallway/primary/seconddeck/north - name = "\improper First Floor North Hallway" - icon_state = "hallF" - -/area/hallway/primary/seconddeck/fpcenter - name = "\improper First Floor Northwest Central Hallway" - icon_state = "hallC1" - -/area/hallway/primary/seconddeck/fscenter - name = "\improper First Floor Northeast Central Hallway" - icon_state = "hallC2" - -/area/hallway/primary/seconddeck/apcenter - name = "\improper First Floor Southwest Central Hallway" - icon_state = "hallC3" - -/area/hallway/primary/seconddeck/ascenter - name = "\improper First Floor Southeast Central Hallway" - icon_state = "hallC4" - -/area/hallway/primary/seconddeck/south - name = "\improper First Floor South Hallway" - icon_state = "hallA" - -/area/hallway/primary/seconddeck/west - name = "\improper First Floor West Hallway" - icon_state = "hallP" - -/area/hallway/primary/seconddeck/east - name = "\improper First Floor East Hallway" - icon_state = "hallS" - -/area/hallway/secondary/seconddeck/research_medical - name = "Research Medical Hallway" - icon_state = "hallS" - -/area/medical/foyer - name = "\improper Medbay Foyer" - icon_state = "medbay2" -// music = 'sound/ambience/signal.ogg' - -/area/medical/first_aid_station/seconddeck/ - name = "\improper First-Aid Station" - -/area/medical/first_aid_station/seconddeck/west - name = "\improper West First-Aid Station" - -/area/medical/first_aid_station/seconddeck/north - name = "\improper North First-Aid Station" - -/area/medical/medical_lockerroom - name = "\improper Medbay Locker Room" - icon_state = "locker" - -/area/medical/medical_restroom - name = "\improper Medbay Restroom" - icon_state = "medbay_restroom" - area_flags = AREA_FLAG_RAD_SHIELDED - sound_env = SMALL_ENCLOSED - -/area/hotel/free_suite_a - name = "\improper Free Suite A" - icon_state = "security_aid_station" - -/area/hotel/free_suite_b - name = "\improper Free Suite B" - icon_state = "security_equip_storage" - -/area/hotel/hotel_restroom - name = "\improper Hotel Restroom" - icon_state = "security_bathroom" - area_flags = AREA_FLAG_RAD_SHIELDED - sound_env = SMALL_ENCLOSED - -/area/storage/emergency_storage/seconddeck/ap_emergency - name = "First Floor Southwest Emergency Storage" - -/area/storage/emergency_storage/seconddeck/as_emergency - name = "First Floor Southeast Emergency Storage" - -/area/storage/emergency_storage/seconddeck/central_emergency - name = "First Floor Central Emergency Storage" - -/area/storage/emergency_storage/seconddeck/fp_emergency - name = "First Floor Northwest Emergency Storage" - -/area/storage/emergency_storage/seconddeck/fs_emergency - name = "First Floor Northeast Emergency Storage" - -/area/storage/emergency_storage/seconddeck/port_emergency - name = "First Floor West Emergency Storage" - -/area/rnd/research_restroom_sc - name = "\improper Research Restroom" - icon_state = "research_restroom" - area_flags = AREA_FLAG_RAD_SHIELDED - sound_env = SMALL_ENCLOSED - -/area/rnd/research_lockerroom - name = "\improper Research - Locker Room" - icon_state = "toxlab" - -/area/rnd/toxins_launch - name = "\improper Research - Toxins Launch Room" - icon_state = "toxtest" - -/area/research - name = "\improper Research" - icon_state = "research" - -/area/research/hallway - name = "\improper Research - Ground Floor Hallway" - -/area/rnd/xenobiology - name = "\improper Xenobiology" - -/area/rnd/xenobiology/xenoflora_isolation - name = "\improper Xenoflora Isolation" - icon_state = "xeno_f_store" - -/area/quartermaster/lockerroom - name = "\improper Cargo Locker Room" - icon_state = "quart" - -//Deck Three (Z-3) - -/area/ai - name = "AI Core" - icon_state = "ai_upload" - -// holomap_color = HOLOMAP_AREACOLOR_COMMAND -// ambience = AMBIENCE_AI - -/area/ai/ai_cyborg_station - name = "\improper Cyborg Station" - icon_state = "ai_cyborg" - sound_env = SMALL_ENCLOSED - -/area/ai/ai_upload - name = "\improper AI Upload Chamber" - icon_state = "ai_upload" - -/area/ai/ai_upload_foyer - name = "AI Upload Access" - icon_state = "ai_foyer" - sound_env = SMALL_ENCLOSED - -/area/ai/ai_server_room - name = "Messaging Server Room" - icon_state = "ai_server" - sound_env = SMALL_ENCLOSED - -/area/crew_quarters/heads/sc/sd - name = "\improper Command - Station Director's Office" - icon_state = "captain" - sound_env = MEDIUM_SOFTFLOOR -// holomap_color = HOLOMAP_AREACOLOR_COMMAND - -/area/crew_quarters/heads/sc/hop/quarters - name = "\improper Command - HoP's Quarters" - icon_state = "head_quarters" - -/area/crew_quarters/heads/sc/hor/quarters - name = "\improper Research - RD's Quarters" - icon_state = "research" - -/area/crew_quarters/heads/sc/chief/quarters - name = "\improper Engineering - CE's Quarters" - icon_state = "engine" - -/area/crew_quarters/heads/eleostura/servicemanager/quarters - name = "\improper Security - HoS' Quarters" - icon_state = "security" - -/area/crew_quarters/heads/sc/cmo/quarters - name = "\improper Medbay - CMO's Quarters" - icon_state = "medbay" - -/area/crew_quarters/heads/sc/restroom - name = "\improper Command - Restroom" - icon_state = "toilet" - -/area/crew_quarters/heads/sc/bs - name = "\improper Command - Secretary Quarters" - -/area/hallway/primary/thirddeck/central - name = "\improper Second Floor Central Hallway" - icon_state = "hallC" - -/area/hallway/primary/thirddeck/west - name = "\improper Second Floor West Hallway" - icon_state = "hallP" - -/area/hallway/primary/thirddeck/east - name = "\improper Second Floor East Hallway" - icon_state = "hallS" - -/area/maintenance/thirddeck/aftstarboard - name = "Second Floor Southeast Maintenance" - icon_state = "asmaint" - -/area/maintenance/thirddeck/aftport - name = "Second Floor Southwest Maintenance" - icon_state = "apmaint" - -/area/maintenance/thirddeck/forestarboard - name = "Third Deck Northeast Maintenance" - icon_state = "fsmaint" - -/area/maintenance/thirddeck/foreport - name = "Third Deck Northwest Maintenance" - icon_state = "fpmaint" - -/area/maintenance/solars - icon_state = "SolarcontrolA" - sound_env = SMALL_ENCLOSED -// holomap_color = HOLOMAP_AREACOLOR_ENGINEERING - -/area/maintenance/solars/aftportsolar - name = "Solar Maintenance - Southwest" - icon_state = "SolarcontrolP" - -/area/maintenance/solars/aftstarboardsolar - name = "Solar Maintenance - Southeast" - icon_state = "SolarcontrolS" - -/area/maintenance/solars/foreportsolar - name = "Solar Maintenance - Northwest" - icon_state = "SolarcontrolP" - -/area/maintenance/solars/forestarboardsolar - name = "Solar Maintenance - Northeast" - icon_state = "SolarcontrolS" - -/area/solar - requires_power = 1 - always_unpowered = 1 - ambience = AMBIENCE_SPACE - -/area/solar/aftportsolar - name = "\improper Southwest Solar Array" - icon_state = "panelsP" - -/area/solar/foreportsolar - name = "\improper Northwest Solar Array" - icon_state = "panelsP" - -/area/solar/aftstarboardsolar - name = "\improper Southeast Solar Array" - icon_state = "panelsS" - -/area/solar/forestarboardsolar - name = "\improper Northeast Solar Array" - icon_state = "panelsS" - -// Shuttles - -//Shuttle One - -/area/shuttle/shuttle_start - name = "Shuttle One" - icon_state = "shuttlered" - requires_power = 0 - dynamic_lighting = 1 - area_flags = AREA_FLAG_RAD_SHIELDED - -//Shuttle Two -/area/shuttle/shuttle_start_2 - name = "Shuttle Two" - icon_state = "shuttlered" - requires_power = 0 - dynamic_lighting = 1 - area_flags = AREA_FLAG_RAD_SHIELDED - -//Small Escape Pods - -/area/shuttle/escape_pod1 - name = "\improper Escape Pod One" -// music = "music/escape.ogg" - -/area/shuttle/escape_pod1/station - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/airless - -/area/shuttle/escape_pod2 - name = "\improper Escape Pod Two" -// music = "music/escape.ogg" - -/area/shuttle/escape_pod2/station - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/airless - -/area/shuttle/escape_pod7 - name = "\improper Escape Pod Seven" -// music = "music/escape.ogg" - -/area/shuttle/escape_pod7/station - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/reinforced/airless - -/area/shuttle/escape_pod8 - name = "\improper Escape Pod Eight" -// music = "music/escape.ogg" - -/area/shuttle/escape_pod8/station - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/reinforced/airless - -//Large Escape Pods - -/area/shuttle/large_escape_pod1 - name = "\improper Large Escape Pod One" -// music = "music/escape.ogg" - -/area/shuttle/large_escape_pod1/station - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/airless - -/area/shuttle/large_escape_pod2 - name = "\improper Large Escape Pod Two" -// music = "music/escape.ogg" - -/area/shuttle/large_escape_pod2/station - icon_state = "shuttle2" - base_turf = /turf/simulated/floor/airless - - -// Misc -/area/security/nuke_storage - name = "\improper Nuclear Material Storage" - -/area/rnd/xenobiology/xenoflora - name = "\improper Xenoflora Lab" - -/area/quartermaster/storage - name = "\improper Quartermaster Storage" - -/area/hotel/hallway - name = "\improper Hotel Hallway" - -/area/hotel/standard_room_a - name = "\improper Standard Room A" - -/area/hotel/standard_room_b - name = "\improper Standard Room B" - -/area/hotel/standard_room_c - name = "\improper Standard Room C" - -/area/hotel/standard_room_d - name = "\improper Standard Room D" - -/area/rnd/research_foyer - name = "\improper Research Foyer" - -/area/security/armoury - name = "\improper Armoury" - -/area/security/tactical - name = "\improper Tactical Storage" - -/area/rnd/test_area - name = "\improper Research Test Area" - -/area/hotel/lounge - name = "\improper Hotel Lounge" - -/area/medical/genetics_cloning - name = "\improper Cloning Lab" - -/area/medical/ward - name = "\improper Medical Ward" - -/area/medical/morgue - name = "\improper Morgue" - -/area/crew_quarters/bar - name = "\improper Bar" - -/area/hotel/kitchenette - name = "\improper Kitchenette" - -/area/engineering/atmos - name = "\improper Atmospherics" - -/area/hotel/executive_suite_a - name = "\improper Executive Suite A" - -/area/hotel/executive_suite_b - name = "\improper Executive Suite B" - -/area/hotel/executive_suite_c - name = "\improper Executive Suite C" - -/area/hotel/executive_suite_d - name = "\improper Executive Suite D" - -/area/maintenance/security_starboard - name = "\improper East Security" - -/area/hotel/pool_locker_room - name = "\improper Pool Lockers" - -/area/hotel/pool_restroom - name = "\improper Pool Restroom" - area_flags = AREA_FLAG_RAD_SHIELDED - sound_env = SMALL_ENCLOSED - -/area/hotel/staff_lounge - name = "\improper Staff Lounge" - -/area/hotel/lobby - name = "\improper Hotel Lobby" - -/area/hotel/pool - name = "\improper Pool" - -/area/hotel/conference_room - name = "\improper Conference Room" - -/area/hallway/secondary/eva_hallway - name = "\improper EVA Hallway" - -/area/maintenance/engineering - name = "\improper Engineering Maintenance" - -/area/maintenance/research - name = "\improper Research Maintenance" - -/area/storage/auxillary - name = "\improper Auxillary Storage" - -/area/janitor - name = "\improper Custodial Office" - - -/area/engineering/atmos/monitoring - name = "\improper Atmospherics Monitoring" - -/area/maintenance/research - name = "\improper Research Maintenance" - -/area/engineering/storage - name = "\improper Engineering Storage" - -/area/rnd/storage - name = "\improper Research Storage" - -/area/engineering/drone_fabrication - name = "\improper Drone Fabrication" - -/area/medical/medbay_emt_bay - name = "\improper EMT Bay" - -/area/quartermaster/qm - name = "\improper Quartermaster Office" - -/area/quartermaster/foyer - name = "\improper Quartermaster Foyer" - -/area/quartermaster/delivery - name = "\improper Delivery Office" - -/area/medical/biostorage - name = "\improper Biological Storage" - -/area/medical/medbay_primary_storage - name = "\improper Primary Medical Storage" - -/area/medical/chemistry - name = "\improper Chemistry" - -/area/medical/reception - name = "\improper Medical Reception" - -/area/medical/exam_room - name = "\improper Exam Room" - -/area/medical/medbay - name = "\improper Medbay" - -/area/quartermaster/warehouse - name = "\improper Warehouse" - -/area/maintenance/cargo - name = "\improper Cargo Maintenance" - -/area/maintenance/disposal - name = "\improper Disposals" - -/area/quartermaster/office - name = "\improper Quartermaster's Office" - -/area/medical/psych - name = "\improper Psychiatrist's Office" - -/area/medical/cryo - name = "\improper Cryogenics" - -/area/medical/sleeper - name = "\improper Sleepers" - -/area/engineering/engine_smes - name = "\improper SMES Chamber" - -/area/ai_monitored/emergency/eva - name = "\improper EVA Storage" - -/area/maintenance/medbay_fore - name = "\improper North Medbay" - -/area/maintenance/medbay - name = "\improper Medbay Maintenance" - -/area/maintenance/bar - name = "\improper Bar Maintenance" - -/area/maintenance/library - name = "\improper Library Maintenance" - -/area/engineering/engine_waste - name = "\improper Engine Waste Handling" - -/area/rnd/mixing - name = "\improper Toxins Mixing" - -/area/rnd/workshop - name = "\improper Research Workshop" - -/area/engineering/locker_room - name = "\improper Engineering Locker Room" - -/area/engineering/break_room - name = "\improper Engineering Break Room" - -/area/engineering/workshop - name = "\improper Engineering Workshop" - -/area/server - name = "\improper Server" - -/area/rnd/misc_lab - name = "\improper Miscellaneous Testing" - -/area/assembly/robotics - name = "\improper Robotics" - -/area/rnd/lab - name = "\improper Research and Development" - -/area/engineering/engine_room - name = "\improper Engine Room" - -/area/engineering/foyer - name = "\improper Engineering Foyer" - -/area/teleporter - name = "\improper Teleporter" - -/area/maintenance/central - name = "\improper Central Maintenance" - -/area/medical/virology - name = "\improper Virology" - -/area/assembly/chargebay - name = "\improper Recharging Bay" - -/area/engineering/engine_airlock - name = "\improper Engine Airlock" - -/area/maintenance/apmaint - name = "\improper AP Maintenance" - -/area/engineering/engine_monitoring - name = "\improper Engine MOnitoring" - -/area/medical/medbay2 - name = "\improper Medbay 2" - -/area/medical/genetics - name = "\improper Genetics" - -/area/crew_quarters/kitchen - name = "\improper Kitchen" - -/area/crew_quarters/kitchen/coldroom - name = "\improper Kitchen Cold Room" - -/area/medical/patient_wing - name = "\improper Patient Wing" - -/area/medical/patient_a - name = "\improper Patient Room A" - -/area/medical/patient_b - name = "\improper Patient Room B" - -/area/crew_quarters/cafeteria - name = "\improper Cafeteria" - -/area/medical/surgery_storage - name = "\improper Surgical Storage" - -/area/medical/surgery2 - name = "\improper Secondary Surgery" - -/area/medical/surgery - name = "\improper Primary Surgery" - -/area/medical/surgeryobs - name = "\improper Surgery Observation" - -/area/hydroponics - name = "\improper Hydroponics" - -/area/chapel/main - name = "\improper Prayer Room" - -/area/library - name = "\improper Library" - -/area/library/office - name = "\improper Library - Curator's Office" - -/area/storage/primary - name = "\improper Primary Tool Storage" - -/area/bridge - name = "\improper Bridge" - -/area/bridge/meeting_room - name = "\improper Meeting Room" - -/area/maintenance/substation/command - name = "\improper Command Substation" - -/area/maintenance/substation/research - name = "\improper Research Substation" - -/area/maintenance/substation/cargo - name = "\improper Cargo Substation" - -/area/maintenance/substation/medical - name = "\improper Medical Substation" - -/area/maintenance/substation/engineering - name = "\improper Engineering Substration" - -/area/maintenance/substation/firstdeck - name = "Ground Floor Utility Access" - -/area/maintenance/substation/firstdeck/cargo - name = "Ground Floor Cargo Substation" - -/area/maintenance/substation/atmospherics - name = "Atmospherics Substation" - -/area/maintenance/substation/central // n/a - name = "Central Substation" - -/area/maintenance/substation/security - name = "\improper Security Substation" - -/area/giftshop - name = "\improper Gift Shop" - -/area/giftshop/storage - name = "\improper Gift Shop Storage" - -/area/rooflounge - name = "\improper Rooftop Lounge" - -/area/roofgarden - name = "\improper Rooftop Garden" - -/area/balcony - name = "balcony area master" - -/area/balcony/south - name ="\improper South Balcony" \ No newline at end of file diff --git a/maps/crux/crux_define.dm b/maps/crux/crux_define.dm index a352e7ca21d..eb8aa5a2034 100644 --- a/maps/crux/crux_define.dm +++ b/maps/crux/crux_define.dm @@ -52,8 +52,8 @@ /datum/level_data/crux name = "Port Eleostura - Ground Floor" use_global_exterior_ambience = FALSE - ambient_light_level = 0.7 - ambient_light_color = "#8497ec" + ambient_light_level = 1 + ambient_light_color = "#ecdc84" base_turf = /turf/exterior/dirt exterior_atmosphere = list( /decl/material/gas/oxygen = MOLES_O2STANDARD, @@ -85,4 +85,6 @@ name = "Port Eleostura - Level Two" level_data_type = /datum/level_data/crux/level_two -/obj/abstract/landmark/map_load_mark/engine_loader // todo +/obj/abstract/landmark/map_load_mark/engine_loader + name = "Engine Loader" + map_template_names = list("Eleostura Supermatter Engine") diff --git a/maps/crux/datum/turbolifts.dm b/maps/crux/datum/turbolifts.dm index 38d4b4e0e9a..4f1b39b9627 100644 --- a/maps/crux/datum/turbolifts.dm +++ b/maps/crux/datum/turbolifts.dm @@ -8,31 +8,31 @@ name = "Sothern Cross turbolift map placeholder - West" dir = EAST areas_to_use = list( - /area/turbolift/port_deck_one, - /area/turbolift/port_deck_two + /area/turbolift/crux/port_deck_one, + /area/turbolift/crux/port_deck_two ) /obj/abstract/turbolift_spawner/crux/east name = "Sothern Cross turbolift map placeholder - East" dir = WEST areas_to_use = list( - /area/turbolift/starboard_deck_one, - /area/turbolift/starboard_deck_two + /area/turbolift/crux/starboard_deck_one, + /area/turbolift/crux/starboard_deck_two ) /obj/abstract/turbolift_spawner/crux/cargo name = "Sothern Cross turbolift map placeholder - Cargo" dir = WEST areas_to_use = list( - /area/turbolift/cargo_deck_one, - /area/turbolift/cargo_deck_two + /area/turbolift/crux/cargo_deck_one, + /area/turbolift/crux/cargo_deck_two ) /obj/abstract/turbolift_spawner/crux/center name = "Sothern Cross turbolift map placeholder - Center" depth = 3 areas_to_use = list( - /area/turbolift/center_deck_one, - /area/turbolift/center_deck_two, - /area/turbolift/center_deck_three + /area/turbolift/crux/center_deck_one, + /area/turbolift/crux/center_deck_two, + /area/turbolift/crux/center_deck_three ) diff --git a/maps/crux/submaps/_submaps.dm b/maps/crux/submaps/_submaps.dm new file mode 100644 index 00000000000..b52f531f365 --- /dev/null +++ b/maps/crux/submaps/_submaps.dm @@ -0,0 +1,2 @@ +/datum/map_template/crux + template_parent_type = /datum/map_template/crux diff --git a/maps/crux/submaps/engine/engine_supermatter.dm b/maps/crux/submaps/engine/engine_supermatter.dm new file mode 100644 index 00000000000..877e6949ad7 --- /dev/null +++ b/maps/crux/submaps/engine/engine_supermatter.dm @@ -0,0 +1,4 @@ +/datum/map_template/crux/engine + name = "Eleostura Supermatter Engine" + mappaths = list("maps/crux/submaps/engine/engine_supermatter.dmm") + template_categories = list(MAP_TEMPLATE_CATEGORY_LANDMARK_LOADED) diff --git a/maps/crux/submaps/engine/engine_supermatter.dmm b/maps/crux/submaps/engine/engine_supermatter.dmm new file mode 100644 index 00000000000..ce023271e4d --- /dev/null +++ b/maps/crux/submaps/engine/engine_supermatter.dmm @@ -0,0 +1,2681 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/black{ + dir = 1 + }, +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine control room blast doors."; + id_tag = "EngineWasteViewport1"; + name = "Engine Waste Blast Doors"; + pixel_y = 25; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"at" = ( +/obj/structure/sign/warning/vent_port{ + pixel_x = 32 + }, +/turf/template_noop, +/area/template_noop) +"bg" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"bq" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"bz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"bJ" = ( +/obj/machinery/firealarm{ + pixel_y = 24 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"bM" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine charging port."; + id_tag = "SupermatterPort"; + name = "Reactor Blast Doors"; + pixel_x = -25; + pixel_y = 6; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine control room blast doors."; + id_tag = "EngineBlast"; + name = "Engine Monitoring Room Blast Doors"; + pixel_x = -25; + pixel_y = -6; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"bU" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/portable_atmospherics/canister/empty, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"cT" = ( +/obj/structure/sign/warning/radioactive{ + pixel_y = 32 + }, +/turf/template_noop, +/area/template_noop) +"da" = ( +/obj/machinery/atmospherics/pipe/cap/visible, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"de" = ( +/obj/machinery/atmospherics/unary/heat_exchanger{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"dh" = ( +/turf/simulated/wall/r_wall, +/area/crux/engineering/engine_room) +"di" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"do" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/plating, +/area/crux/engineering/engine_room) +"dE" = ( +/obj/machinery/atmospherics/valve/digital{ + dir = 4; + name = "Emergency Cooling Valve 1" + }, +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"eA" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 9 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"eS" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/machinery/status_display{ + pixel_x = 32 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"eY" = ( +/obj/machinery/atmospherics/portables_connector, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/effect/engine_setup/coolant_canister, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"fh" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"gD" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/camera/network/engine{ + c_tag = "ENG - Engine Core 3" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"gO" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + icon_state = "door_locked"; + id_tag = "engine_access_hatch"; + locked = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"gS" = ( +/obj/machinery/atmospherics/binary/circulator{ + anchored = 1; + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"hB" = ( +/obj/structure/window/reinforced{ + dir = 4; + health = 1e+006 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"hJ" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/alarm/nobreach{ + dir = 8; + pixel_x = 22 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"ih" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/machinery/light_switch{ + name = "light switch "; + pixel_x = 36 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"ip" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 4 + }, +/obj/machinery/door/firedoor/border, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id_tag = "EngineWasteViewport1"; + name = "Engine Waste Viewport Shutter"; + opacity = 0 + }, +/obj/effect/wingrille_spawn/reinforced, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"iV" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"iW" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"jE" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 5 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"jL" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/turf/template_noop, +/area/template_noop) +"jQ" = ( +/obj/machinery/atmospherics/binary/pump/high_power{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/effect/engine_setup/pump_max, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"jV" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 5 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"jW" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan, +/obj/machinery/meter, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"kw" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 4 + }, +/turf/template_noop, +/area/template_noop) +"kz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"ld" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"lu" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine control room blast doors."; + id_tag = "EngineEmitterPortWest"; + name = "Engine Room Blast Doors"; + pixel_y = 25; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"lL" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning/corner, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"mj" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 10 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"mw" = ( +/obj/machinery/atmospherics/valve/digital{ + dir = 4; + name = "Emergency Cooling Valve 2" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"no" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 5 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -21 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"nF" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id_tag = "EngineWasteViewport1"; + name = "Engine Waste Viewport Shutter"; + opacity = 0 + }, +/obj/effect/wingrille_spawn/reinforced, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"oh" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/black, +/obj/machinery/meter, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"oj" = ( +/obj/machinery/mass_driver{ + dir = 8; + id_tag = "enginecore" + }, +/obj/machinery/power/supermatter, +/obj/effect/engine_setup/core, +/turf/simulated/floor/greengrid/nitrogen, +/area/crux/engineering/engine_room) +"ol" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor/plating, +/area/crux/engineering/engine_room) +"ox" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/black, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"oz" = ( +/turf/simulated/floor/greengrid/nitrogen, +/area/crux/engineering/engine_room) +"oB" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"pT" = ( +/obj/machinery/atmospherics/binary/pump{ + dir = 1 + }, +/obj/machinery/door/window/northleft{ + name = "Engine Waste" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/effect/engine_setup/pump_max, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"pX" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"qk" = ( +/obj/machinery/door/window/northright{ + name = "Engine Waste" + }, +/obj/machinery/atmospherics/binary/pump{ + dir = 1 + }, +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine control room blast doors."; + id_tag = "EngineEmitterPortWest"; + name = "Engine Room Blast Doors"; + pixel_x = 26; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"qw" = ( +/obj/machinery/atmospherics/binary/pump{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/airlock_sensor/buildable{ + id_tag = "eng_al_int_snsr"; + pixel_x = 22; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/effect/engine_setup/pump_max, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"rq" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"rN" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"rQ" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"sj" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"sl" = ( +/obj/machinery/alarm{ + dir = 1; + pixel_y = -22 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"sn" = ( +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/obj/machinery/power/sensor{ + name = "Powernet Sensor - Engine Power" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"sv" = ( +/obj/machinery/generator{ + anchored = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"sA" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"tD" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"uq" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"uv" = ( +/obj/machinery/meter, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"uz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"vX" = ( +/obj/machinery/door/firedoor/border, +/obj/effect/wingrille_spawn/reinforced, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id_tag = "EngineRadiatorViewport2"; + name = "Engine Radiator Viewport Shutter"; + opacity = 0 + }, +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 10 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"wu" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/turf/simulated/floor/plating, +/area/crux/engineering/engine_room) +"wY" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"xe" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 5 + }, +/turf/template_noop, +/area/template_noop) +"xB" = ( +/obj/machinery/air_sensor{ + id_tag = "engine_sensor" + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor/reinforced/nitrogen/engine, +/area/crux/engineering/engine_room) +"xX" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/yellow{ + dir = 4 + }, +/obj/machinery/meter, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"yq" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 9 + }, +/turf/template_noop, +/area/template_noop) +"yB" = ( +/obj/machinery/atmospherics/unary/heat_exchanger{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"yE" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ + dir = 8 + }, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"yG" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 10 + }, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"yL" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 4 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"yU" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"zi" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 6 + }, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id_tag = "EngineRadiatorViewport1"; + name = "Engine Radiator Viewport Shutter"; + opacity = 0 + }, +/obj/machinery/door/firedoor/border, +/obj/effect/wingrille_spawn/reinforced, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"zl" = ( +/obj/item/book/manual/supermatter_engine, +/turf/template_noop, +/area/template_noop) +"zA" = ( +/obj/machinery/atmospherics/binary/circulator{ + anchored = 1; + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"zC" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/item/radio/intercom{ + dir = 4; + name = "Station Intercom (General)"; + pixel_x = 21 + }, +/obj/machinery/meter, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"zX" = ( +/obj/effect/floor_decal/industrial/warning/corner, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ac" = ( +/obj/machinery/atmospherics/binary/pump, +/obj/effect/floor_decal/industrial/warning/corner, +/obj/effect/engine_setup/pump_max, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ah" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/machinery/ai_status_display{ + pixel_x = 32 + }, +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"Aw" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Az" = ( +/obj/effect/floor_decal/industrial/warning/cee{ + dir = 8 + }, +/turf/simulated/floor/reinforced/nitrogen/engine, +/area/crux/engineering/engine_room) +"AA" = ( +/obj/machinery/door/firedoor/border, +/obj/effect/wingrille_spawn/reinforced, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id_tag = "EngineRadiatorViewport2"; + name = "Engine Radiator Viewport Shutter"; + opacity = 0 + }, +/obj/machinery/atmospherics/pipe/manifold/visible/green, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"AR" = ( +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine radiator viewport shutters."; + id_tag = "EngineRadiatorViewport1"; + name = "Engine Radiator Viewport Shutters"; + pixel_y = 25; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"AX" = ( +/obj/machinery/atmospherics/unary/outlet_injector{ + dir = 4; + id_tag = "cooling_in"; + name = "Coolant Injector"; + pixel_y = 1; + power_rating = 30000; + use_power = 1; + volume_rate = 700 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/simulated/floor/reinforced/nitrogen/engine, +/area/crux/engineering/engine_room) +"Bn" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green{ + dir = 1 + }, +/obj/machinery/meter, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ca" = ( +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ce" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/camera/network/engine{ + c_tag = "ENG - Waste Handling" + }, +/obj/structure/sign/warning/nosmoking_1{ + pixel_y = 32 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"Cj" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/effect/engine_setup/coolant_canister, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"CO" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Dn" = ( +/obj/machinery/generator{ + anchored = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Dv" = ( +/obj/effect/wingrille_spawn/reinforced_borosilicate, +/obj/machinery/door/blast/regular{ + id_tag = "SupermatterPort"; + name = "Reactor Blast Door" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"DV" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/structure/sign/warning/nosmoking_2{ + pixel_x = 32 + }, +/obj/effect/floor_decal/industrial/outline, +/turf/simulated/floor/plating, +/area/crux/engineering/engine_room) +"DY" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ep" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/black{ + dir = 8 + }, +/obj/machinery/meter, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Er" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 10 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"Es" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ev" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green{ + dir = 4 + }, +/obj/machinery/meter, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"EA" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/black, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"EG" = ( +/turf/template_noop, +/area/crux/engineering/engine_waste) +"EU" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/black, +/obj/structure/lattice, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"Fh" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 6 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Fn" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 6 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"Ft" = ( +/obj/machinery/atmospherics/unary/heat_exchanger{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 5 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"FL" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + icon_state = "door_locked"; + id_tag = "engine_access_hatch"; + locked = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"FR" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Gs" = ( +/obj/machinery/emitter{ + anchored = 1; + dir = 8; + id_tag = "EngineEmitter"; + state = 2 + }, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/power/terminal, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"GC" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"GF" = ( +/obj/machinery/door/firedoor/border, +/obj/effect/wingrille_spawn/reinforced, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id_tag = "EngineRadiatorViewport1"; + name = "Engine Radiator Viewport Shutter"; + opacity = 0 + }, +/obj/machinery/atmospherics/pipe/manifold/visible/green{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"GG" = ( +/obj/effect/floor_decal/industrial/warning/corner, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/atmospherics/pipe/cap/visible{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"GJ" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"GN" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/machinery/door/blast/regular{ + id_tag = "EngineEmitterPortWest"; + name = "Engine Waste Handling Access" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Hb" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Hm" = ( +/obj/structure/sign/warning/radioactive{ + dir = 1; + pixel_y = -32 + }, +/turf/template_noop, +/area/template_noop) +"Hn" = ( +/obj/machinery/atmospherics/pipe/cap/visible{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"HE" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/yellow, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"HU" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ia" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine radiator viewport shutters."; + id_tag = "EngineRadiatorViewport2"; + name = "Engine Radiator Viewport Shutters"; + pixel_y = -25; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"IJ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"IP" = ( +/obj/machinery/atmospherics/pipe/cap/visible{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/corner, +/obj/effect/floor_decal/industrial/outline/blue, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"IV" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 6 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Jk" = ( +/obj/machinery/computer/air_control/supermatter_core{ + dir = 4; + input_tag = "cooling_in"; + name = "Engine Cooling Control"; + output_tag = "cooling_out" + }, +/turf/template_noop, +/area/template_noop) +"Jq" = ( +/obj/machinery/atmospherics/omni/filter{ + tag_east = 1; + tag_north = 2; + tag_south = 4; + use_power = 0 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/effect/engine_setup/filter, +/turf/simulated/floor/plating, +/area/crux/engineering/engine_room) +"Jx" = ( +/obj/machinery/atmospherics/omni/filter{ + tag_north = 2; + tag_south = 4; + tag_west = 1; + use_power = 0 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/structure/sign/warning/nosmoking_2{ + pixel_x = 32 + }, +/obj/effect/engine_setup/filter, +/turf/simulated/floor/plating, +/area/crux/engineering/engine_room) +"JV" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"JX" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"Kc" = ( +/obj/machinery/atmospherics/unary/vent_pump/engine{ + dir = 4; + external_pressure_bound = 100; + external_pressure_bound_default = 0; + icon_state = "map_vent_in"; + id_tag = "cooling_out"; + initialize_directions = 1; + pump_direction = 0; + use_power = 1 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/turf/simulated/floor/reinforced/nitrogen/engine, +/area/crux/engineering/engine_room) +"Le" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black, +/obj/machinery/door/blast/regular{ + id_tag = "EngineEmitterPortWest"; + name = "Engine Waste Handling Access" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ln" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Lo" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/effect/floor_decal/industrial/warning/corner, +/obj/machinery/power/apc/super/critical{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/machinery/light_switch{ + pixel_x = 36 + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"LV" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/black{ + dir = 8 + }, +/obj/structure/lattice, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"LY" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ + dir = 8 + }, +/obj/structure/lattice, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"Me" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green, +/obj/machinery/meter, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Mq" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/effect/engine_setup/coolant_canister, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"MF" = ( +/obj/effect/wingrille_spawn/reinforced_borosilicate, +/obj/machinery/door/blast/regular{ + dir = 8; + id_tag = "SupermatterPort"; + name = "Reactor Blast Door" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"MH" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 10 + }, +/obj/machinery/meter, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"MI" = ( +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"MN" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/green{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Nz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 6 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"NA" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"NI" = ( +/obj/machinery/atmospherics/binary/pump{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/effect/engine_setup/pump_max, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"NP" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ok" = ( +/obj/machinery/door/firedoor/border, +/obj/effect/wingrille_spawn/reinforced, +/obj/machinery/door/blast/regular{ + density = 0; + icon_state = "pdoor0"; + id_tag = "EngineRadiatorViewport1"; + name = "Engine Radiator Viewport Shutter"; + opacity = 0 + }, +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 9 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ot" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 10 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"OI" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor/reinforced/nitrogen/engine, +/area/crux/engineering/engine_room) +"OR" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/manifold/visible/black{ + dir = 4 + }, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"OW" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/effect/floor_decal/industrial/warning/corner, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Pa" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"PA" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"PM" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/hatch/yellow, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Rf" = ( +/obj/machinery/atmospherics/unary/heat_exchanger{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"Ri" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/cap/visible, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Rj" = ( +/turf/template_noop, +/area/template_noop) +"Rs" = ( +/obj/structure/sign/warning/radioactive, +/turf/simulated/wall/r_wall, +/area/crux/engineering/engine_room) +"RJ" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"RQ" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Sn" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"Te" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/turf/simulated/floor/plating, +/area/crux/engineering/engine_room) +"Ti" = ( +/obj/effect/floor_decal/industrial/warning/cee{ + dir = 8 + }, +/obj/machinery/camera/network/engine{ + c_tag = "ENG - Engine Core 2"; + dir = 1 + }, +/turf/simulated/floor/reinforced/nitrogen/engine, +/area/crux/engineering/engine_room) +"Ts" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 9 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"TG" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/machinery/meter, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"TP" = ( +/obj/machinery/atmospherics/pipe/simple/visible/black, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"Uc" = ( +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine control room blast doors."; + id_tag = "EngineBlast"; + name = "Engine Monitoring Room Blast Doors"; + pixel_x = -6; + pixel_y = -3; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/machinery/button/toggle/engine{ + desc = "A remote control-switch for the engine charging port."; + id_tag = "SupermatterPort"; + name = "Reactor Blast Doors"; + pixel_x = -6; + pixel_y = 7; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/machinery/button/toggle{ + desc = "A remote control-switch for the engine emitter."; + id_tag = "EngineEmitter"; + name = "Engine Emitter"; + pixel_x = 6; + pixel_y = 2; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/obj/effect/engine_setup/shutters, +/turf/template_noop, +/area/template_noop) +"Ul" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ux" = ( +/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan, +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Uz" = ( +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 5 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"UC" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 6 + }, +/turf/template_noop, +/area/template_noop) +"UI" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"UU" = ( +/turf/simulated/wall/r_wall, +/area/crux/engineering/engine_waste) +"Va" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 10 + }, +/turf/template_noop, +/area/template_noop) +"Vi" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"Vq" = ( +/obj/machinery/atmospherics/pipe/simple/visible/cyan, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"VU" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/visible/black{ + dir = 9 + }, +/obj/structure/grille, +/turf/template_noop, +/area/template_noop) +"VZ" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/cap/visible, +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -21 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Wh" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 9 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Wl" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Wm" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/obj/effect/floor_decal/industrial/warning/corner, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Wq" = ( +/obj/machinery/door/blast/regular{ + id_tag = "EngineVent"; + name = "Reactor Vent" + }, +/obj/machinery/shield_diffuser, +/turf/simulated/floor/reinforced/airless, +/area/crux/engineering/engine_room) +"Wr" = ( +/obj/structure/window/reinforced{ + dir = 4; + health = 1e+006 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/closet/radiation, +/obj/item/clothing/glasses/meson, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"WM" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"WO" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/cap/visible, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Xy" = ( +/turf/simulated/wall/r_wall, +/area/template_noop) +"XN" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + dir = 9 + }, +/obj/structure/lattice, +/turf/template_noop, +/area/template_noop) +"Yd" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 5 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Yi" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Yj" = ( +/obj/effect/floor_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Ym" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Yp" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Yr" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 1 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"YN" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/obj/machinery/light/small, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) +"YX" = ( +/obj/machinery/atmospherics/pipe/simple/visible/green, +/obj/machinery/atmospherics/pipe/simple/visible/cyan{ + dir = 4 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Zs" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/visible/green{ + dir = 6 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"Zt" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/cyan{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"ZO" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/button/toggle/engine{ + id_tag = "EngineVent"; + name = "Reactor Ventillatory Control"; + pixel_x = -25; + req_access = list("ACCESS_ENGINE_EQUIP") + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"ZS" = ( +/obj/effect/floor_decal/industrial/warning, +/obj/machinery/camera/network/engine{ + c_tag = "ENG - Engine Core 1"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/visible/yellow{ + dir = 5 + }, +/turf/simulated/floor, +/area/crux/engineering/engine_room) +"ZX" = ( +/obj/machinery/atmospherics/pipe/manifold/visible/black, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor, +/area/crux/engineering/engine_waste) + +(1,1,1) = {" +Rj +Rj +Rj +Rj +Sn +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +"} +(2,1,1) = {" +Rj +Rj +Rj +Rj +Sn +RJ +RJ +RJ +Fn +wY +jV +Fn +wY +wY +jV +RJ +RJ +Rj +Rj +RJ +RJ +RJ +Fn +wY +wY +jV +Fn +wY +jV +Rj +"} +(3,1,1) = {" +Rj +Rj +Rj +Rj +Sn +Rj +Rj +Rj +Er +xe +yL +Er +xe +UC +XN +Rj +Rj +Rj +Rj +RJ +Rj +Rj +Er +xe +UC +XN +yL +UC +XN +Rj +"} +(4,1,1) = {" +Rj +Rj +Rj +Rj +Sn +Rj +Rj +Rj +Fn +yq +yL +Fn +yq +Va +jV +Rj +Rj +Rj +Rj +RJ +Rj +Rj +Fn +yq +Va +jV +yL +Va +jV +Rj +"} +(5,1,1) = {" +Rj +Rj +Rj +Rj +Sn +Rj +Rj +Rj +Er +xe +yL +Er +xe +UC +XN +Rj +Rj +RJ +Rj +RJ +Rj +Rj +Er +xe +UC +XN +yL +UC +XN +Rj +"} +(6,1,1) = {" +Rj +Rj +Rj +Rj +Sn +Rj +Rj +Rj +Fn +yq +yL +Fn +yq +Va +jV +Rj +Rj +RJ +Rj +RJ +Rj +Rj +Fn +yq +Va +jV +yL +Va +jV +Rj +"} +(7,1,1) = {" +Rj +Rj +Rj +Rj +jL +Rj +Rj +Rj +Er +xe +yL +Er +xe +UC +XN +Rj +Rj +RJ +Rj +RJ +Rj +Rj +Er +xe +UC +XN +yL +UC +XN +Rj +"} +(8,1,1) = {" +Rj +Rj +Rj +Sn +Sn +Rj +Rj +Rj +Fn +yq +yL +Fn +yq +Va +jV +RJ +RJ +RJ +Rj +RJ +RJ +RJ +Fn +yq +Va +jV +yL +Va +jV +Rj +"} +(9,1,1) = {" +Rj +Rj +Rj +Sn +Rj +Rj +Rj +Rj +Er +xe +yL +Er +xe +UC +XN +Rj +Rj +RJ +Rj +RJ +Rj +Rj +Er +xe +UC +XN +yL +UC +XN +Rj +"} +(10,1,1) = {" +Rj +Rj +Rj +RJ +Rj +Rj +Rj +Rj +Fn +yq +yL +Fn +yq +Va +jV +Rj +Rj +RJ +Rj +RJ +Rj +Rj +Fn +yq +Va +jV +yL +Va +jV +Rj +"} +(11,1,1) = {" +Rj +Rj +Rj +RJ +Rj +Rj +Rj +Rj +Er +xe +yL +Er +xe +UC +XN +Rj +Rj +RJ +Rj +RJ +Rj +Rj +Er +xe +UC +XN +yL +UC +XN +Rj +"} +(12,1,1) = {" +Rj +Rj +Rj +RJ +Rj +Rj +Rj +Rj +Fn +yq +yL +Fn +yq +Va +jV +Rj +Rj +RJ +Rj +RJ +Rj +Rj +Fn +yq +Va +jV +yL +Va +jV +Rj +"} +(13,1,1) = {" +Rj +Rj +Rj +Fn +jV +Fn +jV +RJ +Er +xe +yL +Er +xe +UC +XN +RJ +RJ +RJ +Rj +RJ +RJ +RJ +Er +xe +UC +XN +yL +UC +XN +Rj +"} +(14,1,1) = {" +Rj +Rj +Rj +yL +kw +kw +yL +Rj +RJ +yE +yE +Sn +yE +yE +RJ +Rj +Rj +at +Rj +Rj +Rj +Rj +RJ +yE +yE +Sn +yE +yE +RJ +Rj +"} +(15,1,1) = {" +Rj +Rj +Rj +yL +kw +kw +yL +Rj +RJ +yG +EU +LV +OR +VU +RJ +Rj +Rs +dh +Wq +dh +Rs +Rj +RJ +yG +OR +LV +EU +VU +RJ +Rj +"} +(16,1,1) = {" +Rj +Rj +Rj +yL +yL +yL +yL +Rj +dh +zi +GF +Ok +dh +dh +dh +dh +dh +Az +oz +Ti +dh +dh +dh +dh +dh +vX +AA +dh +RJ +Rj +"} +(17,1,1) = {" +Rj +Rj +Rj +yL +kw +kw +yL +Hm +dh +Aw +GG +WM +Ul +VZ +Yd +ZO +MF +OI +oj +OI +MF +Fh +OW +no +Ul +Zs +Ia +dh +dh +cT +"} +(18,1,1) = {" +Rj +Rj +Rj +LY +LY +LY +LY +Rj +dh +AR +GJ +sA +sA +sA +Yi +GJ +MF +AX +xB +Kc +MF +Ln +GJ +gS +Dn +zA +Hb +jE +dh +Rj +"} +(19,1,1) = {" +Rj +Rj +UU +ip +nF +nF +ip +UU +dh +Bn +Hn +Ym +Ym +Ri +Yj +ZS +dh +gO +Dv +FL +dh +gD +IV +rQ +pX +Ot +jQ +Me +dh +Rj +"} +(20,1,1) = {" +Rj +UU +UU +ae +oh +ox +oB +sj +dh +Aw +IP +WM +WM +WO +Yp +uv +kz +bq +PM +HE +bM +xX +lL +Uz +PA +Nz +Wl +ld +dh +Rj +"} +(21,1,1) = {" +Rj +UU +bg +NI +de +yB +MI +YN +dh +CO +GJ +sA +sA +sA +Yr +Pa +TG +Ux +yU +uz +Vq +TG +iW +gS +sv +zA +iV +CO +dh +Rj +"} +(22,1,1) = {" +Rj +UU +bJ +Mq +Ft +Rf +MI +sl +dh +Aw +Hn +Ym +Ym +Ri +Yj +eA +FR +dE +Gs +mw +fh +Ca +mj +Wh +pX +Ot +jQ +ld +dh +Rj +"} +(23,1,1) = {" +Rj +UU +Ce +da +EA +ZX +hB +Wr +Rs +rq +RQ +RQ +RQ +RQ +YX +RQ +RQ +rN +GC +Ev +RQ +RQ +MN +DY +NP +Wm +bz +di +dh +Rj +"} +(24,1,1) = {" +Rj +UU +bU +TP +JX +MH +pT +uq +Le +Ep +Jq +Es +tD +Lo +Zt +qw +Cj +sn +UI +Ca +eY +Ac +NA +hJ +zX +IJ +ol +ol +dh +Rj +"} +(25,1,1) = {" +Rj +UU +eS +ih +Vi +zC +qk +Ah +GN +HU +JV +jW +Xy +Xy +Rj +Xy +Rj +Rj +Rj +Rj +Rj +Xy +Rj +Xy +Xy +wu +ol +ol +dh +Rj +"} +(26,1,1) = {" +Rj +UU +UU +UU +EG +UU +UU +UU +dh +lu +Jx +Ts +Xy +Rj +Rj +Xy +Jk +Rj +Rj +Rj +Rj +Xy +Rj +Rj +Xy +Te +DV +do +dh +Rj +"} +(27,1,1) = {" +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Xy +Xy +Xy +Xy +Xy +Rj +Rj +Xy +zl +Rj +Uc +Rj +Rj +Rj +Rj +Rj +Xy +dh +dh +dh +dh +Rj +"} +(28,1,1) = {" +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +"} +(29,1,1) = {" +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +"} +(30,1,1) = {" +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +Rj +"} diff --git a/maps/example/example-1.dmm b/maps/example/example-1.dmm index 6d003acbe66..396f16903f0 100644 --- a/maps/example/example-1.dmm +++ b/maps/example/example-1.dmm @@ -205,10 +205,6 @@ /obj/machinery/door/airlock/external/bolted{ id_tag = "lower_level_dock_hatch_internal" }, -/obj/machinery/button/access/interior{ - id_tag = "lower_level_dock"; - pixel_x = -21 - }, /turf/simulated/floor, /area/example/first) "lJ" = ( @@ -402,7 +398,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "lower_level_dock_sensor_chamber"; - pixel_x = -24 + pixel_x = -22; + dir = 4 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ id_tag = "lower_level_dock"; @@ -545,6 +542,14 @@ }, /turf/simulated/floor, /area/example/first) +"Ae" = ( +/obj/machinery/button/access/interior{ + id_tag = "lower_level_dock"; + pixel_x = -24; + pixel_y = 24 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/example/first) "AF" = ( /obj/effect/floor_decal/corner/orange{ dir = 10 @@ -693,7 +698,10 @@ }, /obj/machinery/button/access/exterior{ id_tag = "lower_level_dock"; - pixel_y = -21 + pixel_y = -24; + dir = 8; + pixel_x = -12; + directional_offset = null }, /turf/simulated/floor, /area/example/first) @@ -2501,7 +2509,7 @@ XZ tq ZV la -CU +Ae CU XZ mu diff --git a/maps/example/example-2.dmm b/maps/example/example-2.dmm index 4785364c620..ee19110309e 100644 --- a/maps/example/example-2.dmm +++ b/maps/example/example-2.dmm @@ -143,7 +143,10 @@ }, /obj/machinery/button/access/exterior{ id_tag = "upper_level_dock"; - pixel_y = -21 + pixel_y = -24; + dir = 4; + pixel_x = 12; + directional_offset = null }, /turf/simulated/floor, /area/example/second) @@ -231,7 +234,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "upper_level_dock_sensor_chamber"; - pixel_x = 24 + pixel_x = 22; + dir = 8 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ id_tag = "upper_level_dock"; @@ -310,8 +314,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/button/access/interior{ id_tag = "upper_level_dock"; - pixel_x = 22; - pixel_y = 28 + pixel_x = 24; + pixel_y = 24 }, /turf/simulated/floor/tiled/steel_grid, /area/example/second) @@ -329,8 +333,8 @@ /area/example/second) "ug" = ( /obj/abstract/level_data_spawner/main_level{ - name = "Example Second Deck"; -}, + name = "Example Second Deck" + }, /turf/space, /area/space) "uk" = ( diff --git a/maps/example/example.dm b/maps/example/example.dm index 72a8676b951..955f65f1cf4 100644 --- a/maps/example/example.dm +++ b/maps/example/example.dm @@ -1,5 +1,9 @@ #if !defined(USING_MAP_DATUM) + #ifdef UNIT_TEST + #include "../../code/unit_tests/offset_tests.dm" + #endif + #include "example_areas.dm" #include "example_shuttles.dm" #include "example_departments.dm" diff --git a/maps/exodus/exodus-1.dmm b/maps/exodus/exodus-1.dmm index 33909743bb5..ed410b73cee 100644 --- a/maps/exodus/exodus-1.dmm +++ b/maps/exodus/exodus-1.dmm @@ -21,7 +21,7 @@ /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/machinery/atmospherics/portables_connector, /obj/structure/sign/warning/vacuum{ - dir = 4; + dir = 8; pixel_x = 32 }, /turf/simulated/floor/plating, @@ -50,8 +50,9 @@ /obj/machinery/button/access/interior{ id_tag = "sub_sec_airlock"; name = "interior access button"; - pixel_x = 25; - pixel_y = -25 + pixel_x = 20; + pixel_y = -25; + dir = 8 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/fore) @@ -71,16 +72,19 @@ }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "sub_sec_airlock"; - pixel_y = -25; + pixel_y = -22; tag_airpump = "sub_sec_pump"; tag_chamber_sensor = "sub_sec_sensor"; tag_exterior_door = "sub_sec_outer"; - tag_interior_door = "sub_sec_inner" + tag_interior_door = "sub_sec_inner"; + dir = 1; + pixel_x = -6 }, /obj/machinery/airlock_sensor{ id_tag = "sub_sec_sensor"; - pixel_x = 12; - pixel_y = -25 + pixel_x = 6; + pixel_y = -18; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/fore) @@ -97,8 +101,9 @@ /obj/machinery/button/access/exterior{ id_tag = "sub_sec_airlock"; name = "exterior access button"; - pixel_x = -25; - pixel_y = 25 + pixel_x = -20; + pixel_y = 25; + dir = 4 }, /turf/simulated/floor/airless, /area/exodus/maintenance/sub/fore) @@ -171,16 +176,22 @@ /turf/space, /area/exodus/maintenance/sub/fore) "aC" = ( -/obj/structure/sign/directions/security{ - dir = 1 +/obj/structure/sign/warning/lethal_turrets{ + dir = 4; + pixel_x = -34; + pixel_y = 32 }, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/maintenance/sub/fore) +/turf/space, +/area/space) "aD" = ( /obj/machinery/light{ dir = 8; icon_state = "tube1" }, +/obj/structure/sign/directions/security{ + dir = 1; + pixel_x = -32 + }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/fore) "aE" = ( @@ -927,9 +938,11 @@ /turf/simulated/floor/plating, /area/exodus/maintenance/sub/central) "dd" = ( -/obj/structure/sign/warning/lethal_turrets, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/maintenance/exterior) +/obj/structure/sign/warning/lethal_turrets{ + pixel_y = 32 + }, +/turf/space, +/area/space) "de" = ( /obj/machinery/alarm{ dir = 4; @@ -1100,7 +1113,8 @@ id_tag = "sub_cargo_airlock"; name = "exterior access button"; pixel_x = 25; - pixel_y = 25 + pixel_y = 25; + dir = 8 }, /turf/simulated/floor/airless, /area/exodus/maintenance/sub/port) @@ -1117,16 +1131,19 @@ }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "sub_cargo_airlock"; - pixel_y = -25; + pixel_y = -22; tag_airpump = "sub_cargo_pump"; tag_chamber_sensor = "sub_cargo_sensor"; tag_exterior_door = "sub_cargo_outer"; - tag_interior_door = "sub_cargo_inner" + tag_interior_door = "sub_cargo_inner"; + dir = 1; + pixel_x = -6 }, /obj/machinery/airlock_sensor{ id_tag = "sub_cargo_sensor"; - pixel_x = 12; - pixel_y = -25 + pixel_x = 6; + pixel_y = -18; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/port) @@ -1150,7 +1167,8 @@ id_tag = "sub_cargo_airlock"; name = "interior access button"; pixel_x = -25; - pixel_y = 25 + pixel_y = 25; + dir = 4 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/port) @@ -1228,7 +1246,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/sign/warning/vacuum{ - dir = 8; + dir = 4; pixel_x = -32 }, /turf/simulated/floor/plating, @@ -1537,7 +1555,7 @@ /area/exodus/maintenance/sub/command) "eL" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/bluegrid, /area/exodus/maintenance/sub/command) @@ -1625,8 +1643,8 @@ /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/machinery/atmospherics/portables_connector, /obj/structure/sign/warning/vacuum{ - dir = 8; - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/starboard) @@ -1677,8 +1695,8 @@ /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/ladder, /obj/machinery/light_switch{ - pixel_x = -22; - pixel_y = -22 + pixel_y = -20; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -1714,10 +1732,11 @@ icon_state = "0-2" }, /obj/structure/sign/warning/vacuum{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/structure/sign/warning/high_voltage{ - dir = 4; + dir = 8; pixel_x = 32 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1744,8 +1763,9 @@ /obj/machinery/button/access/exterior{ id_tag = "sub_research_airlock"; name = "exterior access button"; - pixel_x = 25; - pixel_y = 25 + pixel_x = 20; + pixel_y = 24; + dir = 8 }, /turf/simulated/floor/airless, /area/exodus/maintenance/sub/starboard) @@ -1762,16 +1782,19 @@ }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "sub_research_airlock"; - pixel_y = -25; + pixel_y = -22; tag_airpump = "sub_research_pump"; tag_chamber_sensor = "sub_research_sensor"; tag_exterior_door = "sub_research_outer"; - tag_interior_door = "sub_research_inner" + tag_interior_door = "sub_research_inner"; + dir = 1; + pixel_x = -6 }, /obj/machinery/airlock_sensor{ id_tag = "sub_research_sensor"; - pixel_x = 12; - pixel_y = -25 + pixel_x = 6; + pixel_y = -18; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/starboard) @@ -1789,8 +1812,9 @@ /obj/machinery/button/access/interior{ id_tag = "sub_research_airlock"; name = "interior access button"; - pixel_x = -25; - pixel_y = -25 + pixel_x = -20; + pixel_y = -24; + dir = 4 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/starboard) @@ -1805,11 +1829,12 @@ /turf/simulated/floor/plating, /area/exodus/maintenance/sub/starboard) "fo" = ( -/obj/structure/sign/directions/science{ - dir = 1 +/obj/structure/sign/warning/lethal_turrets{ + dir = 1; + pixel_y = -32 }, -/turf/simulated/wall/prepainted, -/area/exodus/maintenance/sub/starboard) +/turf/space, +/area/space) "fp" = ( /turf/space, /area/exodus/maintenance/sub/starboard) @@ -2123,7 +2148,6 @@ /turf/simulated/floor/plating, /area/exodus/maintenance/sub/central) "gd" = ( -/obj/structure/sign/warning/lethal_turrets, /obj/structure/cable{ icon_state = "1-2" }, @@ -3520,7 +3544,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/engineering/atmos) @@ -4164,12 +4188,6 @@ /turf/simulated/floor/plating, /area/exodus/maintenance/sub/aft) "lb" = ( -/obj/machinery/button/access/interior{ - id_tag = "sub_engineering_airlock"; - name = "interior access button"; - pixel_x = 25; - pixel_y = 25 - }, /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 1 }, @@ -4182,6 +4200,11 @@ /obj/machinery/door/airlock/external/bolted{ id_tag = "sub_engineering_inner" }, +/obj/machinery/button/access/interior{ + id_tag = "sub_engineering_airlock"; + name = "interior access button"; + pixel_y = 24 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/maintenance/sub/aft) "ld" = ( @@ -4191,16 +4214,18 @@ }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "sub_engineering_airlock"; - pixel_y = -25; + pixel_y = -22; tag_airpump = "sub_engineering_pump"; tag_chamber_sensor = "sub_engineering_sensor"; tag_exterior_door = "sub_engineering_outer"; - tag_interior_door = "sub_engineering_inner" + tag_interior_door = "sub_engineering_inner"; + dir = 1 }, /obj/machinery/airlock_sensor{ id_tag = "sub_engineering_sensor"; pixel_x = 12; - pixel_y = -25 + pixel_y = -18; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/maintenance/sub/aft) @@ -4208,15 +4233,14 @@ /obj/machinery/door/airlock/external/bolted{ id_tag = "sub_engineering_outer" }, -/turf/simulated/floor/tiled/techfloor/grid, -/area/exodus/maintenance/sub/aft) -"lf" = ( /obj/machinery/button/access/exterior{ id_tag = "sub_engineering_airlock"; name = "exterior access button"; - pixel_x = -25; - pixel_y = 25 + pixel_y = 24 }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/exodus/maintenance/sub/aft) +"lf" = ( /turf/simulated/floor/airless, /area/exodus/maintenance/sub/aft) "lg" = ( @@ -4340,7 +4364,7 @@ /area/exodus/maintenance/sub/aft) "lw" = ( /obj/structure/sign/warning/vacuum{ - dir = 4; + dir = 8; pixel_x = 32 }, /obj/machinery/atmospherics/portables_connector{ @@ -5398,7 +5422,7 @@ "oE" = ( /obj/item/radio/intercom{ dir = 8; - pixel_x = 21 + pixel_x = 22 }, /turf/simulated/floor/tiled/dark, /area/exodus/maintenance/telecomms) @@ -5410,10 +5434,18 @@ dir = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_y = -32 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/tiled/dark, /area/exodus/maintenance/telecomms) +"pI" = ( +/obj/structure/sign/warning/lethal_turrets{ + pixel_y = 32; + pixel_x = 34 + }, +/turf/space, +/area/space) "qe" = ( /obj/machinery/light{ dir = 8 @@ -5440,6 +5472,18 @@ }, /turf/simulated/floor/bluegrid, /area/exodus/maintenance/telecomms) +"rK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/sign/warning/lethal_turrets{ + dir = 1; + pixel_y = -32 + }, +/turf/simulated/floor/airless, +/area/space) "rL" = ( /obj/item/stock_parts/subspace/analyzer, /obj/item/stock_parts/subspace/analyzer, @@ -5567,6 +5611,13 @@ /obj/structure/closet/toolcloset, /turf/simulated/floor/tiled/dark/monotile, /area/exodus/maintenance/telecomms) +"zy" = ( +/obj/structure/sign/warning/lethal_turrets{ + dir = 4; + pixel_x = -34 + }, +/turf/space, +/area/space) "zH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5622,8 +5673,8 @@ /area/exodus/maintenance/telecomms) "AE" = ( /obj/abstract/level_data_spawner/main_level{ - name = "Exodus Underlevel"; -}, + name = "Exodus Underlevel" + }, /turf/space, /area/space) "AG" = ( @@ -5694,7 +5745,7 @@ /obj/structure/rack, /obj/item/radio/intercom{ dir = 4; - pixel_x = -21 + pixel_x = -22 }, /turf/simulated/floor/tiled/monotile, /area/exodus/maintenance/telecomms) @@ -5724,6 +5775,13 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/tiled/steel_grid, /area/exodus/maintenance/sub/aft) +"CW" = ( +/obj/structure/sign/warning/lethal_turrets{ + dir = 8; + pixel_x = 34 + }, +/turf/space, +/area/space) "Dm" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -5842,7 +5900,7 @@ "LF" = ( /obj/item/radio/intercom{ dir = 4; - pixel_x = -21 + pixel_x = -22 }, /turf/simulated/floor/tiled/dark, /area/exodus/maintenance/telecomms) @@ -6016,11 +6074,12 @@ /area/exodus/maintenance/telecomms) "Se" = ( /obj/machinery/newscaster{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/item/radio/intercom{ dir = 4; - pixel_x = -21 + pixel_x = -22 }, /turf/simulated/floor/lino, /area/exodus/maintenance/telecomms) @@ -6097,6 +6156,13 @@ }, /turf/simulated/floor/tiled/dark, /area/exodus/maintenance/telecomms) +"Wa" = ( +/obj/structure/sign/directions/science{ + dir = 1; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/exodus/maintenance/sub/starboard) "Xu" = ( /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/maintenance/sub/fore) @@ -31445,25 +31511,25 @@ aa aa aa aa -dd ab ab ab ab ab -dd ab ab ab ab ab -dd ab ab ab ab ab -dd +ab +ab +ab +ab aa cv eG @@ -31703,18 +31769,18 @@ aa aa aa ab -aa +aC aa ac aa ac -aa +zy aa aa ac aa aa -aa +zy aa aa aa @@ -32167,7 +32233,7 @@ ad ad Xu Xu -aC +ad ad aw am @@ -32212,7 +32278,7 @@ cv cv cv ac -dd +ab ab ab ab @@ -32470,7 +32536,7 @@ aa aa aa ab -aa +aC aa ac aa @@ -33261,8 +33327,8 @@ aa aa aa aa -aa -dd +fo +ab ac cv gm @@ -33494,7 +33560,7 @@ cv eG cv ac -dd +ab ab ab ac @@ -33752,7 +33818,7 @@ cS cv aa ab -aa +aC aa ac aa @@ -35036,8 +35102,8 @@ cL eG cv ac +ab dd -aa di di dn @@ -35060,7 +35126,7 @@ fI fV fV fV -fV +rK gd fV gk @@ -36322,7 +36388,7 @@ eG cv aa ab -aa +pI aa ac aa @@ -36578,7 +36644,7 @@ cv eG cv ac -dd +ab ab ab ac @@ -36859,8 +36925,8 @@ aa aa aa aa -aa -dd +fo +ab ac cv eG @@ -37610,7 +37676,7 @@ aa aa aa ab -aa +pI aa ac aa @@ -37866,7 +37932,7 @@ cv cv cv aa -dd +ab ab ab ab @@ -38385,18 +38451,18 @@ cv cv aa ab -aa +pI aa ac aa ac -aa +CW aa aa ac aa aa -aa +CW aa aa aa @@ -38641,25 +38707,25 @@ cw do cv aa -dd ab ab ab ab ab -dd ab ab ab ab ab -dd ab ab ab ab ab -dd +ab +ab +ab +ab aa cv eG @@ -55612,8 +55678,8 @@ aa aa ez ct -fo -NK +ch +Wa NK ch ct diff --git a/maps/exodus/exodus-2.dmm b/maps/exodus/exodus-2.dmm index 116df80d2d7..853c59a6e20 100644 --- a/maps/exodus/exodus-2.dmm +++ b/maps/exodus/exodus-2.dmm @@ -240,7 +240,8 @@ /area/space) "aaK" = ( /obj/structure/sign/warning/airlock{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /obj/machinery/atmospherics/portables_connector, /obj/machinery/portable_atmospherics/canister/air/airlock, @@ -456,7 +457,8 @@ /area/exodus/security/range) "abl" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -719,11 +721,11 @@ /area/exodus/security/range) "abL" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/range) @@ -950,7 +952,8 @@ /obj/machinery/airlock_sensor{ id_tag = "brig_solar_sensor"; pixel_x = 12; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -985,7 +988,8 @@ id_tag = "brig_solar_airlock"; name = "interior access button"; pixel_x = -25; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -1034,7 +1038,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/light/small/emergency{ dir = 1 @@ -1264,7 +1268,8 @@ dir = 8 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/main) @@ -1274,7 +1279,7 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/structure/table, /obj/item/megaphone, @@ -1351,7 +1356,7 @@ dir = 1 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/meeting) @@ -3104,7 +3109,7 @@ /area/exodus/security/main) "agN" = ( /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/machinery/navbeacon/SecurityD, /obj/machinery/door/firedoor, @@ -3180,7 +3185,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/plating, /area/exodus/maintenance/security_starboard) @@ -3374,7 +3380,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/alarm{ pixel_y = 22 @@ -3386,7 +3392,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/brig/processing) @@ -3654,7 +3660,7 @@ c_tag = "Security - Interrogation" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/dark, /area/exodus/security/brig/interrogation) @@ -4070,7 +4076,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/brig/interrogation) @@ -4494,7 +4500,8 @@ dir = 4 }, /obj/machinery/newscaster{ - pixel_x = -30 + pixel_x = -30; + dir = 8 }, /obj/machinery/camera/network/security{ c_tag = "Security - HoS' Office"; @@ -4545,7 +4552,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/machinery/light, /turf/simulated/floor/tiled/dark, @@ -4630,7 +4637,7 @@ dir = 5 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/brig) @@ -4729,7 +4736,7 @@ "akg" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/machinery/light, /obj/machinery/light_switch{ @@ -4876,7 +4883,7 @@ dir = 5 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/brig) @@ -5049,7 +5056,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/brig) @@ -5425,7 +5432,8 @@ dir = 8 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -5632,7 +5640,8 @@ /area/exodus/security/brig/processing) "alT" = ( /obj/machinery/light_switch{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /turf/simulated/floor/lino, /area/exodus/security/detectives_office) @@ -5848,7 +5857,8 @@ /obj/machinery/button/blast_door{ id_tag = "lawyer_blast"; name = "Privacy Shutters"; - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/item/clipboard, /obj/item/hand_labeler, @@ -6169,7 +6179,8 @@ /obj/machinery/button/flasher{ id_tag = "permflash"; name = "Brig flashes"; - pixel_y = -27 + pixel_y = -27; + dir = 1 }, /obj/structure/cable/green{ icon_state = "1-4" @@ -6368,7 +6379,7 @@ /area/exodus/security/detectives_office) "anr" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/prison) @@ -6776,7 +6787,8 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /turf/simulated/floor/tiled/dark, /area/exodus/lawoffice) @@ -6992,7 +7004,7 @@ /area/exodus/maintenance/auxsolarstarboard) "aoK" = ( /obj/machinery/faxmachine/mapped{ - anchored = FALSE + anchored = 0 }, /obj/structure/table/reinforced, /obj/machinery/newscaster{ @@ -7247,6 +7259,10 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/effect/engine_setup/empty_canister, +/obj/structure/sign/warning/radioactive{ + dir = 4; + pixel_x = -32 + }, /turf/simulated/floor/plating, /area/exodus/engineering/engine_room) "apn" = ( @@ -7387,7 +7403,8 @@ dir = 1 }, /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ dir = 4; @@ -7991,7 +8008,8 @@ /obj/machinery/airlock_sensor{ id_tag = "dorm_sensor"; pixel_x = 25; - pixel_y = -8 + pixel_y = -8; + dir = 8 }, /obj/effect/floor_decal/industrial/warning{ dir = 5 @@ -8110,7 +8128,8 @@ /obj/machinery/button/alternate/door{ id_tag = "visitdoor"; name = "Visitation Access"; - pixel_y = -28 + pixel_y = -28; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -8259,7 +8278,7 @@ "arl" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/machinery/forensic/dnascanner, /obj/structure/disposalpipe/segment{ @@ -8299,7 +8318,8 @@ pixel_y = -25 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/structure/filing_cabinet, /turf/simulated/floor/tiled/dark, @@ -8309,7 +8329,8 @@ /obj/machinery/button/blast_door{ id_tag = "lawyer_blast"; name = "Privacy Shutters"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/item/pen/blue{ pixel_x = -5; @@ -8574,7 +8595,8 @@ /area/exodus/maintenance/evahallway) "arS" = ( /obj/machinery/light_switch{ - pixel_x = -24 + pixel_x = -24; + dir = 4 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -8870,7 +8892,8 @@ dir = 1 }, /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{ dir = 4; @@ -8906,7 +8929,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/tiled/steel_grid, @@ -9208,11 +9231,12 @@ /turf/simulated/floor/plating, /area/exodus/security/prison/dorm) "atf" = ( -/obj/effect/wallframe_spawn/reinforced, -/obj/structure/sign/warning/airlock, -/obj/machinery/door/firedoor, -/turf/simulated/floor/plating, -/area/exodus/hallway/secondary/entry/fore) +/obj/structure/lattice, +/obj/structure/sign/warning/biohazard{ + pixel_y = 32 + }, +/turf/space, +/area/space) "atg" = ( /turf/simulated/wall/r_wall/prepainted, /area/exodus/security/prison/dorm) @@ -9454,9 +9478,7 @@ /turf/simulated/floor/plating, /area/exodus/hallway/secondary/entry/pods) "atR" = ( -/obj/machinery/computer/cryopod{ - dir = 2 - }, +/obj/machinery/computer/cryopod, /obj/machinery/camera/network/civilian_east{ c_tag = "Dormitory Cryo Storage" }, @@ -9680,7 +9702,8 @@ /area/exodus/hallway/primary/fore) "auw" = ( /obj/machinery/atm{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -9895,9 +9918,7 @@ /area/exodus/hallway/primary/port) "auU" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/machinery/computer/cryopod{ - dir = 2 - }, +/obj/machinery/computer/cryopod, /obj/machinery/light_switch{ pixel_x = -25; pixel_y = 24 @@ -10174,7 +10195,7 @@ /obj/machinery/cryopod, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/white/monotile, /area/exodus/crew_quarters/sleep/cryo) @@ -10482,7 +10503,7 @@ c_tag = "Arrivals Escape Pods" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -10590,9 +10611,14 @@ /turf/simulated/floor/tiled/steel_grid, /area/exodus/security/prison) "awq" = ( -/obj/structure/sign/warning/airlock, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/hallway/secondary/entry/fore) +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/structure/sign/warning/radioactive{ + pixel_y = -32; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/exodus/engineering/engine_room) "awr" = ( /obj/machinery/seed_storage/garden{ dir = 1 @@ -10613,12 +10639,14 @@ "awu" = ( /obj/machinery/button/flasher{ id_tag = "IAflash"; - pixel_y = -30 + pixel_y = -30; + dir = 1 }, /obj/machinery/button/blast_door{ id_tag = "visit_blast"; name = "Privacy Shutters"; - pixel_x = 25 + pixel_x = 25; + dir = 8 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -10660,7 +10688,8 @@ /area/exodus/hallway/primary/fore) "awA" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/effect/floor_decal/corner/red{ dir = 6 @@ -10849,7 +10878,8 @@ id_tag = "solar_tool_airlock"; name = "exterior access button"; pixel_x = -25; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -10955,7 +10985,7 @@ /area/exodus/hallway/primary/fore) "axg" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/camera/network/civilian_east{ c_tag = "Dormitories Central" @@ -11438,7 +11468,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/dark, /area/exodus/crew_quarters/sleep) @@ -11479,8 +11509,7 @@ /area/exodus/hallway/secondary/entry/pods) "ays" = ( /obj/structure/bed/chair/comfy/beige{ - dir = 1; - icon_state = "comfychair_preview" + dir = 1 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/steel_grid, @@ -11883,7 +11912,8 @@ "ayZ" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/sign/warning/airlock{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/hallway/secondary/entry/fore) @@ -12065,7 +12095,8 @@ /area/exodus/hallway/secondary/entry/fore) "azr" = ( /obj/machinery/status_display{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/steel_grid, @@ -12334,7 +12365,7 @@ /obj/effect/floor_decal/corner/grey/three_quarters, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/crew_quarters/fitness) @@ -12441,8 +12472,9 @@ }, /obj/machinery/airlock_sensor{ id_tag = "admin_shuttle_dock_sensor"; - pixel_x = -30; - pixel_y = 8 + pixel_x = -20; + pixel_y = 8; + dir = 4 }, /turf/simulated/floor/plating, /area/exodus/hallway/secondary/entry/fore) @@ -12547,7 +12579,8 @@ /obj/machinery/airlock_sensor{ id_tag = "solar_tool_sensor"; pixel_x = 25; - pixel_y = 12 + pixel_y = 12; + dir = 8 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ dir = 8; @@ -12615,7 +12648,8 @@ /area/exodus/gateway) "aAH" = ( /obj/structure/sign/warning/airlock{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/machinery/portable_atmospherics/canister/air/airlock, /obj/effect/floor_decal/industrial/outline/yellow, @@ -12761,7 +12795,8 @@ /area/exodus/crew_quarters/sleep) "aAU" = ( /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/undies_wardrobe, /obj/effect/floor_decal/corner/grey{ @@ -12888,7 +12923,8 @@ /area/exodus/crew_quarters/fitness) "aBi" = ( /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/closet/athletic_mixed, /obj/effect/floor_decal/corner/grey{ @@ -13270,7 +13306,7 @@ /obj/random/tech_supply, /obj/random/tech_supply, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/monotile, /area/exodus/storage/primary) @@ -14882,7 +14918,8 @@ /area/exodus/gateway) "aFB" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -14905,6 +14942,9 @@ name = "Docking Port Airlock" }, /obj/machinery/shield_diffuser, +/obj/structure/sign/warning/airlock{ + pixel_y = 32 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/hallway/secondary/entry/fore) "aFE" = ( @@ -14946,7 +14986,8 @@ pixel_y = 30 }, /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /obj/machinery/light{ dir = 1 @@ -15383,9 +15424,7 @@ /obj/effect/floor_decal/corner/white{ dir = 5 }, -/obj/machinery/computer/cryopod{ - dir = 2 - }, +/obj/machinery/computer/cryopod, /turf/simulated/floor/tiled/dark/monotile, /area/shuttle/arrival/station) "aGy" = ( @@ -15511,7 +15550,7 @@ /obj/item/dice/d20, /obj/item/dice, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/wood/walnut, /area/exodus/library) @@ -15611,9 +15650,11 @@ /turf/simulated/floor/tiled/dark, /area/exodus/ai_monitored/storage/eva) "aGX" = ( -/obj/structure/sign/warning/secure_area, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/hallway/primary/starboard) +/obj/structure/sign/warning/docking_area{ + pixel_y = 32 + }, +/turf/space, +/area/space) "aGY" = ( /obj/structure/cable/green{ icon_state = "1-2" @@ -15667,7 +15708,8 @@ id_tag = "escape_dock_south_airlock"; name = "interior access button"; pixel_x = 26; - pixel_y = -26 + pixel_y = -26; + dir = 1 }, /obj/effect/floor_decal/corner/white{ dir = 4 @@ -15738,7 +15780,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/dark, /area/exodus/security/checkpoint2) @@ -15769,7 +15811,8 @@ /area/exodus/crew_quarters/toilet) "aHm" = ( /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /turf/simulated/floor/tiled/freezer, /area/exodus/crew_quarters/toilet) @@ -15839,7 +15882,7 @@ "aHv" = ( /obj/structure/closet/wardrobe/chaplain_black, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/lino, /area/exodus/chapel/office) @@ -16268,7 +16311,7 @@ }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/hallway/secondary/entry/starboard) @@ -16340,7 +16383,8 @@ /area/shuttle/arrival/station) "aIl" = ( /obj/structure/sign/warning/secure_area{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/structure/closet/emcloset, /turf/simulated/floor/plating, @@ -16412,7 +16456,8 @@ /obj/machinery/button/access/exterior{ id_tag = "xeno_airlock_control"; name = "Xenobiology Access Button"; - pixel_x = -24 + pixel_x = -24; + dir = 4 }, /obj/machinery/door/airlock/research{ autoclose = 0; @@ -16669,7 +16714,7 @@ "aJb" = ( /obj/machinery/navbeacon/Bar, /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/loading{ @@ -16689,7 +16734,7 @@ /area/exodus/gateway) "aJd" = ( /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/machinery/navbeacon/Kitchen, /obj/machinery/door/firedoor, @@ -17393,7 +17438,8 @@ /area/exodus/hallway/primary/central_two) "aKI" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/machinery/light{ dir = 4 @@ -17471,7 +17517,7 @@ c_tag = "Bar North" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/light{ dir = 1 @@ -17533,7 +17579,7 @@ "aKW" = ( /obj/machinery/navbeacon/Hydroponics, /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/loading, @@ -17542,7 +17588,8 @@ "aKX" = ( /obj/structure/disposalpipe/segment, /obj/machinery/button/crematorium{ - pixel_x = 25 + pixel_x = 25; + dir = 8 }, /obj/machinery/light/small{ dir = 4 @@ -17670,7 +17717,8 @@ /area/exodus/chapel/main) "aLo" = ( /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 30; + dir = 4 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -17683,7 +17731,7 @@ }, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/dark, /area/exodus/hydroponics) @@ -17977,9 +18025,13 @@ id_tag = "escape_dock_north_airlock"; name = "exterior access button"; pixel_x = 4; - pixel_y = -26 + pixel_y = -26; + dir = 1 }, /obj/machinery/shield_diffuser, +/obj/structure/sign/warning/docking_area{ + pixel_y = 32 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/hallway/secondary/exit) "aLX" = ( @@ -18090,7 +18142,7 @@ icon_state = "4-8" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/effect/floor_decal/corner/blue{ dir = 5 @@ -18828,6 +18880,10 @@ pixel_y = 26 }, /obj/machinery/shield_diffuser, +/obj/structure/sign/warning/docking_area{ + dir = 1; + pixel_y = -32 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/hallway/secondary/exit) "aNN" = ( @@ -18836,7 +18892,8 @@ dir = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/ai_monitored/storage/eva) @@ -18861,7 +18918,7 @@ icon_state = "4-8" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/effect/floor_decal/corner/lime{ dir = 5 @@ -19304,7 +19361,8 @@ /area/exodus/chapel/office) "aOH" = ( /obj/machinery/newscaster{ - pixel_y = -28 + pixel_y = -28; + dir = 1 }, /obj/structure/cable/green{ icon_state = "4-8" @@ -19939,7 +19997,8 @@ /area/exodus/hydroponics) "aPX" = ( /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /obj/effect/floor_decal/corner/lime{ dir = 6 @@ -20072,7 +20131,8 @@ /area/exodus/security/prison/dorm) "aQo" = ( /obj/structure/sign/warning/airlock{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/steel_grid, @@ -20096,7 +20156,7 @@ /obj/structure/closet/emcloset, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/monotile, /area/exodus/hallway/primary/port) @@ -20316,11 +20376,13 @@ /turf/simulated/floor/wood/walnut, /area/exodus/library) "aQU" = ( -/obj/effect/wallframe_spawn/reinforced, -/obj/structure/sign/warning/docking_area, -/obj/machinery/door/firedoor, -/turf/simulated/floor/plating, -/area/exodus/hallway/secondary/exit) +/obj/effect/floor_decal/corner/purple/full, +/obj/structure/sign/warning/secure_area{ + dir = 1; + pixel_y = -32 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/exodus/hallway/primary/starboard) "aQV" = ( /obj/item/chems/glass/bucket, /obj/effect/floor_decal/corner/lime{ @@ -20453,7 +20515,8 @@ dir = 8 }, /obj/machinery/button/windowtint{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/machinery/button/alternate/door{ desc = "A remote control-switch for the research doors."; @@ -20626,7 +20689,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 1 @@ -20665,8 +20728,7 @@ /area/exodus/hallway/secondary/entry/port) "aRJ" = ( /obj/structure/bed/chair/comfy/beige{ - dir = 1; - icon_state = "comfychair_preview" + dir = 1 }, /turf/simulated/floor/lino, /area/exodus/hallway/secondary/entry/starboard) @@ -21089,7 +21151,8 @@ /area/exodus/maintenance/auxsolarport) "aSF" = ( /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -21125,7 +21188,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/hallway/secondary/entry/port) @@ -21516,7 +21579,8 @@ /area/exodus/storage/tech) "aTy" = ( /obj/machinery/atm{ - pixel_x = 24 + pixel_x = 24; + dir = 8 }, /obj/effect/floor_decal/corner/lime{ dir = 6 @@ -21856,7 +21920,7 @@ c_tag = "Kitchen" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/light{ dir = 1 @@ -22073,7 +22137,8 @@ /area/exodus/chapel/main) "aUT" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/steel_grid, @@ -22083,7 +22148,8 @@ dir = 8 }, /obj/machinery/vending/wallmed1{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /turf/simulated/floor/wood/walnut, /area/exodus/crew_quarters/bar) @@ -22110,7 +22176,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/random/tech_supply, /obj/random/tech_supply, @@ -22398,7 +22464,8 @@ pixel_y = 28 }, /obj/structure/closet/hydrant{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /turf/simulated/floor/plating, /area/exodus/storage/emergency2) @@ -22985,7 +23052,8 @@ /area/exodus/turret_protected/ai_upload) "aXd" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/storage/tools) @@ -23102,7 +23170,8 @@ /area/exodus/storage/emergency2) "aXs" = ( /obj/machinery/status_display{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -23304,7 +23373,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/bridge) @@ -23335,7 +23404,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/bridge) @@ -23462,7 +23531,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "nuke_shuttle_dock_sensor"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -23590,7 +23660,8 @@ /area/exodus/security/vacantoffice) "aYy" = ( /obj/machinery/atm{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/machinery/camera/network/civilian_east{ c_tag = "Bar West"; @@ -23792,7 +23863,8 @@ dir = 4 }, /obj/machinery/newscaster{ - pixel_y = -28 + pixel_y = -28; + dir = 1 }, /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -23984,7 +24056,8 @@ /area/exodus/hallway/primary/central_one) "aZi" = ( /obj/structure/sign/warning/secure_area{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/machinery/door/blast/regular/open{ dir = 4; @@ -24847,7 +24920,7 @@ "bbc" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -25099,7 +25172,8 @@ dir = 4 }, /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled/dark, /area/exodus/security/vacantoffice) @@ -25253,7 +25327,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/dark, /area/exodus/security/vacantoffice) @@ -26012,6 +26086,10 @@ id_tag = "admin_shuttle_dock_inner"; name = "Docking Port Airlock" }, +/obj/structure/sign/warning/airlock{ + dir = 4; + pixel_x = -32 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/hallway/secondary/entry/fore) "bdz" = ( @@ -26369,7 +26447,8 @@ /area/exodus/security/vacantoffice) "bet" = ( /obj/machinery/newscaster{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/structure/table{ name = "plastic table frame" @@ -26409,7 +26488,9 @@ /turf/simulated/floor/carpet, /area/exodus/bridge/meeting_room) "bey" = ( -/obj/machinery/vending/coffee, +/obj/machinery/vending/coffee{ + dir = 1 + }, /turf/simulated/floor/wood/walnut, /area/exodus/library) "bez" = ( @@ -26418,7 +26499,7 @@ /obj/item/storage/box, /obj/item/storage/box, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/effect/floor_decal/corner/white{ dir = 4 @@ -26597,7 +26678,8 @@ /area/exodus/hallway/primary/central_two) "beU" = ( /obj/machinery/atm{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /obj/machinery/door/firedoor, /obj/machinery/door/airlock/glass{ @@ -26645,7 +26727,8 @@ /area/exodus/hydroponics/garden) "beZ" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = -30 + pixel_y = -29; + dir = 1 }, /obj/structure/flora/pottedplant{ icon_state = "plant-22" @@ -26686,7 +26769,8 @@ "bfc" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -7; - pixel_y = -32 + pixel_y = -29; + dir = 1 }, /obj/effect/floor_decal/corner/white{ dir = 8 @@ -26694,7 +26778,8 @@ /obj/effect/floor_decal/corner/red, /obj/machinery/vending/wallmed1{ pixel_x = 7; - pixel_y = -32 + pixel_y = -24; + dir = 1 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/hallway/secondary/exit) @@ -26979,7 +27064,7 @@ /area/exodus/crew_quarters/captain) "bfK" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/effect/floor_decal/corner/lime{ dir = 5 @@ -27040,7 +27125,8 @@ /area/exodus/hallway/primary/starboard) "bfR" = ( /obj/machinery/status_display{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /obj/machinery/light{ dir = 8 @@ -27132,7 +27218,8 @@ /obj/machinery/button/mass_driver{ id_tag = "enginecore"; name = "Emergency Core Eject"; - pixel_x = -20 + pixel_x = -20; + dir = 4 }, /obj/effect/floor_decal/industrial/hatch/yellow, /obj/structure/window/basic{ @@ -27225,7 +27312,8 @@ "bgn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/status_display{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /obj/machinery/light{ dir = 8 @@ -27512,7 +27600,7 @@ }, /obj/structure/sign/directions/medical{ dir = 8; - pixel_y = 32 + pixel_y = 40 }, /obj/effect/floor_decal/corner/lime{ dir = 5 @@ -27538,7 +27626,8 @@ /area/exodus/turret_protected/ai) "bgY" = ( /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/green{ @@ -27641,11 +27730,11 @@ icon_state = "0-4" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/item/radio/intercom{ dir = 4; @@ -27664,7 +27753,8 @@ /area/exodus/hallway/primary/starboard) "bhn" = ( /obj/structure/sign/warning/airlock{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/effect/floor_decal/corner/white{ dir = 8 @@ -27696,7 +27786,8 @@ "bhq" = ( /obj/machinery/airlock_sensor{ id_tag = "escape_dock_north_sensor"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/hallway/secondary/exit) @@ -27711,7 +27802,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "centcom_shuttle_dock_sensor"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 4; @@ -28571,7 +28663,7 @@ pixel_y = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/abstract/landmark/start/ai, /turf/simulated/floor/bluegrid, @@ -28605,10 +28697,10 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/item/radio/intercom{ dir = 8; @@ -28635,7 +28727,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -28762,7 +28854,8 @@ /area/exodus/security/prison/dorm) "bjs" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = -30 + pixel_y = -29; + dir = 1 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -28797,7 +28890,7 @@ "bjv" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -28889,7 +28982,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/carpet, /area/exodus/bridge/meeting_room) @@ -28967,7 +29060,8 @@ /area/exodus/bridge/meeting_room) "bjN" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = -30 + pixel_y = -29; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -29076,7 +29170,8 @@ /area/exodus/turret_protected/ai) "bjZ" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = -30 + pixel_y = -29; + dir = 1 }, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -29159,7 +29254,8 @@ /area/exodus/hallway/secondary/exit) "bkh" = ( /obj/machinery/newscaster{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/effect/floor_decal/corner/white{ dir = 8 @@ -29466,7 +29562,8 @@ dir = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/wood/walnut, /area/exodus/bridge/meeting_room) @@ -29527,7 +29624,8 @@ dir = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_y = -30 + pixel_y = -29; + dir = 1 }, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -29691,7 +29789,8 @@ /area/exodus/quartermaster/storage) "blg" = ( /obj/structure/sign/warning/secure_area{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/effect/floor_decal/corner/lime/full, /obj/effect/floor_decal/industrial/loading{ @@ -29773,7 +29872,7 @@ /area/exodus/bridge/meeting_room) "blt" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/carpet, /area/exodus/crew_quarters/captain) @@ -29986,7 +30085,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "specops_dock_sensor"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 4; @@ -30019,7 +30119,7 @@ /area/exodus/medical/chemistry) "blX" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = 30 + pixel_y = 29 }, /obj/machinery/camera/network/medbay{ c_tag = "Medbay - Chemistry" @@ -30609,7 +30709,8 @@ pixel_y = 25 }, /obj/machinery/light_switch{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/structure/table{ name = "plastic table frame" @@ -30652,7 +30753,7 @@ }, /obj/item/chems/glass/beaker/sulphuric, /obj/structure/reagent_dispensers/acid{ - density = FALSE; + density = 0; pixel_y = 32 }, /turf/simulated/floor/tiled/white/monotile, @@ -30685,13 +30786,14 @@ dir = 8 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/reception) "bnm" = ( /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 30; + dir = 4 }, /obj/structure/flora/pottedplant{ icon_state = "plant-10" @@ -30700,7 +30802,7 @@ dir = 1 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/reception) @@ -30865,7 +30967,8 @@ /area/exodus/quartermaster/office) "bnB" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/effect/floor_decal/corner/blue{ dir = 6 @@ -30915,7 +31018,7 @@ "bnF" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/machinery/light/small, /turf/simulated/floor/plating, @@ -31370,7 +31473,8 @@ "boN" = ( /obj/structure/filing_cabinet/chestdrawer, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/effect/floor_decal/corner/purple{ dir = 5 @@ -31403,7 +31507,8 @@ }, /obj/effect/floor_decal/industrial/warning, /obj/structure/extinguisher_cabinet{ - pixel_x = -25 + pixel_x = -29; + dir = 4 }, /obj/machinery/cell_charger, /turf/simulated/floor/tiled/white, @@ -31511,7 +31616,8 @@ /area/exodus/hallway/secondary/entry/aft) "bpa" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/effect/floor_decal/corner/lime{ dir = 6 @@ -31790,7 +31896,8 @@ /area/exodus/maintenance/substation/command) "bpE" = ( /obj/structure/closet/hydrant{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /obj/structure/cable{ icon_state = "1-2" @@ -31900,7 +32007,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/wood/walnut, /area/exodus/crew_quarters/captain) @@ -31930,7 +32038,8 @@ /area/exodus/medical/chemistry) "bpR" = ( /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/cable/green{ icon_state = "1-4" @@ -32050,7 +32159,7 @@ dir = 6 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/quartermaster/office) @@ -32265,7 +32374,8 @@ /obj/item/clothing/suit/armor/captain, /obj/item/clothing/head/helmet/space/capspace, /obj/machinery/newscaster{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /obj/random_multi/single_item/captains_spare_id, /turf/simulated/floor/wood/walnut, @@ -32336,7 +32446,8 @@ /area/exodus/maintenance/locker) "bqH" = ( /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -32579,7 +32690,8 @@ dir = 4 }, /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/machinery/porta_turret{ dir = 8 @@ -32726,7 +32838,7 @@ id_tag = "packageExternal" }, /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/structure/cable{ icon_state = "4-8" @@ -32990,7 +33102,8 @@ /area/exodus/research/xenobiology) "brX" = ( /obj/structure/closet/secure_closet/medical_wall/pills{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/item/chems/syringe/antibiotic, /obj/structure/table{ @@ -33283,7 +33396,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -33650,7 +33763,8 @@ dir = 8 }, /obj/machinery/vending/wallmed1{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /turf/simulated/floor/tiled/white, /area/exodus/research) @@ -33700,7 +33814,7 @@ "btA" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/structure/table/woodentable, /obj/item/deck/cards{ @@ -33777,7 +33891,8 @@ /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/firedoor, /obj/structure/sign/warning/airlock{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/research/docking) @@ -33916,7 +34031,7 @@ "btW" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -33926,7 +34041,8 @@ "btX" = ( /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -33976,7 +34092,8 @@ }, /obj/machinery/recharge_station, /obj/structure/extinguisher_cabinet{ - pixel_y = -29 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/tiled/dark, /area/exodus/research/chargebay) @@ -34047,9 +34164,12 @@ /turf/simulated/floor/tiled/steel_grid, /area/exodus/hallway/primary/starboard) "bun" = ( -/obj/structure/sign/warning/secure_area, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/research) +/obj/structure/sign/warning/docking_area{ + dir = 8; + pixel_x = 32 + }, +/turf/space, +/area/space) "buo" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -34591,7 +34711,7 @@ "bvi" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/dark, /area/exodus/turret_protected/ai_upload) @@ -34673,7 +34793,8 @@ }, /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/structure/cable/green{ icon_state = "4-8" @@ -34734,7 +34855,8 @@ pixel_y = 5 }, /obj/machinery/light_switch{ - pixel_x = -23 + pixel_x = -23; + dir = 4 }, /obj/random/firstaid{ pixel_y = 1 @@ -35183,6 +35305,9 @@ id_tag = "researchlockdown"; name = "researchlockdown" }, +/obj/structure/sign/warning/secure_area{ + pixel_y = 32 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/research) "bwz" = ( @@ -35353,7 +35478,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/carpet, /area/exodus/crew_quarters/captain) @@ -35375,7 +35500,7 @@ c_tag = "Medbay Fore Starboard Corridor" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/medbay2) @@ -35890,7 +36015,8 @@ "bxY" = ( /obj/machinery/fabricator, /obj/machinery/light_switch{ - pixel_x = -27 + pixel_x = -27; + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/quartermaster/office) @@ -36618,7 +36744,7 @@ /obj/structure/table, /obj/item/storage/firstaid/surgery, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/dark, /area/exodus/research/robotics) @@ -36773,7 +36899,7 @@ /area/exodus/turret_protected/ai_upload_foyer) "bzQ" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/teleport/hub, /turf/simulated/floor/tiled/dark/monotile, @@ -36851,7 +36977,8 @@ /area/exodus/teleporter) "bAa" = ( /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -37317,7 +37444,8 @@ /obj/item/clothing/glasses/welding, /obj/item/clothing/glasses/welding, /obj/machinery/light_switch{ - pixel_x = 25 + pixel_x = 25; + dir = 8 }, /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -37684,7 +37812,8 @@ }, /obj/effect/floor_decal/corner/grey/diagonal, /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled/white, /area/exodus/crew_quarters/medbreak) @@ -37860,9 +37989,7 @@ /turf/simulated/floor/tiled/white, /area/exodus/medical/chemistry) "bBV" = ( -/obj/machinery/computer/modular/telescreen/preset/generic{ - dir = 2 - }, +/obj/machinery/computer/modular/telescreen/preset/generic, /obj/effect/floor_decal/corner/lime{ dir = 5 }, @@ -37933,7 +38060,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/quartermaster/office) @@ -37957,7 +38084,8 @@ dir = 9 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/medbay2) @@ -38088,7 +38216,8 @@ "bCt" = ( /obj/machinery/light_switch{ pixel_x = -23; - pixel_y = -23 + pixel_y = -23; + dir = 4 }, /obj/structure/cable/green{ icon_state = "2-8" @@ -38252,7 +38381,7 @@ "bCL" = ( /obj/machinery/navbeacon/Research, /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/loading{ @@ -38415,7 +38544,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/item/wrench, /obj/machinery/camera/network/medbay{ @@ -38611,7 +38740,8 @@ /obj/item/clothing/accessory/stethoscope, /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/machinery/camera/network/medbay{ c_tag = "Medbay Equipment Storage"; @@ -38690,7 +38820,7 @@ /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/plating, /area/exodus/medical/genetics/cloning) @@ -38780,7 +38910,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/quartermaster/storage) @@ -39024,7 +39154,8 @@ id_tag = "QMLoad" }, /obj/machinery/status_display/supply_display{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/quartermaster/storage) @@ -39071,18 +39202,6 @@ "bEn" = ( /turf/simulated/wall/prepainted, /area/exodus/maintenance/research_shuttle) -"bEo" = ( -/obj/machinery/button/access/exterior{ - id_tag = "toxin_test_airlock"; - name = "exterior access button"; - pixel_x = -20; - pixel_y = -20 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/airless, -/area/exodus/research/test_area) "bEp" = ( /obj/machinery/light, /obj/structure/disposalpipe/segment{ @@ -39140,7 +39259,8 @@ /area/exodus/quartermaster/office) "bEu" = ( /obj/machinery/atm{ - pixel_x = -28 + pixel_x = -28; + dir = 4 }, /obj/effect/floor_decal/corner/brown{ dir = 9 @@ -39189,7 +39309,7 @@ dir = 5 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/medbay3) @@ -39200,7 +39320,8 @@ /area/exodus/crew_quarters/heads/hop) "bEB" = ( /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /obj/machinery/light{ dir = 4 @@ -39679,7 +39800,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/structure/cable{ icon_state = "4-8" @@ -39714,7 +39835,7 @@ "bFF" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/janitor) @@ -39970,7 +40091,8 @@ tag_airpump = "tox_airlock_pump"; tag_chamber_sensor = "tox_airlock_sensor"; tag_exterior_door = "tox_airlock_exterior"; - tag_interior_door = "tox_airlock_interior" + tag_interior_door = "tox_airlock_interior"; + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -40246,7 +40368,7 @@ }, /obj/machinery/door/firedoor, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/effect/floor_decal/corner/paleblue{ dir = 5 @@ -40698,7 +40820,8 @@ "bHx" = ( /obj/machinery/airlock_sensor{ id_tag = "research_dock_sensor"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 1; @@ -40810,7 +40933,7 @@ preset_channels = list("Research","Miscellaneous Reseach") }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/reinforced, /area/exodus/research/misc_lab) @@ -41009,7 +41132,8 @@ "bHY" = ( /obj/machinery/disposal, /obj/structure/sign/warning/airlock{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /obj/structure/disposalpipe/trunk, /obj/effect/floor_decal/industrial/warning/corner, @@ -41117,7 +41241,8 @@ name = "EMT Storage Privacy Shutters" }, /obj/machinery/light_switch{ - pixel_x = 22 + pixel_x = 22; + dir = 8 }, /obj/effect/floor_decal/corner/paleblue{ dir = 10 @@ -41310,7 +41435,8 @@ /area/exodus/research/docking) "bIC" = ( /obj/machinery/light_switch{ - pixel_x = -22 + pixel_x = -22; + dir = 4 }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/sleeper{ @@ -42064,7 +42190,8 @@ "bJX" = ( /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/machinery/constructable_frame/machine_frame, /obj/item/shard, @@ -42107,7 +42234,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/window/westleft{ name = "Server Room"; - opacity = TRUE + opacity = 1 }, /obj/machinery/door/window/eastleft{ name = "Server Room" @@ -42303,7 +42430,8 @@ }, /obj/effect/floor_decal/industrial/warning, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/machinery/network/relay, /turf/simulated/floor/tiled/steel_grid, @@ -42412,7 +42540,7 @@ "bKL" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -42452,7 +42580,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -42508,7 +42636,7 @@ "bKW" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/lime{ dir = 10 @@ -42848,7 +42976,8 @@ /area/exodus/research/storage) "bLL" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/research/storage) @@ -42915,7 +43044,8 @@ /area/exodus/maintenance/atmos_control) "bLQ" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/effect/floor_decal/corner/purple{ dir = 8 @@ -42929,7 +43059,7 @@ /obj/item/stool/padded, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/sleeper) @@ -42952,9 +43082,7 @@ /obj/effect/floor_decal/corner/purple/diagonal{ dir = 4 }, -/obj/machinery/keycard_auth{ - dir = 2 - }, +/obj/machinery/keycard_auth, /obj/machinery/computer/modular/preset/civilian, /turf/simulated/floor/tiled/white, /area/exodus/crew_quarters/heads/hor) @@ -43016,7 +43144,8 @@ pixel_y = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled/white, /area/exodus/crew_quarters/heads/hor) @@ -43257,7 +43386,7 @@ /obj/random/medical, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/item/stack/tape_roll/barricade_tape/medical, /turf/simulated/floor/tiled/white, @@ -43282,7 +43411,8 @@ /obj/machinery/button/blast_door{ id_tag = "acutesep"; name = "Acute Separation Shutters"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/abstract/landmark/start{ name = "Paramedic" @@ -43370,7 +43500,8 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_x = 22 + pixel_x = 22; + dir = 8 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/medbay2) @@ -43396,7 +43527,8 @@ /obj/machinery/button/blast_door{ id_tag = "staffroom"; name = "Staff Room Shutters Control"; - pixel_x = -26 + pixel_x = -26; + dir = 4 }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, @@ -43460,7 +43592,7 @@ dir = 1 }, /obj/structure/bookcase/manuals/medical, -/obj/item/book/manual/stasis, +/obj/item/book/fluff/stasis, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/white, /area/exodus/crew_quarters/medbreak) @@ -43962,7 +44094,7 @@ "bNY" = ( /obj/machinery/navbeacon/Janitor, /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -44196,7 +44328,7 @@ dir = 1 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/exodus/research/mixing) @@ -44867,7 +44999,8 @@ "bPK" = ( /obj/structure/disposalpipe/segment, /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 30; + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -44876,7 +45009,8 @@ /area/exodus/medical/medbay2) "bPL" = ( /obj/machinery/light_switch{ - pixel_x = -22 + pixel_x = -22; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -45103,7 +45237,7 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/research/mixing) @@ -45234,7 +45368,8 @@ }, /obj/item/multitool, /obj/machinery/status_display{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /obj/structure/table/steel, /obj/item/scanner/plant, @@ -45464,7 +45599,8 @@ /obj/item/chems/ivbag/blood/ominus, /obj/structure/closet/secure_closet/medical_wall{ name = "O- Blood Locker"; - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /obj/effect/floor_decal/corner/pink{ dir = 9 @@ -46139,7 +46275,7 @@ /obj/machinery/papershredder, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/white, /area/exodus/crew_quarters/heads/cmo) @@ -46212,7 +46348,7 @@ /obj/effect/floor_decal/corner/grey/diagonal, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/white, /area/exodus/crew_quarters/medbreak) @@ -46255,7 +46391,7 @@ /obj/effect/floor_decal/corner/grey/diagonal, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/white, /area/exodus/crew_quarters/medbreak) @@ -46383,14 +46519,13 @@ /area/exodus/research/storage) "bSJ" = ( /obj/structure/bed/chair/comfy/teal{ - dir = 8; - icon_state = "comfychair_preview" + dir = 8 }, /obj/effect/floor_decal/corner/paleblue{ dir = 5 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/medbay4) @@ -46481,7 +46616,8 @@ dir = 1 }, /obj/structure/sign/warning/secure_area{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/research/mixing) @@ -46637,7 +46773,8 @@ dir = 8 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/effect/floor_decal/corner/yellow{ dir = 9 @@ -46685,7 +46822,8 @@ /area/exodus/medical/sleeper) "bTw" = ( /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /turf/simulated/floor/plating, /area/exodus/storage/tech) @@ -46873,7 +47011,7 @@ /area/exodus/maintenance/medbay) "bTP" = ( /obj/machinery/shieldwallgen{ - anchored = TRUE + anchored = 1 }, /obj/structure/cable/green{ icon_state = "0-2" @@ -47000,7 +47138,8 @@ /area/exodus/research/storage) "bTY" = ( /obj/machinery/light_switch{ - pixel_y = -23 + pixel_y = -23; + dir = 1 }, /obj/machinery/power/apc{ dir = 8; @@ -47114,7 +47253,7 @@ /area/exodus/engineering) "bUm" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -47335,8 +47474,7 @@ dir = 1 }, /obj/structure/bed/chair/comfy/teal{ - dir = 4; - icon_state = "comfychair_preview" + dir = 4 }, /obj/effect/floor_decal/corner/paleblue{ dir = 5 @@ -47354,7 +47492,7 @@ /area/exodus/gateway) "bUP" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/structure/hygiene/sink{ dir = 8; @@ -47697,7 +47835,8 @@ dir = 1 }, /obj/machinery/airlock_sensor{ - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /turf/simulated/floor/airless, /area/exodus/research/mixing) @@ -47809,7 +47948,7 @@ dir = 8 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/light/small/emergency, /obj/effect/shuttle_landmark/escape_pod/start/pod4, @@ -47905,7 +48044,8 @@ /area/exodus/engineering/engineering_monitoring) "bVZ" = ( /obj/structure/sign/warning/airlock{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 8; @@ -47927,7 +48067,7 @@ "bWa" = ( /obj/machinery/navbeacon/Medbay, /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /turf/simulated/floor/plating, /area/exodus/medical/sleeper) @@ -48319,7 +48459,8 @@ /area/exodus/research/mixing) "bWR" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/wood/walnut, /area/exodus/engineering/break_room) @@ -48372,7 +48513,8 @@ dir = 8 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/engineering/engine_airlock) @@ -48381,11 +48523,13 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_x = -27 + pixel_x = -27; + dir = 4 }, /obj/machinery/airlock_sensor{ id_tag = "engine_room_airlock"; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/machinery/atmospherics/portables_connector, /obj/effect/floor_decal/industrial/outline/yellow, @@ -48407,7 +48551,7 @@ "bXb" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/structure/closet/bombcloset, /turf/simulated/floor/tiled/white, @@ -48490,7 +48634,8 @@ /obj/machinery/airlock_sensor{ id_tag = "robotics_solar_sensor"; pixel_x = 12; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -48625,7 +48770,8 @@ /area/exodus/medical/medbay4) "bXA" = ( /obj/machinery/newscaster{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/structure/disposalpipe/sortjunction{ dir = 8; @@ -48700,7 +48846,8 @@ }, /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/structure/cable/green{ icon_state = "4-8" @@ -48791,7 +48938,8 @@ "bXO" = ( /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/structure/cable/green{ icon_state = "4-8" @@ -49003,7 +49151,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/item/radio/intercom{ dir = 8; @@ -49201,7 +49349,8 @@ "bYA" = ( /obj/machinery/light, /obj/structure/extinguisher_cabinet{ - pixel_y = -29 + pixel_y = -29; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 @@ -49239,7 +49388,8 @@ /obj/machinery/button/access/exterior{ id_tag = "virology_airlock_control"; name = "Virology Access Button"; - pixel_x = -24 + pixel_x = -24; + dir = 4 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -49658,7 +49808,8 @@ "bZC" = ( /obj/machinery/light_switch{ pixel_x = 22; - pixel_y = -10 + pixel_y = -10; + dir = 8 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -49725,7 +49876,8 @@ "bZJ" = ( /obj/machinery/atmospherics/pipe/simple/visible, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /turf/simulated/floor/tiled/white, /area/exodus/research/misc_lab) @@ -49777,7 +49929,7 @@ "bZO" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/structure/bed/roller, /obj/machinery/camera/network/medbay{ @@ -50007,7 +50159,8 @@ /area/exodus/engineering/break_room) "cal" = ( /obj/machinery/newscaster{ - pixel_x = 28 + pixel_x = 28; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -50090,7 +50243,8 @@ }, /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/medical/sleeper) @@ -50129,8 +50283,7 @@ pixel_x = -22 }, /obj/structure/bed/chair/comfy/teal{ - dir = 4; - icon_state = "comfychair_preview" + dir = 4 }, /obj/effect/floor_decal/corner/pink/three_quarters{ dir = 8 @@ -50261,7 +50414,8 @@ "caM" = ( /obj/structure/iv_drip, /obj/machinery/light_switch{ - pixel_x = 22 + pixel_x = 22; + dir = 8 }, /obj/machinery/power/apc{ dir = 1; @@ -50287,7 +50441,8 @@ dir = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /obj/structure/bed/roller, /turf/simulated/floor/tiled/white, @@ -50427,7 +50582,8 @@ /obj/machinery/button/blast_door{ id_tag = "disvent"; name = "Incinerator Vent Control"; - pixel_y = -24 + pixel_y = -24; + dir = 1 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/tiled/steel_grid, @@ -50740,7 +50896,8 @@ icon_state = "1-2" }, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/medbay4) @@ -50903,7 +51060,8 @@ dir = 4 }, /obj/machinery/newscaster{ - pixel_x = 28 + pixel_x = 28; + dir = 4 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -50951,7 +51109,8 @@ /obj/machinery/button/access/exterior{ id_tag = "virologyq_airlock_control"; name = "Virology Quarantine Access Button"; - pixel_x = -24 + pixel_x = -24; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -51065,6 +51224,12 @@ /obj/random/maintenance, /obj/random/maintenance, /obj/random/maintenance, +/obj/machinery/button/access/interior{ + id_tag = "toxin_test_airlock"; + name = "interior access button"; + pixel_x = 20; + dir = 8 + }, /turf/simulated/floor/plating, /area/exodus/maintenance/research_starboard) "ccw" = ( @@ -51113,7 +51278,8 @@ "ccC" = ( /obj/structure/disposalpipe/segment, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor, /area/exodus/maintenance/atmos_control) @@ -51146,7 +51312,8 @@ dir = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /obj/machinery/alarm{ dir = 1; @@ -51202,7 +51369,7 @@ dir = 5 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/medical/surgeryobs) @@ -51424,7 +51591,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/freezer, /area/exodus/crew_quarters/sleep/engi_wash) @@ -51565,7 +51732,8 @@ dir = 4 }, /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 30; + dir = 4 }, /obj/machinery/computer/modular/preset/medical{ dir = 8 @@ -51659,14 +51827,16 @@ /obj/item/pen, /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -36 + pixel_y = -36; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/machinery/button/windowtint{ id_tag = "isoC_window_tint"; - pixel_y = -26 + pixel_y = -26; + dir = 1 }, /obj/effect/floor_decal/corner/pink/three_quarters{ dir = 4 @@ -51676,7 +51846,8 @@ "cdB" = ( /obj/machinery/light, /obj/machinery/newscaster{ - pixel_y = -28 + pixel_y = -28; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -52006,7 +52177,8 @@ pixel_x = 24 }, /obj/machinery/button/windowtint{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/machinery/light_switch{ pixel_x = -25; @@ -52140,7 +52312,8 @@ /obj/effect/floor_decal/industrial/warning/full, /obj/machinery/airlock_sensor{ id_tag = "merchant_shuttle_station_sensor"; - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/hallway/secondary/entry/fore) @@ -52271,7 +52444,8 @@ dir = 9 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/medical/surgeryobs) @@ -52386,7 +52560,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/white/diagonal, /turf/simulated/floor/tiled/steel_grid, @@ -52440,7 +52614,7 @@ /area/exodus/engineering/workshop) "cfj" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/item/stack/cable_coil, /obj/item/stack/cable_coil{ @@ -52472,7 +52646,8 @@ /area/exodus/medical/biostorage) "cfl" = ( /obj/structure/sign/warning/airlock{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/machinery/atmospherics/portables_connector{ dir = 8 @@ -52725,7 +52900,7 @@ "cfT" = ( /obj/machinery/computer/modular/preset/cardslot/command, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/crew_quarters/heads/chief) @@ -52828,7 +53003,8 @@ dir = 1 }, /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /obj/machinery/smartfridge/drying_rack, /obj/effect/floor_decal/corner/purple/three_quarters{ @@ -52856,7 +53032,8 @@ "cgh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light_switch{ - pixel_x = 22 + pixel_x = 22; + dir = 8 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -53699,7 +53876,8 @@ pixel_y = -20 }, /obj/structure/sign/warning/airlock{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/effect/floor_decal/industrial/warning, /obj/machinery/atmospherics/pipe/manifold/visible{ @@ -53874,7 +54052,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/freezer, /area/exodus/research/xenobiology/xenoflora_storage) @@ -53904,7 +54082,8 @@ "cih" = ( /obj/machinery/light_switch{ pixel_x = 26; - pixel_y = -6 + pixel_y = -6; + dir = 8 }, /obj/structure/table/glass, /turf/simulated/floor/tiled/white, @@ -54041,7 +54220,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/machinery/portable_atmospherics/hydroponics, /turf/simulated/floor/tiled/freezer, @@ -54066,7 +54245,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/engineering/foyer) @@ -54180,7 +54359,8 @@ /area/exodus/engineering/locker_room) "ciR" = ( /obj/machinery/light_switch{ - pixel_x = -22 + pixel_x = -22; + dir = 4 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/surgery) @@ -54270,7 +54450,8 @@ /area/exodus/medical/surgery2) "cje" = ( /obj/machinery/light_switch{ - pixel_x = 22 + pixel_x = 22; + dir = 8 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/surgery2) @@ -54415,7 +54596,7 @@ /obj/structure/closet/secure_closet/atmos_personal, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/item/tank/emergency/oxygen/engi, /turf/simulated/floor/tiled/steel_grid, @@ -55040,7 +55221,8 @@ id_tag = "solar_xeno_airlock"; name = "interior access button"; pixel_x = -25; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 @@ -55204,7 +55386,7 @@ "clg" = ( /obj/machinery/navbeacon/Engineering, /obj/structure/plasticflaps{ - opacity = TRUE + opacity = 1 }, /obj/machinery/door/firedoor, /obj/effect/floor_decal/industrial/loading{ @@ -55315,7 +55497,7 @@ /area/exodus/research/xenobiology/xenoflora) "clt" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/exodus/medical/virology) @@ -55351,7 +55533,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/engineering) @@ -55579,9 +55761,11 @@ /turf/simulated/floor/tiled/white, /area/exodus/medical/virology/access) "clS" = ( -/obj/structure/sign/warning/docking_area, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/maintenance/engi_shuttle) +/obj/structure/sign/warning/radioactive{ + pixel_y = 32 + }, +/turf/space, +/area/space) "clT" = ( /obj/structure/sign/warning/fire{ pixel_y = 32 @@ -55608,15 +55792,21 @@ /turf/simulated/floor/tiled/freezer, /area/exodus/research/xenobiology/xenoflora_storage) "clW" = ( -/obj/structure/sign/warning/docking_area, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/maintenance/engineering) +/obj/machinery/button/access/exterior{ + id_tag = "toxin_test_airlock"; + name = "exterior access button"; + pixel_x = -20; + dir = 4 + }, +/turf/space, +/area/space) "clX" = ( /obj/structure/cable/green{ icon_state = "1-2" }, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/plating, /area/exodus/engineering/sublevel_access) @@ -55624,7 +55814,8 @@ /obj/machinery/light, /obj/machinery/light_switch{ name = "light switch "; - pixel_y = -22 + pixel_y = -22; + dir = 1 }, /obj/machinery/atmospherics/portables_connector{ dir = 4 @@ -55670,15 +55861,17 @@ /obj/item/radio/off, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/structure/table/steel, /turf/simulated/floor/tiled/steel_grid, /area/exodus/engineering/workshop) "cmc" = ( -/obj/structure/sign/warning/radioactive, -/turf/simulated/wall/r_wall/prepainted, -/area/exodus/engineering/engine_room) +/obj/structure/sign/warning/biohazard{ + pixel_y = 32 + }, +/turf/space, +/area/space) "cmd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -55991,7 +56184,7 @@ /area/exodus/engineering/locker_room) "cmM" = ( /obj/machinery/door/blast/regular/open{ - density = FALSE; + density = 0; dir = 4; id_tag = "SupermatterPort"; name = "Reactor Blast Door" @@ -56116,7 +56309,8 @@ dir = 1 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/effect/floor_decal/corner/blue{ dir = 6 @@ -56169,7 +56363,8 @@ id_tag = "robotics_solar_airlock"; name = "interior access button"; pixel_x = -25; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -56244,7 +56439,8 @@ /obj/machinery/airlock_sensor{ id_tag = "solar_xeno_sensor"; pixel_x = 25; - pixel_y = 12 + pixel_y = 12; + dir = 8 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 1; @@ -56362,7 +56558,8 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/structure/sign/warning/compressed_gas{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/plating, /area/exodus/engineering/engine_room) @@ -56632,7 +56829,8 @@ /area/exodus/research/xenobiology) "col" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/white, @@ -56692,11 +56890,12 @@ "cor" = ( /obj/machinery/airlock_sensor{ id_tag = "eng_al_c_snsr"; - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -56813,7 +57012,7 @@ "coE" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/structure/table/reinforced, /turf/simulated/floor/tiled/steel_grid, @@ -56822,7 +57021,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, @@ -57171,7 +57370,8 @@ /area/exodus/engineering/engineering_monitoring) "cpy" = ( /obj/machinery/vending/wallmed1{ - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/machinery/light{ dir = 8 @@ -57232,7 +57432,8 @@ dir = 8 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -57399,7 +57600,8 @@ /area/exodus/engineering) "cqg" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/structure/cable/green{ icon_state = "1-2" @@ -57489,7 +57691,8 @@ desc = "A remote control-switch for shutters."; id_tag = "virologyquar"; name = "Virology Emergency Lockdown Control"; - pixel_y = -28 + pixel_y = -28; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -57507,7 +57710,8 @@ id_tag = "engineering_dock_airlock"; name = "interior access button"; pixel_x = -30; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/effect/floor_decal/industrial/warning, /turf/simulated/floor/plating, @@ -57617,21 +57821,27 @@ desc = "A remote control-switch for the engine control room blast doors."; id_tag = "EngineBlast"; name = "Engine Monitoring Room Blast Doors"; - pixel_y = -3 + pixel_y = -3; + dir = 1; + directional_offset = null }, /obj/machinery/button/blast_door{ desc = "A remote control-switch for the engine charging port."; id_tag = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; - pixel_y = 7 + pixel_y = 7; + dir = 1; + directional_offset = null }, /obj/machinery/button/toggle{ desc = "A remote control-switch for the engine emitter."; id_tag = "EngineEmitter"; name = "Engine Emitter"; pixel_x = 6; - pixel_y = 7 + pixel_y = 7; + dir = 1; + directional_offset = null }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -57733,7 +57943,8 @@ }, /obj/structure/disposalpipe/segment, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /obj/effect/floor_decal/corner/yellow{ dir = 6 @@ -57805,7 +58016,8 @@ /obj/machinery/airlock_sensor{ id_tag = "engineering_dock_sensor"; pixel_x = -25; - pixel_y = 8 + pixel_y = 8; + dir = 4 }, /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -57962,6 +58174,11 @@ /obj/structure/cable/green{ icon_state = "1-2" }, +/obj/machinery/button/access/exterior{ + id_tag = "engineering_dock_airlock"; + name = "exterior access button"; + pixel_x = 25 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/exodus/maintenance/engi_shuttle) "crI" = ( @@ -58230,6 +58447,9 @@ /obj/machinery/camera/network/engine{ c_tag = "Engine Radiator" }, +/obj/structure/sign/warning/docking_area{ + pixel_y = 32 + }, /turf/space, /area/space) "csB" = ( @@ -58237,7 +58457,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/computer/robotics, /turf/simulated/floor/tiled/white, @@ -59051,7 +59271,7 @@ icon_state = "0-2" }, /obj/machinery/generator{ - anchored = TRUE; + anchored = 1; dir = 4 }, /obj/structure/cable/yellow, @@ -59063,7 +59283,8 @@ id_tag = "dorm_airlock"; name = "exterior access button"; pixel_x = -25; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /turf/space, /area/space) @@ -60015,7 +60236,8 @@ /area/exodus/maintenance/incinerator) "cyG" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -24 + pixel_x = -29; + dir = 4 }, /obj/machinery/camera/network/exodus{ c_tag = "Arrivals Southeast"; @@ -60356,7 +60578,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "exodus_rescue_shuttle_dock_sensor"; - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /turf/simulated/floor/plating, /area/exodus/hallway/secondary/entry/aft) @@ -60741,7 +60964,8 @@ dir = 1 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 25 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/hallway/secondary/entry/pods) @@ -60775,9 +60999,7 @@ /turf/simulated/floor/plating, /area/exodus/engineering/drone_fabrication) "cDi" = ( -/obj/machinery/computer/cryopod/robot{ - dir = 2 - }, +/obj/machinery/computer/cryopod/robot, /obj/effect/floor_decal/industrial/warning{ dir = 1 }, @@ -60879,12 +61101,6 @@ /turf/simulated/floor/plating, /area/exodus/maintenance/engineering) "cDE" = ( -/obj/machinery/button/access/interior{ - id_tag = "toxin_test_airlock"; - name = "interior access button"; - pixel_x = 20; - pixel_y = 20 - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -61381,7 +61597,8 @@ "cGo" = ( /obj/structure/table/reinforced, /obj/machinery/light_switch{ - pixel_x = 27 + pixel_x = 27; + dir = 8 }, /obj/effect/floor_decal/corner/yellow{ dir = 6 @@ -61590,7 +61807,8 @@ id_tag = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = 5; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/structure/cable/yellow{ icon_state = "0-4" @@ -61732,6 +61950,10 @@ dir = 9 }, /obj/effect/floor_decal/industrial/warning, +/obj/structure/sign/warning/radioactive{ + dir = 8; + pixel_x = 32 + }, /turf/simulated/floor/plating, /area/exodus/engineering/engine_waste) "cHY" = ( @@ -61746,7 +61968,7 @@ /area/exodus/engineering/engine_room) "cIa" = ( /obj/machinery/emitter{ - anchored = TRUE; + anchored = 1; id_tag = "EngineEmitter"; state = 2 }, @@ -61912,7 +62134,7 @@ /area/exodus/engineering/engine_room) "cIF" = ( /obj/machinery/atmospherics/binary/circulator{ - anchored = TRUE; + anchored = 1; dir = 1 }, /turf/simulated/floor/plating, @@ -61928,7 +62150,7 @@ /area/exodus/engineering/engine_room) "cIH" = ( /obj/machinery/atmospherics/binary/circulator{ - anchored = TRUE + anchored = 1 }, /turf/simulated/floor/plating, /area/exodus/engineering/engine_room) @@ -62159,6 +62381,10 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, +/obj/structure/sign/warning/radioactive{ + dir = 8; + pixel_x = 32 + }, /turf/simulated/floor/plating, /area/exodus/engineering/engine_waste) "cJF" = ( @@ -62281,7 +62507,7 @@ /area/exodus/maintenance/engi_engine) "cJZ" = ( /obj/machinery/generator{ - anchored = TRUE; + anchored = 1; dir = 4 }, /obj/structure/cable/yellow, @@ -62327,7 +62553,8 @@ desc = "A remote control-switch for the engine radiator viewport shutters."; id_tag = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutters"; - pixel_x = 25 + pixel_x = 25; + dir = 8 }, /obj/machinery/atmospherics/pipe/manifold/visible/black{ dir = 4 @@ -62417,14 +62644,12 @@ /turf/simulated/floor/plating, /area/exodus/engineering/engine_room) "cKH" = ( -/obj/machinery/button/access/exterior{ - id_tag = "engineering_dock_airlock"; - name = "exterior access button"; - pixel_x = -25; - pixel_y = -8 +/obj/structure/sign/warning/radioactive{ + dir = 4; + pixel_x = -32 }, -/turf/space, -/area/space) +/turf/simulated/floor/plating, +/area/exodus/engineering/engine_room) "cKI" = ( /mob/living/simple_animal/mouse, /turf/simulated/floor/plating, @@ -62695,6 +62920,10 @@ /obj/effect/floor_decal/industrial/warning{ dir = 1 }, +/obj/structure/sign/warning/radioactive{ + pixel_y = -32; + dir = 1 + }, /turf/simulated/floor/plating, /area/exodus/engineering/engine_room) "cLB" = ( @@ -62742,7 +62971,8 @@ /obj/machinery/button/blast_door{ id_tag = "EngineVent"; name = "Reactor Ventillatory Control"; - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/structure/window/reinforced, /turf/simulated/floor/plating, @@ -64215,7 +64445,8 @@ /area/exodus/crew_quarters/kitchen) "sGZ" = ( /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/effect/floor_decal/industrial/warning{ dir = 6 @@ -64532,7 +64763,7 @@ "wsi" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/white{ dir = 10 @@ -64590,7 +64821,8 @@ /obj/item/stack/material/ingot/mapped/osmium/ten, /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/status_display{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/steel_grid, /area/exodus/quartermaster/miningdock) @@ -72250,7 +72482,7 @@ crP cLU cLU cLU -atf +cec aFD cec cLU @@ -72763,7 +72995,7 @@ cLU cec cec cec -awq +atS cec ceI cec @@ -91610,11 +91842,11 @@ bZQ cDW cDW cGt -cmc +cGt cmo uGq cmr -cmc +cGt cGt cGt cGt @@ -91871,7 +92103,7 @@ apm cIC cIZ cJs -cHb +cKH cIQ cLI bIM @@ -92132,9 +92364,9 @@ cHb cHb cJo bIM -bIM -cmc -cLU +awq +cGt +clS cLU aaI cLU @@ -95217,8 +95449,8 @@ cuI cuH cJZ cLA -cmc -cLU +cGt +clS cLU aaI cLU @@ -95975,7 +96207,7 @@ cdW czA aaf cLU -cLU +bun ccp cHB cHB @@ -96232,7 +96464,7 @@ cCz byA byA byA -clS +byA rQB cKX gwY @@ -97260,7 +97492,7 @@ cFC byF aaf cLU -cKH +cLU rQB cpF cLj @@ -97776,11 +98008,11 @@ cea cea cea cea -clW +cea aQh aQh aQh -aIo +apc csA csX csX @@ -98548,7 +98780,7 @@ bNU bzX bzX bNU -cLU +aGX cGQ cHy cHP @@ -102914,8 +103146,8 @@ cqv cqv cqv cqv -cfQ -cLU +cqv +cmc aaf cLU cLU @@ -107021,8 +107253,8 @@ cqv cqv cqv cqv -cfQ -aaf +cqv +atf cCJ aap cLU @@ -108304,8 +108536,8 @@ cdO cdO cdO cdO -bXx -cLU +cdO +cmc cLU cLU cqD @@ -109338,8 +109570,8 @@ cdO cdO cdO cdO -bXx -aaf +cdO +atf cCJ cLU cLU @@ -111084,11 +111316,11 @@ bhl biK rkN brU -brU -aGX +aQU +blO bqN bst -bun +bww bwy aMd bCh @@ -112422,8 +112654,8 @@ cdO cdO cdO cdO -bXx -aaf +cdO +atf cCJ cLU aaf @@ -115185,7 +115417,7 @@ cLU cLU cLU cLU -aQU +azP aLW azP aaf @@ -115193,7 +115425,7 @@ cLU aaf azP aNM -aQU +azP aaf cLU cLU @@ -116766,8 +116998,8 @@ aaf cLU aaf cLU -bEo -cLU +ceq +clW aaf cLU cLU diff --git a/maps/exodus/exodus-admin.dmm b/maps/exodus/exodus-admin.dmm index ccf554f04cb..50d1a80ed0b 100644 --- a/maps/exodus/exodus-admin.dmm +++ b/maps/exodus/exodus-admin.dmm @@ -218,7 +218,7 @@ /area/centcom) "ala" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/structure/decoy{ name = "A.L.I.C.E." @@ -794,7 +794,7 @@ /obj/machinery/light, /obj/item/radio/intercom{ dir = 1; - pixel_y = -22 + pixel_y = -30 }, /obj/effect/floor_decal/corner/blue{ dir = 10 @@ -1245,7 +1245,8 @@ /area/centcom/holding) "aLs" = ( /obj/structure/closet/hydrant{ - pixel_x = 30 + pixel_x = 30; + dir = 8 }, /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -1469,7 +1470,8 @@ "aMg" = ( /obj/machinery/airlock_sensor{ id_tag = "centcom_escape_dock_north_sensor"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /turf/simulated/floor/plating, /area/centcom/holding) @@ -1546,7 +1548,8 @@ /area/centcom/holding) "aMt" = ( /obj/machinery/status_display{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/effect/floor_decal/industrial/warning{ dir = 4 @@ -1952,7 +1955,8 @@ /area/centcom/holding) "aOZ" = ( /obj/machinery/status_display{ - pixel_y = -30 + pixel_y = -30; + dir = 1 }, /obj/machinery/light, /obj/effect/floor_decal/industrial/warning{ @@ -2127,7 +2131,8 @@ /area/shuttle/escape_shuttle) "bpb" = ( /obj/structure/closet/hydrant{ - pixel_x = -30 + pixel_x = -30; + dir = 4 }, /obj/effect/floor_decal/industrial/warning{ dir = 4 diff --git a/maps/exodus/exodus-transit.dmm b/maps/exodus/exodus-transit.dmm index 850cd44d03a..3561cf64477 100644 --- a/maps/exodus/exodus-transit.dmm +++ b/maps/exodus/exodus-transit.dmm @@ -22,7 +22,7 @@ /obj/effect/step_trigger/teleporter/random{ affect_ghosts = 1; name = "escapeshuttle_leave"; - opacity = FALSE; + opacity = 0; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; diff --git a/maps/exodus/jobs/civilian.dm b/maps/exodus/jobs/civilian.dm index ad474b024e4..6919061c901 100644 --- a/maps/exodus/jobs/civilian.dm +++ b/maps/exodus/jobs/civilian.dm @@ -11,10 +11,9 @@ department_types = list(/decl/department/civilian) /datum/job/assistant/get_access() - if(config.assistant_maint) + if(get_config_value(/decl/config/toggle/assistant_maint)) return list(access_maint_tunnels) - else - return list() + return list() /datum/job/chaplain title = "Chaplain" diff --git a/maps/ministation/jobs/civilian.dm b/maps/ministation/jobs/civilian.dm index a8857566ff4..b35ccd1b202 100644 --- a/maps/ministation/jobs/civilian.dm +++ b/maps/ministation/jobs/civilian.dm @@ -13,10 +13,9 @@ event_categories = list(ASSIGNMENT_GARDENER) /datum/job/ministation/assistant/get_access() - if(config.assistant_maint) + if(get_config_value(/decl/config/toggle/assistant_maint)) return list(access_maint_tunnels) - else - return list() + return list() /decl/hierarchy/outfit/job/ministation_assistant name = "Job - Ministation Assistant" diff --git a/maps/ministation/ministation-0.dmm b/maps/ministation/ministation-0.dmm index 5c3fd742300..2819387365e 100644 --- a/maps/ministation/ministation-0.dmm +++ b/maps/ministation/ministation-0.dmm @@ -430,7 +430,7 @@ dir = 4 }, /obj/machinery/status_display{ - pixel_y = 30 + pixel_y = 32 }, /turf/simulated/floor/tiled, /area/ministation/cargo) @@ -446,7 +446,7 @@ id_tag = "mining_airlock"; name = "interior access button"; pixel_x = 20; - pixel_y = -10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, @@ -591,7 +591,8 @@ id_tag = "trash_sort" }, /obj/structure/sign/warning/deathsposal{ - pixel_x = -30 + pixel_x = -34; + dir = 4 }, /turf/simulated/floor/plating, /area/ministation/trash) @@ -717,7 +718,8 @@ tag_airpump = "sat1_vent"; tag_chamber_sensor = "sat1_sensor"; tag_exterior_door = "sat1_airlock_exterior"; - tag_interior_door = "sat1_airlock_interior" + tag_interior_door = "sat1_airlock_interior"; + pixel_x = -8 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 4; @@ -725,7 +727,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "sat1_sensor"; - pixel_y = 20 + pixel_y = 20; + pixel_x = 8 }, /turf/simulated/floor/plating, /area/ministation/ai_sat) @@ -770,7 +773,7 @@ }, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /turf/simulated/floor/tiled, /area/ministation/janitor) @@ -876,9 +879,7 @@ tag_interior_door = "cargo_airlock_interior"; pixel_x = -20 }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 2 - }, +/obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, /area/ministation/cargo) "eF" = ( @@ -1079,7 +1080,8 @@ dir = 8 }, /obj/machinery/status_display/supply_display{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/machinery/atmospherics/portables_connector{ pixel_x = -3; @@ -1106,7 +1108,7 @@ /obj/machinery/hologram/holopad, /obj/item/radio/intercom/locked{ dir = 4; - pixel_x = -21 + pixel_x = -22 }, /turf/simulated/floor/tiled, /area/ministation/cargo) @@ -1186,13 +1188,10 @@ /area/ministation/cargo) "fG" = ( /obj/effect/wallframe_spawn/reinforced, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 4; - icon_state = "pdoor0"; +/obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; - opacity = 0 + dir = 4; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/visible/red{ @@ -1294,7 +1293,8 @@ frequency = 1447; listening = 0; name = "Station Intercom (AI Private)"; - pixel_y = -29 + pixel_y = -30; + dir = 1 }, /obj/structure/cable{ icon_state = "4-8" @@ -1615,6 +1615,17 @@ dir = 1; id_tag = "stern_engineering_vent" }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + id_tag = "stern_engineering_airlock"; + pixel_y = -6; + tag_airpump = "stern_engineering_vent"; + tag_chamber_sensor = "stern_engineering_sensor"; + tag_exterior_door = "stern_engineering_airlock_exterior"; + tag_interior_door = "stern_engineering_airlock_interior"; + dir = 4; + pixel_x = -20; + name = "2. Airlock Controller" + }, /turf/simulated/floor/plating, /area/ministation/engine) "gX" = ( @@ -1763,7 +1774,7 @@ /area/ministation/ai_sat) "hP" = ( /obj/structure/sign/warning/docking_area{ - pixel_y = 30 + pixel_y = 32 }, /obj/machinery/door/airlock/external/bolted{ id_tag = "cargo_airlock_interior"; @@ -1879,7 +1890,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled, /area/ministation/cargo) @@ -2016,13 +2028,10 @@ "jC" = ( /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/firedoor, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 4; - icon_state = "pdoor0"; +/obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; - opacity = 0 + dir = 4; + name = "External Blast Doors" }, /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 4 @@ -2084,7 +2093,8 @@ /area/ministation/hall/s1) "jU" = ( /obj/structure/sign/warning/docking_area{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /obj/machinery/door/airlock/external/bolted{ id_tag = "cargo_airlock_interior"; @@ -2203,18 +2213,15 @@ /area/ministation/engine) "kx" = ( /obj/effect/wallframe_spawn/reinforced, -/obj/machinery/door/blast/regular{ - density = 0; - dir = 4; - icon_state = "pdoor0"; - id_tag = "scraplock"; - name = "External Blast Doors"; - opacity = 0 - }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 5 }, +/obj/machinery/door/blast/regular/open{ + id_tag = "scraplock"; + dir = 4; + name = "External Blast Doors" + }, /turf/simulated/floor/plating, /area/ministation/atmospherics) "ky" = ( @@ -2256,7 +2263,8 @@ dir = 5 }, /obj/structure/extinguisher_cabinet{ - pixel_x = -27 + pixel_x = -29; + dir = 4 }, /obj/machinery/light/small{ dir = 8 @@ -2462,8 +2470,8 @@ id_tag = "westatmos_airlock"; name = "exterior access button"; pixel_x = -20; - pixel_y = 10; - command = "cycle_exterior" + command = "cycle_exterior"; + dir = 4 }, /turf/simulated/floor/airless, /area/ministation/maint/westatmos) @@ -2478,8 +2486,7 @@ /obj/machinery/button/access/interior{ id_tag = "sat1_airlock"; name = "exterior access button"; - pixel_x = -10; - pixel_y = 20; + pixel_y = 24; command = "cycle_exterior" }, /turf/simulated/floor/plating, @@ -2547,7 +2554,7 @@ }, /obj/item/multitool, /obj/machinery/status_display{ - pixel_y = 30 + pixel_y = 32 }, /turf/simulated/floor/tiled, /area/ministation/cargo) @@ -2557,7 +2564,7 @@ }, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/structure/displaycase, /obj/item/toy/shipmodel, @@ -2644,12 +2651,6 @@ }, /turf/simulated/floor/plating, /area/ministation/ai_sat) -"mI" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 2 - }, -/turf/simulated/floor/tiled, -/area/ministation/cargo) "mN" = ( /obj/machinery/camera/network/ministation/sat{ dir = 8 @@ -2671,7 +2672,7 @@ id_tag = "l1ne_airlock"; name = "interior access button"; pixel_x = 20; - pixel_y = -10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, @@ -2876,9 +2877,15 @@ /turf/simulated/floor/plating, /area/ministation/maint/l1ne) "nY" = ( +/obj/machinery/airlock_sensor{ + id_tag = "westatmos_sensor"; + pixel_y = 4; + pixel_x = -20; + dir = 4 + }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "westatmos_airlock"; - pixel_y = null; + pixel_y = -4; tag_airpump = "westatmos_vent"; tag_chamber_sensor = "westatmos_sensor"; tag_exterior_door = "westatmos_airlock_exterior"; @@ -2886,11 +2893,6 @@ dir = 4; pixel_x = -20 }, -/obj/machinery/airlock_sensor{ - id_tag = "westatmos_sensor"; - pixel_y = 10; - pixel_x = -20 - }, /turf/simulated/floor/plating, /area/ministation/maint/westatmos) "ob" = ( @@ -3386,7 +3388,7 @@ "rD" = ( /obj/structure/table, /obj/item/radio/intercom/locked{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled, /area/ministation/cargo) @@ -3527,7 +3529,8 @@ "sA" = ( /obj/structure/table, /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/item/grenade/chem_grenade/cleaner, /obj/item/storage/box/lights/mixed, @@ -3580,8 +3583,14 @@ /turf/simulated/floor/tiled, /area/ministation/eva) "sR" = ( -/obj/machinery/status_display, -/turf/simulated/wall/r_wall, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/status_display{ + pixel_y = -32; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, /area/ministation/ai_core) "sT" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -4319,7 +4328,8 @@ /area/ministation/engine) "wS" = ( /obj/machinery/status_display{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/item/plunger, /turf/simulated/floor/tiled, @@ -4710,7 +4720,7 @@ "zz" = ( /obj/item/radio/intercom{ dir = 8; - pixel_x = 25 + pixel_x = 22 }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/structure/closet/crate, @@ -4901,7 +4911,7 @@ /area/ministation/ai_sat) "As" = ( /obj/machinery/alarm{ - pixel_y = 23 + pixel_y = 21 }, /obj/structure/cable/cyan{ icon_state = "2-8" @@ -4935,8 +4945,7 @@ /obj/machinery/button/access/interior{ id_tag = "port_engineering_airlock"; name = "exterior access button"; - pixel_x = -10; - pixel_y = 20; + pixel_y = 24; command = "cycle_exterior" }, /obj/machinery/atmospherics/pipe/simple/visible/black{ @@ -4986,7 +4995,8 @@ /obj/machinery/airlock_sensor{ id_tag = "stern_engineering_sensor"; pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/visible/black{ dir = 6 @@ -5225,8 +5235,8 @@ /obj/machinery/button/access/interior{ id_tag = "sat2_airlock"; name = "exterior access button"; - pixel_x = -10; - pixel_y = 20; + pixel_x = -32; + pixel_y = 24; command = "cycle_exterior" }, /turf/simulated/floor/plating, @@ -5521,8 +5531,7 @@ /obj/machinery/button/access/interior{ id_tag = "starboard_engineering_airlock"; name = "interior access button"; - pixel_x = -10; - pixel_y = 20 + pixel_y = 24 }, /turf/simulated/floor, /area/ministation/engine) @@ -5669,7 +5678,7 @@ "Ds" = ( /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/machinery/alarm{ dir = 8; @@ -5761,8 +5770,7 @@ }, /obj/machinery/light{ dir = 4; - icon_state = "tube1"; - pixel_y = -6 + icon_state = "tube1" }, /obj/machinery/light_switch{ pixel_y = 10; @@ -5967,7 +5975,7 @@ dir = 8 }, /obj/machinery/status_display{ - pixel_y = 30 + pixel_y = 32 }, /turf/simulated/floor/tiled/steel_grid, /area/ministation/engine) @@ -5981,7 +5989,7 @@ }, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/item/clothing/gloves/insulated, /obj/item/storage/toolbox/mechanical{ @@ -6325,7 +6333,8 @@ }, /obj/effect/floor_decal/corner/yellow/three_quarters, /obj/structure/sign/warning/engineering_access{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/structure/disposalpipe/segment{ dir = 1; @@ -6815,8 +6824,8 @@ dir = 4 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 5; - pixel_y = -32 + pixel_y = -29; + dir = 1 }, /obj/structure/cable{ icon_state = "1-8" @@ -6997,7 +7006,8 @@ pixel_y = 1 }, /obj/structure/sign/warning/airlock{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /turf/simulated/floor/tiled/steel_grid, /area/ministation/engine) @@ -7016,6 +7026,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 }, +/obj/structure/sign/warning/airlock{ + dir = 4; + pixel_x = -32 + }, /turf/simulated/floor/tiled/steel_grid, /area/ministation/engine) "Gy" = ( @@ -7183,8 +7197,7 @@ /obj/machinery/button/access/interior{ id_tag = "port_engineering_airlock"; name = "interior access button"; - pixel_x = 10; - pixel_y = 20 + pixel_y = 24 }, /turf/simulated/floor/plating, /area/ministation/engine) @@ -7194,7 +7207,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "port_engineering_sensor"; - pixel_y = 20 + pixel_y = 24; + pixel_x = 8 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "port_engineering_airlock"; @@ -7202,7 +7216,8 @@ tag_airpump = "port_engineering_vent"; tag_chamber_sensor = "port_engineering_sensor"; tag_exterior_door = "port_engineering_airlock_exterior"; - tag_interior_door = "port_engineering_airlock_interior" + tag_interior_door = "port_engineering_airlock_interior"; + pixel_x = -8 }, /obj/machinery/atmospherics/pipe/simple/visible/black{ dir = 10 @@ -7241,8 +7256,8 @@ /obj/item/radio/intercom{ canhear_range = 3; name = "Common Channel"; - pixel_x = 27; - pixel_y = -3 + pixel_x = 22; + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -7555,6 +7570,10 @@ /obj/structure/cable{ icon_state = "0-4" }, +/obj/structure/sign/warning/airlock{ + dir = 1; + pixel_y = -32 + }, /turf/simulated/floor/tiled/steel_grid, /area/ministation/engine) "HN" = ( @@ -7675,6 +7694,10 @@ id_tag = "starboard_engineering_vent"; dir = 8 }, +/obj/machinery/airlock_sensor{ + id_tag = "starboard_engineering_sensor"; + pixel_y = 24 + }, /turf/simulated/floor/plating, /area/ministation/engine) "Ih" = ( @@ -7703,8 +7726,8 @@ /obj/machinery/button/access/interior{ id_tag = "sat2_airlock"; name = "interior access button"; - pixel_x = 10; - pixel_y = 20 + pixel_x = 32; + pixel_y = 24 }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -7812,8 +7835,8 @@ "IH" = ( /obj/machinery/atmospherics/pipe/manifold/hidden, /obj/structure/extinguisher_cabinet{ - pixel_x = 5; - pixel_y = -32 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/tiled, /area/ministation/cargo) @@ -7951,13 +7974,13 @@ /area/ministation/supermatter) "Jd" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - dir = 0; id_tag = "sat3_airlock"; pixel_y = 24; tag_airpump = "sat3_vent"; tag_chamber_sensor = "sat3_sensor"; tag_exterior_door = "sat3_airlock_exterior"; - tag_interior_door = "sat3_airlock_interior" + tag_interior_door = "sat3_airlock_interior"; + pixel_x = 8 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 4; @@ -7965,7 +7988,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "sat3_sensor"; - pixel_y = 20 + pixel_y = 24; + pixel_x = -8 }, /turf/simulated/floor/plating, /area/ministation/ai_sat) @@ -8153,7 +8177,8 @@ /area/ministation/ai_core) "JK" = ( /obj/machinery/flasher{ - pixel_y = -21 + pixel_y = -21; + dir = 1 }, /obj/machinery/ai_slipper{ uses = 10 @@ -8367,19 +8392,21 @@ "Kn" = ( /obj/item/radio/intercom{ name = "Common Channel"; - pixel_x = -27; - pixel_y = 5 + pixel_x = -22; + pixel_y = 6; + dir = 4 }, /obj/item/radio/intercom{ listening = 0; name = "Custom Channel"; - pixel_y = 27 + pixel_y = 20 }, /obj/item/radio/intercom{ frequency = 1447; name = "Private Channel"; - pixel_x = 27; - pixel_y = 5 + pixel_x = 22; + pixel_y = 6; + dir = 8 }, /obj/machinery/newscaster{ pixel_x = -32; @@ -8427,14 +8454,14 @@ dir = 1 }, /obj/machinery/flasher{ - pixel_y = -20 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/techmaint, /area/ministation/ai_upload) "Ks" = ( /obj/structure/cable, /obj/machinery/power/apc{ - areastring = null; name = "_South APC"; pixel_y = -24 }, @@ -8446,7 +8473,8 @@ frequency = 1447; listening = 0; name = "Station Intercom (AI Private)"; - pixel_y = -29 + pixel_y = -30; + dir = 1 }, /obj/machinery/computer/upload/robot{ dir = 1 @@ -8731,10 +8759,6 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/machinery/status_display{ - pixel_y = 30; - pixel_x = 31 - }, /turf/simulated/floor/tiled, /area/ministation/ai_sat) "Lg" = ( @@ -8745,6 +8769,9 @@ }, /obj/item/storage/toolbox/mechanical, /obj/item/multitool, +/obj/machinery/status_display{ + pixel_y = 32 + }, /turf/simulated/floor/tiled, /area/ministation/ai_sat) "Lh" = ( @@ -8784,7 +8811,8 @@ "Ll" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; - pixel_x = 28 + pixel_x = 22; + dir = 8 }, /obj/structure/cable{ icon_state = "2-8" @@ -8941,7 +8969,8 @@ dir = 9 }, /obj/structure/extinguisher_cabinet{ - pixel_x = 32 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled, /area/ministation/ai_sat) @@ -9144,7 +9173,7 @@ "Mx" = ( /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/status_display{ - pixel_y = 30 + pixel_y = 32 }, /turf/simulated/floor/tiled, /area/space) @@ -9444,8 +9473,8 @@ id_tag = "l1ne_airlock"; name = "exterior access button"; pixel_x = -20; - pixel_y = 10; - command = "cycle_exterior" + command = "cycle_exterior"; + dir = 4 }, /turf/simulated/floor/airless, /area/ministation/maint/l1ne) @@ -9483,11 +9512,12 @@ /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ dir = 1; id_tag = "sat2_airlock"; - pixel_y = -24; + pixel_y = -22; tag_airpump = "sat2_vent"; tag_chamber_sensor = "sat2_sensor"; tag_exterior_door = "sat2_airlock_exterior"; - tag_interior_door = "sat2_airlock_interior" + tag_interior_door = "sat2_airlock_interior"; + pixel_x = 8 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 4; @@ -9495,8 +9525,9 @@ }, /obj/machinery/airlock_sensor{ id_tag = "sat2_sensor"; - pixel_y = -20; - pixel_x = -10 + pixel_y = -18; + pixel_x = -8; + dir = 1 }, /turf/simulated/floor/plating, /area/ministation/ai_sat) @@ -9568,8 +9599,7 @@ /obj/machinery/button/access/interior{ id_tag = "starboard_engineering_airlock"; name = "exterior access button"; - pixel_x = 10; - pixel_y = 20; + pixel_y = 24; command = "cycle_exterior" }, /obj/machinery/atmospherics/pipe/simple/visible/black{ @@ -9590,7 +9620,7 @@ pixel_x = -23 }, /obj/machinery/status_display{ - pixel_y = 30 + pixel_y = 32 }, /turf/simulated/floor/tiled, /area/ministation/supermatter) @@ -9715,7 +9745,6 @@ /area/ministation/engine) "OG" = ( /obj/machinery/power/apc{ - areastring = null; name = "_South APC"; pixel_y = -24 }, @@ -9764,8 +9793,7 @@ /obj/machinery/button/access/interior{ id_tag = "sat3_airlock"; name = "exterior access button"; - pixel_x = -10; - pixel_y = 20; + pixel_y = 24; command = "cycle_exterior" }, /turf/simulated/floor/plating, @@ -9790,8 +9818,8 @@ id_tag = "mining_airlock"; name = "exterior access button"; pixel_x = -20; - pixel_y = 10; - command = "cycle_exterior" + command = "cycle_exterior"; + dir = 4 }, /turf/simulated/floor/airless, /area/ministation/cargo) @@ -9864,7 +9892,7 @@ id_tag = "atmos_airlock"; name = "interior access button"; pixel_x = 20; - pixel_y = 10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor, @@ -9909,10 +9937,6 @@ }, /turf/simulated/floor/plating, /area/ministation/ai_sat) -"Pd" = ( -/obj/machinery/ai_status_display, -/turf/simulated/wall/r_wall, -/area/ministation/ai_core) "Pe" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden, @@ -9936,10 +9960,11 @@ /turf/simulated/floor/plating, /area/ministation/engine) "Pl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/sign/warning/airlock{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, /area/ministation/cargo) "Pm" = ( @@ -10359,7 +10384,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "cargo2_sensor"; - pixel_y = -20 + pixel_y = -20; + dir = 1 }, /turf/simulated/floor/plating, /area/ministation/cargo) @@ -10377,14 +10403,13 @@ /obj/item/clothing/shoes/magboots, /obj/item/clothing/shoes/magboots, /obj/machinery/status_display{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled, /area/ministation/eva) "Rm" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 2 - }, +/obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/mining/brace, /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled, @@ -10460,7 +10485,7 @@ "RB" = ( /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/effect/floor_decal/industrial/warning{ dir = 1 @@ -10488,9 +10513,15 @@ /turf/simulated/floor/wood/walnut, /area/ministation/dorms) "RE" = ( +/obj/machinery/airlock_sensor{ + id_tag = "l1ne_sensor"; + pixel_y = 4; + pixel_x = -20; + dir = 4 + }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "l1ne_airlock"; - pixel_y = null; + pixel_y = -4; tag_airpump = "l1ne_vent"; tag_chamber_sensor = "l1ne_sensor"; tag_exterior_door = "l1ne_airlock_exterior"; @@ -10498,11 +10529,6 @@ dir = 4; pixel_x = -20 }, -/obj/machinery/airlock_sensor{ - id_tag = "l1ne_sensor"; - pixel_y = 10; - pixel_x = -20 - }, /turf/simulated/floor/plating, /area/ministation/maint/l1ne) "RF" = ( @@ -10911,10 +10937,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/airlock_sensor{ - id_tag = "starboard_engineering_sensor"; - pixel_y = 20 - }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "starboard_engineering_airlock"; pixel_y = 24; @@ -10941,18 +10963,19 @@ }, /obj/machinery/airlock_sensor{ id_tag = "atmos_sensor"; - pixel_y = 10; - pixel_x = -20 + pixel_y = 4; + pixel_x = -20; + dir = 4 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "atmos_airlock"; - pixel_y = null; tag_airpump = "atmos_vent"; tag_chamber_sensor = "atmos_sensor"; tag_exterior_door = "atmos_airlock_exterior"; tag_interior_door = "atmos_airlock_interior"; dir = 4; - pixel_x = -20 + pixel_x = -20; + pixel_y = -4 }, /turf/simulated/floor, /area/ministation/maint/eastatmos) @@ -11081,7 +11104,8 @@ dir = 9 }, /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled, /area/ministation/cargo) @@ -11261,7 +11285,7 @@ "US" = ( /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/green, @@ -11284,7 +11308,7 @@ "UV" = ( /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "mining_airlock"; - pixel_y = null; + pixel_y = -4; tag_airpump = "mining_vent"; tag_chamber_sensor = "mining_sensor"; tag_exterior_door = "mining_airlock_exterior"; @@ -11295,7 +11319,8 @@ /obj/machinery/airlock_sensor{ id_tag = "mining_sensor"; pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + dir = 4 }, /turf/simulated/floor/plating, /area/ministation/cargo) @@ -11412,8 +11437,7 @@ /obj/machinery/button/access/interior{ id_tag = "sat1_airlock"; name = "interior access button"; - pixel_x = 10; - pixel_y = 20 + pixel_y = 24 }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -11431,11 +11455,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, /area/ministation/hall/s1) -"VG" = ( -/obj/effect/wallframe_spawn/reinforced, -/obj/structure/sign/warning/airlock, -/turf/simulated/floor/plating, -/area/ministation/engine) "VH" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 4 @@ -11554,7 +11573,8 @@ dir = 4 }, /obj/machinery/status_display{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/wood/walnut, /area/ministation/dorms) @@ -11565,28 +11585,36 @@ id_tag = "SupermatterPort"; name = "Reactor Blast Doors"; pixel_x = -6; - pixel_y = 7 + pixel_y = 7; + dir = 1; + directional_offset = null }, /obj/machinery/button/blast_door{ desc = "A remote control-switch for the engine control room blast doors."; id_tag = "EngineBlastexterior"; name = "Engine Bay Blast Doors"; pixel_y = -3; - pixel_x = 5 + pixel_x = 5; + dir = 1; + directional_offset = null }, /obj/machinery/button/blast_door{ desc = "A remote control-switch for the engine control room blast doors."; id_tag = "EngineBlastinterior"; name = "Engine Monitoring Room Blast Doors"; pixel_y = -3; - pixel_x = -6 + pixel_x = -6; + dir = 1; + directional_offset = null }, /obj/machinery/button/toggle{ desc = "A remote control-switch for the engine emitter."; id_tag = "EngineEmitter"; name = "Engine Emitter"; pixel_x = 6; - pixel_y = 7 + pixel_y = 7; + dir = 1; + directional_offset = null }, /turf/simulated/floor/tiled/steel_grid, /area/ministation/smcontrol) @@ -11836,7 +11864,8 @@ /obj/machinery/turretid{ control_area = "\improper AI Upload Chamber"; name = "AI Upload turret control"; - pixel_y = -25 + pixel_y = -25; + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -11872,7 +11901,7 @@ id_tag = "westatmos_airlock"; name = "interior access button"; pixel_x = 20; - pixel_y = -10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, @@ -12119,8 +12148,7 @@ /obj/machinery/button/access/interior{ id_tag = "sat3_airlock"; name = "interior access button"; - pixel_x = 10; - pixel_y = 20 + pixel_y = 24 }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -12243,8 +12271,8 @@ id_tag = "atmos_airlock"; name = "exterior access button"; pixel_x = -20; - pixel_y = -10; - command = "cycle_exterior" + command = "cycle_exterior"; + dir = 4 }, /turf/simulated/floor, /area/ministation/maint/eastatmos) @@ -12337,31 +12365,22 @@ /obj/machinery/button/blast_door{ id_tag = "EngineVent"; name = "3. Reactor Ventillatory Control"; - pixel_x = -22; - pixel_y = 9 - }, -/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ - id_tag = "stern_engineering_airlock"; - pixel_y = -6; - tag_airpump = "stern_engineering_vent"; - tag_chamber_sensor = "stern_engineering_sensor"; - tag_exterior_door = "stern_engineering_airlock_exterior"; - tag_interior_door = "stern_engineering_airlock_interior"; - dir = 4; - pixel_x = -20; - name = "2. Airlock Controller" + pixel_x = -24; + pixel_y = 6; + dir = 4 }, /obj/machinery/button/blast_door{ id_tag = "smsafetydoor"; name = "1. Vent Safety"; - pixel_x = -36; - pixel_y = 9 + pixel_x = -24; + pixel_y = -6; + dir = 4 }, /obj/machinery/button/mass_driver{ - pixel_y = -4; pixel_x = -35; id_tag = "eject"; - name = "4. SM CORE EJECT" + name = "4. SM CORE EJECT"; + dir = 4 }, /obj/machinery/atmospherics/valve/digital{ dir = 1; @@ -39818,7 +39837,7 @@ fj fM yO Rm -mI +ZA SO dI Xu @@ -41426,7 +41445,7 @@ Ic wK Dt Eo -VG +Eo GV gm Eo @@ -44260,7 +44279,7 @@ Zi bk ST HM -VG +Eo aa aa aa @@ -57645,8 +57664,8 @@ JJ Km JJ JJ -Jx sR +Jh Sp tm RC @@ -58673,8 +58692,8 @@ JJ Km JJ JJ -Jx -Pd +sR +Jh KF BG RM diff --git a/maps/ministation/ministation-1.dmm b/maps/ministation/ministation-1.dmm index 14b71b5768b..a200a3cc559 100644 --- a/maps/ministation/ministation-1.dmm +++ b/maps/ministation/ministation-1.dmm @@ -215,7 +215,8 @@ /obj/machinery/network/requests_console{ department = "Detective's office"; pixel_x = 30; - initial_network_id = "molluscnet" + initial_network_id = "molluscnet"; + dir = 4 }, /turf/simulated/floor/wood, /area/ministation/detective) @@ -298,12 +299,14 @@ /obj/structure/table/reinforced, /obj/machinery/button/blast_door{ id_tag = "quarantine"; - name = "Infirmary Quarantine Button" + name = "Infirmary Quarantine Button"; + directional_offset = null }, /obj/machinery/button/alternate/door{ id_tag = "medleave"; name = "Interior medbay doors button"; - pixel_y = 8 + pixel_y = 8; + directional_offset = null }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -383,7 +386,7 @@ }, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /turf/simulated/floor/carpet, /area/ministation/hop) @@ -437,7 +440,6 @@ /area/ministation/security) "db" = ( /obj/machinery/power/apc{ - areastring = null; name = "_South APC"; pixel_y = -24 }, @@ -476,7 +478,8 @@ /area/ministation/security) "ds" = ( /obj/machinery/computer/cryopod{ - pixel_y = -27 + pixel_y = -24; + dir = 1 }, /turf/simulated/floor/plating, /area/ministation/arrival) @@ -645,9 +648,7 @@ /area/ministation/maint/l2centrals) "ey" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 2 - }, +/obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, @@ -700,11 +701,8 @@ }, /obj/machinery/computer/modular/telescreen/preset/generic{ name = "south bump"; - pixel_y = -32 - }, -/obj/item/radio/intercom/locked/entertainment{ - dir = 1; - pixel_y = -22 + pixel_y = -20; + dir = 1 }, /turf/simulated/floor/tiled, /area/ministation/hop) @@ -712,9 +710,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 2 - }, +/obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, /area/ministation/hall/w2) "fr" = ( @@ -959,7 +955,7 @@ /obj/item/bedsheet/mime, /obj/item/radio/intercom{ dir = 1; - pixel_y = -27 + pixel_y = -30 }, /turf/simulated/floor/tiled, /area/ministation/security) @@ -1052,7 +1048,8 @@ /area/ministation/security) "hz" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -1082,7 +1079,8 @@ /obj/item/taperecorder, /obj/item/folder/yellow, /obj/structure/filing_cabinet/wall{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /turf/simulated/floor/carpet/red, /area/ministation/detective) @@ -1224,7 +1222,7 @@ }, /obj/item/radio/intercom{ dir = 4; - pixel_x = -25 + pixel_x = -22 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -1318,7 +1316,8 @@ /obj/item/storage/fancy/cigarettes, /obj/item/handcuffs, /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/item/clothing/head/beret/corp/sec, /obj/machinery/light{ @@ -1447,12 +1446,15 @@ /turf/simulated/floor/plating, /area/ministation/maint/l2centraln) "jA" = ( -/obj/effect/wallframe_spawn/no_grille, -/obj/structure/sign/department/botany{ - pixel_y = -1 +/obj/effect/floor_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/sign/warning/airlock{ + dir = 4; + pixel_x = -32 }, /turf/simulated/floor/tiled, -/area/ministation/hydro) +/area/ministation/hall/w2) "jF" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 @@ -1491,7 +1493,8 @@ /obj/structure/table, /obj/item/book/skill/service/cooking, /obj/structure/extinguisher_cabinet{ - pixel_x = 30 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled/dark, /area/ministation/cafe) @@ -1500,7 +1503,7 @@ /obj/item/hand_labeler, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/item/storage/pill_bottle, /obj/machinery/light{ @@ -1555,6 +1558,10 @@ /obj/item/clothing/shoes/color/brown{ desc = "Old, but sensible brown shoes. These belong to Ian." }, +/obj/item/radio/intercom/locked/entertainment{ + dir = 1; + pixel_y = -30 + }, /turf/simulated/floor/tiled, /area/ministation/hop) "kC" = ( @@ -1632,8 +1639,7 @@ /obj/machinery/button/access/interior{ id_tag = "l2_central_north_airlock"; name = "exterior access button"; - pixel_x = 10; - pixel_y = 20; + pixel_y = 24; command = "cycle_exterior" }, /turf/simulated/floor/plating, @@ -1692,14 +1698,15 @@ }, /obj/structure/bed/chair, /obj/machinery/status_display{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /turf/simulated/floor/tiled, /area/ministation/hall/w2) "lJ" = ( /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = -34; + pixel_y = -30; dir = 1 }, /turf/simulated/floor/carpet/blue2, @@ -1930,8 +1937,7 @@ /obj/machinery/button/access/interior{ id_tag = "l2_central_north_airlock"; name = "interior access button"; - pixel_x = -10; - pixel_y = 20 + pixel_y = 24 }, /turf/simulated/floor, /area/ministation/maint/l2centraln) @@ -2018,7 +2024,7 @@ id_tag = "l2_central_south_airlock"; name = "interior access button"; pixel_x = 20; - pixel_y = 10 + dir = 8 }, /turf/simulated/floor/plating, /area/ministation/maint/l2centrals) @@ -2108,7 +2114,7 @@ /obj/machinery/camera/autoname, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/machinery/door/firedoor{ dir = 8 @@ -2238,7 +2244,6 @@ /obj/machinery/button/access/interior{ id_tag = "sqm_airlock"; name = "exterior access button"; - pixel_x = 10; pixel_y = 20; command = "cycle_exterior" }, @@ -2372,7 +2377,7 @@ }, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/machinery/body_scanconsole{ dir = 8 @@ -2434,7 +2439,7 @@ /obj/structure/table, /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/item/bonesetter, /obj/item/bonegel, @@ -2601,7 +2606,8 @@ "qL" = ( /obj/machinery/airlock_sensor{ id_tag = "l2_central_north_sensor"; - pixel_y = 20 + pixel_y = 24; + pixel_x = 8 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "l2_central_north_airlock"; @@ -2609,7 +2615,8 @@ tag_airpump = "l2_central_north_vent"; tag_chamber_sensor = "l2_central_north_sensor"; tag_exterior_door = "l2_central_north_airlock_exterior"; - tag_interior_door = "l2_central_north_airlock_interior" + tag_interior_door = "l2_central_north_airlock_interior"; + pixel_x = -8 }, /turf/simulated/floor/plating, /area/ministation/maint/l2centraln) @@ -2637,7 +2644,7 @@ }, /obj/item/radio/intercom{ dir = 1; - pixel_y = -32 + pixel_y = -30 }, /obj/abstract/landmark/latejoin/cryo, /turf/simulated/floor/tiled/dark, @@ -2656,7 +2663,7 @@ "qX" = ( /obj/item/radio/intercom{ dir = 4; - pixel_x = -25 + pixel_x = -22 }, /obj/machinery/computer/modular/preset/security{ dir = 4 @@ -2686,7 +2693,8 @@ dir = 8 }, /obj/machinery/status_display{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /turf/simulated/floor/tiled, /area/ministation/hall/w2) @@ -2832,7 +2840,8 @@ /obj/machinery/airlock_sensor{ id_tag = "l2_central_south_sensor"; pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + dir = 4 }, /obj/machinery/embedded_controller/radio/airlock/airlock_controller{ id_tag = "l2_central_south_airlock"; @@ -2894,7 +2903,8 @@ /area/ministation/medical) "rM" = ( /obj/machinery/status_display{ - pixel_y = -29 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ministation/medical) @@ -3464,7 +3474,7 @@ "tS" = ( /obj/item/radio/intercom{ dir = 4; - pixel_x = -25 + pixel_x = -22 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/cooker/fryer, @@ -3663,7 +3673,8 @@ /area/ministation/hall/e2) "ux" = ( /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled/white, /area/ministation/medical) @@ -3771,7 +3782,8 @@ icon_state = "tube1" }, /obj/structure/sign/warning/nosmoking_1{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /turf/simulated/floor/tiled/white, /area/ministation/medical) @@ -3884,7 +3896,7 @@ /area/ministation/cafe) "vt" = ( /obj/item/radio/intercom{ - pixel_y = 25 + pixel_y = 20 }, /obj/structure/flora/pottedplant/minitree, /obj/effect/floor_decal/corner/paleblue/diagonal, @@ -4004,7 +4016,7 @@ /obj/item/pen, /obj/item/radio/intercom{ dir = 1; - pixel_y = -32 + pixel_y = -30 }, /obj/item/scanner/autopsy, /turf/simulated/floor/tiled/dark, @@ -4220,7 +4232,7 @@ "wL" = ( /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/effect/decal/cleanable/blood, /turf/simulated/floor/tiled/freezer{ @@ -4403,7 +4415,8 @@ "xt" = ( /obj/structure/table, /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/machinery/chemical_dispenser/bar_alc/full{ dir = 8 @@ -4571,7 +4584,8 @@ "xW" = ( /obj/structure/table/marble, /obj/machinery/status_display{ - pixel_y = -29 + pixel_y = -29; + dir = 1 }, /obj/machinery/door/firedoor{ dir = 8 @@ -4759,7 +4773,8 @@ /area/ministation/cafe) "yB" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = -32 + pixel_y = -29; + dir = 1 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -4801,7 +4816,8 @@ dir = 8 }, /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled, /area/ministation/hydro) @@ -5237,7 +5253,8 @@ ammo_type = /obj/item/ammo_casing/shotgun/beanbag }, /obj/structure/extinguisher_cabinet{ - pixel_x = 30 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/lino, /area/ministation/cafe) @@ -5373,7 +5390,6 @@ /obj/machinery/button/access/interior{ id_tag = "sqm_airlock"; name = "interior access button"; - pixel_x = -10; pixel_y = 20 }, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -5417,11 +5433,8 @@ /obj/effect/floor_decal/corner/paleblue/diagonal, /obj/machinery/computer/modular/telescreen/preset/generic{ name = "south bump"; - pixel_y = -32 - }, -/obj/item/radio/intercom/locked/entertainment{ - dir = 1; - pixel_y = -22 + pixel_y = -20; + dir = 1 }, /turf/simulated/floor/tiled/dark, /area/ministation/cafe) @@ -5547,7 +5560,8 @@ "CJ" = ( /obj/structure/bed/roller, /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled/white, /area/ministation/medical) @@ -5591,7 +5605,7 @@ /area/ministation/hall/w2) "CV" = ( /obj/item/radio/intercom{ - pixel_y = 25 + pixel_y = 20 }, /turf/simulated/floor/carpet, /area/ministation/hall/w2) @@ -5700,9 +5714,7 @@ /area/ministation/hall/w2) "Eg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 2 - }, +/obj/machinery/atmospherics/pipe/simple/hidden, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 }, @@ -5768,7 +5780,7 @@ dir = 8 }, /obj/item/radio/intercom{ - pixel_y = 25 + pixel_y = 20 }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -5847,6 +5859,10 @@ dir = 4 }, /obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/item/radio/intercom/locked/entertainment{ + dir = 1; + pixel_y = -30 + }, /turf/simulated/floor/tiled/dark, /area/ministation/cafe) "FL" = ( @@ -6011,7 +6027,7 @@ "HF" = ( /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/machinery/alarm{ dir = 4; @@ -6028,9 +6044,7 @@ /turf/simulated/floor/tiled/white, /area/ministation/medical) "HJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden{ - dir = 2 - }, +/obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/tiled, /area/ministation/hall/w2) "HL" = ( @@ -6083,7 +6097,8 @@ /area/ministation/maint/l2centrals) "Ie" = ( /obj/machinery/status_display{ - pixel_y = -29 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/plating, /area/ministation/arrival) @@ -6154,7 +6169,8 @@ /area/ministation/maint/l2centrals) "Iz" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 6 @@ -6186,7 +6202,8 @@ /area/ministation/hop) "IT" = ( /obj/machinery/newscaster{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /obj/structure/flora/pottedplant/largebush, /obj/machinery/camera/network/security{ @@ -6546,7 +6563,8 @@ /obj/abstract/landmark/latejoin/cryo, /obj/machinery/status_display{ pixel_y = -1; - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled/dark, /area/ministation/cryo) @@ -6709,7 +6727,8 @@ "Nu" = ( /obj/machinery/airlock_sensor{ id_tag = "escape2_sensor"; - pixel_y = -20 + pixel_y = -20; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 4; @@ -7086,7 +7105,8 @@ "PY" = ( /obj/machinery/airlock_sensor{ id_tag = "escape1_sensor"; - pixel_y = -20 + pixel_y = -20; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 4; @@ -7337,12 +7357,13 @@ /turf/simulated/wall, /area/ministation/maint/hydromaint) "Sd" = ( -/obj/effect/wallframe_spawn/reinforced, -/obj/structure/sign/warning/airlock{ - pixel_y = -1 +/obj/effect/floor_decal/corner/green/half, +/obj/structure/sign/department/botany{ + pixel_y = -32; + dir = 1 }, -/turf/simulated/floor/plating, -/area/ministation/hall/w2) +/turf/simulated/floor/tiled, +/area/ministation/hall/e2) "Sg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7546,11 +7567,13 @@ tag_airpump = "sqm_vent"; tag_chamber_sensor = "sqm_sensor"; tag_exterior_door = "sqm_airlock_exterior"; - tag_interior_door = "sqm_airlock_interior" + tag_interior_door = "sqm_airlock_interior"; + pixel_x = -8 }, /obj/machinery/airlock_sensor{ id_tag = "sqm_sensor"; - pixel_y = 20 + pixel_y = 24; + pixel_x = 8 }, /turf/simulated/floor/plating, /area/ministation/maint/hydromaint) @@ -7615,7 +7638,8 @@ /area/ministation/medical) "UC" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -27 + pixel_x = -29; + dir = 4 }, /obj/structure/closet/wardrobe/chemistry_white, /turf/simulated/floor/tiled/white, @@ -7655,7 +7679,7 @@ pixel_y = 32 }, /obj/item/radio/intercom/locked/entertainment{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/light_switch{ dir = 8; @@ -7712,7 +7736,8 @@ /area/ministation/cryo) "Vr" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /turf/simulated/floor/tiled, /area/ministation/hop) @@ -7726,8 +7751,8 @@ id_tag = "l2_central_south_airlock"; name = "exterior access button"; pixel_x = -20; - pixel_y = -10; - command = "cycle_exterior" + command = "cycle_exterior"; + dir = 4 }, /turf/simulated/floor/plating, /area/ministation/maint/l2centrals) @@ -7741,8 +7766,8 @@ /area/ministation/security) "Vu" = ( /obj/machinery/status_display{ - pixel_y = -1; - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled, /area/ministation/hydro) @@ -7774,7 +7799,7 @@ /obj/structure/rack, /obj/item/radio/intercom{ dir = 4; - pixel_x = -25 + pixel_x = -22 }, /obj/item/clothing/mask/horsehead, /obj/item/storage/wallet/random{ @@ -7799,7 +7824,8 @@ pixel_y = 32 }, /obj/structure/sign/warning/smoking{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /turf/simulated/floor/carpet, /area/ministation/hall/w2) @@ -7944,7 +7970,7 @@ }, /obj/structure/sign/department/chemistry{ pixel_x = 32; - pixel_y = -5 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/ministation/hall/e2) @@ -7956,7 +7982,8 @@ dir = 8 }, /obj/structure/sign/warning/armory{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, @@ -8005,7 +8032,8 @@ /obj/machinery/button/blast_door{ id_tag = "secshut"; name = "security shutter button"; - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/machinery/firealarm{ dir = 8; @@ -8058,7 +8086,7 @@ "YY" = ( /obj/item/radio/intercom{ name = "Common Channel"; - pixel_y = 25 + pixel_y = 20 }, /obj/structure/table, /obj/item/storage/firstaid/o2{ @@ -32674,13 +32702,13 @@ kZ kZ rt OT -Sd +rt kZ cr kZ rt OT -Sd +rt OT rt aa @@ -32931,13 +32959,13 @@ kZ lI mh Ry -mh +jA nx oH rc mh Ry -mh +jA rW kZ aa @@ -47850,8 +47878,8 @@ ty Xw ty um -jV -jA +Sd +OV if qT wN diff --git a/maps/ministation/ministation-2.dmm b/maps/ministation/ministation-2.dmm index f24566c1a1c..c23f66a8cc6 100644 --- a/maps/ministation/ministation-2.dmm +++ b/maps/ministation/ministation-2.dmm @@ -42,7 +42,7 @@ /obj/machinery/photocopier, /obj/item/radio/intercom{ dir = 8; - pixel_x = 20 + pixel_x = 22 }, /turf/simulated/floor/tiled, /area/ministation/court) @@ -179,7 +179,9 @@ }, /obj/machinery/button/blast_door{ id_tag = "slimeblast3"; - name = "Enclosure 3 Blastdoors Button" + name = "Enclosure 3 Blastdoors Button"; + directional_offset = null; + dir = 8 }, /obj/machinery/camera/network/research, /turf/simulated/floor/tiled, @@ -269,7 +271,8 @@ icon_state = "2-8" }, /obj/item/radio/intercom{ - pixel_y = -1 + pixel_y = -1; + directional_offset = null }, /turf/simulated/floor/tiled, /area/ministation/bridge) @@ -377,7 +380,8 @@ icon_state = "tube1" }, /obj/structure/extinguisher_cabinet{ - pixel_x = -27 + pixel_x = -29; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -425,12 +429,17 @@ icon_state = "4-8" }, /obj/machinery/button/blast_door{ - id_tag = "bridgeblast" + id_tag = "bridgeblast"; + dir = 8; + pixel_y = -2; + directional_offset = null }, /obj/machinery/button/blast_door{ id_tag = "sensor"; name = "Sensor Shroud"; - pixel_y = 9 + pixel_y = 8; + dir = 8; + directional_offset = null }, /turf/simulated/floor/tiled, /area/ministation/bridge) @@ -617,7 +626,8 @@ /area/ministation/bridge) "ca" = ( /obj/machinery/newscaster{ - pixel_y = -28 + pixel_y = -28; + dir = 1 }, /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, @@ -733,7 +743,8 @@ icon_state = "1-2" }, /obj/structure/sign/warning/high_voltage{ - pixel_y = -24 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled, /area/ministation/bridge) @@ -1081,7 +1092,8 @@ /area/ministation/science) "eF" = ( /obj/structure/fireaxecabinet{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /turf/simulated/floor/tiled, /area/ministation/bridge) @@ -1097,8 +1109,8 @@ id_tag = "ministation_science_dock"; name = "exterior access button"; pixel_x = -20; - pixel_y = -10; - command = "cycle_exterior" + command = "cycle_exterior"; + dir = 4 }, /obj/structure/cable{ icon_state = "1-2" @@ -1217,7 +1229,7 @@ "fe" = ( /obj/machinery/computer/operating, /obj/item/radio/intercom{ - pixel_y = 25 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -1434,6 +1446,10 @@ /obj/effect/floor_decal/corner/purple, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/sign/department/xenobio_3{ + pixel_x = 32; + dir = 8 + }, /turf/simulated/floor/tiled/white, /area/ministation/science) "gI" = ( @@ -1779,7 +1795,8 @@ /area/ministation/science) "in" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 27 + pixel_x = 29; + dir = 8 }, /obj/machinery/recharger, /obj/structure/table, @@ -1905,7 +1922,7 @@ /obj/structure/bed/chair/office/light, /obj/item/radio/intercom{ dir = 8; - pixel_x = 20 + pixel_x = 22 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -2101,7 +2118,8 @@ dir = 8 }, /obj/structure/sign/department/eva{ - pixel_y = -23 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -2488,7 +2506,8 @@ dir = 8 }, /obj/structure/sign/department/xenoflora{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -2612,7 +2631,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 25 + pixel_y = 20 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2722,7 +2741,8 @@ /area/ministation/maint/l3ne) "nr" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = -27 + pixel_x = -29; + dir = 4 }, /obj/structure/table, /obj/item/storage/box/syringes, @@ -3048,7 +3068,8 @@ /area/ministation/maint/l3nw) "qx" = ( /obj/machinery/keycard_auth{ - pixel_x = -24 + pixel_x = -24; + dir = 4 }, /turf/simulated/floor/tiled, /area/ministation/bridge) @@ -3148,7 +3169,7 @@ id_tag = "RD1"; name = "RD Shutter Button"; pixel_x = 24; - pixel_y = -6 + dir = 8 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -3356,7 +3377,8 @@ dir = 6 }, /obj/structure/sign/department/science_2{ - pixel_x = 31 + pixel_x = 32; + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, @@ -3480,7 +3502,8 @@ /obj/machinery/airlock_sensor{ id_tag = "science_sensor"; pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + dir = 4 }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ tag_airpump = "science_vent"; @@ -3564,9 +3587,6 @@ /obj/structure/closet/emcloset, /turf/simulated/floor/tiled, /area/ministation/bridge) -"vA" = ( -/turf/space, -/area/space) "vJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc{ @@ -3902,11 +3922,12 @@ id_tag = "scishut"; name = "Science Shutter Button"; pixel_x = 5; - pixel_y = -6 + pixel_y = -6; + directional_offset = null }, /obj/item/radio/intercom{ dir = 4; - pixel_x = -25 + pixel_x = -22 }, /obj/structure/table, /obj/item/paper_bin{ @@ -4148,6 +4169,9 @@ /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, +/obj/structure/sign/warning/server_room{ + pixel_y = 32 + }, /turf/simulated/floor/tiled/white, /area/ministation/science) "BD" = ( @@ -4164,7 +4188,8 @@ "BG" = ( /obj/structure/table, /obj/structure/extinguisher_cabinet{ - pixel_x = 32 + pixel_x = 29; + dir = 8 }, /obj/item/disk/nuclear, /obj/machinery/recharger, @@ -4300,7 +4325,8 @@ /area/ministation/telecomms) "CC" = ( /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -4317,7 +4343,8 @@ dir = 8 }, /obj/structure/sign/warning/server_room{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /turf/simulated/floor/tiled, /area/ministation/hall/s3) @@ -4447,7 +4474,7 @@ /area/ministation/hall/n3) "Dc" = ( /obj/item/radio/intercom{ - pixel_y = 25 + pixel_y = 20 }, /turf/simulated/floor/carpet/green, /area/ministation/company_rep) @@ -4469,7 +4496,8 @@ /obj/item/radio, /obj/item/radio/intercom{ name = "Station Intercom (General)"; - pixel_y = -35 + pixel_y = -30; + dir = 1 }, /obj/item/chems/spray/extinguisher, /turf/simulated/floor/lino, @@ -4948,7 +4976,7 @@ }, /obj/item/radio/intercom{ dir = 8; - pixel_x = 25 + pixel_x = 22 }, /turf/simulated/floor/tiled/steel_grid, /area/ministation/science) @@ -5190,7 +5218,8 @@ /area/ministation/hall/n3) "LP" = ( /obj/machinery/keycard_auth{ - pixel_y = -24 + pixel_y = -20; + dir = 1 }, /obj/machinery/light{ dir = 4; @@ -5288,7 +5317,7 @@ "Ms" = ( /obj/item/radio/intercom{ dir = 8; - pixel_x = 20 + pixel_x = 22 }, /obj/structure/table/woodentable_reinforced/walnut, /obj/item/folder, @@ -5347,7 +5376,7 @@ "MP" = ( /obj/machinery/light_switch{ dir = 8; - pixel_x = 32 + pixel_x = 24 }, /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -5454,8 +5483,8 @@ /area/ministation/court) "Ny" = ( /obj/structure/extinguisher_cabinet{ - pixel_x = 5; - pixel_y = -32 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/wood/yew, /area/ministation/court) @@ -5608,7 +5637,8 @@ /area/ministation/science) "OC" = ( /obj/structure/sign/warning/airlock{ - pixel_y = -22 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -5636,7 +5666,7 @@ id_tag = "science_shuttle"; name = "interior access button"; pixel_x = 20; - pixel_y = -13 + dir = 8 }, /turf/simulated/floor/plating, /area/ministation/shuttle/outgoing) @@ -5800,7 +5830,7 @@ tag_exterior_door = "science_shuttle_exterior"; tag_interior_door = "science_shuttle_interior"; dir = 4; - pixel_x = -20 + pixel_x = -22 }, /turf/simulated/floor/plating, /area/ministation/shuttle/outgoing) @@ -5860,7 +5890,7 @@ dir = 6 }, /obj/machinery/light_switch{ - pixel_y = 27; + pixel_y = 25; pixel_x = -23 }, /turf/simulated/floor/carpet/magenta, @@ -5937,7 +5967,7 @@ /obj/structure/table, /obj/item/radio/intercom{ dir = 4; - pixel_x = -25 + pixel_x = -22 }, /obj/machinery/light{ dir = 1 @@ -5945,18 +5975,6 @@ /obj/item/storage/firstaid/stab, /turf/simulated/floor/tiled, /area/ministation/shuttle/outgoing) -"QC" = ( -/obj/structure/closet/secure_closet{ - closet_appearance = /decl/closet_appearance/secure_closet/rd; - req_access = list("ACCESS_RESEARCH"); - name = "Science locker" - }, -/obj/item/storage/med_pouch/trauma, -/obj/item/stack/tape_roll/duct_tape, -/obj/item/twohanded/spear/diamond, -/obj/item/shield/buckler, -/turf/simulated/floor/tiled/white, -/area/ministation/science) "QD" = ( /obj/structure/table/woodentable, /obj/item/book/printable_red, @@ -5977,12 +5995,6 @@ /obj/abstract/landmark/latejoin/cyborg, /turf/simulated/floor/tiled/steel_grid, /area/ministation/science) -"QP" = ( -/obj/machinery/door/firedoor, -/obj/effect/wallframe_spawn/reinforced, -/obj/structure/sign/warning/server_room, -/turf/simulated/floor/plating, -/area/ministation/science) "QR" = ( /obj/machinery/status_display{ pixel_y = 30; @@ -6052,10 +6064,6 @@ /obj/effect/floor_decal/corner/purple{ dir = 6 }, -/obj/structure/sign/department/xenobio_3{ - pixel_y = 32; - pixel_x = 32 - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, @@ -6463,7 +6471,7 @@ /area/ministation/library) "Uo" = ( /obj/item/radio/intercom{ - pixel_y = 31 + pixel_y = 20 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -6715,9 +6723,9 @@ /obj/machinery/button/access/interior{ id_tag = "science_shuttle"; name = "exterior access button"; - pixel_x = 21; - pixel_y = 11; - command = "cycle_exterior" + pixel_x = 20; + command = "cycle_exterior"; + dir = 8 }, /turf/simulated/floor/plating, /area/ministation/shuttle/outgoing) @@ -6875,7 +6883,8 @@ /area/ministation/court) "Xi" = ( /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -6972,7 +6981,8 @@ id_tag = "repblast"; name = "Panic Lockdown"; pixel_y = -23; - pixel_x = -26 + pixel_x = -26; + dir = 1 }, /turf/simulated/floor/carpet/green, /area/ministation/company_rep) @@ -7009,7 +7019,7 @@ id_tag = "ministation_science_dock"; name = "interior access button"; pixel_x = 20; - pixel_y = 10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ @@ -7049,8 +7059,8 @@ }, /obj/machinery/airlock_sensor{ id_tag = "science_shuttle_sensor"; - pixel_y = 10; - pixel_x = -20 + pixel_x = -22; + dir = 4 }, /turf/simulated/floor/plating, /area/ministation/shuttle/outgoing) @@ -7124,17 +7134,19 @@ /obj/machinery/button/blast_door{ id_tag = "anomvent"; name = "emergency vent control"; - pixel_y = -24; - pixel_x = -5 + pixel_y = -32; + pixel_x = -5; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /obj/machinery/button/mass_driver{ - pixel_y = -22; + pixel_y = -32; pixel_x = 7; id_tag = "artifactlauncher"; - name = "LAUNCH" + name = "LAUNCH"; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -7184,7 +7196,7 @@ dir = 4 }, /obj/machinery/firealarm{ - pixel_y = 25 + pixel_y = 21 }, /turf/simulated/floor/wood/yew, /area/ministation/court) @@ -7257,7 +7269,7 @@ }, /obj/item/radio/intercom{ dir = 4; - pixel_x = -23 + pixel_x = -22 }, /turf/simulated/floor/tiled/white, /area/ministation/science) @@ -37203,7 +37215,7 @@ aa aa aa aa -vA +aa Mo aT bs @@ -44194,7 +44206,7 @@ gi ae hM ip -QP +io BC jx db @@ -44719,7 +44731,7 @@ ae gI db db -QC +cI ae aa oc diff --git a/maps/ministation/ministation-3.dmm b/maps/ministation/ministation-3.dmm index d82bba9d2c0..c957f544da3 100644 --- a/maps/ministation/ministation-3.dmm +++ b/maps/ministation/ministation-3.dmm @@ -171,8 +171,8 @@ id_tag = "roof_airlock"; name = "exterior access button"; pixel_x = -20; - pixel_y = 10; - command = "cycle_exterior" + command = "cycle_exterior"; + dir = 4 }, /obj/structure/cable{ icon_state = "1-2" @@ -321,7 +321,7 @@ id_tag = "roof_airlock"; name = "interior access button"; pixel_x = 20; - pixel_y = -10 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/hidden, /obj/structure/cable{ @@ -461,7 +461,8 @@ /obj/machinery/airlock_sensor{ id_tag = "roof_sensor"; pixel_y = 10; - pixel_x = -20 + pixel_x = -20; + dir = 4 }, /obj/structure/cable{ icon_state = "1-2" diff --git a/maps/ministation/ministation.dm b/maps/ministation/ministation.dm index 5fe0329789a..a1f6317b4f0 100644 --- a/maps/ministation/ministation.dm +++ b/maps/ministation/ministation.dm @@ -10,6 +10,10 @@ And then copied back upstream to Neb... #define USING_MAP_DATUM /datum/map/ministation + #ifdef UNIT_TEST + #include "../../code/unit_tests/offset_tests.dm" + #endif + #include "../random_ruins/exoplanet_ruins/playablecolony/playablecolony.dm" #include "../../mods/content/xenobiology/_xenobiology.dme" diff --git a/maps/ministation/space.dmm b/maps/ministation/space.dmm index 6aa317fd30d..cf719610920 100644 --- a/maps/ministation/space.dmm +++ b/maps/ministation/space.dmm @@ -106,7 +106,8 @@ "au" = ( /obj/machinery/airlock_sensor{ id_tag = "shuttle3_sensor"; - pixel_y = -20 + pixel_y = -20; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 8; @@ -238,13 +239,15 @@ /area/shuttle/escape_shuttle) "aJ" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = -30 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/shuttle/blue, /area/shuttle/escape_shuttle) "aK" = ( /obj/machinery/status_display{ - pixel_y = -30 + pixel_y = -30; + dir = 1 }, /turf/simulated/floor/shuttle/blue, /area/shuttle/escape_shuttle) @@ -257,7 +260,7 @@ /area/shuttle/escape_shuttle) "aN" = ( /obj/structure/extinguisher_cabinet{ - pixel_y = 30 + pixel_y = 29 }, /turf/simulated/floor/shuttle/yellow, /area/shuttle/escape_shuttle) @@ -359,7 +362,8 @@ "hM" = ( /obj/machinery/airlock_sensor{ id_tag = "shuttle2_sensor"; - pixel_y = -20 + pixel_y = -20; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 8; @@ -373,7 +377,8 @@ "qu" = ( /obj/machinery/airlock_sensor{ id_tag = "shuttle1_sensor"; - pixel_y = -20 + pixel_y = -20; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{ dir = 8; diff --git a/maps/random_ruins/exoplanet_ruins/datacapsule/datacapsule.dm b/maps/random_ruins/exoplanet_ruins/datacapsule/datacapsule.dm index 17e6dded4cf..ec5e6c448bc 100644 --- a/maps/random_ruins/exoplanet_ruins/datacapsule/datacapsule.dm +++ b/maps/random_ruins/exoplanet_ruins/datacapsule/datacapsule.dm @@ -57,7 +57,7 @@ to_chat(user, SPAN_NOTICE("You pry out the data drive from \the [src].")) playsound(loc, 'sound/items/Crowbar.ogg', 50, 1) var/obj/item/stock_parts/computer/hard_drive/cluster/drive = new(get_turf(src)) - drive.origin_tech = "{'[TECH_DATA]':[rand(4,5)],'[TECH_ENGINEERING]':[rand(4,5)],'[TECH_EXOTIC_MATTER]':[rand(4,5)],'[TECH_COMBAT]':[rand(2,5)],'[TECH_ESOTERIC]':[rand(0,6)]}" + drive.origin_tech = @'{"[TECH_DATA]":[rand(4,5)],"[TECH_ENGINEERING]":[rand(4,5)],"[TECH_EXOTIC_MATTER]":[rand(4,5)],"[TECH_COMBAT]":[rand(2,5)],"[TECH_ESOTERIC]":[rand(0,6)]}' disk_looted = TRUE return TRUE . = ..() diff --git a/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm b/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm index 0a919b57c8b..2bd7b80c00a 100644 --- a/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm +++ b/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm @@ -3926,7 +3926,7 @@ dir = 4 }, /obj/structure/casino/roulette_chart{ - density = TRUE + density = 1 }, /turf/simulated/floor/wood/walnut, /area/map_template/colony/commons) @@ -4242,7 +4242,7 @@ /obj/machinery/reagent_temperature, /obj/item/chems/drinks/shaker, /obj/machinery/vending/boozeomat{ - density = FALSE; + density = 0; pixel_y = -32; req_access = list() }, @@ -4795,7 +4795,7 @@ dir = 4 }, /obj/structure/casino/roulette{ - density = TRUE + density = 1 }, /obj/effect/floor_decal/spline/fancy/wood{ dir = 4 diff --git a/maps/tradeship/jobs/civilian.dm b/maps/tradeship/jobs/civilian.dm index ef5e54bfd27..01802f673c8 100644 --- a/maps/tradeship/jobs/civilian.dm +++ b/maps/tradeship/jobs/civilian.dm @@ -16,7 +16,7 @@ event_categories = list(ASSIGNMENT_GARDENER, ASSIGNMENT_JANITOR) /datum/job/tradeship_deckhand/get_access() - if(config.assistant_maint) + if(get_config_value(/decl/config/toggle/assistant_maint)) return list(access_maint_tunnels) else return list() diff --git a/maps/tradeship/tradeship-0.dmm b/maps/tradeship/tradeship-0.dmm index 60f10934f05..ce95540085e 100644 --- a/maps/tradeship/tradeship-0.dmm +++ b/maps/tradeship/tradeship-0.dmm @@ -7,7 +7,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor/autoset, /turf/simulated/floor/plating, @@ -56,7 +56,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor/autoset, /turf/simulated/floor/plating, @@ -69,7 +69,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor/autoset, /turf/simulated/floor/plating, @@ -125,7 +125,8 @@ dir = 9 }, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /obj/structure/cable{ icon_state = "1-4" @@ -145,7 +146,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor/autoset, /turf/simulated/floor/plating, @@ -191,7 +192,7 @@ /obj/machinery/button/access/interior{ dir = 1; id_tag = "lower_cargo"; - pixel_y = -18 + pixel_y = -22 }, /turf/simulated/floor/tiled/steel_grid, /area/ship/trade/loading_bay) @@ -433,7 +434,8 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_y = -20 + pixel_y = -20; + dir = 1 }, /obj/structure/cable{ icon_state = "4-8" @@ -456,7 +458,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/structure/disposalpipe/segment{ dir = 4 @@ -475,7 +477,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor/autoset, /turf/simulated/floor/plating, @@ -485,7 +487,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor/autoset, /turf/simulated/floor/plating, @@ -495,7 +497,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor/autoset, /turf/simulated/floor/plating, @@ -540,7 +542,8 @@ /area/ship/trade/loading_bay) "bd" = ( /obj/machinery/button/access/exterior/cabled{ - id_tag = "lower_cargo" + id_tag = "lower_cargo"; + pixel_y = 24 }, /obj/structure/cable{ icon_state = "0-4" @@ -744,7 +747,7 @@ "bG" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/effect/floor_decal/corner/beige{ dir = 5 @@ -764,7 +767,7 @@ "bJ" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor, @@ -772,7 +775,7 @@ "bK" = ( /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/structure/reagent_dispensers/beerkeg, /obj/random/mre/sauce/crayon, @@ -988,7 +991,7 @@ "cX" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/effect/floor_decal/corner/beige{ dir = 9 @@ -1015,7 +1018,7 @@ /obj/structure/window/basic, /obj/structure/curtain/open/bed{ icon_state = "closed"; - opacity = TRUE + opacity = 1 }, /obj/effect/floor_decal/corner/beige{ dir = 10 @@ -1292,7 +1295,7 @@ /obj/structure/window/basic, /obj/structure/curtain/open/bed{ icon_state = "closed"; - opacity = TRUE + opacity = 1 }, /turf/simulated/floor/plating, /area/ship/trade/loading_bay) @@ -1320,7 +1323,7 @@ /obj/item/chems/glass/rag, /obj/item/chems/glass/bucket, /obj/machinery/firealarm{ - pixel_y = 25 + pixel_y = 21 }, /obj/structure/closet, /turf/simulated/floor/tiled, @@ -1414,7 +1417,8 @@ name = "shank" }, /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor, /area/ship/trade/fore_port_underside_maint) @@ -1446,7 +1450,7 @@ }, /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/tiled/white, /area/ship/trade/livestock) @@ -1859,17 +1863,18 @@ id_tag = "xenovent"; name = "vent control"; pixel_x = 6; - pixel_y = -24 + pixel_y = -24; + dir = 1 }, /obj/structure/extinguisher_cabinet{ pixel_x = -8; - pixel_y = -28 + pixel_y = -29; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ship/trade/livestock) "LO" = ( /obj/structure/sign/warning/deathsposal{ - dir = 1; pixel_y = 32 }, /turf/simulated/floor, @@ -1878,7 +1883,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/undercomms) @@ -1894,7 +1899,8 @@ /area/ship/trade/livestock) "MI" = ( /obj/machinery/light_switch{ - pixel_x = 20 + pixel_x = 24; + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -2018,7 +2024,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -2044,7 +2050,7 @@ /area/ship/trade/loading_bay) "SS" = ( /obj/item/radio/intercom{ - pixel_y = 25 + pixel_y = 20 }, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor, diff --git a/maps/tradeship/tradeship-1.dmm b/maps/tradeship/tradeship-1.dmm index 71557b969ae..8cfaa0d7f41 100644 --- a/maps/tradeship/tradeship-1.dmm +++ b/maps/tradeship/tradeship-1.dmm @@ -21,7 +21,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/cargo/lower) @@ -33,13 +33,14 @@ dir = 1; id_tag = "cargo"; pixel_x = 24; - pixel_y = 11 + pixel_y = 11; + directional_offset = null }, /obj/machinery/shield_diffuser, /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/cargo/lower) @@ -66,7 +67,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -102,7 +103,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/airless, @@ -112,7 +113,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -147,7 +148,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -249,7 +250,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/tiled/steel_ridged, /area/ship/trade/maintenance/eva) @@ -365,7 +366,8 @@ dir = 4; id_tag = "eva"; pixel_x = 12; - pixel_y = 24 + pixel_y = 24; + directional_offset = null }, /turf/simulated/floor/tiled/steel_ridged, /area/ship/trade/maintenance/eva) @@ -455,14 +457,16 @@ /obj/structure/table, /obj/machinery/button/blast_door{ id_tag = "anomvent"; - name = "emergency vent control" + name = "emergency vent control"; + directional_offset = null }, /turf/simulated/floor/tiled/white, /area/ship/trade/artifact_storage) "ba" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/light_switch{ - pixel_x = 24 + pixel_x = 24; + dir = 8 }, /obj/machinery/power/apc{ dir = 1; @@ -557,7 +561,8 @@ /area/ship/trade/cargo/lower) "bi" = ( /obj/structure/sign/deck/second{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /obj/structure/ladder, /obj/structure/cable{ @@ -580,7 +585,7 @@ }, /obj/machinery/light_switch{ pixel_x = 9; - pixel_y = 21 + pixel_y = 25 }, /obj/effect/floor_decal/corner/beige{ dir = 5 @@ -784,7 +789,8 @@ /obj/random/clothing, /obj/random/clothing, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/lino, /area/ship/trade/crew/dorms1) @@ -944,10 +950,6 @@ icon_state = "0-2"; pixel_y = 1 }, -/obj/machinery/light_switch{ - pixel_x = 9; - pixel_y = 21 - }, /obj/effect/floor_decal/corner/beige{ dir = 5 }, @@ -960,6 +962,10 @@ pixel_y = 22 }, /obj/random/gloves, +/obj/machinery/light_switch{ + pixel_x = 9; + pixel_y = 25 + }, /turf/simulated/floor/lino, /area/ship/trade/crew/dorms2) "cp" = ( @@ -983,7 +989,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor, @@ -1076,7 +1082,8 @@ dir = 9 }, /obj/machinery/light_switch{ - pixel_x = -25 + pixel_x = -24; + dir = 4 }, /obj/structure/railing/mapped{ dir = 4 @@ -1099,7 +1106,8 @@ /obj/item/bikehorn, /obj/item/storage/fancy/crayons, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/lino, /area/ship/trade/crew/dorms2) @@ -1167,13 +1175,15 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor, /area/ship/trade/science) "da" = ( -/obj/machinery/seed_storage/xenobotany, +/obj/machinery/seed_storage/xenobotany{ + dir = 4 + }, /turf/simulated/floor/tiled/white, /area/ship/trade/science) "db" = ( @@ -1199,7 +1209,8 @@ dir = 9 }, /obj/structure/sign/deck/second{ - pixel_x = -32 + pixel_x = -32; + dir = 4 }, /turf/simulated/floor/tiled/steel_grid, /area/ship/trade/cargo/lower) @@ -1411,7 +1422,8 @@ pixel_x = 11 }, /obj/machinery/light_switch{ - pixel_x = 28 + pixel_x = 24; + dir = 8 }, /turf/simulated/floor/tiled/white, /area/ship/trade/science) @@ -1446,14 +1458,15 @@ }, /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 + pixel_y = -21 }, /turf/simulated/floor/tiled/dark, /area/ship/trade/drunk_tank) "dO" = ( /obj/machinery/botany/editor, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ship/trade/science) @@ -1636,7 +1649,7 @@ /obj/item/clothing/mask/breath, /obj/machinery/light_switch{ pixel_x = 9; - pixel_y = 21 + pixel_y = 25 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/eva) @@ -1644,7 +1657,7 @@ /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/eva) @@ -1765,7 +1778,8 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/light_switch{ - pixel_x = 22 + pixel_x = 24; + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -1809,7 +1823,7 @@ "eY" = ( /obj/item/radio/intercom{ dir = 1; - pixel_y = -25 + pixel_y = -30 }, /obj/structure/reagent_dispensers/fueltank, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -1863,7 +1877,7 @@ }, /obj/machinery/alarm{ dir = 1; - pixel_y = -32 + pixel_y = -21 }, /obj/structure/cable{ icon_state = "0-4" @@ -1925,7 +1939,7 @@ /obj/structure/tank_rack/oxygen, /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 + pixel_y = -21 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/eva) @@ -1976,7 +1990,8 @@ icon_state = "railing0" }, /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -20; + dir = 1 }, /turf/simulated/floor/tiled/steel_grid, /area/ship/trade/cargo/lower) @@ -1998,7 +2013,8 @@ dir = 4 }, /obj/structure/sign/department/science_1{ - pixel_x = -30 + pixel_x = -32; + dir = 4 }, /turf/simulated/floor/tiled, /area/ship/trade/maintenance/lower) @@ -2018,6 +2034,10 @@ /obj/machinery/light{ dir = 1 }, +/obj/structure/sign/warning/caution{ + dir = 4; + pixel_x = -34 + }, /turf/simulated/floor/reinforced, /area/ship/trade/artifact_storage) "iS" = ( @@ -2039,7 +2059,7 @@ }, /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 + pixel_y = -21 }, /obj/abstract/landmark/latejoin/cryo, /obj/structure/cable{ @@ -2185,7 +2205,7 @@ }, /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 + pixel_y = -21 }, /obj/structure/cable{ icon_state = "4-8" @@ -2310,7 +2330,7 @@ /obj/machinery/fabricator, /obj/machinery/light_switch{ pixel_x = 9; - pixel_y = 21 + pixel_y = 25 }, /turf/simulated/floor/tiled/techfloor, /area/ship/trade/maintenance/techstorage) @@ -2446,7 +2466,8 @@ icon_state = "1-2" }, /obj/structure/sign/department/xenoflora{ - pixel_x = -30 + pixel_x = -32; + dir = 4 }, /obj/structure/disposalpipe/segment, /turf/simulated/floor/tiled, @@ -2470,7 +2491,7 @@ "uX" = ( /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 + pixel_y = -21 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/lower) @@ -2499,7 +2520,8 @@ }, /obj/machinery/fabricator/robotics, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ship/trade/science/fabricaton) @@ -2561,7 +2583,8 @@ icon_state = "bulb1" }, /obj/structure/sign/poster{ - pixel_y = 32 + pixel_y = 32; + dir = 1 }, /obj/item/radio/intercom{ pixel_y = 22 @@ -2589,6 +2612,13 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, /area/ship/trade/maintenance/lower) +"yT" = ( +/obj/structure/sign/warning/caution{ + dir = 4; + pixel_x = -34 + }, +/turf/simulated/floor/reinforced, +/area/ship/trade/artifact_storage) "zb" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -2654,10 +2684,12 @@ /obj/structure/bed/padded, /obj/item/bedsheet/mime, /obj/machinery/light_switch{ - pixel_y = -24 + pixel_y = -20; + dir = 1 }, /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled/dark, /area/ship/trade/drunk_tank) @@ -2688,14 +2720,14 @@ /obj/structure/holostool, /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 + pixel_y = -21 }, /turf/simulated/floor/lino, /area/ship/trade/crew/dorms1) "De" = ( /obj/machinery/alarm{ dir = 1; - pixel_y = -32 + pixel_y = -21 }, /turf/simulated/floor/tiled/white, /area/ship/trade/science) @@ -2790,7 +2822,8 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_x = 28 + pixel_x = 24; + dir = 8 }, /turf/simulated/floor/tiled/steel_grid, /area/ship/trade/cargo/lower) @@ -2910,7 +2943,7 @@ /obj/item/storage/briefcase, /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 + pixel_y = -21 }, /turf/simulated/floor/lino, /area/ship/trade/crew/dorms2) @@ -2923,7 +2956,7 @@ /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/cargo/lower) @@ -3052,7 +3085,8 @@ /obj/machinery/door/airlock/hatch/autoname/general, /obj/machinery/door/firedoor, /obj/structure/sign/warning/fall{ - pixel_x = 32 + pixel_x = 34; + dir = 8 }, /turf/simulated/floor/tiled, /area/ship/trade/cargo/lower) @@ -3064,10 +3098,12 @@ /turf/simulated/floor/tiled/white, /area/ship/trade/science/fabricaton) "Qg" = ( -/obj/effect/paint/brown, -/obj/structure/sign/warning/caution, -/turf/simulated/wall/r_wall, -/area/ship/trade/artifact_storage) +/obj/structure/sign/warning/caution{ + dir = 8; + pixel_x = 34 + }, +/turf/space, +/area/space) "QK" = ( /obj/item/stock_parts/console_screen, /obj/item/stock_parts/console_screen, @@ -3079,7 +3115,7 @@ /obj/structure/rack, /obj/machinery/power/apc{ name = "south bump"; - pixel_y = -24 + pixel_y = -22 }, /obj/structure/cable, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -3112,7 +3148,8 @@ /obj/machinery/button/blast_door{ id_tag = "rndshutters"; name = "Desk Shutters"; - pixel_x = -25 + pixel_x = -24; + dir = 4 }, /obj/machinery/computer/design_console{ dir = 4 @@ -3122,7 +3159,7 @@ "Sb" = ( /obj/machinery/alarm{ dir = 1; - pixel_y = -32 + pixel_y = -21 }, /obj/effect/decal/cleanable/vomit, /obj/structure/hygiene/toilet{ @@ -5531,9 +5568,9 @@ aa aa aa aa +Qg aa -aa -aa +Qg aa aa aa @@ -5613,9 +5650,9 @@ sY sY sY Va -Qg +Va ag -Qg +Va ca ca ca @@ -5697,7 +5734,7 @@ ah aP iQ lD -lD +yT sB HY Rs diff --git a/maps/tradeship/tradeship-2.dmm b/maps/tradeship/tradeship-2.dmm index 7f10737ff88..ac26d8437ce 100644 --- a/maps/tradeship/tradeship-2.dmm +++ b/maps/tradeship/tradeship-2.dmm @@ -74,7 +74,7 @@ /obj/abstract/landmark/latejoin/cryo_captain, /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/wood, /area/ship/trade/command/captain) @@ -93,7 +93,7 @@ }, /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/tiled/monotile, /area/ship/trade/command/hallway) @@ -104,7 +104,7 @@ }, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled/monotile, /area/ship/trade/command/hallway) @@ -115,9 +115,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/door/airlock/hatch/autoname/command, -/obj/structure/sign/warning/radioactive{ - pixel_x = -32 - }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techmaint, /area/ship/trade/shieldbay) @@ -140,7 +137,8 @@ /obj/structure/disposalpipe/segment, /obj/machinery/power/apc{ dir = 8; - name = "Crew Deck APC" + name = "Crew Deck APC"; + pixel_x = -22 }, /obj/structure/cable, /turf/simulated/floor/plating, @@ -158,7 +156,8 @@ icon_state = "16-0" }, /obj/machinery/atm{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /turf/simulated/floor/tiled/monotile, /area/ship/trade/command/hallway) @@ -177,7 +176,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -187,7 +186,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled/techfloor/grid, @@ -197,7 +196,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -230,7 +229,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/crew/toilets) @@ -242,7 +241,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -251,7 +250,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/crew/medbay/chemistry) @@ -260,7 +259,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -270,7 +269,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/tiled{ @@ -315,7 +314,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -371,7 +370,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 4 @@ -440,7 +439,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/visible/red{ @@ -477,7 +476,7 @@ /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/blast/regular/open{ dir = 4; - id_tag = "engwindow"; + id_tag = "engwindow" }, /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -507,7 +506,8 @@ dir = 4 }, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/carpet, /area/ship/trade/command/fmate) @@ -541,7 +541,7 @@ /obj/machinery/atmospherics/pipe/simple/visible/universal, /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/tiled/techfloor, /area/ship/trade/maintenance/atmos) @@ -556,7 +556,7 @@ }, /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /obj/machinery/computer/shuttle_control/explore/tradeship{ dir = 8 @@ -568,7 +568,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -582,7 +582,7 @@ }, /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /obj/machinery/light{ dir = 1; @@ -605,7 +605,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -622,7 +622,7 @@ }, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled/monotile, /area/ship/trade/dock) @@ -649,7 +649,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/structure/handrail{ dir = 4 @@ -684,7 +684,7 @@ "bs" = ( /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -745,7 +745,8 @@ dir = 4; id_tag = "tradeship_starboard_dock"; pixel_x = 12; - pixel_y = 24 + pixel_y = 24; + directional_offset = null }, /obj/machinery/shield_diffuser, /obj/structure/cable{ @@ -771,7 +772,8 @@ dir = 4 }, /obj/structure/closet/medical_wall/filled{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/steel_ridged, /area/ship/trade/shuttle/outgoing/general) @@ -813,7 +815,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/effect/wallframe_spawn/reinforced, /turf/simulated/floor/plating, @@ -821,7 +823,8 @@ "bB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/warning/vacuum{ - dir = 4 + dir = 4; + pixel_x = -34 }, /turf/simulated/floor/tiled/monotile, /area/ship/trade/dock) @@ -847,7 +850,7 @@ "bE" = ( /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 4 @@ -896,12 +899,12 @@ dir = 4; id_tag = "bee_star"; pixel_x = 16; - pixel_y = -26 + pixel_y = -26; + directional_offset = null }, /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/structure/sign/warning/docking_area, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/shuttle/outgoing/general) "bI" = ( @@ -909,7 +912,8 @@ dir = 8; id_tag = "tradeship_dock_port"; pixel_x = -12; - pixel_y = 24 + pixel_y = 24; + directional_offset = null }, /obj/machinery/door/airlock/external/bolted{ id_tag = "dock_port_out" @@ -1022,16 +1026,11 @@ dir = 8; id_tag = "tradeship_rescue_shuttle_pump_out_internal" }, -/obj/machinery/airlock_sensor{ - id_tag = "tradeship_rescue_shuttle_sensor"; - pixel_x = -22; - pixel_y = 20 - }, /obj/machinery/embedded_controller/radio/airlock/docking_port{ cycle_to_external_air = 1; dir = 4; id_tag = "tradeship_rescue_shuttle"; - pixel_x = -20; + pixel_x = -22; pixel_y = 32; tag_airpump = "tradeship_rescue_shuttle_pump"; tag_chamber_sensor = "tradeship_rescue_shuttle_sensor"; @@ -1041,6 +1040,12 @@ dir = 9 }, /obj/effect/shuttle_landmark/docking_arm_starboard/rescue, +/obj/machinery/airlock_sensor{ + id_tag = "tradeship_rescue_shuttle_sensor"; + pixel_x = -22; + pixel_y = 20; + dir = 4 + }, /turf/simulated/floor/tiled, /area/ship/trade/shuttle/rescue) "cd" = ( @@ -1053,7 +1058,8 @@ id_tag = "bee_star_pump" }, /obj/structure/closet/walllocker/suit{ - dir = 4 + dir = 4; + pixel_x = -32 }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/shuttle/outgoing/general) @@ -1061,7 +1067,7 @@ /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -1086,10 +1092,12 @@ /turf/simulated/floor/plating, /area/ship/trade/shuttle/outgoing/engineering) "ct" = ( -/obj/structure/sign/warning/docking_area, -/obj/effect/paint/brown, -/turf/simulated/wall/r_wall, -/area/ship/trade/dock) +/obj/structure/sign/warning/docking_area{ + dir = 8; + pixel_x = 34 + }, +/turf/space, +/area/space) "cu" = ( /obj/machinery/door/airlock/hatch/autoname/general, /obj/machinery/door/firedoor, @@ -1171,7 +1179,8 @@ "cO" = ( /obj/machinery/power/apc{ dir = 1; - name = "Crew Areas APC" + name = "Crew Areas APC"; + pixel_y = 22 }, /obj/structure/cable{ icon_state = "0-4" @@ -1255,12 +1264,14 @@ /obj/structure/table, /obj/machinery/recharger, /obj/structure/sign/poster{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/item/trash/tray, /obj/item/circular_saw, /obj/machinery/newscaster{ - pixel_x = 32 + pixel_x = 32; + dir = 4 }, /obj/random/drinkbottle, /obj/random/drinkbottle, @@ -1330,7 +1341,7 @@ }, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled, /area/ship/trade/crew/saloon) @@ -1364,7 +1375,8 @@ pixel_y = 22 }, /obj/machinery/light_switch{ - pixel_x = 24 + pixel_x = 24; + dir = 8 }, /obj/structure/cable{ icon_state = "0-2"; @@ -1377,7 +1389,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/plating, /area/ship/trade/crew/toilets) @@ -1600,7 +1612,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -1643,7 +1655,8 @@ pixel_x = 22 }, /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -20; + dir = 1 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -1690,7 +1703,8 @@ /area/ship/trade/crew/saloon) "dU" = ( /obj/machinery/light_switch{ - pixel_x = 28 + pixel_x = 24; + dir = 8 }, /obj/effect/floor_decal/corner/beige{ dir = 6 @@ -1711,7 +1725,7 @@ "dW" = ( /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/reagentgrinder, /obj/machinery/light, @@ -1757,7 +1771,8 @@ "ed" = ( /obj/machinery/light_switch{ on = 1; - pixel_x = -25 + pixel_x = -25; + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -1831,7 +1846,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/plating, /area/ship/trade/crew/kitchen) @@ -2127,7 +2142,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/structure/cable{ icon_state = "6-8" @@ -2168,7 +2183,7 @@ }, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, @@ -2179,7 +2194,8 @@ dir = 1 }, /obj/machinery/light_switch{ - pixel_x = 28 + pixel_x = 24; + dir = 8 }, /obj/effect/floor_decal/corner/red/diagonal, /turf/simulated/floor/tiled, @@ -2210,7 +2226,8 @@ dir = 8 }, /obj/machinery/light_switch{ - pixel_x = 28 + pixel_x = 24; + dir = 8 }, /turf/simulated/open, /area/ship/trade/cargo) @@ -2237,10 +2254,12 @@ dir = 1 }, /obj/structure/sign/warning/nosmoking_1{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/structure/sign/plaque/diploma/medical{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/item/storage/firstaid/adv, /obj/random/medical, @@ -2347,7 +2366,6 @@ /area/ship/trade/maintenance/engine/starboard) "fQ" = ( /obj/effect/floor_decal/industrial/warning, -/obj/structure/sign/warning/hot_exhaust, /obj/effect/paint/red, /turf/simulated/wall/r_wall, /area/ship/trade/maintenance/engine/port) @@ -2358,7 +2376,7 @@ "fU" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 6 @@ -2429,8 +2447,7 @@ icon_state = "warning" }, /obj/structure/railing/mapped{ - dir = 8; - icon_state = "railing0" + dir = 8 }, /turf/simulated/open, /area/ship/trade/cargo) @@ -2490,13 +2507,11 @@ /area/ship/trade/unused) "gh" = ( /obj/effect/floor_decal/industrial/warning, -/obj/structure/sign/warning/hot_exhaust, /obj/effect/paint/red, /turf/simulated/wall, /area/ship/trade/maintenance/engine/starboard) "gj" = ( /obj/effect/floor_decal/industrial/warning, -/obj/structure/sign/warning/hot_exhaust, /obj/effect/paint/red, /turf/simulated/wall/r_wall, /area/ship/trade/maintenance/engine/starboard) @@ -2504,7 +2519,10 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" + }, +/obj/structure/sign/warning/hot_exhaust{ + pixel_y = 32 }, /turf/simulated/floor/airless, /area/ship/trade/maintenance/engine/port) @@ -2520,7 +2538,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/atmospherics/pipe/simple/hidden/fuel{ dir = 4 @@ -2549,7 +2567,8 @@ dir = 1 }, /obj/machinery/light_switch{ - pixel_x = 28 + pixel_x = 24; + dir = 8 }, /obj/structure/handrail{ dir = 8 @@ -2580,11 +2599,10 @@ /obj/structure/handrail{ dir = 8 }, +/obj/structure/emergency_dispenser/east, /obj/structure/railing/mapped{ - dir = 8; - icon_state = "railing0" + dir = 8 }, -/obj/structure/emergency_dispenser/east, /turf/simulated/open, /area/ship/trade/cargo) "gt" = ( @@ -2605,7 +2623,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/wood/yew, /area/ship/trade/unused) @@ -2667,18 +2685,19 @@ icon_state = "warning" }, /obj/structure/sign/deck/first{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/structure/railing/mapped{ - dir = 8; - icon_state = "railing0" + dir = 8 }, /turf/simulated/open, /area/ship/trade/cargo) "gI" = ( /obj/random/maintenance, /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/wood/yew, /area/ship/trade/unused) @@ -2745,12 +2764,12 @@ icon_state = "warning" }, /obj/structure/railing/mapped{ - dir = 1; - icon_state = "railing0" + dir = 1 }, /obj/machinery/light/spot, /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -20; + dir = 1 }, /turf/simulated/open, /area/ship/trade/cargo) @@ -2771,7 +2790,8 @@ /obj/machinery/button/blast_door{ id_tag = "radaway"; name = "Radiation shields"; - pixel_x = -24 + pixel_x = -24; + dir = 4 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/power) @@ -2841,7 +2861,7 @@ dir = 8 }, /obj/machinery/firealarm{ - pixel_y = 24 + pixel_y = 21 }, /turf/simulated/floor/plating, /area/ship/trade/hidden) @@ -3018,7 +3038,7 @@ /obj/item/storage/backpack/dufflebag/syndie, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/structure/cable{ icon_state = "0-2"; @@ -3195,7 +3215,8 @@ dir = 5 }, /obj/structure/sign/warning/high_voltage{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/structure/table, /obj/item/toy/prize/powerloader, @@ -3203,17 +3224,18 @@ /obj/machinery/recharger, /obj/item/blueprints, /obj/structure/sign/poster{ - pixel_y = 32 + pixel_y = 32; + dir = 1 }, /obj/machinery/firealarm{ - pixel_y = 24 + pixel_y = 21 }, /turf/simulated/floor/tiled/techfloor, /area/ship/trade/maintenance/engineering) "ib" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/effect/floor_decal/corner/blue{ dir = 6 @@ -3415,7 +3437,7 @@ }, /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/power) @@ -3513,7 +3535,9 @@ /obj/machinery/button/blast_door{ id_tag = "engwindow"; name = "Engine Observation"; - pixel_x = 6 + pixel_x = 6; + dir = 1; + directional_offset = null }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -3528,7 +3552,8 @@ /obj/machinery/button/blast_door{ id_tag = "scram"; name = "CORE SCRAM"; - pixel_y = -26 + pixel_y = -26; + dir = 1 }, /obj/machinery/computer/fusion/fuel_control{ dir = 1; @@ -3550,22 +3575,24 @@ /obj/effect/floor_decal/corner/yellow{ dir = 10 }, -/obj/structure/sign/warning/nosmoking_1{ - pixel_y = -32 - }, /obj/machinery/computer/fusion/gyrotron{ dir = 1; initial_id_tag = "main_drive" }, /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 32; + dir = 4 + }, +/obj/structure/sign/warning/nosmoking_1{ + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled/techfloor, /area/ship/trade/maintenance/engineering) "iE" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1; @@ -3621,7 +3648,7 @@ "iR" = ( /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/blast/regular/open{ - id_tag = "engwindow"; + id_tag = "engwindow" }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -3676,7 +3703,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/maintenance/atmos) @@ -3686,7 +3713,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/atmospherics/pipe/manifold/visible/red{ dir = 4 @@ -3797,6 +3824,10 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/sign/warning/radioactive{ + pixel_y = -32; + dir = 1 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/maintenance/power) "jl" = ( @@ -3817,6 +3848,10 @@ /obj/machinery/power/smes/buildable/max_cap_in_out, /obj/structure/cable, /obj/effect/floor_decal/techfloor/orange, +/obj/structure/sign/warning/radioactive{ + pixel_y = -32; + dir = 1 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/maintenance/power) "jp" = ( @@ -3905,13 +3940,7 @@ /obj/machinery/door/window/northleft, /obj/machinery/door/blast/regular/open{ dir = 2; - id_tag = "radaway"; - }, -/obj/structure/sign/warning/radioactive{ - pixel_x = -32 - }, -/obj/structure/sign/warning/radioactive{ - pixel_x = 32 + id_tag = "radaway" }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/power) @@ -3994,7 +4023,7 @@ "jI" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/atmospherics/valve/shutoff, /obj/structure/window/borosilicate_reinforced{ @@ -4058,9 +4087,17 @@ }, /obj/machinery/door/blast/regular/open{ dir = 2; - id_tag = "radaway"; + id_tag = "radaway" }, /obj/machinery/meter/turf, +/obj/structure/sign/warning/radioactive{ + pixel_x = -32; + dir = 4 + }, +/obj/structure/sign/warning/radioactive{ + pixel_x = 32; + dir = 8 + }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/power) "jQ" = ( @@ -4395,7 +4432,8 @@ dir = 4; id_tag = "bee_star"; pixel_x = 16; - pixel_y = 26 + pixel_y = 26; + directional_offset = null }, /turf/space, /area/ship/trade/shuttle/outgoing/general) @@ -4433,11 +4471,19 @@ }, /obj/item/deck/tarot, /obj/machinery/button/blast_door{ - id_tag = "bee_shutters" + id_tag = "bee_shutters"; + directional_offset = null }, /obj/item/stack/medical/bruise_pack, /turf/simulated/floor/tiled, /area/ship/trade/shuttle/outgoing/general) +"lU" = ( +/obj/structure/sign/warning/docking_area{ + dir = 4; + pixel_x = -34 + }, +/turf/space, +/area/space) "lW" = ( /obj/structure/catwalk, /obj/structure/handrail{ @@ -4451,7 +4497,8 @@ /area/ship/trade/shuttle/outgoing/general) "lZ" = ( /obj/structure/sign/department/redcross{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /turf/simulated/floor/plating, /area/ship/trade/crew/hallway/starboard) @@ -4496,7 +4543,7 @@ }, /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled, /area/ship/trade/shuttle/outgoing/general) @@ -4574,7 +4621,7 @@ }, /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/machinery/atmospherics/unary/vent_pump/on{ level = 2 @@ -4752,7 +4799,7 @@ /area/ship/trade/shuttle/outgoing/general) "pb" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/portable_atmospherics/hydroponics, /turf/simulated/floor/tiled, @@ -4772,7 +4819,7 @@ "pt" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled/techmaint, /area/ship/trade/crew/hallway/port) @@ -4830,7 +4877,8 @@ }, /obj/machinery/biogenerator, /obj/machinery/light_switch{ - pixel_x = 22 + pixel_x = 24; + dir = 8 }, /turf/simulated/floor/tiled, /area/ship/trade/garden) @@ -4952,7 +5000,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/plating, /area/ship/trade/garden) @@ -4962,7 +5010,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/plating, /area/ship/trade/command/fmate) @@ -4971,7 +5019,7 @@ /obj/effect/floor_decal/industrial/warning, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/engine/aft) @@ -4999,7 +5047,8 @@ icon_state = "0-8" }, /obj/machinery/newscaster{ - pixel_x = 30 + pixel_x = 32; + dir = 4 }, /turf/simulated/floor/tiled/dark, /area/ship/trade/command/bridge) @@ -5063,7 +5112,7 @@ /area/ship/trade/maintenance/engine/aft) "sj" = ( /obj/machinery/alarm{ - pixel_y = 24 + pixel_y = 21 }, /obj/machinery/atmospherics/portables_connector{ dir = 1 @@ -5088,7 +5137,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/red, /obj/effect/paint/sun, /obj/machinery/door/blast/regular/open{ - id_tag = "bee_shutters"; + id_tag = "bee_shutters" }, /turf/simulated/floor/plating, /area/ship/trade/shuttle/outgoing/general) @@ -5105,7 +5154,10 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" + }, +/obj/structure/sign/warning/hot_exhaust{ + pixel_y = 32 }, /turf/simulated/floor/airless, /area/ship/trade/maintenance/engine/starboard) @@ -5118,7 +5170,8 @@ "sB" = ( /obj/effect/floor_decal/industrial/warning, /obj/structure/sign/warning/fall{ - pixel_x = -32 + pixel_x = -34; + dir = 4 }, /obj/structure/catwalk, /obj/structure/railing/mapped, @@ -5205,6 +5258,10 @@ }, /turf/simulated/floor/plating, /area/ship/trade/shuttle/outgoing/engineering) +"tG" = ( +/obj/abstract/ramp_sculptor/north, +/turf/exterior/wall, +/area/space) "tV" = ( /turf/space, /area/ship/trade/command/fmate) @@ -5212,14 +5269,14 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/command/fmate) "uc" = ( /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/effect/floor_decal/industrial/outline/yellow, /obj/item/radio/intercom{ @@ -5252,7 +5309,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/crew/medbay/chemistry) @@ -5262,7 +5319,7 @@ icon_state = "0-8" }, /obj/structure/sign/warning/radioactive{ - dir = 4; + dir = 8; pixel_x = 32 }, /turf/simulated/floor/plating, @@ -5302,7 +5359,7 @@ "vc" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/item/radio/intercom{ dir = 1; @@ -5333,7 +5390,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/structure/sign/warning/hot_exhaust{ pixel_y = 32 @@ -5445,7 +5502,7 @@ /area/ship/trade/crew/wash) "xc" = ( /obj/machinery/firealarm{ - pixel_y = 24 + pixel_y = 21 }, /obj/structure/cable{ icon_state = "4-8" @@ -5615,7 +5672,7 @@ /obj/structure/curtain/open/shower, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled/freezer, /area/ship/trade/crew/toilets) @@ -5629,7 +5686,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/plating, /area/ship/trade/command/captain) @@ -5640,6 +5697,17 @@ }, /turf/simulated/floor/tiled/techfloor, /area/ship/trade/maintenance/atmos) +"zY" = ( +/obj/structure/lattice, +/obj/structure/handrail{ + dir = 4 + }, +/obj/structure/sign/warning/docking_area{ + dir = 4; + pixel_x = -34 + }, +/turf/space, +/area/space) "Ab" = ( /obj/machinery/atmospherics/pipe/simple/visible/red{ dir = 6 @@ -5747,7 +5815,7 @@ }, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/tiled, /area/ship/trade/crew/kitchen) @@ -5779,7 +5847,8 @@ id_tag = "bee_port_pump" }, /obj/structure/closet/walllocker/suit{ - dir = 8 + dir = 8; + pixel_x = 32 }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/shuttle/outgoing/general) @@ -5798,7 +5867,7 @@ /obj/effect/wallframe_spawn/reinforced/titanium, /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular/open{ - id_tag = "bee_shutters"; + id_tag = "bee_shutters" }, /obj/effect/paint/black, /turf/simulated/floor/plating, @@ -5816,7 +5885,8 @@ /obj/machinery/button/blast_door{ id_tag = "fmate"; pixel_x = 22; - pixel_y = -2 + pixel_y = -2; + dir = 8 }, /turf/simulated/floor/wood, /area/ship/trade/command/fmate) @@ -5838,7 +5908,7 @@ /obj/effect/floor_decal/corner/red/diagonal, /obj/machinery/vending/dinnerware, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled, /area/ship/trade/crew/kitchen) @@ -5852,6 +5922,10 @@ /obj/effect/paint/brown, /turf/simulated/wall/r_wall/hull, /area/ship/trade/crew/medbay/chemistry) +"Cg" = ( +/obj/abstract/ramp_sculptor/east, +/turf/exterior/wall, +/area/space) "Co" = ( /obj/effect/floor_decal/corner/red/diagonal, /obj/structure/cable{ @@ -5884,7 +5958,8 @@ /obj/item/toy/figure/captain, /obj/machinery/button/blast_door{ id_tag = "sensor"; - name = "Sensor Shroud" + name = "Sensor Shroud"; + directional_offset = null }, /obj/item/radio, /obj/random/drinkbottle, @@ -5993,7 +6068,8 @@ dir = 8; id_tag = "bee_port"; pixel_x = -16; - pixel_y = -26 + pixel_y = -26; + directional_offset = null }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/shuttle/outgoing/general) @@ -6051,7 +6127,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /obj/item/handcuffs, /obj/item/telebaton, @@ -6159,7 +6235,7 @@ /obj/effect/floor_decal/industrial/outline/yellow, /obj/machinery/portable_atmospherics/powered/pump/filled, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/techfloor, /area/ship/trade/cargo) @@ -6191,7 +6267,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/effect/wallframe_spawn/reinforced, /turf/simulated/floor/plating, @@ -6200,7 +6276,8 @@ /obj/structure/table, /obj/machinery/button/blast_door{ id_tag = "scraplock"; - name = "External Lockdown" + name = "External Lockdown"; + directional_offset = null }, /obj/random_multi/single_item/captains_spare_id, /obj/item/documents/tradehouse/account, @@ -6211,7 +6288,7 @@ "FT" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/hallway) @@ -6281,7 +6358,7 @@ /obj/machinery/door/firedoor, /obj/effect/paint/sun, /obj/machinery/door/blast/regular/open{ - id_tag = "bee_shutters"; + id_tag = "bee_shutters" }, /turf/simulated/floor/plating, /area/ship/trade/shuttle/outgoing/general) @@ -6333,11 +6410,11 @@ /area/ship/trade/maintenance/atmos) "Hc" = ( /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/item/bedsheet/medical, /obj/structure/curtain/open/privacy, @@ -6399,7 +6476,7 @@ "Ic" = ( /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /obj/item/storage/medical_lolli_jar, /obj/structure/table, @@ -6417,8 +6494,9 @@ /obj/structure/table, /obj/item/chems/food/monkeycube/wrapped, /obj/structure/closet/secure_closet/medical_wall/pills{ - pixel_y = -29; - req_access = null + pixel_y = -32; + req_access = null; + dir = 1 }, /turf/simulated/floor/tiled/white, /area/ship/trade/crew/medbay) @@ -6431,7 +6509,7 @@ "Iw" = ( /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/plating, /area/ship/trade/crew/hallway/port) @@ -6457,7 +6535,7 @@ "IC" = ( /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/plating, /area/ship/trade/crew/hallway/starboard) @@ -6533,7 +6611,8 @@ icon_state = "bulb1" }, /obj/structure/sign/deck/first{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /obj/structure/handrail{ dir = 8 @@ -6545,7 +6624,8 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/kitchenspike, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/tiled, /area/ship/trade/crew/kitchen) @@ -6576,7 +6656,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/power) @@ -6622,7 +6702,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6634,7 +6714,7 @@ "Kd" = ( /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/structure/table, /obj/machinery/cell_charger, @@ -6656,7 +6736,8 @@ /area/ship/trade/command/captain) "Kl" = ( /obj/machinery/light_switch{ - pixel_x = -25 + pixel_x = -24; + dir = 4 }, /turf/simulated/floor/tiled/techmaint, /area/ship/trade/crew/hallway/port) @@ -6684,7 +6765,8 @@ /area/ship/trade/shuttle/outgoing/general) "KI" = ( /obj/machinery/light_switch{ - pixel_x = -25 + pixel_x = -24; + dir = 4 }, /obj/structure/catwalk, /obj/structure/handrail{ @@ -6713,7 +6795,7 @@ "KZ" = ( /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/plating, /area/ship/trade/crew/hallway/starboard) @@ -6731,7 +6813,7 @@ }, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -6796,7 +6878,7 @@ dir = 4 }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/freezer, /area/ship/trade/crew/wash) @@ -6891,7 +6973,7 @@ dir = 4 }, /obj/machinery/firealarm{ - pixel_y = 24 + pixel_y = 21 }, /turf/simulated/floor/tiled/freezer, /area/ship/trade/crew/wash) @@ -6922,7 +7004,8 @@ /obj/machinery/network/requests_console{ announcementConsole = 1; department = "Captain"; - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/item/radio/intercom{ dir = 4; @@ -6976,7 +7059,7 @@ pixel_x = -22 }, /obj/machinery/alarm{ - pixel_y = 24 + pixel_y = 21 }, /turf/simulated/floor/tiled/steel_ridged, /area/ship/trade/shuttle/outgoing/general) @@ -6996,7 +7079,7 @@ "Ob" = ( /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1; @@ -7051,12 +7134,16 @@ "OP" = ( /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/structure/table, /obj/machinery/reagent_temperature/cooler, /turf/simulated/floor/tiled/white, /area/ship/trade/crew/medbay/chemistry) +"OQ" = ( +/obj/abstract/ramp_sculptor/west, +/turf/exterior/wall, +/area/space) "Pa" = ( /obj/structure/cable{ icon_state = "0-4" @@ -7075,7 +7162,8 @@ }, /obj/structure/displaycase, /obj/machinery/newscaster{ - pixel_y = -30 + pixel_y = -32; + dir = 1 }, /turf/simulated/floor/carpet/blue, /area/ship/trade/command/captain) @@ -7098,7 +7186,7 @@ "PB" = ( /obj/machinery/alarm{ dir = 8; - pixel_x = 24 + pixel_x = 21 }, /obj/structure/cable{ icon_state = "1-2" @@ -7137,7 +7225,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/maintenance/power) @@ -7145,7 +7233,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/item/mollusc/barnacle{ pixel_y = -11 @@ -7172,7 +7260,10 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" + }, +/obj/structure/sign/warning/hot_exhaust{ + pixel_y = 32 }, /turf/simulated/floor/airless, /area/ship/trade/maintenance/engine/starboard) @@ -7204,10 +7295,12 @@ pixel_y = -22 }, /obj/machinery/light_switch{ - pixel_x = -25 + pixel_x = -24; + dir = 4 }, /obj/structure/closet/medical_wall/filled{ - pixel_y = -32 + pixel_y = -32; + dir = 1 }, /obj/item/stack/tape_roll/duct_tape, /obj/item/storage/firstaid/surgery, @@ -7223,7 +7316,8 @@ /obj/machinery/button/toggle/engine{ id_tag = "tradeship_engine_vent"; name = "engine vent control button"; - pixel_x = 24 + pixel_x = 24; + dir = 8 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/engine/aft) @@ -7260,7 +7354,7 @@ /obj/item/stool/padded, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /turf/simulated/floor/wood/yew, /area/ship/trade/unused) @@ -7279,7 +7373,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/maintenance/atmos) @@ -7302,7 +7396,7 @@ /obj/machinery/merchant_pad, /obj/machinery/firealarm{ dir = 4; - pixel_x = 24 + pixel_x = 21 }, /turf/simulated/floor/tiled/techfloor, /area/ship/trade/cargo) @@ -7345,14 +7439,16 @@ icon_state = "bulb1" }, /obj/machinery/newscaster{ - pixel_x = -32 + pixel_x = -32; + dir = 8 }, /turf/simulated/floor/tiled, /area/ship/trade/garden) "Sg" = ( /obj/machinery/light, /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -20; + dir = 1 }, /turf/simulated/floor/tiled/techmaint, /area/ship/trade/shieldbay) @@ -7360,7 +7456,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /turf/simulated/floor/airless, /area/ship/trade/crew/toilets) @@ -7393,7 +7489,7 @@ "SI" = ( /obj/machinery/alarm{ dir = 4; - pixel_x = -24 + pixel_x = -21 }, /obj/effect/floor_decal/steeldecal/steel_decals6, /obj/structure/sign/warning/radioactive{ @@ -7424,16 +7520,15 @@ }, /obj/machinery/power/apc{ dir = 1; - name = "Docking Area APC" + name = "Docking Area APC"; + pixel_y = 22 }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, /obj/machinery/light_switch{ - pixel_x = 27 - }, -/obj/structure/sign/warning/radioactive{ - pixel_y = 32 + pixel_x = 24; + dir = 8 }, /turf/simulated/floor/tiled/monotile, /area/ship/trade/command/hallway) @@ -7459,6 +7554,10 @@ /obj/effect/paint/sun, /turf/simulated/wall/titanium, /area/ship/trade/shuttle/outgoing/engineering) +"Tv" = ( +/obj/structure/lattice, +/turf/exterior/wall, +/area/space) "Tx" = ( /obj/structure/shuttle/engine/propulsion/burst/right, /turf/simulated/floor/airless, @@ -7492,7 +7591,8 @@ /area/ship/trade/command/bridge) "TR" = ( /obj/structure/sign/deck/first{ - pixel_x = 32 + pixel_x = 32; + dir = 8 }, /turf/simulated/floor/tiled/techmaint, /area/ship/trade/crew/hallway/starboard) @@ -7507,7 +7607,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/structure/cable{ icon_state = "4-10" @@ -7533,7 +7633,8 @@ icon_state = "4-8" }, /obj/machinery/light_switch{ - pixel_y = -25 + pixel_y = -20; + dir = 1 }, /turf/simulated/floor/tiled/dark, /area/ship/trade/command/bridge) @@ -7601,7 +7702,7 @@ /obj/structure/cable, /obj/machinery/power/apc{ name = "south bump"; - pixel_y = -24 + pixel_y = -22 }, /obj/item/chems/glass/bucket, /obj/structure/reagent_dispensers/watertank, @@ -7647,7 +7748,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -7697,7 +7798,7 @@ }, /obj/machinery/firealarm{ dir = 8; - pixel_x = -24 + pixel_x = -21 }, /obj/machinery/light{ icon_state = "bulb1" @@ -7711,7 +7812,8 @@ /obj/machinery/cryopod/lifepod, /obj/machinery/door/window/southright, /obj/machinery/computer/cryopod{ - dir = 8 + dir = 8; + pixel_x = 24 }, /turf/simulated/floor/wood, /area/ship/trade/command/captain) @@ -7792,7 +7894,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "scraplock"; + name = "scraplock" }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/visible/red{ @@ -7811,7 +7913,7 @@ "XX" = ( /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/blast/regular/open{ - id_tag = "engwindow"; + id_tag = "engwindow" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -7874,6 +7976,10 @@ dir = 8 }, /obj/structure/lattice, +/obj/structure/sign/warning/docking_area{ + dir = 8; + pixel_x = 34 + }, /turf/space, /area/space) "YE" = ( @@ -7955,7 +8061,7 @@ icon_state = "0-4" }, /obj/item/radio/intercom{ - pixel_y = 22 + pixel_y = 20 }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/maintenance/power) @@ -9760,9 +9866,9 @@ aa aa aa aa -aa -aa -aa +OQ +OQ +OQ xX aa aa @@ -9841,8 +9947,8 @@ aa aa aa aa -aa -aa +tG +eh eh eh pn @@ -9923,7 +10029,7 @@ aa aa aa aa -aa +tG eh ew ex @@ -10005,7 +10111,7 @@ aa aa aa aa -aa +tG eh ex ex @@ -10088,7 +10194,7 @@ aa aa aa aa -aa +eh ex ex fh @@ -10565,7 +10671,7 @@ aa aa aa aa -aa +ct bA bI bA @@ -10733,7 +10839,7 @@ nZ bm bz cf -ct +Mw aq aq aq @@ -11717,7 +11823,7 @@ nZ bm bt cf -ct +Mw VW VW VW @@ -11799,7 +11905,7 @@ nZ Mw bu bA -Zv +zY cy cy cy @@ -11877,7 +11983,7 @@ aa aa aa aa -aa +lU bA bw bA @@ -12301,9 +12407,9 @@ aa aa aa aa -aa -aa -cy +eh +eh +Tv eN Gc fN @@ -12382,7 +12488,7 @@ aa aa aa aa -aa +tG eh eh eN @@ -12464,8 +12570,8 @@ aa aa aa aa -aa -aa +tG +eh ew eN eN @@ -12546,8 +12652,8 @@ aa aa aa aa -aa -aa +tG +eh eh eh eN @@ -12629,9 +12735,9 @@ aa aa aa aa -aa -aa -aa +Cg +Cg +Cg aa we we diff --git a/maps/tradeship/tradeship-3.dmm b/maps/tradeship/tradeship-3.dmm index 6474ce50628..cda8b435d76 100644 --- a/maps/tradeship/tradeship-3.dmm +++ b/maps/tradeship/tradeship-3.dmm @@ -8,7 +8,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/bridge_unused) @@ -149,7 +149,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/machinery/door/firedoor, /turf/simulated/floor/plating, @@ -162,7 +162,8 @@ tag_airpump = "solars_pump"; tag_chamber_sensor = "solars_sensor"; tag_exterior_door = "solars_out"; - tag_interior_door = "solars_in" + tag_interior_door = "solars_in"; + pixel_x = 22 }, /obj/structure/cable{ icon_state = "1-2" @@ -301,7 +302,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/comms) @@ -431,7 +432,8 @@ "bc" = ( /obj/machinery/door/firedoor, /obj/structure/sign/warning/fall{ - pixel_x = 32 + pixel_x = 34; + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -444,7 +446,8 @@ /area/space) "be" = ( /obj/machinery/light_switch{ - pixel_x = 24 + pixel_x = 24; + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" @@ -637,7 +640,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/bridge_unused) @@ -689,7 +692,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/effect/wallframe_spawn/reinforced, /turf/simulated/floor/plating, @@ -712,7 +715,8 @@ "oq" = ( /obj/random/trash, /obj/machinery/power/apc{ - dir = 8 + dir = 8; + pixel_x = -22 }, /obj/structure/cable{ icon_state = "0-2" @@ -787,19 +791,17 @@ }, /obj/machinery/power/apc{ dir = 1; - name = "Communications APC" + name = "Communications APC"; + pixel_y = 22 }, /obj/structure/cable{ icon_state = "0-2" }, /obj/machinery/light_switch{ - pixel_x = 32 + pixel_x = 24; + dir = 8 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, /obj/structure/window/reinforced{ dir = 8 }, @@ -821,7 +823,8 @@ "wc" = ( /obj/effect/floor_decal/steeldecal/steel_decals6, /obj/machinery/power/apc{ - dir = 1 + dir = 1; + pixel_y = 22 }, /obj/structure/cable{ icon_state = "0-2"; @@ -913,7 +916,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/airless, /area/ship/trade/bridge_unused) @@ -1023,7 +1026,8 @@ icon_state = "1-2" }, /obj/machinery/light_switch{ - pixel_x = 32 + pixel_x = 24; + dir = 8 }, /turf/simulated/floor/tiled/dark, /area/ship/trade/command/bridge_upper) @@ -1042,7 +1046,8 @@ dir = 8 }, /obj/structure/sign/warning/fall{ - pixel_x = -32 + pixel_x = -34; + dir = 4 }, /turf/simulated/floor/plating, /area/ship/trade/maintenance/solars) @@ -1089,7 +1094,7 @@ /obj/effect/wallframe_spawn/reinforced, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/command/bridge_upper) @@ -1100,7 +1105,7 @@ /obj/machinery/door/blast/regular/open{ dir = 4; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/airless, /area/ship/trade/comms) @@ -1141,7 +1146,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/effect/wallframe_spawn/reinforced, /turf/simulated/floor/plating, @@ -1158,7 +1163,7 @@ /obj/machinery/door/blast/regular/open{ dir = 2; id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /turf/simulated/floor/plating, /area/ship/trade/comms) @@ -1190,7 +1195,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/blast/regular/open{ id_tag = "scraplock"; - name = "External Blast Doors"; + name = "External Blast Doors" }, /obj/effect/wallframe_spawn/reinforced, /turf/simulated/floor/plating, @@ -1236,10 +1241,6 @@ /turf/simulated/floor/reinforced/airless, /area/space) "ZD" = ( -/obj/machinery/alarm{ - dir = 8; - pixel_x = 24 - }, /obj/structure/window/reinforced{ dir = 8 }, @@ -1247,6 +1248,10 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, /turf/simulated/floor/tiled/techfloor/grid, /area/ship/trade/comms) "ZT" = ( @@ -1264,7 +1269,8 @@ dir = 4 }, /obj/machinery/light_switch{ - pixel_x = 32 + pixel_x = 24; + dir = 8 }, /obj/structure/lattice, /turf/simulated/open, diff --git a/maps/tradeship/tradeship.dm b/maps/tradeship/tradeship.dm index a08e00d84e2..69c64093b78 100644 --- a/maps/tradeship/tradeship.dm +++ b/maps/tradeship/tradeship.dm @@ -1,5 +1,9 @@ #if !defined(USING_MAP_DATUM) + #ifdef UNIT_TEST + #include "../../code/unit_tests/offset_tests.dm" + #endif + #include "../random_ruins/exoplanet_ruins/playablecolony/playablecolony.dm" #include "../../mods/content/mundane.dm" diff --git a/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm b/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm index d0e1dcab049..62b666d14e0 100644 --- a/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm +++ b/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm @@ -812,7 +812,7 @@ /area/lar_maria/library) "cs" = ( /obj/structure/bookcase, -/obj/item/book/manual/stasis, +/obj/item/book/fluff/stasis, /turf/simulated/floor/tiled, /area/lar_maria/library) "cu" = ( @@ -831,8 +831,8 @@ /area/lar_maria/library) "cy" = ( /obj/structure/bookcase, -/obj/item/book/manual/anomaly_spectroscopy, -/obj/item/book/manual/anomaly_testing, +/obj/item/book/fluff/anomaly_spectroscopy, +/obj/item/book/fluff/anomaly_testing, /turf/simulated/floor/tiled, /area/lar_maria/library) "cz" = ( diff --git a/mods/content/corporate/datum/ai_laws.dm b/mods/content/corporate/datum/ai_laws.dm index 9029327ae00..380101d48cc 100644 --- a/mods/content/corporate/datum/ai_laws.dm +++ b/mods/content/corporate/datum/ai_laws.dm @@ -1,7 +1,7 @@ /obj/item/aiModule/nanotrasen // -- TLE name = "'Corporate Default' Core AI Module" desc = "A 'Corporate Default' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' laws = new/datum/ai_laws/nanotrasen /datum/ai_laws/nanotrasen @@ -18,7 +18,7 @@ /obj/item/aiModule/corp name = "\improper 'Corporate' core AI module" desc = "A 'Corporate' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' laws = new/datum/ai_laws/corporate /datum/ai_laws/corporate @@ -51,5 +51,5 @@ /obj/item/aiModule/dais name = "\improper 'DAIS Experimental' core AI module" desc = "A 'DAIS Experimental' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':4}" + origin_tech = @'{"programming":4}' laws = new/datum/ai_laws/dais() diff --git a/mods/content/corporate/datum/antagonists/commando.dm b/mods/content/corporate/datum/antagonists/commando.dm index e99fa97cedd..c15a79ebbc2 100644 --- a/mods/content/corporate/datum/antagonists/commando.dm +++ b/mods/content/corporate/datum/antagonists/commando.dm @@ -31,12 +31,12 @@ /obj/item/encryptionkey/hacked icon_state = "cypherkey" can_decrypt = list(access_hacked) - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' /obj/item/encryptionkey/hacked/Initialize(ml, material_key) . = ..() can_decrypt |= get_all_station_access() /obj/item/radio/headset/hacked - origin_tech = "{'esoteric':3}" + origin_tech = @'{"esoteric":3}' encryption_keys = list(/obj/item/encryptionkey/hacked) diff --git a/mods/content/corporate/items/documents.dm b/mods/content/corporate/items/documents.dm index 13cd7e1ded3..d722d5c411a 100644 --- a/mods/content/corporate/items/documents.dm +++ b/mods/content/corporate/items/documents.dm @@ -4,107 +4,111 @@ description_antag = "A conglomerate of powerful corporations seems to be wanting to create weaponized xenobiological species. Probably as a form of WMD, by your best guess." icon_state = "docs_verified" -/obj/item/book/manual/nt_regs +/obj/item/book/fluff/nt_regs name = "Corporate Regulations" desc = "A set of corporate guidelines for employees of a megacorporation." icon_state = "booknanoregs" author = "Employee Materials" title = "Corporate Regulations" - url = "Corporate_Regulations" + fluff_text = "The book is empty..." /obj/item/book/union_charter name = "\improper Union Charter" + unique = TRUE title = "Union Charter of Workplace Rights" author = "Corporate Union" - dat = {"Corporate Union Charter of Workplace Rights - -

    0. Summary

    -
    -

    As a union representative, you are required to uphold the interests of contracted workers on your station or vessel. You are empowered to inspect workplaces and instigate cessation of contracted work when on green alert, with diminishing powers during a state of emergency. You do not have authority or jurisdiction over government or military workers, or any workers who are not card-carrying signatories to this Charter.

    -

    1. Introduction

    -

    This Charter of Rights sets out the rights and responsibilities of all workplace parties in the provision of decent and fair health, safety, compensation and rehabilitation systems and practices within affiliated workplaces. Regardless of jurisdiction, changes to occupational health and safety, compensation and rehabilitation law must not result in a diminution of the rights and entitlements of any worker.

    -

    This Charter does not apply to staff who are not signatory to the Solar Employee General Award, or are signatory to other workplace regulatory documents such as the internal protocols of your local legislative body. Union representatives must take care to ensure that their operations on mixed jurisdiction stations and vessels are restricted to those areas that have a union worker, contractor or labourer presence.

    -

    Workers must not be adversely affected by any employer moving between jurisdictions in relation to their OHS and workers compensation entitlements. Any proposed move between jurisdictions will only occur following genuine consultation and agreement with workers and their representatives and a process of public review, including public tribunal hearings.

    -

    Consistent with OHS and Worker Compensation Policy and interstellar standards, Solar law must ensure healthy and safe workplaces and a compensation and rehabilitation system which ensures that no worker is disadvantaged should they be injured at work.

    -

    All workers have the right to join a genuine trade union. Union organised workplaces are safer workplaces.

    -

    2. Security Levels

    -
    -

    On stations or vessels employing the standard Security Alert Level protocol, the following conditions apply:

    - -

    3. Representation

    -
    -

    Every worker has the right to be represented on health, safety, compensation, rehabilitation and return to work issues, by their elected Union Representative and their union. Every worker has the right to elect health and safety representatives.

    -

    Unions have the right to:

    - -

    Union Representatives have the right to:

    - -

    4. Workers

    -
    -

    Every worker has the right to: -

    -

    All workers (or prospective workers), including health and safety representatives, will be protected by law from discrimination, harassment, bullying or detriment to their employment because they have raised a health and safety issue, lodged a compensation claim or been involved in consultation on workplace health and safety matters.

    -

    4. Employer Responsibilities

    -
    -

    Persons who control, manage or own workplaces have an absolute duty of care without limitation to provide and maintain safe and healthy work environments. Employers will not shift jurisdictions to attempt to avoid their OHS and workers compensation responsibilities and obligations. Employers are subject to all the obligations and responsibilities contained within this Charter.

    -

    5. Compensation

    -
    -

    Following a physical or psychological injury, all workers have the right to a fair, just and equitable compensation system, which promotes the best medical and like support, the most effective rehabilitation for injured workers and facilitates a safe return to work that offers genuine job security. Workers' compensation standards are to:

    -
  • Be available to all members of the workforce;
  • -
  • Provide compensation for all injuries that arise from travel to, from or during work including and during recess breaks;
  • -
  • Be available upon the death of a worker and for dependants of that worker;
  • -
  • Be based on the 100% replacement of loss of income;
  • -
  • Provide total cost of medical rehabilitation and other related expenses;
  • -
  • Provide lump sum compensation for permanent disability;
  • -
  • Ensure common law rights;
  • -
  • Support rehabilitation and return to work;
  • -
  • Ensure that workers are entitled to timely and effective claim determination and dispute resolution processes;
  • -
  • Ensure the worker has access to the doctor of their choice; and
  • -
  • Not be eroded by companies seeking to self-insure in order to obtain lower OHS and worker's compensation entitlements for workers.
  • - -

    6. Rehabilitation

    -
    -

    All workers have the right to return to safe, suitable, meaningful and sustainable work, following the provision of quality rehabilitation services, commensurate to need. Rehabilitation will include the right to:

    - - + dat = {" + + Corporate Union Charter of Workplace Rights + + +

    0. Summary

    +
    +

    As a union representative, you are required to uphold the interests of contracted workers on your station or vessel. You are empowered to inspect workplaces and instigate cessation of contracted work when on green alert, with diminishing powers during a state of emergency. You do not have authority or jurisdiction over government or military workers, or any workers who are not card-carrying signatories to this Charter.

    +

    1. Introduction

    +

    This Charter of Rights sets out the rights and responsibilities of all workplace parties in the provision of decent and fair health, safety, compensation and rehabilitation systems and practices within affiliated workplaces. Regardless of jurisdiction, changes to occupational health and safety, compensation and rehabilitation law must not result in a diminution of the rights and entitlements of any worker.

    +

    This Charter does not apply to staff who are not signatory to the Solar Employee General Award, or are signatory to other workplace regulatory documents such as the internal protocols of your local legislative body. Union representatives must take care to ensure that their operations on mixed jurisdiction stations and vessels are restricted to those areas that have a union worker, contractor or labourer presence.

    +

    Workers must not be adversely affected by any employer moving between jurisdictions in relation to their OHS and workers compensation entitlements. Any proposed move between jurisdictions will only occur following genuine consultation and agreement with workers and their representatives and a process of public review, including public tribunal hearings.

    +

    Consistent with OHS and Worker Compensation Policy and interstellar standards, Solar law must ensure healthy and safe workplaces and a compensation and rehabilitation system which ensures that no worker is disadvantaged should they be injured at work.

    +

    All workers have the right to join a genuine trade union. Union organised workplaces are safer workplaces.

    +

    2. Security Levels

    +
    +

    On stations or vessels employing the standard Security Alert Level protocol, the following conditions apply:

    + +

    3. Representation

    +
    +

    Every worker has the right to be represented on health, safety, compensation, rehabilitation and return to work issues, by their elected Union Representative and their union. Every worker has the right to elect health and safety representatives.

    +

    Unions have the right to:

    + +

    Union Representatives have the right to:

    + +

    4. Workers

    +
    +

    Every worker has the right to: +

    +

    All workers (or prospective workers), including health and safety representatives, will be protected by law from discrimination, harassment, bullying or detriment to their employment because they have raised a health and safety issue, lodged a compensation claim or been involved in consultation on workplace health and safety matters.

    +

    4. Employer Responsibilities

    +
    +

    Persons who control, manage or own workplaces have an absolute duty of care without limitation to provide and maintain safe and healthy work environments. Employers will not shift jurisdictions to attempt to avoid their OHS and workers compensation responsibilities and obligations. Employers are subject to all the obligations and responsibilities contained within this Charter.

    +

    5. Compensation

    +
    +

    Following a physical or psychological injury, all workers have the right to a fair, just and equitable compensation system, which promotes the best medical and like support, the most effective rehabilitation for injured workers and facilitates a safe return to work that offers genuine job security. Workers' compensation standards are to:

    +
  • Be available to all members of the workforce;
  • +
  • Provide compensation for all injuries that arise from travel to, from or during work including and during recess breaks;
  • +
  • Be available upon the death of a worker and for dependants of that worker;
  • +
  • Be based on the 100% replacement of loss of income;
  • +
  • Provide total cost of medical rehabilitation and other related expenses;
  • +
  • Provide lump sum compensation for permanent disability;
  • +
  • Ensure common law rights;
  • +
  • Support rehabilitation and return to work;
  • +
  • Ensure that workers are entitled to timely and effective claim determination and dispute resolution processes;
  • +
  • Ensure the worker has access to the doctor of their choice; and
  • +
  • Not be eroded by companies seeking to self-insure in order to obtain lower OHS and worker's compensation entitlements for workers.
  • + +

    6. Rehabilitation

    +
    +

    All workers have the right to return to safe, suitable, meaningful and sustainable work, following the provision of quality rehabilitation services, commensurate to need. Rehabilitation will include the right to:

    + + "} /obj/item/folder/nt diff --git a/mods/content/generic_shuttles/tanker/tanker.dmm b/mods/content/generic_shuttles/tanker/tanker.dmm index 704b701c15b..02a3995e394 100644 --- a/mods/content/generic_shuttles/tanker/tanker.dmm +++ b/mods/content/generic_shuttles/tanker/tanker.dmm @@ -300,7 +300,7 @@ dir = 4 }, /obj/machinery/fabricator/pipe{ - anchored = TRUE + anchored = 1 }, /turf/simulated/floor/plating, /area/tanker) diff --git a/mods/content/government/away_sites/icarus/icarus-1.dmm b/mods/content/government/away_sites/icarus/icarus-1.dmm index a545917b04b..b65eb7f6c69 100644 --- a/mods/content/government/away_sites/icarus/icarus-1.dmm +++ b/mods/content/government/away_sites/icarus/icarus-1.dmm @@ -2583,7 +2583,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/unary/engine{ - anchored = FALSE + anchored = 0 }, /turf/unsimulated/beach/sand, /area/icarus/open) diff --git a/mods/content/government/datum/ai_laws.dm b/mods/content/government/datum/ai_laws.dm index 0452bdcaad5..c31bd6571cd 100644 --- a/mods/content/government/datum/ai_laws.dm +++ b/mods/content/government/datum/ai_laws.dm @@ -25,7 +25,7 @@ /obj/item/aiModule/solgov name = "'SCG Expeditionary' Core AI Module" desc = "An 'SCG Expeditionary' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' laws = new/datum/ai_laws/solgov /******************** SCG Aggressive ********************/ @@ -33,5 +33,5 @@ /obj/item/aiModule/solgov_aggressive name = "\improper 'Military' Core AI Module" desc = "A 'Military' Core AI Module: 'Reconfigures the AI's core laws.'." - origin_tech = "{'programming':3,'materials':4}" + origin_tech = @'{"programming":3,"materials":4}' laws = new/datum/ai_laws/solgov_aggressive diff --git a/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm b/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm index 8d0d6f66435..274d444277f 100644 --- a/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm +++ b/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm @@ -1198,7 +1198,7 @@ dir = 10 }, /obj/machinery/smartfridge{ - density = FALSE + density = 0 }, /turf/simulated/floor/tiled/white/lowpressure, /area/map_template/ecship/science) diff --git a/mods/content/mouse_highlights/mouse_highlight_client.dm b/mods/content/mouse_highlights/mouse_highlight_client.dm index 1dad1018cd6..adf07fbe5a9 100644 --- a/mods/content/mouse_highlights/mouse_highlight_client.dm +++ b/mods/content/mouse_highlights/mouse_highlight_client.dm @@ -11,7 +11,7 @@ /client/New() // Cache our callback as we will potentially be using it (10 / ticklag) times per second, - mouseover_callback = CALLBACK(src, .proc/refresh_mouseover_highlight_timer) + mouseover_callback = CALLBACK(src, PROC_REF(refresh_mouseover_highlight_timer)) . = ..() // This proc iterates constantly whenever something is being mouseover'd, so that it diff --git a/mods/content/psionics/datum/codex.dm b/mods/content/psionics/datum/codex.dm index cac5a264042..94ffe0c9962 100644 --- a/mods/content/psionics/datum/codex.dm +++ b/mods/content/psionics/datum/codex.dm @@ -26,7 +26,7 @@ name = "Psionics" associated_strings = list("psychic powers") associated_paths = list( - /obj/item/book/manual/psionics, + /obj/item/book/fluff/psionics, /obj/item/clothing/head/helmet/space/psi_amp, /obj/item/clothing/head/helmet/space/psi_amp/lesser ) diff --git a/mods/content/psionics/items/literature.dm b/mods/content/psionics/items/literature.dm index 94befe6938d..84b3d235399 100644 --- a/mods/content/psionics/items/literature.dm +++ b/mods/content/psionics/items/literature.dm @@ -1,29 +1,11 @@ -/obj/item/book/manual/psionics +/obj/item/book/fluff/psionics name = "Psychonetics" icon_state = "foundation" author = "John Titor" title = "Psychonetics" - - dat = {" - - - - -

    Psychonetics

    - -

    This seems to be a dry, longwinded reference text for the form of strange mental powers called psionics. The author spends way too much time trying to advertise his cult, though.

    - -

    The general gist of things seems to be that sometime in the last decade or so, the first cases of 'spontaneous operancy' became known. People who spent a lot of time in deep space, or who studied certain esoteric fields of mathematics, became able to perform strange feats like levitating coins or removing headaches with nothing but their minds. The text goes on to explain that psionics are perfectly harmless, and that studies (no citations) have shown operants are no more likely to go mad and murder people than anyone else.

    - -

    A postscript by a group called the Cuchulain Foundation invites anyone who knows an operant, or thinks they might be one, to send them a message via comms and get enrolled in their training and registration program in orbit around Neptune. It's catered. The postscript adds hastily that you should never try to activate your own latencies with trauma or drugs, as the results are often lethal.

    - - - - "} + fluff_text = {" +

    Psychonetics

    +

    This seems to be a dry, longwinded reference text for the form of strange mental powers called psionics. The author spends way too much time trying to advertise his cult, though.

    +

    The general gist of things seems to be that sometime in the last decade or so, the first cases of 'spontaneous operancy' became known. People who spent a lot of time in deep space, or who studied certain esoteric fields of mathematics, became able to perform strange feats like levitating coins or removing headaches with nothing but their minds. The text goes on to explain that psionics are perfectly harmless, and that studies (no citations) have shown operants are no more likely to go mad and murder people than anyone else.

    +

    A postscript by a group called the Cuchulain Foundation invites anyone who knows an operant, or thinks they might be one, to send them a message via comms and get enrolled in their training and registration program in orbit around Neptune. It's catered. The postscript adds hastily that you should never try to activate your own latencies with trauma or drugs, as the results are often lethal.

    + "} diff --git a/mods/content/psionics/system/psionics/interface/ui.dm b/mods/content/psionics/system/psionics/interface/ui.dm index 77685cf57d8..a3f8a3317db 100644 --- a/mods/content/psionics/system/psionics/interface/ui.dm +++ b/mods/content/psionics/system/psionics/interface/ui.dm @@ -1,6 +1,5 @@ /obj/screen/psi icon = 'mods/content/psionics/icons/psi.dmi' - var/mob/living/owner var/hidden = TRUE /obj/screen/psi/Initialize(mapload, mob/_owner, ui_style, ui_color, ui_alpha) diff --git a/mods/content/psionics/system/psionics/interface/ui_hub.dm b/mods/content/psionics/system/psionics/interface/ui_hub.dm index 260b5cc08e7..b9ff65b98d2 100644 --- a/mods/content/psionics/system/psionics/interface/ui_hub.dm +++ b/mods/content/psionics/system/psionics/interface/ui_hub.dm @@ -12,8 +12,8 @@ . = ..() on_cooldown = image(icon, "cooldown") components = list( - new /obj/screen/psi/armour(null, owner), - new /obj/screen/psi/toggle_psi_menu(null, owner, null, null, null, src) + new /obj/screen/psi/armour(null, _owner), + new /obj/screen/psi/toggle_psi_menu(null, _owner, null, null, null, src) ) START_PROCESSING(SSprocessing, src) diff --git a/mods/content/psionics/system/psionics/interface/ui_toggles.dm b/mods/content/psionics/system/psionics/interface/ui_toggles.dm index aa7f30d6b6a..62bba0cf9d9 100644 --- a/mods/content/psionics/system/psionics/interface/ui_toggles.dm +++ b/mods/content/psionics/system/psionics/interface/ui_toggles.dm @@ -5,7 +5,8 @@ /obj/screen/psi/armour/on_update_icon() ..() - if(invisibility == 0) + var/mob/living/owner = owner_ref.resolve() + if(istype(owner) && invisibility == 0) icon_state = owner?.psi.use_psi_armour ? "psiarmour_on" : "psiarmour_off" /obj/screen/psi/armour/handle_click(mob/user, params) diff --git a/mods/content/xenobiology/colours/colour_yellow.dm b/mods/content/xenobiology/colours/colour_yellow.dm index 69b14cf8615..e19a5477099 100644 --- a/mods/content/xenobiology/colours/colour_yellow.dm +++ b/mods/content/xenobiology/colours/colour_yellow.dm @@ -17,7 +17,7 @@ /decl/slime_colour/yellow/Initialize() . = ..() - LAZYSET(reaction_procs, /decl/material/liquid/water, /decl/slime_colour/yellow/proc/try_water_reaction) + LAZYSET(reaction_procs, /decl/material/liquid/water, TYPE_PROC_REF(/decl/slime_colour/yellow, try_water_reaction)) /decl/slime_colour/yellow/handle_blood_reaction(var/datum/reagents/holder) var/location = get_turf(holder.get_reaction_loc()) diff --git a/mods/content/xenobiology/food.dm b/mods/content/xenobiology/food.dm index 27933822fb8..03240b71d78 100644 --- a/mods/content/xenobiology/food.dm +++ b/mods/content/xenobiology/food.dm @@ -65,7 +65,7 @@ desc = "You jelly?" icon_state = "jdonut1" filling_color = "#ed1169" - center_of_mass = @"{'x':16,'y':11}" + center_of_mass = @'{"x":16,"y":11}' nutriment_amt = 3 bitesize = 5 donut_state = "jdonut" diff --git a/mods/content/xenobiology/slime/_slime.dm b/mods/content/xenobiology/slime/_slime.dm index c657146d6eb..47c66c23309 100644 --- a/mods/content/xenobiology/slime/_slime.dm +++ b/mods/content/xenobiology/slime/_slime.dm @@ -1,3 +1,7 @@ +/decl/config/num/movement_slime + uid = "slime_delay" + desc = "Movement delay for slimes." + #define FEED_RESULT_INVALID -1 #define FEED_RESULT_DEAD 0 #define FEED_RESULT_VALID 1 @@ -104,7 +108,7 @@ if(current_health <= 0) // if damaged, the slime moves twice as slow tally *= 2 - return tally + config.slime_delay + return tally + get_config_value(/decl/config/num/movement_slime) /mob/living/slime/Bump(atom/movable/AM, yes) if ((!(yes) || now_pushing)) @@ -291,7 +295,7 @@ return FALSE /mob/living/slime/check_has_mouth() - return 0 + return FALSE /mob/living/slime/set_nutrition(amt) ..() diff --git a/mods/content/xenobiology/slime/feeding.dm b/mods/content/xenobiology/slime/feeding.dm index 91c90dc1d41..5fb8c6d1cdb 100644 --- a/mods/content/xenobiology/slime/feeding.dm +++ b/mods/content/xenobiology/slime/feeding.dm @@ -52,9 +52,9 @@ feeding_on = null if(victim) feeding_on = weakref(victim) - events_repository.register(/decl/observ/moved, src, src, /mob/living/slime/proc/check_feed_target_position) - events_repository.register(/decl/observ/moved, victim, src, /mob/living/slime/proc/check_feed_target_position) - events_repository.register(/decl/observ/destroyed, victim, src, /mob/living/slime/proc/check_feed_target_position) + events_repository.register(/decl/observ/moved, src, src, TYPE_PROC_REF(/mob/living/slime, check_feed_target_position)) + events_repository.register(/decl/observ/moved, victim, src, TYPE_PROC_REF(/mob/living/slime, check_feed_target_position)) + events_repository.register(/decl/observ/destroyed, victim, src, TYPE_PROC_REF(/mob/living/slime, check_feed_target_position)) var/datum/ai/slime/slime_ai = ai if(istype(slime_ai)) slime_ai.update_mood() diff --git a/mods/content/xenobiology/slime/items.dm b/mods/content/xenobiology/slime/items.dm index 3fa5d3d7892..872aaa57e99 100644 --- a/mods/content/xenobiology/slime/items.dm +++ b/mods/content/xenobiology/slime/items.dm @@ -8,7 +8,7 @@ throwforce = 0 throw_speed = 3 throw_range = 6 - origin_tech = "{'biotech':4}" + origin_tech = @'{"biotech":4}' atom_flags = ATOM_FLAG_OPEN_CONTAINER material = /decl/material/liquid/slimejelly var/slime_type = /decl/slime_colour/grey diff --git a/mods/content/xenobiology/slime/items_cell.dm b/mods/content/xenobiology/slime/items_cell.dm index f244b37d53a..417af572337 100644 --- a/mods/content/xenobiology/slime/items_cell.dm +++ b/mods/content/xenobiology/slime/items_cell.dm @@ -1,7 +1,7 @@ /obj/item/cell/slime name = "charged slime core" desc = "A yellow slime core that crackles with power." - origin_tech = "{'powerstorage':2,'biotech':4}" + origin_tech = @'{"powerstorage":2,"biotech":4}' icon = 'mods/content/xenobiology/icons/slimes/slime_extract_yellow.dmi' icon_state = ICON_STATE_WORLD maxcharge = 200 diff --git a/mods/content/xenobiology/slime/life.dm b/mods/content/xenobiology/slime/life.dm index 1e4c2b46f32..86af051b3e8 100644 --- a/mods/content/xenobiology/slime/life.dm +++ b/mods/content/xenobiology/slime/life.dm @@ -1,49 +1,17 @@ -/mob/living/slime/Life() +/mob/living/slime/handle_environment(datum/gas_mixture/environment) . = ..() - if(. && stat != DEAD) - handle_turf_contents() - handle_local_conditions() - if(feeding_on) - slime_feed() - ingested.metabolize() -/mob/living/slime/fluid_act(datum/reagents/fluids) - . = ..() - if(!QDELETED(src) && fluids?.total_volume >= FLUID_SHALLOW && stat == DEAD) - var/turf/T = get_turf(src) - if(T) - T.add_fluid(/decl/material/liquid/slimejelly, (is_adult ? rand(30, 40) : rand(10, 30))) - visible_message(SPAN_DANGER("\The [src] melts away...")) // Slimes are water soluble. - qdel(src) - -/mob/living/slime/proc/handle_local_conditions() - var/datum/gas_mixture/environment = loc?.return_air() - adjust_body_temperature(bodytemperature, (environment?.temperature || T0C), 1) + if(environment) + var/delta = abs(bodytemperature - environment.temperature) + var/change = (delta / (delta > 50 ? 5 : 10)) + if(bodytemperature > environment.temperature) + change = -(change) + bodytemperature += (min(environment.temperature, bodytemperature + change) - bodytemperature) if(bodytemperature <= die_temperature) adjustToxLoss(200) - death() else if(bodytemperature <= hurt_temperature) adjustToxLoss(30) -/mob/living/slime/proc/adjust_body_temperature(current, loc_temp, boost) - var/delta = abs(current-loc_temp) - var/change = (delta / (delta > 50 ? 5 : 10)) * boost - if(current > loc_temp) - change = -(change) - bodytemperature += (min(loc_temp, current + change) - current) - -/mob/living/slime/handle_regular_status_updates() - . = ..() - if(stat != DEAD) - set_stat(CONSCIOUS) - if(prob(30)) - adjustOxyLoss(-1, do_update_health = FALSE) - adjustToxLoss(-1, do_update_health = FALSE) - adjustFireLoss(-1, do_update_health = FALSE) - adjustCloneLoss(-1, do_update_health = FALSE) - adjustBruteLoss(-1) - -/mob/living/slime/proc/handle_turf_contents() // If we're standing on top of a dead mob or small items, we can // ingest it (or just melt it a little if we're too small) // Also helps to keep our cell tidy! @@ -74,13 +42,51 @@ if(length(contents) != last_contents_length) queue_icon_update() +/mob/living/slime/handle_nutrition_and_hydration() + . = ..() + if(feeding_on) + slime_feed() + ingested.metabolize() + +/mob/living/slime/fluid_act(datum/reagents/fluids) + . = ..() + if(!QDELETED(src) && fluids?.total_volume >= FLUID_SHALLOW && stat == DEAD) + var/turf/T = get_turf(src) + if(T) + T.add_fluid(/decl/material/liquid/slimejelly, (is_adult ? rand(30, 40) : rand(10, 30))) + visible_message(SPAN_DANGER("\The [src] melts away...")) // Slimes are water soluble. + qdel(src) + /mob/living/slime/get_hunger_factor() return (0.1 + 0.05 * is_adult) /mob/living/slime/get_thirst_factor() return 0 +/mob/living/slime/fluid_act(datum/reagents/fluids) + . = ..() + if(stat == DEAD) + var/obj/effect/fluid/F = locate() in loc + if(F && F.reagents?.total_volume >= FLUID_SHALLOW) + F.reagents.add_reagent(/decl/material/liquid/slimejelly, (is_adult ? rand(30, 40) : rand(10, 30))) + visible_message(SPAN_DANGER("\The [src] melts away...")) // Slimes are water soluble. + qdel(src) + +/mob/living/slime/handle_living_non_stasis_processes() + . = ..() + set_stat(CONSCIOUS) + if(prob(30)) + adjustOxyLoss(-1, do_update_health = FALSE) + adjustToxLoss(-1, do_update_health = FALSE) + adjustFireLoss(-1, do_update_health = FALSE) + adjustCloneLoss(-1, do_update_health = FALSE) + adjustBruteLoss(-1) + /mob/living/slime/handle_nutrition_and_hydration() + . = ..() + if(feeding_on) + slime_feed() + ingested.metabolize() // Digest whatever we've got floating around in our goop. if(length(contents)) @@ -127,6 +133,9 @@ ..() +/mob/living/slime/get_satiated_nutrition() // Can't go above it + . = is_adult ? 1150 : 950 + /mob/living/slime/get_max_nutrition() // Can't go above it . = is_adult ? 1200 : 1000 diff --git a/mods/mobs/borers/datum/antagonist.dm b/mods/mobs/borers/datum/antagonist.dm index 2d2c31a1645..b8b0c7feb4d 100644 --- a/mods/mobs/borers/datum/antagonist.dm +++ b/mods/mobs/borers/datum/antagonist.dm @@ -61,4 +61,4 @@ spawn_announcement_sound = global.using_map.lifesign_spawn_sound /decl/special_role/borer/attempt_random_spawn() - if(config.aliens_allowed) ..() + if(get_config_value(/decl/config/toggle/aliens_allowed)) ..() diff --git a/mods/mobs/borers/mob/borer/borer.dm b/mods/mobs/borers/mob/borer/borer.dm index dc3ff9d818b..64dcbde158d 100644 --- a/mods/mobs/borers/mob/borer/borer.dm +++ b/mods/mobs/borers/mob/borer/borer.dm @@ -48,7 +48,7 @@ var/mob/living/captive_brain/host_brain // Used for swapping control of the body back and forth. /obj/item/holder/borer - origin_tech = "{'biotech':6}" + origin_tech = @'{"biotech":6}' /mob/living/simple_animal/borer/roundstart roundstart = TRUE @@ -81,24 +81,24 @@ /mob/living/simple_animal/borer/proc/set_borer_name() truename = "[borer_names[min(generation, borer_names.len)]] [random_id("borer[generation]", 1000, 9999)]" -/mob/living/simple_animal/borer/Life() +/mob/living/simple_animal/borer/handle_vision() + . = ..() + set_status(STAT_BLIND, host ? GET_STATUS(host, STAT_BLIND) : 0) + set_status(STAT_BLURRY, host ? GET_STATUS(host, STAT_BLURRY) : 0) +/mob/living/simple_animal/borer/handle_disabilities() + . = ..() sdisabilities = 0 if(host) - set_status(STAT_BLIND, GET_STATUS(host, STAT_BLIND)) - set_status(STAT_BLURRY, GET_STATUS(host, STAT_BLURRY)) if(host.sdisabilities & BLINDED) sdisabilities |= BLINDED if(host.sdisabilities & DEAFENED) sdisabilities |= DEAFENED - else - set_status(STAT_BLIND, 0) - set_status(STAT_BLURRY, 0) +/mob/living/simple_animal/borer/handle_living_non_stasis_processes() . = ..() - if(!.) - return FALSE - + if(!. || !host || host.stat) + return if(host) if(!stat && !host.stat) @@ -117,27 +117,21 @@ else to_chat(src, SPAN_NOTICE("You shake off your lethargy as the sugar leaves your host's blood.")) docile = 0 - if(chemicals < 250 && host.nutrition >= (neutered ? 200 : 50)) host.nutrition-- chemicals++ - if(controlling) - if(neutered) host.release_control() return - if(docile) to_chat(host, SPAN_NOTICE("You are feeling far too docile to continue controlling your host...")) host.release_control() return - if(prob(5)) host.adjustBrainLoss(0.1) - - if(prob(host.getBrainLoss()/20)) - INVOKE_ASYNC(host, /mob/proc/say, "*[pick(list("blink","blink_r","choke","aflap","drool","twitch","twitch_v","gasp"))]") + if(prob(host.getBrainLoss()/20)) + INVOKE_ASYNC(host, TYPE_PROC_REF(/mob, say), "*[pick(list("blink","blink_r","choke","aflap","drool","twitch","twitch_v","gasp"))]") /mob/living/simple_animal/borer/Stat() . = ..() @@ -209,7 +203,7 @@ if(istype(borer_hud)) for(var/obj/thing in borer_hud.borer_hud_elements) thing.color = COLOR_BORER_RED - addtimer(CALLBACK(src, /mob/living/simple_animal/borer/proc/reset_ui_callback), amt) + addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/borer, reset_ui_callback)), amt) #undef COLOR_BORER_RED /mob/living/simple_animal/borer/proc/leave_host() diff --git a/mods/mobs/dionaea/items/roast.dm b/mods/mobs/dionaea/items/roast.dm index 3df2242a39a..793bfe223bb 100644 --- a/mods/mobs/dionaea/items/roast.dm +++ b/mods/mobs/dionaea/items/roast.dm @@ -4,7 +4,7 @@ icon_state = "dionaroast" trash = /obj/item/trash/plate filling_color = "#75754b" - center_of_mass = @"{'x':16,'y':7}" + center_of_mass = @'{"x":16,"y":7}' nutriment_desc = list("a chorus of flavor" = 6) nutriment_amt = 6 bitesize = 2 diff --git a/mods/mobs/dionaea/mob/nymph_holder.dm b/mods/mobs/dionaea/mob/nymph_holder.dm index 0ac27fa04c0..1a06eb0d14b 100644 --- a/mods/mobs/dionaea/mob/nymph_holder.dm +++ b/mods/mobs/dionaea/mob/nymph_holder.dm @@ -1,5 +1,5 @@ /obj/item/holder/diona - origin_tech = "{'magnets':3,'biotech':5}" + origin_tech = @'{"magnets":3,"biotech":5}' slot_flags = SLOT_HEAD | SLOT_OVER_BODY | SLOT_HOLSTER armor = list( ARMOR_BIO = ARMOR_BIO_RESISTANT, diff --git a/mods/species/ascent/effects/razorweb.dm b/mods/species/ascent/effects/razorweb.dm index 4212504c734..0908b3f816d 100644 --- a/mods/species/ascent/effects/razorweb.dm +++ b/mods/species/ascent/effects/razorweb.dm @@ -57,7 +57,7 @@ return INITIALIZE_HINT_QDEL if(decays) - addtimer(CALLBACK(src, /obj/effect/razorweb/proc/decay), 15 MINUTES) + addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/effect/razorweb, decay)), 15 MINUTES) web = image(icon = icon, icon_state = "razorweb") gleam = emissive_overlay(icon = icon, icon_state = "razorweb-gleam") diff --git a/mods/species/ascent/machines/fabricator.dm b/mods/species/ascent/machines/fabricator.dm index 61e77d244b2..917180f0848 100644 --- a/mods/species/ascent/machines/fabricator.dm +++ b/mods/species/ascent/machines/fabricator.dm @@ -13,7 +13,7 @@ name = "circuitboard (ascent nanofabricator)" build_path = /obj/machinery/fabricator/ascent board_type = "machine" - origin_tech = "{'engineering':2,'programming':2}" + origin_tech = @'{"engineering":2,"programming":2}' req_components = list( /obj/item/stock_parts/matter_bin = 3, /obj/item/stock_parts/manipulator = 1) diff --git a/mods/species/ascent/machines/magnetotron.dm b/mods/species/ascent/machines/magnetotron.dm index 8c49a67d233..dc12dbb0ac6 100644 --- a/mods/species/ascent/machines/magnetotron.dm +++ b/mods/species/ascent/machines/magnetotron.dm @@ -66,7 +66,7 @@ name = "circuitboard (Ascent magnetotron)" build_path = /obj/machinery/ascent_magnetotron board_type = "machine" - origin_tech = "{'engineering':2,'magnets':4}" + origin_tech = @'{"engineering":2,"magnets":4}' req_components = list( /obj/item/stock_parts/matter_bin = 3, /obj/item/stock_parts/manipulator = 1 diff --git a/mods/species/ascent/mobs/bodyparts.dm b/mods/species/ascent/mobs/bodyparts.dm index 28a05afbeca..3b04f648e38 100644 --- a/mods/species/ascent/mobs/bodyparts.dm +++ b/mods/species/ascent/mobs/bodyparts.dm @@ -42,7 +42,7 @@ owner.visible_message(SPAN_WARNING("\The [owner] separates their jaws and begins to weave a web of crystalline filaments...")) cooldown = TRUE refresh_action_button() - addtimer(CALLBACK(src, .proc/reset_cooldown), web_weave_time) + addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), web_weave_time) if(do_after(owner, web_weave_time) && length(existing_webs) < max_webs) playsound(user, 'mods/species/ascent/sounds/razorweb.ogg', 70, 0) owner.visible_message(SPAN_DANGER("\The [owner] completes a razorweb!")) @@ -81,7 +81,7 @@ owner.throw_mode_on() cooldown = TRUE refresh_action_button() - addtimer(CALLBACK(src, .proc/reset_cooldown), cooldown_time) + addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), cooldown_time) else qdel(web) diff --git a/mods/species/ascent/mobs/insectoid_egg.dm b/mods/species/ascent/mobs/insectoid_egg.dm index 71fc85fb137..6076c3dff4b 100644 --- a/mods/species/ascent/mobs/insectoid_egg.dm +++ b/mods/species/ascent/mobs/insectoid_egg.dm @@ -102,7 +102,7 @@ var/global/default_gyne hatching = TRUE update_icon() visible_message(SPAN_NOTICE("\icon[src] \The [src] trembles and cracks as it begins to hatch.")) - addtimer(CALLBACK(src, .proc/finish_hatching), 2.5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(finish_hatching)), 2.5 SECONDS) /obj/structure/insectoid_egg/proc/finish_hatching() diff --git a/mods/species/ascent/mobs/nymph/nymph_holder.dm b/mods/species/ascent/mobs/nymph/nymph_holder.dm index 4dbbc36a85a..ec430c06f8e 100644 --- a/mods/species/ascent/mobs/nymph/nymph_holder.dm +++ b/mods/species/ascent/mobs/nymph/nymph_holder.dm @@ -1,5 +1,5 @@ /obj/item/holder/ascent_nymph - origin_tech = "{'magnets':3,'biotech':5}" + origin_tech = @'{"magnets":3,"biotech":5}' slot_flags = SLOT_HEAD | SLOT_OVER_BODY | SLOT_HOLSTER armor = list( ARMOR_BIO = ARMOR_BIO_RESISTANT diff --git a/mods/species/ascent/mobs/nymph/nymph_life.dm b/mods/species/ascent/mobs/nymph/nymph_life.dm index 3eba226e5b5..cd1a17f31af 100644 --- a/mods/species/ascent/mobs/nymph/nymph_life.dm +++ b/mods/species/ascent/mobs/nymph/nymph_life.dm @@ -1,9 +1,28 @@ -/mob/living/carbon/alien/ascent_nymph/Life() +/mob/living/carbon/alien/ascent_nymph/handle_regular_hud_updates() . = ..() - if(stat == DEAD) + if(!.) return + var/datum/hud/ascent_nymph/nymph_hud = hud_used + if(!istype(nymph_hud)) + return + if(nymph_hud.food) + switch(nutrition) + if(450 to INFINITY) nymph_hud.food.icon_state = "nutrition0" + if(350 to 450) nymph_hud.food.icon_state = "nutrition1" + if(250 to 350) nymph_hud.food.icon_state = "nutrition2" + if(150 to 250) nymph_hud.food.icon_state = "nutrition3" + else nymph_hud.food.icon_state = "nutrition4" + if(nymph_hud.drink) + switch(hydration) + if(450 to INFINITY) nymph_hud.drink.icon_state = "hydration0" + if(350 to 450) nymph_hud.drink.icon_state = "hydration1" + if(250 to 350) nymph_hud.drink.icon_state = "hydration2" + if(150 to 250) nymph_hud.drink.icon_state = "hydration3" + else nymph_hud.drink.icon_state = "hydration4" +/mob/living/carbon/alien/ascent_nymph/handle_nutrition_and_hydration() + . = ..() // Generate some crystals over time. if(nutrition >= 300 && crystal_reserve < ANYMPH_MAX_CRYSTALS) crystal_reserve = min(ANYMPH_MAX_CRYSTALS, crystal_reserve + 15) @@ -16,32 +35,9 @@ adjust_nutrition(DEFAULT_HUNGER_FACTOR * -2) else adjust_nutrition(DEFAULT_HUNGER_FACTOR * -1) - if(hydration > 0) adjust_hydration(DEFAULT_THIRST_FACTOR * -1) - update_nymph_hud() - -/mob/living/carbon/alien/ascent_nymph/proc/update_nymph_hud() - // Update the HUD. - var/datum/hud/ascent_nymph/nymph_hud = hud_used - if(istype(nymph_hud)) - if(nymph_hud.food) - switch(nutrition) - if(450 to INFINITY) nymph_hud.food.icon_state = "nutrition0" - if(350 to 450) nymph_hud.food.icon_state = "nutrition1" - if(250 to 350) nymph_hud.food.icon_state = "nutrition2" - if(150 to 250) nymph_hud.food.icon_state = "nutrition3" - else nymph_hud.food.icon_state = "nutrition4" - - if(nymph_hud.drink) - switch(hydration) - if(450 to INFINITY) nymph_hud.drink.icon_state = "hydration0" - if(350 to 450) nymph_hud.drink.icon_state = "hydration1" - if(250 to 350) nymph_hud.drink.icon_state = "hydration2" - if(150 to 250) nymph_hud.drink.icon_state = "hydration3" - else nymph_hud.drink.icon_state = "hydration4" - /mob/living/carbon/alien/ascent_nymph/Stat() . = ..() if(client && statpanel("Status")) diff --git a/mods/species/bayliens/adherent/_adherent.dm b/mods/species/bayliens/adherent/_adherent.dm index 23d88d9ad20..a5b9572567d 100644 --- a/mods/species/bayliens/adherent/_adherent.dm +++ b/mods/species/bayliens/adherent/_adherent.dm @@ -6,5 +6,6 @@ #define BP_JETS "maneuvering jets" #define BP_COOLING_FINS "cooling fins" -/mob/living/carbon/human/adherent/Initialize() - . = ..(species_name = SPECIES_ADHERENT) \ No newline at end of file +/mob/living/carbon/human/adherent/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) + species_name = SPECIES_ADHERENT + . = ..() \ No newline at end of file diff --git a/mods/species/bayliens/adherent/organs/organs_internal.dm b/mods/species/bayliens/adherent/organs/organs_internal.dm index 9c2dea69181..5f7bbe5eddd 100644 --- a/mods/species/bayliens/adherent/organs/organs_internal.dm +++ b/mods/species/bayliens/adherent/organs/organs_internal.dm @@ -120,7 +120,7 @@ /obj/item/organ/internal/eyes/adherent/Initialize() . = ..() - verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color + verbs |= /obj/item/organ/internal/eyes/proc/change_eye_color_verb /obj/item/organ/internal/cell/adherent name = "piezoelectric core" diff --git a/mods/species/bayliens/skrell/_skrell.dm b/mods/species/bayliens/skrell/_skrell.dm index 9b9ff3ce427..a1fc8f067ff 100644 --- a/mods/species/bayliens/skrell/_skrell.dm +++ b/mods/species/bayliens/skrell/_skrell.dm @@ -1,5 +1,6 @@ #define SPECIES_SKRELL "Skrell" #define BODYTYPE_SKRELL "skrellian body" -/mob/living/carbon/human/skrell/Initialize() - . = ..(species_name = SPECIES_SKRELL) \ No newline at end of file +/mob/living/carbon/human/skrell/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) + species_name = SPECIES_SKRELL + . = ..() \ No newline at end of file diff --git a/mods/species/bayliens/skrell/datum/species.dm b/mods/species/bayliens/skrell/datum/species.dm index 807e5e7d9ac..9885bf6b98d 100644 --- a/mods/species/bayliens/skrell/datum/species.dm +++ b/mods/species/bayliens/skrell/datum/species.dm @@ -123,10 +123,10 @@ bloodDNA = list(blood_data["blood_DNA"] = blood_data["blood_type"]) else bloodDNA = list() - T.AddTracks(/obj/effect/decal/cleanable/blood/tracks/footprints/skrellprints, bloodDNA, H.dir, 0, H.skin_colour + "25") // Coming (8c is the alpha value) + T.AddTracks(/obj/effect/decal/cleanable/blood/tracks/footprints/skrellprints, bloodDNA, H.dir, 0, H.get_skin_colour() + "25") // Coming (8c is the alpha value) if(istype(old_loc, /turf/simulated)) var/turf/simulated/old_turf = old_loc - old_turf.AddTracks(/obj/effect/decal/cleanable/blood/tracks/footprints/skrellprints, bloodDNA, 0, H.dir, H.skin_colour + "25") // Going (8c is the alpha value) + old_turf.AddTracks(/obj/effect/decal/cleanable/blood/tracks/footprints/skrellprints, bloodDNA, 0, H.dir, H.get_skin_colour() + "25") // Going (8c is the alpha value) /decl/species/skrell/check_background() return TRUE diff --git a/mods/species/bayliens/skrell/icons/body/hair.dmi b/mods/species/bayliens/skrell/icons/body/hair.dmi index f3d3cf7574e..9dad6dda88a 100644 Binary files a/mods/species/bayliens/skrell/icons/body/hair.dmi and b/mods/species/bayliens/skrell/icons/body/hair.dmi differ diff --git a/mods/species/bayliens/tajaran/_tajaran.dm b/mods/species/bayliens/tajaran/_tajaran.dm index 37580ae4404..78e6c821d4b 100644 --- a/mods/species/bayliens/tajaran/_tajaran.dm +++ b/mods/species/bayliens/tajaran/_tajaran.dm @@ -8,5 +8,5 @@ if(bodytype_equip_flags & BODY_FLAG_EXCLUDE) bodytype_equip_flags |= BODY_FLAG_FELINE -/mob/living/carbon/human/tajaran/Initialize() +/mob/living/carbon/human/tajaran/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) . = ..(species_name = SPECIES_TAJARA) diff --git a/mods/species/bayliens/tajaran/datum/accessory.dm b/mods/species/bayliens/tajaran/datum/accessory.dm index b85b331ddbc..d9f0ab3d3f6 100644 --- a/mods/species/bayliens/tajaran/datum/accessory.dm +++ b/mods/species/bayliens/tajaran/datum/accessory.dm @@ -4,7 +4,7 @@ icon_state = "hair_rattail" species_allowed = list(SPECIES_TAJARA) icon = 'mods/species/bayliens/tajaran/icons/hair.dmi' - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_hair_taj_rattail" /decl/sprite_accessory/hair/taj/straight @@ -132,7 +132,7 @@ icon_state = "facial_sideburns" species_allowed = list(SPECIES_TAJARA) icon = 'mods/species/bayliens/tajaran/icons/facial.dmi' - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_fhair_taj_sideburns" /decl/sprite_accessory/facial_hair/taj/mutton @@ -166,7 +166,7 @@ icon = 'mods/species/bayliens/tajaran/icons/markings.dmi' species_allowed = list(SPECIES_TAJARA) body_parts = list(BP_HEAD) - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_marking_taj_nose" /decl/sprite_accessory/marking/tajaran/ears diff --git a/mods/species/bayliens/tajaran/datum/species.dm b/mods/species/bayliens/tajaran/datum/species.dm index 3a45429e835..5d78d437ebf 100644 --- a/mods/species/bayliens/tajaran/datum/species.dm +++ b/mods/species/bayliens/tajaran/datum/species.dm @@ -82,4 +82,4 @@ autohiss_exempt = list(LANGUAGE_TAJARA) /decl/species/tajaran/handle_additional_hair_loss(var/mob/living/carbon/human/H, var/defer_body_update = TRUE) - . = H && H.change_skin_color(rgb(189, 171, 143)) + . = H?.set_skin_colour(rgb(189, 171, 143)) diff --git a/mods/species/bayliens/tajaran/icons/facial.dmi b/mods/species/bayliens/tajaran/icons/facial.dmi index 40fc99054b3..befd9dc68b4 100644 Binary files a/mods/species/bayliens/tajaran/icons/facial.dmi and b/mods/species/bayliens/tajaran/icons/facial.dmi differ diff --git a/mods/species/bayliens/tajaran/icons/hair.dmi b/mods/species/bayliens/tajaran/icons/hair.dmi index 240dbf58064..88380247713 100644 Binary files a/mods/species/bayliens/tajaran/icons/hair.dmi and b/mods/species/bayliens/tajaran/icons/hair.dmi differ diff --git a/mods/species/bayliens/unathi/_lizard.dm b/mods/species/bayliens/unathi/_lizard.dm index e3b372fed07..fdbd758e8af 100644 --- a/mods/species/bayliens/unathi/_lizard.dm +++ b/mods/species/bayliens/unathi/_lizard.dm @@ -1,5 +1,6 @@ #define SPECIES_LIZARD "Unathi" #define LANGUAGE_LIZARD "Sinta'unathi" -/mob/living/carbon/human/lizard/Initialize() - . = ..(species_name = SPECIES_LIZARD) +/mob/living/carbon/human/lizard/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) + species_name = SPECIES_LIZARD + . = ..() diff --git a/mods/species/bayliens/unathi/datum/sprite_accessory.dm b/mods/species/bayliens/unathi/datum/sprite_accessory.dm index 4c90af7d4f8..f8a71288a66 100644 --- a/mods/species/bayliens/unathi/datum/sprite_accessory.dm +++ b/mods/species/bayliens/unathi/datum/sprite_accessory.dm @@ -3,7 +3,7 @@ icon = 'mods/species/bayliens/unathi/icons/hair.dmi' icon_state = "horns" species_allowed = list(SPECIES_LIZARD) - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY flags = VERY_SHORT uid = "acc_hair_una_horns" @@ -90,10 +90,10 @@ // FACIAL /decl/sprite_accessory/facial_hair/lizard name = "Lizard Horn Chin" - icon = 'mods/species/bayliens/unathi/icons/facial_hair.dmi' + icon = 'mods/species/bayliens/unathi/icons/facial.dmi' icon_state = "facial_chinhorns" species_allowed = list(SPECIES_LIZARD) - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_fhair_una_chinhorns" /decl/sprite_accessory/facial_hair/lizard/hornadorns diff --git a/mods/species/bayliens/unathi/icons/facial_hair.dmi b/mods/species/bayliens/unathi/icons/facial.dmi similarity index 62% rename from mods/species/bayliens/unathi/icons/facial_hair.dmi rename to mods/species/bayliens/unathi/icons/facial.dmi index b992eb874f3..11ac6ca7926 100644 Binary files a/mods/species/bayliens/unathi/icons/facial_hair.dmi and b/mods/species/bayliens/unathi/icons/facial.dmi differ diff --git a/mods/species/bayliens/unathi/icons/hair.dmi b/mods/species/bayliens/unathi/icons/hair.dmi index 6eac2a1c305..5422f582410 100644 Binary files a/mods/species/bayliens/unathi/icons/hair.dmi and b/mods/species/bayliens/unathi/icons/hair.dmi differ diff --git a/mods/species/neoavians/datum/accessory.dm b/mods/species/neoavians/datum/accessory.dm index 7ae58e8078d..1ee748abae7 100644 --- a/mods/species/neoavians/datum/accessory.dm +++ b/mods/species/neoavians/datum/accessory.dm @@ -4,7 +4,7 @@ icon_state = "avian_default" icon = 'mods/species/neoavians/icons/hair.dmi' species_allowed = list(SPECIES_AVIAN) - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_hair_avian_plumage" /decl/sprite_accessory/hair/avian/mohawk @@ -45,7 +45,7 @@ /decl/sprite_accessory/hair/avian/alt name = "Avian Plumage Alt" icon_state = "avian_default_alt" - blend = ICON_ADD + color_blend = ICON_ADD uid = "acc_hair_avian_plumage_alt" /decl/sprite_accessory/hair/avian/alt/ears @@ -120,7 +120,7 @@ body_parts = list(BP_HEAD) icon = 'mods/species/neoavians/icons/markings.dmi' species_allowed = list(SPECIES_AVIAN) - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_marking_avian_beak" /decl/sprite_accessory/marking/avian/avian @@ -142,23 +142,23 @@ /decl/sprite_accessory/marking/avian/additive name = "Beak, Additive (Head)" icon_state = "beak-add" - blend = ICON_ADD + color_blend = ICON_ADD uid = "acc_marking_avian_beak_alt" /decl/sprite_accessory/marking/avian/resomi name = "Raptor Ears, Additive (Head)" icon_state = "ears-add" - blend = ICON_ADD + color_blend = ICON_ADD uid = "acc_marking_avian_raptorears_alt" /decl/sprite_accessory/marking/avian/wing_feathers/additive name = "Wing Feathers, Additive (Left)" icon_state = "wing_feathers-add" - blend = ICON_ADD + color_blend = ICON_ADD uid = "acc_marking_avian_wingfeathers_left_alt" /decl/sprite_accessory/marking/avian/wing_feathers/right/additive name = "Wing Feathers, Additive (Right)" icon_state = "wing_feathers-add" - blend = ICON_ADD + color_blend = ICON_ADD uid = "acc_marking_avian_wingfeathers_right_alt" diff --git a/mods/species/neoavians/datum/species.dm b/mods/species/neoavians/datum/species.dm index 5c474d1da45..da30605c503 100644 --- a/mods/species/neoavians/datum/species.dm +++ b/mods/species/neoavians/datum/species.dm @@ -66,7 +66,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/shoes/avian, slot_shoes_str) /decl/species/neoavian/get_holder_color(var/mob/living/carbon/human/H) - return H.skin_colour + return H.get_skin_colour() /decl/hierarchy/outfit/job/generic/assistant/avian name = "Job - Avian Assistant" diff --git a/mods/species/neoavians/icons/hair.dmi b/mods/species/neoavians/icons/hair.dmi index e213c5561e5..df5a5f7010a 100644 Binary files a/mods/species/neoavians/icons/hair.dmi and b/mods/species/neoavians/icons/hair.dmi differ diff --git a/mods/species/serpentid/mobs/bodyparts_serpentid.dm b/mods/species/serpentid/mobs/bodyparts_serpentid.dm index 40c4b1c7eab..26b976e41ab 100644 --- a/mods/species/serpentid/mobs/bodyparts_serpentid.dm +++ b/mods/species/serpentid/mobs/bodyparts_serpentid.dm @@ -7,16 +7,6 @@ /obj/item/organ/internal/eyes/insectoid/serpentid/get_innate_flash_protection() return override_flash_protection -/obj/item/organ/internal/eyes/insectoid/serpentid/get_special_overlay() - var/icon/I = get_onhead_icon() - if(I) - var/image/eye_overlay = image(I) - if(owner && owner.is_cloaked()) - eye_overlay.alpha = 100 - if(eyes_shielded) - eye_overlay.color = "#aaaaaa" - return eye_overlay - /obj/item/organ/internal/eyes/insectoid/serpentid/additional_flash_effects(var/intensity) if(!eyes_shielded) take_internal_damage(max(0, 4 * (intensity))) @@ -42,7 +32,7 @@ else to_chat(owner, "Your protective lenses retract out of the way.") override_flash_protection = FLASH_PROTECTION_VULNERABLE - addtimer(CALLBACK(src, .proc/remove_shield), 1 SECONDS) + addtimer(CALLBACK(src, PROC_REF(remove_shield)), 1 SECONDS) owner.update_icon() refresh_action_button() @@ -158,18 +148,26 @@ playsound(owner.loc, 'sound/effects/angrybug.ogg', 60, 0) owner.skin_state = SKIN_THREAT owner.update_skin() - addtimer(CALLBACK(owner, /mob/living/carbon/human/proc/reset_skin), 10 SECONDS, TIMER_UNIQUE) + addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living/carbon/human, reset_skin)), 10 SECONDS, TIMER_UNIQUE) else if(owner.skin_state == SKIN_THREAT) owner.reset_skin() /obj/item/organ/external/head/insectoid/serpentid name = "head" -/obj/item/organ/external/head/insectoid/serpentid/get_eye_overlay() - // todo: maybe this should use its own bodytype instead of mob root bodytype? - var/obj/item/organ/internal/eyes/eyes = owner.get_organ((owner.get_bodytype()?.vision_organ || BP_EYES), /obj/item/organ/internal/eyes) - if(eyes) - return eyes.get_special_overlay() +/obj/item/organ/external/head/insectoid/serpentid/get_organ_eyes_overlay() + var/obj/item/organ/internal/eyes/eyes = get_eyes_organ() + var/icon/eyes_icon = eyes?.get_onhead_icon() + if(!eyes_icon) + return + var/image/eye_overlay = image(eyes_icon) + if(owner && owner.is_cloaked()) + eye_overlay.alpha = 100 + if(istype(eyes, /obj/item/organ/internal/eyes/insectoid/serpentid)) + var/obj/item/organ/internal/eyes/insectoid/serpentid/snake_eyes = eyes + if(snake_eyes.eyes_shielded) + eye_overlay.color = "#aaaaaa" + return eye_overlay /obj/item/organ/external/groin/insectoid/serpentid name = "abdomen" diff --git a/mods/species/utility_frames/markings.dm b/mods/species/utility_frames/markings.dm index 24b8a68b72d..ade0c186443 100644 --- a/mods/species/utility_frames/markings.dm +++ b/mods/species/utility_frames/markings.dm @@ -4,7 +4,7 @@ body_parts = list(BP_CHEST) species_allowed = list(SPECIES_FRAME) icon = 'mods/species/utility_frames/icons/markings.dmi' - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_marking_frame_stripe" /decl/sprite_accessory/marking/frame/head_stripe diff --git a/mods/species/vox/_vox.dm b/mods/species/vox/_vox.dm index a36a5e9951b..9562251d79d 100644 --- a/mods/species/vox/_vox.dm +++ b/mods/species/vox/_vox.dm @@ -10,10 +10,11 @@ credits_crew_names = list("THE VOX") credits_topics = list("VOX RITUAL DUELS", "NECK MARKINGS", "ANCIENT SUPERCOMPUTERS") -/mob/living/carbon/human/vox/Initialize() - h_style = /decl/sprite_accessory/hair/vox/short - hair_colour = COLOR_BEASTY_BROWN - . = ..(species_name = SPECIES_VOX) +/mob/living/carbon/human/vox/Initialize(mapload, species_name, datum/dna/new_dna, decl/bodytype/new_bodytype) + set_hairstyle(/decl/sprite_accessory/hair/vox/short, skip_update = TRUE) + set_hair_colour(COLOR_BEASTY_BROWN, skip_update = TRUE) + species_name = SPECIES_VOX + . = ..() /datum/follow_holder/voxstack sort_order = 14 diff --git a/mods/species/vox/datum/accessories.dm b/mods/species/vox/datum/accessories.dm index b8fb567bbf6..5213b4d8612 100644 --- a/mods/species/vox/datum/accessories.dm +++ b/mods/species/vox/datum/accessories.dm @@ -70,7 +70,7 @@ body_flags_allowed = BODY_FLAG_VOX bodytype_categories_allowed = list(BODYTYPE_VOX) icon = 'mods/species/vox/icons/body/soldier/markings.dmi' - blend = ICON_MULTIPLY + color_blend = ICON_MULTIPLY uid = "acc_markings_vox_neck" /decl/sprite_accessory/marking/vox/claws diff --git a/mods/species/vox/datum/antagonism.dm b/mods/species/vox/datum/antagonism.dm index e47ceef5b64..cc21ad6ea57 100644 --- a/mods/species/vox/datum/antagonism.dm +++ b/mods/species/vox/datum/antagonism.dm @@ -49,7 +49,7 @@ if(user.mind) user.mind.transfer_to(vox) qdel(user) - addtimer(CALLBACK(src, .proc/do_post_voxifying, vox), 1) + addtimer(CALLBACK(src, PROC_REF(do_post_voxifying), vox), 1) /obj/structure/mirror/raider/proc/do_post_voxifying(var/mob/living/carbon/human/vox) var/newname = sanitize_safe(input(vox,"Enter a name, or leave blank for the default name.", "Name change","") as text, MAX_NAME_LEN) diff --git a/mods/species/vox/datum/species_bodytypes.dm b/mods/species/vox/datum/species_bodytypes.dm index dec7118615d..ae83e547319 100644 --- a/mods/species/vox/datum/species_bodytypes.dm +++ b/mods/species/vox/datum/species_bodytypes.dm @@ -1,20 +1,20 @@ /decl/bodytype/vox - name = "soldier voxform" + name = "soldier voxform" bodytype_category = BODYTYPE_VOX - icon_base = 'mods/species/vox/icons/body/soldier/body.dmi' - icon_deformed = 'mods/species/vox/icons/body/deformed_body.dmi' - husk_icon = 'mods/species/vox/icons/body/husk.dmi' - blood_overlays = 'mods/species/vox/icons/body/blood_overlays.dmi' - eye_icon = 'mods/species/vox/icons/body/soldier/eyes.dmi' - bodytype_flag = BODY_FLAG_VOX - limb_blend = ICON_MULTIPLY - eye_blend = ICON_MULTIPLY - appearance_flags = HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_SKIN_COLOR - base_hair_color = "#160900" - base_eye_color = "#d60093" - base_color = "#526d29" - body_flags = BODY_FLAG_NO_DNA - default_h_style = /decl/sprite_accessory/hair/vox/short + icon_base = 'mods/species/vox/icons/body/soldier/body.dmi' + icon_deformed = 'mods/species/vox/icons/body/deformed_body.dmi' + husk_icon = 'mods/species/vox/icons/body/husk.dmi' + blood_overlays = 'mods/species/vox/icons/body/blood_overlays.dmi' + eye_icon = 'mods/species/vox/icons/body/soldier/eyes.dmi' + bodytype_flag = BODY_FLAG_VOX + limb_blend = ICON_MULTIPLY + eye_blend = ICON_MULTIPLY + appearance_flags = HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_SKIN_COLOR + base_hair_color = "#160900" + base_eye_color = "#d60093" + base_color = "#526d29" + body_flags = BODY_FLAG_NO_DNA + default_h_style = /decl/sprite_accessory/hair/vox/short cold_level_1 = 80 cold_level_2 = 50 @@ -28,36 +28,36 @@ BP_GROIN = /obj/item/organ/external/groin/vox, BP_TAIL = /obj/item/organ/external/tail/vox ) - has_organ = list( - BP_STOMACH = /obj/item/organ/internal/stomach/vox, - BP_HEART = /obj/item/organ/internal/heart/vox, - BP_LUNGS = /obj/item/organ/internal/lungs/vox, - BP_LIVER = /obj/item/organ/internal/liver/vox, - BP_KIDNEYS = /obj/item/organ/internal/kidneys/vox, - BP_BRAIN = /obj/item/organ/internal/brain, - BP_EYES = /obj/item/organ/internal/eyes/vox, - BP_STACK = /obj/item/organ/internal/voxstack, + has_organ = list( + BP_STOMACH = /obj/item/organ/internal/stomach/vox, + BP_HEART = /obj/item/organ/internal/heart/vox, + BP_LUNGS = /obj/item/organ/internal/lungs/vox, + BP_LIVER = /obj/item/organ/internal/liver/vox, + BP_KIDNEYS = /obj/item/organ/internal/kidneys/vox, + BP_BRAIN = /obj/item/organ/internal/brain, + BP_EYES = /obj/item/organ/internal/eyes/vox, + BP_STACK = /obj/item/organ/internal/voxstack, BP_HINDTONGUE = /obj/item/organ/internal/hindtongue ) - base_markings = list( - /decl/sprite_accessory/marking/vox/beak = "#bc7d3e", + base_markings = list( + /decl/sprite_accessory/marking/vox/beak = "#bc7d3e", /decl/sprite_accessory/marking/vox/scutes = "#bc7d3e", - /decl/sprite_accessory/marking/vox/crest = "#bc7d3e", - /decl/sprite_accessory/marking/vox/claws = "#a0a654" + /decl/sprite_accessory/marking/vox/crest = "#bc7d3e", + /decl/sprite_accessory/marking/vox/claws = "#a0a654" ) /decl/bodytype/vox/Initialize() if(!length(equip_adjust)) equip_adjust = list( - BP_L_HAND = list("[NORTH]" = list(0, -2), "[EAST]" = list(0, -2), "[SOUTH]" = list( 0, -2), "[WEST]" = list( 0, -2)), - BP_R_HAND = list("[NORTH]" = list(0, -2), "[EAST]" = list(0, -2), "[SOUTH]" = list( 0, -2), "[WEST]" = list( 0, -2)), - slot_head_str = list("[NORTH]" = list(0, -2), "[EAST]" = list(3, -2), "[SOUTH]" = list( 0, -2), "[WEST]" = list(-3, -2)), - slot_wear_mask_str = list("[NORTH]" = list(0, 0), "[EAST]" = list(4, 0), "[SOUTH]" = list( 0, 0), "[WEST]" = list(-4, 0)), - slot_wear_suit_str = list("[NORTH]" = list(0, -1), "[EAST]" = list(0, -1), "[SOUTH]" = list( 0, -1), "[WEST]" = list( 0, -1)), - slot_w_uniform_str = list("[NORTH]" = list(0, -1), "[EAST]" = list(0, -1), "[SOUTH]" = list( 0, -1), "[WEST]" = list( 0, -1)), + BP_L_HAND = list("[NORTH]" = list(0, -2), "[EAST]" = list(0, -2), "[SOUTH]" = list( 0, -2), "[WEST]" = list( 0, -2)), + BP_R_HAND = list("[NORTH]" = list(0, -2), "[EAST]" = list(0, -2), "[SOUTH]" = list( 0, -2), "[WEST]" = list( 0, -2)), + slot_head_str = list("[NORTH]" = list(0, -2), "[EAST]" = list(3, -2), "[SOUTH]" = list( 0, -2), "[WEST]" = list(-3, -2)), + slot_wear_mask_str = list("[NORTH]" = list(0, 0), "[EAST]" = list(4, 0), "[SOUTH]" = list( 0, 0), "[WEST]" = list(-4, 0)), + slot_wear_suit_str = list("[NORTH]" = list(0, -1), "[EAST]" = list(0, -1), "[SOUTH]" = list( 0, -1), "[WEST]" = list( 0, -1)), + slot_w_uniform_str = list("[NORTH]" = list(0, -1), "[EAST]" = list(0, -1), "[SOUTH]" = list( 0, -1), "[WEST]" = list( 0, -1)), slot_underpants_str = list("[NORTH]" = list(0, -1), "[EAST]" = list(0, -1), "[SOUTH]" = list( 0, -1), "[WEST]" = list( 0, -1)), slot_undershirt_str = list("[NORTH]" = list(0, -1), "[EAST]" = list(0, -1), "[SOUTH]" = list( 0, -1), "[WEST]" = list( 0, -1)), - slot_back_str = list("[NORTH]" = list(0, 0), "[EAST]" = list(3, 0), "[SOUTH]" = list( 0, 0), "[WEST]" = list(-3, 0)) + slot_back_str = list("[NORTH]" = list(0, 0), "[EAST]" = list(3, 0), "[SOUTH]" = list( 0, 0), "[WEST]" = list(-3, 0)) ) return ..() diff --git a/mods/species/vox/icons/body/servitor/hair.dmi b/mods/species/vox/icons/body/servitor/hair.dmi index f4e1011e013..999649b10e1 100644 Binary files a/mods/species/vox/icons/body/servitor/hair.dmi and b/mods/species/vox/icons/body/servitor/hair.dmi differ diff --git a/mods/species/vox/icons/body/soldier/hair.dmi b/mods/species/vox/icons/body/soldier/hair.dmi index 4316e8e33fb..7149c366b5c 100644 Binary files a/mods/species/vox/icons/body/soldier/hair.dmi and b/mods/species/vox/icons/body/soldier/hair.dmi differ diff --git a/mods/species/vox/icons/body/stanchion/hair.dmi b/mods/species/vox/icons/body/stanchion/hair.dmi index d0f4f126680..cdbf92bc78f 100644 Binary files a/mods/species/vox/icons/body/stanchion/hair.dmi and b/mods/species/vox/icons/body/stanchion/hair.dmi differ diff --git a/mods/species/vox/organs_vox.dm b/mods/species/vox/organs_vox.dm index e51fd0920d8..e664b4284a4 100644 --- a/mods/species/vox/organs_vox.dm +++ b/mods/species/vox/organs_vox.dm @@ -155,7 +155,7 @@ icon_state = "cortical-stack" organ_tag = BP_STACK organ_properties = ORGAN_PROP_PROSTHETIC - origin_tech = @"{'biotech':4,'materials':4,'magnets':2,'programming':3}" + origin_tech = @'{"biotech":4,"materials":4,"magnets":2,"programming":3}' relative_size = 10 var/ownerckey diff --git a/nebula.dme b/nebula.dme index ad56980bc70..e1970327718 100644 --- a/nebula.dme +++ b/nebula.dme @@ -17,6 +17,7 @@ #include "code\world.dm" #include "code\__datastructures\priority_queue.dm" #include "code\__datastructures\stack.dm" +#include "code\__defines\_byond_version_compat.dm" #include "code\__defines\_compile_helpers.dm" #include "code\__defines\_compile_options.dm" #include "code\__defines\_planes+layers.dm" @@ -80,6 +81,7 @@ #include "code\__defines\proc_presets.dm" #include "code\__defines\qdel.dm" #include "code\__defines\radio.dm" +#include "code\__defines\reactions.dm" #include "code\__defines\research.dm" #include "code\__defines\ruin_tags.dm" #include "code\__defines\shields.dm" @@ -232,7 +234,6 @@ #include "code\controllers\admin.dm" #include "code\controllers\autotransfer.dm" #include "code\controllers\communications.dm" -#include "code\controllers\configuration.dm" #include "code\controllers\controller.dm" #include "code\controllers\failsafe.dm" #include "code\controllers\hooks-defs.dm" @@ -255,6 +256,7 @@ #include "code\controllers\subsystems\ao.dm" #include "code\controllers\subsystems\atoms.dm" #include "code\controllers\subsystems\circuit_component.dm" +#include "code\controllers\subsystems\configuration.dm" #include "code\controllers\subsystems\daycycle.dm" #include "code\controllers\subsystems\disposals.dm" #include "code\controllers\subsystems\evac.dm" @@ -364,6 +366,28 @@ #include "code\datums\communication\~defines.dm" #include "code\datums\composite_sounds\_composite_sound.dm" #include "code\datums\composite_sounds\machinery_sounds.dm" +#include "code\datums\config\_config.dm" +#include "code\datums\config\_config_categories.dm" +#include "code\datums\config\config_enum.dm" +#include "code\datums\config\config_list.dm" +#include "code\datums\config\config_num.dm" +#include "code\datums\config\config_num_client.dm" +#include "code\datums\config\config_text.dm" +#include "code\datums\config\config_toggle.dm" +#include "code\datums\config\config_toggle_on.dm" +#include "code\datums\config\config_types\config_admin.dm" +#include "code\datums\config\config_types\config_client.dm" +#include "code\datums\config\config_types\config_debug.dm" +#include "code\datums\config\config_types\config_events.dm" +#include "code\datums\config\config_types\config_game_option.dm" +#include "code\datums\config\config_types\config_game_world.dm" +#include "code\datums\config\config_types\config_health.dm" +#include "code\datums\config\config_types\config_logging.dm" +#include "code\datums\config\config_types\config_mode.dm" +#include "code\datums\config\config_types\config_protected.dm" +#include "code\datums\config\config_types\config_resources.dm" +#include "code\datums\config\config_types\config_server.dm" +#include "code\datums\config\config_types\config_voting.dm" #include "code\datums\extensions\_defines.dm" #include "code\datums\extensions\access_provider.dm" #include "code\datums\extensions\deity_be_near.dm" @@ -953,6 +977,7 @@ #include "code\game\objects\item_materials.dm" #include "code\game\objects\item_mob_overlay.dm" #include "code\game\objects\munition.dm" +#include "code\game\objects\obj_edibility.dm" #include "code\game\objects\objs.dm" #include "code\game\objects\objs_damage.dm" #include "code\game\objects\objs_interactions.dm" @@ -1026,6 +1051,7 @@ #include "code\game\objects\items\glassjar.dm" #include "code\game\objects\items\holosign_creator.dm" #include "code\game\objects\items\instruments.dm" +#include "code\game\objects\items\item_edibility.dm" #include "code\game\objects\items\latexballoon.dm" #include "code\game\objects\items\paintkit.dm" #include "code\game\objects\items\paper_fortune_teller.dm" @@ -1041,12 +1067,22 @@ #include "code\game\objects\items\trash.dm" #include "code\game\objects\items\umbrella.dm" #include "code\game\objects\items\books\_book.dm" -#include "code\game\objects\items\books\skill_book.dm" +#include "code\game\objects\items\books\fluff\_fluff.dm" +#include "code\game\objects\items\books\fluff\science.dm" #include "code\game\objects\items\books\manuals\_manual.dm" #include "code\game\objects\items\books\manuals\engineering.dm" #include "code\game\objects\items\books\manuals\manuals.dm" #include "code\game\objects\items\books\manuals\medical.dm" #include "code\game\objects\items\books\manuals\science.dm" +#include "code\game\objects\items\books\skill\_skill.dm" +#include "code\game\objects\items\books\skill\_skill_custom.dm" +#include "code\game\objects\items\books\skill\engineering.dm" +#include "code\game\objects\items\books\skill\general.dm" +#include "code\game\objects\items\books\skill\medical.dm" +#include "code\game\objects\items\books\skill\organizational.dm" +#include "code\game\objects\items\books\skill\research.dm" +#include "code\game\objects\items\books\skill\security.dm" +#include "code\game\objects\items\books\skill\service.dm" #include "code\game\objects\items\devices\aicard.dm" #include "code\game\objects\items\devices\auto_cpr.dm" #include "code\game\objects\items\devices\binoculars.dm" @@ -1656,6 +1692,7 @@ #include "code\modules\atmospherics\components\unary\vent_scrubber.dm" #include "code\modules\augment\active.dm" #include "code\modules\augment\augment.dm" +#include "code\modules\augment\helping_hands.dm" #include "code\modules\augment\simple.dm" #include "code\modules\augment\active\armblades.dm" #include "code\modules\augment\active\circuit.dm" @@ -1881,6 +1918,7 @@ #include "code\modules\codex\codex_mob.dm" #include "code\modules\codex\codex_scannable.dm" #include "code\modules\codex\categories\_category.dm" +#include "code\modules\codex\categories\_materials.dm" #include "code\modules\codex\categories\category_categories.dm" #include "code\modules\codex\categories\category_cocktails.dm" #include "code\modules\codex\categories\category_cultures.dm" @@ -1903,6 +1941,7 @@ #include "code\modules\codex\entries\clothing.dm" #include "code\modules\codex\entries\codex.dm" #include "code\modules\codex\entries\engineering.dm" +#include "code\modules\codex\entries\guides.dm" #include "code\modules\codex\entries\guns.dm" #include "code\modules\codex\entries\jukebox.dm" #include "code\modules\codex\entries\machinery.dm" @@ -2110,7 +2149,6 @@ #include "code\modules\fabrication\designs\textile\protective.dm" #include "code\modules\fabrication\designs\textile\space.dm" #include "code\modules\fabrication\designs\textile\storage.dm" -#include "code\modules\flufftext\Dreaming.dm" #include "code\modules\flufftext\TextFilters.dm" #include "code\modules\food\recipes_microwave.dm" #include "code\modules\games\boardgame.dm" @@ -2133,6 +2171,15 @@ #include "code\modules\goals\definitions\personal_achievement.dm" #include "code\modules\goals\definitions\personal_achievement_movement.dm" #include "code\modules\goals\definitions\personal_achievement_specific_object.dm" +#include "code\modules\hallucinations\_hallucination.dm" +#include "code\modules\hallucinations\hallucination_fakeattack.dm" +#include "code\modules\hallucinations\hallucination_gunfire.dm" +#include "code\modules\hallucinations\hallucination_mirage.dm" +#include "code\modules\hallucinations\hallucination_skitters.dm" +#include "code\modules\hallucinations\hallucination_sound.dm" +#include "code\modules\hallucinations\hallucination_spiderbabies.dm" +#include "code\modules\hallucinations\hallucination_talking.dm" +#include "code\modules\hallucinations\hallucination_telepathy.dm" #include "code\modules\holidays\_holiday.dm" #include "code\modules\holidays\holiday_hook.dm" #include "code\modules\holidays\holiday_name.dm" @@ -2369,6 +2416,7 @@ #include "code\modules\mob\logout.dm" #include "code\modules\mob\mob.dm" #include "code\modules\mob\mob_defines.dm" +#include "code\modules\mob\mob_eating.dm" #include "code\modules\mob\mob_grabs.dm" #include "code\modules\mob\mob_helpers.dm" #include "code\modules\mob\mob_layering.dm" @@ -2406,12 +2454,15 @@ #include "code\modules\mob\living\inventory.dm" #include "code\modules\mob\living\life.dm" #include "code\modules\mob\living\living.dm" +#include "code\modules\mob\living\living_appearance.dm" #include "code\modules\mob\living\living_attackhand.dm" #include "code\modules\mob\living\living_bodytemp.dm" #include "code\modules\mob\living\living_breath.dm" #include "code\modules\mob\living\living_defense.dm" #include "code\modules\mob\living\living_defines.dm" +#include "code\modules\mob\living\living_dreams.dm" #include "code\modules\mob\living\living_grabs.dm" +#include "code\modules\mob\living\living_hallucinations.dm" #include "code\modules\mob\living\living_maneuvers.dm" #include "code\modules\mob\living\living_organs.dm" #include "code\modules\mob\living\living_powers.dm" @@ -2422,7 +2473,6 @@ #include "code\modules\mob\living\say.dm" #include "code\modules\mob\living\stasis.dm" #include "code\modules\mob\living\stress.dm" -#include "code\modules\mob\living\update_icon.dm" #include "code\modules\mob\living\bot\bot.dm" #include "code\modules\mob\living\bot\cleanbot.dm" #include "code\modules\mob\living\bot\ed209bot.dm" @@ -2436,14 +2486,13 @@ #include "code\modules\mob\living\carbon\carbon.dm" #include "code\modules\mob\living\carbon\carbon_defense.dm" #include "code\modules\mob\living\carbon\carbon_defines.dm" +#include "code\modules\mob\living\carbon\carbon_eating.dm" #include "code\modules\mob\living\carbon\carbon_grabs.dm" #include "code\modules\mob\living\carbon\carbon_organs.dm" #include "code\modules\mob\living\carbon\carbon_powers.dm" #include "code\modules\mob\living\carbon\damage_procs.dm" #include "code\modules\mob\living\carbon\give.dm" -#include "code\modules\mob\living\carbon\hallucinations.dm" #include "code\modules\mob\living\carbon\internals.dm" -#include "code\modules\mob\living\carbon\life.dm" #include "code\modules\mob\living\carbon\resist.dm" #include "code\modules\mob\living\carbon\taste.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" @@ -2459,10 +2508,10 @@ #include "code\modules\mob\living\carbon\brain\MMI.dm" #include "code\modules\mob\living\carbon\brain\robot.dm" #include "code\modules\mob\living\carbon\brain\say.dm" -#include "code\modules\mob\living\carbon\human\appearance.dm" #include "code\modules\mob\living\carbon\human\death.dm" #include "code\modules\mob\living\carbon\human\examine.dm" #include "code\modules\mob\living\carbon\human\human.dm" +#include "code\modules\mob\living\carbon\human\human_appearance.dm" #include "code\modules\mob\living\carbon\human\human_attackhand.dm" #include "code\modules\mob\living\carbon\human\human_damage.dm" #include "code\modules\mob\living\carbon\human\human_defense.dm" @@ -2979,6 +3028,7 @@ #include "code\modules\paperwork\toner_cartridge.dm" #include "code\modules\paperwork\pen\chameleon_pen.dm" #include "code\modules\paperwork\pen\crayon.dm" +#include "code\modules\paperwork\pen\crayon_edibility.dm" #include "code\modules\paperwork\pen\fancy.dm" #include "code\modules\paperwork\pen\multi_pen.dm" #include "code\modules\paperwork\pen\pen.dm" @@ -3155,6 +3205,7 @@ #include "code\modules\reagents\Chemistry-Machinery.dm" #include "code\modules\reagents\Chemistry-Metabolism.dm" #include "code\modules\reagents\cocktails.dm" +#include "code\modules\reagents\reagent_container_edibility.dm" #include "code\modules\reagents\reagent_containers.dm" #include "code\modules\reagents\reagent_dispenser.dm" #include "code\modules\reagents\chems\chems_blood.dm" @@ -3183,6 +3234,7 @@ #include "code\modules\reagents\reactions\reaction_alcohol.dm" #include "code\modules\reagents\reactions\reaction_alloys.dm" #include "code\modules\reagents\reactions\reaction_cafe.dm" +#include "code\modules\reagents\reactions\reaction_compounds.dm" #include "code\modules\reagents\reactions\reaction_drinks.dm" #include "code\modules\reagents\reactions\reaction_drinks_hidden.dm" #include "code\modules\reagents\reactions\reaction_drugs.dm" @@ -3195,13 +3247,18 @@ #include "code\modules\reagents\reagent_containers\blood_pack.dm" #include "code\modules\reagents\reagent_containers\borghydro.dm" #include "code\modules\reagents\reagent_containers\condiment.dm" +#include "code\modules\reagents\reagent_containers\condiment_edibility.dm" #include "code\modules\reagents\reagent_containers\drinks.dm" +#include "code\modules\reagents\reagent_containers\drinks_edibility.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" #include "code\modules\reagents\reagent_containers\food.dm" +#include "code\modules\reagents\reagent_containers\food_edibility.dm" #include "code\modules\reagents\reagent_containers\glass.dm" +#include "code\modules\reagents\reagent_containers\glass_edibility.dm" #include "code\modules\reagents\reagent_containers\hypospray.dm" #include "code\modules\reagents\reagent_containers\inhaler.dm" #include "code\modules\reagents\reagent_containers\pill.dm" +#include "code\modules\reagents\reagent_containers\pill_edibility.dm" #include "code\modules\reagents\reagent_containers\spray.dm" #include "code\modules\reagents\reagent_containers\syringes.dm" #include "code\modules\reagents\reagent_containers\drinkingglass\drinkingglass.dm" @@ -3218,6 +3275,7 @@ #include "code\modules\reagents\reagent_containers\food\baked_goods.dm" #include "code\modules\reagents\reagent_containers\food\bread.dm" #include "code\modules\reagents\reagent_containers\food\burgers.dm" +#include "code\modules\reagents\reagent_containers\food\can_edibility.dm" #include "code\modules\reagents\reagent_containers\food\canned.dm" #include "code\modules\reagents\reagent_containers\food\dough.dm" #include "code\modules\reagents\reagent_containers\food\eggs.dm" diff --git a/test/check-paths.sh b/test/check-paths.sh index 0900dc610c9..2831ada98b2 100755 --- a/test/check-paths.sh +++ b/test/check-paths.sh @@ -32,7 +32,7 @@ exactly 2 "/mob text paths" '"/mob' exactly 6 "/obj text paths" '"/obj' exactly 8 "/turf text paths" '"/turf' exactly 1 "world<< uses" 'world<<|world[[:space:]]<<' -exactly 92 "'in world' uses" 'in world' +exactly 94 "'in world' uses" 'in world' exactly 1 "world.log<< uses" 'world.log<<|world.log[[:space:]]<<' exactly 18 "<< uses" '(?> uses" '>>(?!>)' -P @@ -40,7 +40,7 @@ exactly 0 "incorrect indentations" '^( {4,})' -P exactly 24 "text2path uses" 'text2path' exactly 4 "update_icon() override" '/update_icon\((.*)\)' -P exactly 0 "goto uses" 'goto ' -exactly 6 "atom/New uses" '^/(obj|atom|area|mob|turf).*/New\(' +exactly 5 "atom/New uses" '^/(obj|atom|area|mob|turf).*/New\(' exactly 1 "decl/New uses" '^/decl.*/New\(' exactly 0 "tag uses" '\stag = ' -P '**/*.dmm' exactly 3 "unmarked globally scoped variables" -P '^(/|)var/(?!global)' diff --git a/tools/map_migrations/3560_central_atmos_computer.txt b/tools/map_migrations/3560_central_atmos_computer.txt index e1c7b6721e3..71179dbe712 100644 --- a/tools/map_migrations/3560_central_atmos_computer.txt +++ b/tools/map_migrations/3560_central_atmos_computer.txt @@ -1,2 +1,2 @@ -/obj/machinery/computer/atmoscontrol : /obj/machinery/computer/central_atmos{@OLD} +/obj/machinery/computer/atmoscontrol/@SUBTYPES : /obj/machinery/computer/central_atmos/@SUBTYPES{@OLD} /obj/item/stock_parts/circuitboard/atmoscontrol : /obj/item/stock_parts/circuitboard/central_atmos{@OLD} diff --git a/tools/map_migrations/3576_wallobj_migration.txt b/tools/map_migrations/3576_wallobj_migration.txt new file mode 100644 index 00000000000..1f381b8483f --- /dev/null +++ b/tools/map_migrations/3576_wallobj_migration.txt @@ -0,0 +1,33 @@ +# FIX WALLOBJ FACING DIRS +/obj/item/radio/intercom/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD {@OLD;pixel_x=-22;dir=4} +/obj/item/radio/intercom/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD {@OLD;pixel_x=22;dir=8} +/obj/item/radio/intercom/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD {@OLD;pixel_y=-30;dir=1} +/obj/item/radio/intercom/@SUBTYPES {pixel_x=@UNSET;pixel_y=@POSITIVE} : @OLD {@OLD;pixel_y=20;dir=@SKIP} +/obj/structure/extinguisher_cabinet {pixel_x=@POSITIVE;pixel_y=@UNSET} : @OLD {@OLD;pixel_x=29;dir=8} +/obj/structure/extinguisher_cabinet {pixel_x=@NEGATIVE;pixel_y=@UNSET} : @OLD {@OLD;pixel_x=-29;dir=4} +/obj/structure/extinguisher_cabinet {pixel_y=@POSITIVE;pixel_x=@UNSET} : @OLD {@OLD;pixel_y=29;dir=@SKIP} +/obj/structure/extinguisher_cabinet {pixel_y=@NEGATIVE;pixel_x=@UNSET} : @OLD {@OLD;pixel_y=-29;dir=1} +/obj/machinery/button/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD{@OLD;dir=8} +/obj/machinery/button/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD{@OLD;dir=4} +/obj/machinery/button/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD{@OLD;dir=1} +/obj/machinery/status_display/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD{@OLD;dir=8} +/obj/machinery/status_display/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD{@OLD;dir=4} +/obj/machinery/status_display/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD{@OLD;dir=1} +/obj/machinery/newscaster/@SUBTYPES {pixel_x=@NEGATIVE;pixel_y=@UNSET} : @OLD{@OLD;dir=8} +/obj/machinery/newscaster/@SUBTYPES {pixel_x=@POSITIVE;pixel_y=@UNSET} : @OLD{@OLD;dir=4} +/obj/machinery/newscaster/@SUBTYPES {pixel_y=@NEGATIVE;pixel_x=@UNSET} : @OLD{@OLD;dir=1} +/obj/structure/closet/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD{@OLD;dir=8} +/obj/structure/closet/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD{@OLD;dir=4} +/obj/structure/closet/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD{@OLD;dir=1} +/obj/machinery/recharger/wallcharger/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD{@OLD;dir=8} +/obj/machinery/recharger/wallcharger/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD{@OLD;dir=4} +/obj/machinery/recharger/wallcharger/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD{@OLD;dir=1} +/obj/machinery/embedded_controller/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD{@OLD;dir=8} +/obj/machinery/embedded_controller/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD{@OLD;dir=4} +/obj/machinery/embedded_controller/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD{@OLD;dir=1} +/obj/machinery/airlock_sensor/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD{@OLD;dir=8} +/obj/machinery/airlock_sensor/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD{@OLD;dir=4} +/obj/machinery/airlock_sensor/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD{@OLD;dir=1} +/obj/machinery/light_switch/@SUBTYPES {pixel_y=@UNSET;pixel_x=@POSITIVE} : @OLD{@OLD;dir=8} +/obj/machinery/light_switch/@SUBTYPES {pixel_y=@UNSET;pixel_x=@NEGATIVE} : @OLD{@OLD;dir=4} +/obj/machinery/light_switch/@SUBTYPES {pixel_x=@UNSET;pixel_y=@NEGATIVE} : @OLD{@OLD;dir=1} \ No newline at end of file diff --git a/tools/mapmerge2/update_paths.py b/tools/mapmerge2/update_paths.py index 8c3039d8798..0e34bbd7765 100644 --- a/tools/mapmerge2/update_paths.py +++ b/tools/mapmerge2/update_paths.py @@ -91,6 +91,22 @@ def replace_def(match): else: return [match.group(0)] else: + if old_path_props[filter_prop] == "@SET": + continue + if old_path_props[filter_prop] == "@NEGATIVE": + try: + if float(old_props[filter_prop]) < 0: + continue + return [match.group(0)] + except ValueError: + return [match.group(0)] + if old_path_props[filter_prop] == "@POSITIVE": + try: + if float(old_props[filter_prop]) > 0: + continue + return [match.group(0)] + except ValueError: + return [match.group(0)] if old_props[filter_prop] != old_path_props[filter_prop] or old_path_props[filter_prop] == "@UNSET": return [match.group(0)] #does not match current filter, skip the change. if verbose: diff --git a/~code/global_init.dm b/~code/global_init.dm index 3dee544e61a..00301af2ca2 100644 --- a/~code/global_init.dm +++ b/~code/global_init.dm @@ -14,7 +14,7 @@ var/global_init = new /datum/global_init() /datum/global_init/New() - load_configuration() + SSconfiguration.load_all_configuration() callHook("global_init") qdel(src) //we're done