diff --git a/.vscode/settings.json b/.vscode/settings.json index 201562aaf7c7..c7b218b77591 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ "**/.pnp.*": true }, "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" }, "files.eol": "\n", "files.insertFinalNewline": true, diff --git a/code/__DEFINES/__game.dm b/code/__DEFINES/__game.dm index 765603df629c..7cb7440ba8da 100644 --- a/code/__DEFINES/__game.dm +++ b/code/__DEFINES/__game.dm @@ -124,6 +124,7 @@ block( \ #define CHAT_FFATTACKLOGS (1<<11) #define CHAT_GHOSTHIVEMIND (1<<12) #define CHAT_NICHELOGS (1<<13) +#define CHAT_LISTENINGBUG (1<<14) //toggles_ghost #define GHOST_HEALTH_SCAN (1<<0) @@ -391,6 +392,7 @@ block( \ #define FIRE_MISSION_WEAPON_REMOVED 8 #define FIRE_MISSION_WEAPON_UNUSABLE 16 #define FIRE_MISSION_WEAPON_OUT_OF_AMMO 32 +#define FIRE_MISSION_BAD_DIRECTION 64 #define FIRE_MISSION_NOT_EXECUTABLE -1 //Defines for firemission state diff --git a/code/__DEFINES/alerts.dm b/code/__DEFINES/alerts.dm new file mode 100644 index 000000000000..b4fc5e04c9c7 --- /dev/null +++ b/code/__DEFINES/alerts.dm @@ -0,0 +1,7 @@ +#define ALERT_BUCKLED "buckled" +#define ALERT_HANDCUFFED "handcuffed" +#define ALERT_LEGCUFFED "legcuffed" +#define ALERT_FLOORED "floored" +#define ALERT_INCAPACITATED "incapacitated" +#define ALERT_KNOCKEDOUT "knockedout" +#define ALERT_IMMOBILIZED "immobilized" diff --git a/code/__DEFINES/dcs/signals/atom/mob/living/signals_living.dm b/code/__DEFINES/dcs/signals/atom/mob/living/signals_living.dm index 56cd4dd8cd8e..89f3951e7c99 100644 --- a/code/__DEFINES/dcs/signals/atom/mob/living/signals_living.dm +++ b/code/__DEFINES/dcs/signals/atom/mob/living/signals_living.dm @@ -23,11 +23,6 @@ #define COMSIG_LIVING_SPEAK "living_speak" #define COMPONENT_OVERRIDE_SPEAK (1<<0) -#define COMSIG_LIVING_APPLY_EFFECT "living_apply_effect" -#define COMSIG_LIVING_ADJUST_EFFECT "living_adjust_effect" -#define COMSIG_LIVING_SET_EFFECT "living_set_effect" - #define COMPONENT_CANCEL_EFFECT (1<<0) - /// From /obj/structure/proc/do_climb(var/mob/living/user, mods) #define COMSIG_LIVING_CLIMB_STRUCTURE "climb_over_structure" /// From /mob/living/Collide(): (atom/A) diff --git a/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm index f4beec321c9e..bfb62c2bcf6e 100644 --- a/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm +++ b/code/__DEFINES/dcs/signals/atom/mob/signals_mob.dm @@ -95,6 +95,9 @@ #define COMSIG_MOB_MOVE_OR_LOOK "mob_move_or_look" #define COMPONENT_OVERRIDE_MOB_MOVE_OR_LOOK (1<<0) +///from rejuv +#define COMSIG_LIVING_POST_FULLY_HEAL "living_post_fully_heal" + ///from /mob/living/emote(): () #define COMSIG_MOB_EMOTE "mob_emote" diff --git a/code/__DEFINES/dcs/signals/atom/signals_item.dm b/code/__DEFINES/dcs/signals/atom/signals_item.dm index 6024c0524992..7b3b218e658a 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_item.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_item.dm @@ -68,3 +68,12 @@ //from /datum/authority/branch/role/proc/equip_role() #define COMSIG_POST_SPAWN_UPDATE "post_spawn_update" + +#define COMSIG_CAMERA_MAPNAME_ASSIGNED "camera_manager_mapname_assigned" +#define COMSIG_CAMERA_REGISTER_UI "camera_manager_register_ui" +#define COMSIG_CAMERA_UNREGISTER_UI "camera_manager_unregister_ui" +#define COMSIG_CAMERA_SET_NVG "camera_manager_set_nvg" +#define COMSIG_CAMERA_CLEAR_NVG "camera_manager_clear_nvg" +#define COMSIG_CAMERA_SET_TARGET "camera_manager_set_target" +#define COMSIG_CAMERA_SET_AREA "camera_manager_set_area" +#define COMSIG_CAMERA_CLEAR "camera_manager_clear_target" diff --git a/code/__DEFINES/dcs/signals/atom/signals_obj.dm b/code/__DEFINES/dcs/signals/atom/signals_obj.dm index 93579e068ec7..b5f2bb3ff6a9 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_obj.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_obj.dm @@ -30,4 +30,6 @@ /// from /obj/proc/afterbuckle() #define COSMIG_OBJ_AFTER_BUCKLE "signal_obj_after_buckle" +#define COMSIG_DROPSHIP_ADD_EQUIPMENT "dropship_add_equipment" +#define COMSIG_DROPSHIP_REMOVE_EQUIPMENT "dropship_remove_equipment" #define COMSIG_STRUCTURE_CRATE_SQUAD_LAUNCHED "structure_crate_squad_launched" diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm index 31e4c34e3016..5569ded71586 100644 --- a/code/__DEFINES/dcs/signals/signals_global.dm +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -70,3 +70,4 @@ #define COMSIG_GLOB_GENERATOR_SET_OVERLOADING "!generator_set_overloading" #define COMSIG_GLOB_HIJACK_IMPACTED "!hijack_impacted" +#define COMSIG_GLOB_HIJACK_LANDED "!hijack_landed" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index c0ccd5164b0b..5628395d7ffb 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -230,6 +230,7 @@ ///--------------- FULLSCREEN RUNECHAT BUBBLES ------------ #define LIGHTING_PLANE 100 #define EXTERIOR_LIGHTING_PLANE 101 +#define NVG_PLANE 110 ///Popup Chat Messages #define RUNECHAT_PLANE 501 diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index 3f6a4a44ee07..155a91fa62ed 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -32,6 +32,7 @@ require only minor tweaks. #define ZTRAIT_FOG "Fog" #define ZTRAIT_LOCKDOWN "Lockdown" #define ZTRAIT_BASIC_RT "BasicRT" +#define ZTRAIT_IN_SPACE "InSpace" // Is our ground_level considered in space or on a space station // boolean - weather types that occur on the level #define ZTRAIT_SNOWSTORM "weather_snowstorm" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 0dcd26de3e3a..e50d9e72497c 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -1,3 +1,6 @@ +/// Multiplier for Stun/KD/KO/etc durations in new backend, due to old system being based on life ticks +#define GLOBAL_STATUS_MULTIPLIER 20 // each in-code unit is worth 20ds of duration + #define HEALTH_THRESHOLD_DEAD -100 #define HEALTH_THRESHOLD_CRIT -50 diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 94428ba7d9b3..0f04006859e9 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -241,8 +241,16 @@ GLOBAL_LIST_INIT(whitelist_hierarchy, list(WHITELIST_NORMAL, WHITELIST_COUNCIL, #define FACTION_LIST_MARINE list(FACTION_MARINE) #define FACTION_LIST_HUMANOID list(FACTION_MARINE, FACTION_PMC, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_MARSHAL, FACTION_UPP, FACTION_FREELANCER, FACTION_SURVIVOR, FACTION_NEUTRAL, FACTION_COLONIST, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_YAUTJA, FACTION_ZOMBIE, FACTION_TWE) -#define FACTION_LIST_ERT list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_CLF, FACTION_CONTRACTOR, FACTION_UPP, FACTION_FREELANCER, FACTION_MERCENARY, FACTION_DUTCH, FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO, FACTION_MARSHAL, FACTION_TWE) +#define FACTION_LIST_ERT list(FACTION_HEFA, FACTION_GLADIATOR, FACTION_PIRATE, FACTION_PIZZA, FACTION_SOUTO) #define FACTION_LIST_WY list(FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) +#define FACTION_LIST_UPP list(FACTION_UPP) +#define FACTION_LIST_CLF list(FACTION_CLF) +#define FACTION_LIST_TWE list(FACTION_TWE) +#define FACTION_LIST_FREELANCER list(FACTION_FREELANCER) +#define FACTION_LIST_CONTRACTOR list(FACTION_CONTRACTOR) +#define FACTION_LIST_MERCENARY list(FACTION_MERCENARY) +#define FACTION_LIST_MARSHAL list(FACTION_MARSHAL) +#define FACTION_LIST_DUTCH list(FACTION_DUTCH) #define FACTION_LIST_MARINE_WY list(FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY) #define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP) #define FACTION_LIST_MARINE_TWE list(FACTION_MARINE, FACTION_TWE) diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm new file mode 100644 index 000000000000..ecccbd40abeb --- /dev/null +++ b/code/__DEFINES/status_effects.dm @@ -0,0 +1,25 @@ +///if it allows multiple instances of the effect +#define STATUS_EFFECT_MULTIPLE 0 +///if it allows only one, preventing new instances +#define STATUS_EFFECT_UNIQUE 1 +///if it allows only one, but new instances replace +#define STATUS_EFFECT_REPLACE 2 +/// if it only allows one, and new instances just instead refresh the timer +#define STATUS_EFFECT_REFRESH 3 + +///Processing flags - used to define the speed at which the status will work +///This is fast - 0.2s between ticks (I believe!) +#define STATUS_EFFECT_FAST_PROCESS 0 +///This is slower and better for more intensive status effects - 1s between ticks +#define STATUS_EFFECT_NORMAL_PROCESS 1 + +//Incapacitated status effect flags +/// If the incapacitated status effect will ignore a mob in restraints (handcuffs) +#define IGNORE_RESTRAINTS (1<<0) +/// If the incapacitated status effect will ignore a mob in stasis (stasis beds) +#define IGNORE_STASIS (1<<1) +/// If the incapacitated status effect will ignore a mob being agressively grabbed +#define IGNORE_GRAB (1<<2) + +/// Time threshold after which we launch ending timer - this should be higher than the slowest processing rate +#define STATUS_EFFECT_TIME_THRESHOLD (2 SECONDS) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 6af4a3585e29..9cb67e1e0de1 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -179,9 +179,11 @@ #define SS_PRIORITY_FAST_OBJECTS 105 #define SS_PRIORITY_OBJECTS 104 #define SS_PRIORITY_DECORATOR 99 +#define SS_PRIORITY_EFFECTS 97 +#define SS_PRIORITY_FASTEFFECTS 96 #define SS_PRIORITY_HIJACK 97 #define SS_PRIORITY_POWER 95 -#define SS_PRIORITY_EFFECTS 92 +#define SS_PRIORITY_OLDEFFECTS 92 #define SS_PRIORITY_MACHINERY 90 #define SS_PRIORITY_FZ_TRANSITIONS 88 #define SS_PRIORITY_ROUND_RECORDING 83 diff --git a/code/__DEFINES/surgery.dm b/code/__DEFINES/surgery.dm index 9257172eeee5..d63c6da26ac6 100644 --- a/code/__DEFINES/surgery.dm +++ b/code/__DEFINES/surgery.dm @@ -38,6 +38,15 @@ unless the surgical tool is completely unsuited to what it's being used for.*/ ///A tool that's perfect for the surgery. #define SURGERY_TOOL_MULT_IDEAL 1 +///The (no) chance of failure for surgery because the correct tools/conditions are used or skill compensates +#define SURGERY_FAILURE_IMPOSSIBLE 0 +///The chance of failure for surgery because the the tool/ground is SURGERY_TOOL_MULT_BAD_SUBSTITUTE/SURGERY_SURFACE_MULT_UNSUITED and skill can't compensate enough +#define SURGERY_FAILURE_UNLIKELY 5 +///The chance of failure for surgery because the the tool/ground is SURGERY_TOOL_MULT_AWFUL/SURGERY_SURFACE_MULT_AWFUL and skill can't compensate enough +#define SURGERY_FAILURE_POSSIBLE 25 +///The chance of failure for surgery because the the tool and ground is some combination worse than awful and skill can't compensate enough +#define SURGERY_FAILURE_LIKELY 50 + //When initiating surgeries, these define their order when listed in initiation selector or 'you can't use this tool for anything, but could x, y, or z' messages. ///Appears first in lists. Ex. larva surgery, opening incision. Immediately life-threatening or initiation surgeries. #define SURGERY_PRIORITY_MAXIMUM 5 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 8962230946c8..d37c9185fa6d 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -415,6 +415,8 @@ GLOBAL_LIST(trait_name_map) #define TRAIT_SOURCE_XENO_ACTION_CHARGE "t_s_xeno_action_charge" ///Status trait coming from a xeno nest #define XENO_NEST_TRAIT "xeno_nest" +///Status trait from a generic throw by xeno abilities +#define XENO_THROW_TRAIT "xeno_throw_trait" //-- structure traits -- ///Status trait coming from being flipped or unflipped. #define TRAIT_SOURCE_FLIP_TABLE "t_s_flip_table" diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm index a0a4c927d3d9..630c9740dc80 100644 --- a/code/__DEFINES/xeno.dm +++ b/code/__DEFINES/xeno.dm @@ -580,9 +580,7 @@ #define XENO_STRUCTURE_CORE "hive core" #define XENO_STRUCTURE_CLUSTER "hive cluster" #define XENO_STRUCTURE_PYLON "hive pylon" -#define XENO_STRUCTURE_POOL "spawn pool" #define XENO_STRUCTURE_EGGMORPH "egg morpher" -#define XENO_STRUCTURE_EVOPOD "evolution pod" #define XENO_STRUCTURE_RECOVERY "recovery node" #define XENO_STRUCTURE_NEST "thick resin nest" diff --git a/code/__HELPERS/#maths.dm b/code/__HELPERS/#maths.dm index ccd077003e62..6ea534a79923 100644 --- a/code/__HELPERS/#maths.dm +++ b/code/__HELPERS/#maths.dm @@ -8,12 +8,6 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, // MATH DEFINES -#define Atan2(x, y) (!x && !y ? 0 : \ - (y >= 0 ? \ - arccos(x / sqrt(x*x + y*y)) : \ - -(arccos(x / sqrt(x*x + y*y))) \ - ) \ - ) #define Ceiling(x) (-round(-x)) #define Clamp(val, min_val, max_val) (max(min_val, min(val, max_val))) #define CLAMP01(x) (clamp(x, 0, 1)) @@ -78,7 +72,7 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, // Convert to polar coordinates var/radius = sqrt(relative_coords[1]**2 + relative_coords[2]**2) - var/phi = Atan2(relative_coords[1], relative_coords[2]) + var/phi = arctan(relative_coords[1], relative_coords[2]) // Rotate the point around the axis phi += degrees @@ -106,42 +100,6 @@ GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, return "[round((powerused * 0.000001),0.001)] MW" return "[round((powerused * 0.000000001),0.0001)] GW" -///Calculate the angle between two movables and the west|east coordinate -/proc/get_angle(atom/movable/start, atom/movable/end)//For beams. - if(!start || !end) - return 0 - var/dy =(32 * end.y + end.pixel_y) - (32 * start.y + start.pixel_y) - var/dx =(32 * end.x + end.pixel_x) - (32 * start.x + start.pixel_x) - if(!dy) - return (dx >= 0) ? 90 : 270 - . = arctan(dx/dy) - if(dy < 0) - . += 180 - else if(dx < 0) - . += 360 - -/// Angle between two arbitrary points and horizontal line same as [/proc/get_angle] -/proc/get_angle_raw(start_x, start_y, start_pixel_x, start_pixel_y, end_x, end_y, end_pixel_x, end_pixel_y) - var/dy = (32 * end_y + end_pixel_y) - (32 * start_y + start_pixel_y) - var/dx = (32 * end_x + end_pixel_x) - (32 * start_x + start_pixel_x) - if(!dy) - return (dx >= 0) ? 90 : 270 - . = arctan(dx/dy) - if(dy < 0) - . += 180 - else if(dx < 0) - . += 360 - -///for getting the angle when animating something's pixel_x and pixel_y -/proc/get_pixel_angle(y, x) - if(!y) - return (x >= 0) ? 90 : 270 - . = arctan(x/y) - if(y < 0) - . += 180 - else if(x < 0) - . += 360 - /** * Get a list of turfs in a line from `starting_atom` to `ending_atom`. * diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 0782826a4dc9..7425046da7c7 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -99,38 +99,29 @@ var/atom/movable/big_subject = subject . += (big_subject.bound_height - world.icon_size) / 2 -/proc/Get_Angle(atom/start,atom/end, tile_bound = FALSE)//For beams. - if(!start || !end) return 0 - if(!start.z || !end.z) return 0 //Atoms are not on turfs. - var/dx - var/dy - if(tile_bound) - dy=end.y-start.y - dx=end.x-start.x - else - dy = get_pixel_position_y(end) - get_pixel_position_y(start) - dx = get_pixel_position_x(end) - get_pixel_position_x(start) - if(!dy) - return (dx>=0)?90:270 - .=arctan(dx/dy) - if(dy<0) - .+=180 - else if(dx<0) - .+=360 - -/proc/Get_Compass_Dir(atom/start,atom/end)//get_dir() only considers an object to be north/south/east/west if there is zero deviation. This uses rounding instead. - if(!start || !end) return 0 - if(!start.z || !end.z) return 0 //Atoms are not on turfs. - var/dy=end.y-start.y - var/dx=end.x-start.x - if(!dy) - return (dx>=0)?4:8 - var/angle=arctan(dx/dy) - if(dy<0) - angle+=180 - else if(dx<0) - angle+=360 - +/// Calculate the angle between two atoms. Uses north-clockwise convention: NORTH = 0, EAST = 90, etc. +/proc/Get_Angle(atom/start, atom/end)//For beams. + if(!start || !end) + return 0 + if(!start.z) + start = get_turf(start) + if(!start) + return 0 //Atoms are not on turfs. + if(!end.z) + end = get_turf(end) + if(!end) + return 0 //Atoms are not on turfs. + var/dy = get_pixel_position_y(end) - get_pixel_position_y(start) + var/dx = get_pixel_position_x(end) - get_pixel_position_x(start) + return delta_to_angle(dx, dy) + +/// Calculate the angle produced by a pair of x and y deltas. Uses north-clockwise convention: NORTH = 0, EAST = 90, etc. +/proc/delta_to_angle(dx, dy) + . = arctan(dy, dx) //y-then-x results in north-clockwise convention: https://en.wikipedia.org/wiki/Atan2#East-counterclockwise,_north-clockwise_and_south-clockwise_conventions,_etc. + if(. < 0) + . += 360 + +/proc/angle_to_dir(angle) switch(angle) //diagonal directions get priority over straight directions in edge cases if (22.5 to 67.5) return NORTHEAST @@ -151,6 +142,8 @@ else return NORTH +/proc/Get_Compass_Dir(atom/start, atom/end)//get_dir() only considers an object to be north/south/east/west if there is zero deviation. This uses rounding instead. + return angle_to_dir(Get_Angle(get_turf(start), get_turf(end))) // Among other things, used by flamethrower and boiler spray to calculate if flame/spray can pass through. // Returns an atom for specific effects (primarily flames and acid spray) that damage things upon contact diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 215e228fdd9d..f5f61424daac 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -230,6 +230,7 @@ hud_version = display_hud_version persistent_inventory_update(screenmob) mymob.update_action_buttons(TRUE) + reorganize_alerts(screenmob) mymob.reload_fullscreens() // ensure observers get an accurate and up-to-date view diff --git a/code/_onclick/hud/rendering/plane_master.dm b/code/_onclick/hud/rendering/plane_master.dm index 91c0e24fae1f..d4181d7e9953 100644 --- a/code/_onclick/hud/rendering/plane_master.dm +++ b/code/_onclick/hud/rendering/plane_master.dm @@ -149,6 +149,14 @@ remove_filter("AO") add_filter("AO", 1, drop_shadow_filter(x = 0, y = -2, size = 4, color = "#04080FAA")) +/atom/movable/screen/plane_master/nvg_plane + name = "NVG plane" + plane = NVG_PLANE + render_relay_plane = RENDER_PLANE_GAME + blend_mode_override = BLEND_MULTIPLY + //icon = 'icons/mob/hud/screen1.dmi' + //icon_state = "noise" + /atom/movable/screen/plane_master/fullscreen name = "fullscreen alert plane" plane = FULLSCREEN_PLANE diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index d114aff6b7cb..9234597e5d4c 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -523,17 +523,17 @@ if(user.observed_xeno == user.tracked_marker) user.overwatch(user.tracked_marker, TRUE) //passing in an obj/effect into a proc that expects mob/xenomorph B) else - to_chat(user, SPAN_XENONOTICE("You psychically observe the [user.tracked_marker.mark_meaning.name] resin mark in [get_area_name(user.tracked_marker)].")) + to_chat(user, SPAN_XENONOTICE("We psychically observe the [user.tracked_marker.mark_meaning.name] resin mark in [get_area_name(user.tracked_marker)].")) user.overwatch(user.tracked_marker) //this is so scuffed, sorry if this causes errors return if(mods["alt"] && user.tracked_marker) user.stop_tracking_resin_mark() return if(!user.hive) - to_chat(user, SPAN_WARNING("You don't belong to a hive!")) + to_chat(user, SPAN_WARNING("We don't belong to a hive!")) return FALSE if(!user.hive.living_xeno_queen) - to_chat(user, SPAN_WARNING("Without a queen your psychic link is broken!")) + to_chat(user, SPAN_WARNING("Without a queen our psychic link is broken!")) return FALSE if(HAS_TRAIT(user, TRAIT_ABILITY_BURROWED) || user.is_mob_incapacitated() || user.buckled) return FALSE @@ -551,10 +551,10 @@ return FALSE if(mods["shift"]) var/area/current_area = get_area(user) - to_chat(user, SPAN_NOTICE("You are currently at: [current_area.name].")) + to_chat(user, SPAN_NOTICE("We are currently at: [current_area.name].")) return if(!user.hive) - to_chat(user, SPAN_WARNING("You don't belong to a hive!")) + to_chat(user, SPAN_WARNING("We don't belong to a hive!")) return FALSE if(mods["alt"]) var/list/options = list() @@ -581,7 +581,7 @@ track_state = options[selected] return if(!user.hive.living_xeno_queen) - to_chat(user, SPAN_WARNING("Your hive doesn't have a living queen!")) + to_chat(user, SPAN_WARNING("Our hive doesn't have a living queen!")) return FALSE if(HAS_TRAIT(user, TRAIT_ABILITY_BURROWED) || user.is_mob_incapacitated() || user.buckled) return FALSE diff --git a/code/_onclick/ventcrawl.dm b/code/_onclick/ventcrawl.dm index 51afbc139fdd..e1877dcbd0a7 100644 --- a/code/_onclick/ventcrawl.dm +++ b/code/_onclick/ventcrawl.dm @@ -7,7 +7,7 @@ return for(var/atom/A as anything in src) if(!(is_type_in_list(A, canEnterVentWith))) - to_chat(src, SPAN_WARNING("You can't be carrying items or have items equipped when vent crawling!")) + to_chat(src, SPAN_WARNING("We cannot be carrying items or have items equipped when vent crawling!")) return FALSE /mob/living/click(atom/A, list/mods) @@ -25,7 +25,7 @@ if(Adjacent(V) && !V.welded) pipes |= V if(!pipes || !pipes.len) - to_chat(src, SPAN_WARNING("There are no pipes that you can ventcrawl into within range!")) + to_chat(src, SPAN_WARNING("There are no pipes that we can ventcrawl into within range!")) return if(pipes.len == 1) pipe = pipes[1] @@ -42,11 +42,11 @@ /mob/living/proc/handle_ventcrawl(atom/clicked_on) if(stat) - to_chat(src, SPAN_WARNING("You must be conscious to do this!")) + to_chat(src, SPAN_WARNING("We must be conscious to do this!")) return if(is_mob_incapacitated()) - to_chat(src, SPAN_WARNING("You can't vent crawl while you're stunned!")) + to_chat(src, SPAN_WARNING("We can't vent crawl while we are stunned!")) return var/obj/structure/pipes/vents/vent_found @@ -59,11 +59,11 @@ vent_found = locate(/obj/structure/pipes/vents/) in range(1, src) if(!vent_found) - to_chat(src, SPAN_WARNING("You must be standing on or beside an air vent to enter it.")) + to_chat(src, SPAN_WARNING("We must be standing on or beside an air vent to enter it.")) return if(vent_found.welded) - to_chat(src, SPAN_WARNING("This vent is closed off, you cannot climb through it.")) + to_chat(src, SPAN_WARNING("This vent is closed off, we cannot climb through it.")) return if(!ventcrawl_carry()) @@ -78,10 +78,10 @@ if(length(vent_found.connected_to)) if(src.action_busy) - to_chat(src, SPAN_WARNING("You are already busy with something.")) + to_chat(src, SPAN_WARNING("We are already busy with something.")) return - visible_message(SPAN_NOTICE("[src] begins climbing into [vent_found]."), SPAN_NOTICE("You begin climbing into [vent_found].")) + visible_message(SPAN_NOTICE("[src] begins climbing into [vent_found]."), SPAN_NOTICE("We begin climbing into [vent_found].")) vent_found.animate_ventcrawl() if(!do_after(src, 45, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) vent_found.animate_ventcrawl_reset() diff --git a/code/_onclick/xeno.dm b/code/_onclick/xeno.dm index abb76ded498b..cc785f32f426 100644 --- a/code/_onclick/xeno.dm +++ b/code/_onclick/xeno.dm @@ -73,10 +73,10 @@ playsound(loc, 'sound/weapons/alien_claw_swipe.ogg', 10, 1) //Quiet to limit spam/nuisance. if(firepatted) src.visible_message(SPAN_DANGER("\The [src] pats at the fire!"), \ - SPAN_DANGER("You pat the fire!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We pat the fire!"), null, 5, CHAT_TYPE_XENO_COMBAT) else src.visible_message(SPAN_DANGER("\The [src] swipes at \the [target]!"), \ - SPAN_DANGER("You swipe at \the [target]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We swipe at \the [target]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return TRUE /mob/living/carbon/xenomorph/RangedAttack(atom/A) diff --git a/code/controllers/subsystem/hijack.dm b/code/controllers/subsystem/hijack.dm index ee3e86e6095e..ed9eba2bc6c3 100644 --- a/code/controllers/subsystem/hijack.dm +++ b/code/controllers/subsystem/hijack.dm @@ -325,22 +325,22 @@ SUBSYSTEM_DEF(hijack) /datum/controller/subsystem/hijack/proc/heat_engine_room() engine_room_heated = TRUE - var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/engine_core] + var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/lower/engine_core] engine_room.firealert() engine_room.temperature = T90C for(var/mob/current_mob as anything in GLOB.mob_list) var/area/mob_area = get_area(current_mob) - if(istype(mob_area, /area/almayer/engineering/engine_core)) + if(istype(mob_area, /area/almayer/engineering/lower/engine_core)) to_chat(current_mob, SPAN_BOLDWARNING("You feel the heat of the room increase as the fusion engines whirr louder.")) /datum/controller/subsystem/hijack/proc/superheat_engine_room() engine_room_superheated = TRUE - var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/engine_core] + var/area/engine_room = GLOB.areas_by_type[/area/almayer/engineering/lower/engine_core] engine_room.firealert() engine_room.temperature = T120C //slowly deals burn at this temp for(var/mob/current_mob as anything in GLOB.mob_list) var/area/mob_area = get_area(current_mob) - if(istype(mob_area, /area/almayer/engineering/engine_core)) + if(istype(mob_area, /area/almayer/engineering/lower/engine_core)) to_chat(current_mob, SPAN_BOLDWARNING("The room feels incredibly hot, you can't take much more of this!")) /datum/controller/subsystem/hijack/proc/announce_sd_halfway() diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index 64f4b92a1edd..a808e7e3fd85 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -1,3 +1,6 @@ +#define CANVAS_COOLDOWN_TIME 4 MINUTES +#define FLATTEN_MAP_COOLDOWN_TIME 3 MINUTES + /** * # Minimaps subsystem * @@ -438,11 +441,11 @@ SUBSYSTEM_DEF(minimaps) if(faction == FACTION_MARINE) if(!COOLDOWN_FINISHED(GLOB, uscm_flatten_map_icon_cooldown)) return FALSE - COOLDOWN_START(GLOB, uscm_flatten_map_icon_cooldown, flatten_map_cooldown_time) + COOLDOWN_START(GLOB, uscm_flatten_map_icon_cooldown, FLATTEN_MAP_COOLDOWN_TIME) else if(faction == XENO_HIVE_NORMAL) if(!COOLDOWN_FINISHED(GLOB, xeno_flatten_map_icon_cooldown)) return FALSE - COOLDOWN_START(GLOB, xeno_flatten_map_icon_cooldown, flatten_map_cooldown_time) + COOLDOWN_START(GLOB, xeno_flatten_map_icon_cooldown, FLATTEN_MAP_COOLDOWN_TIME) else return FALSE @@ -500,6 +503,8 @@ SUBSYSTEM_DEF(minimaps) qdel(svg_store_overlay) debug_log("SVG coordinates for [faction] are not implemented!") +#define can_draw(faction, user) ((faction == FACTION_MARINE && skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT)) || (faction == XENO_HIVE_NORMAL && isqueen(user))) + /datum/controller/subsystem/minimaps/proc/fetch_tacmap_datum(zlevel, flags) var/hash = "[zlevel]-[flags]" if(hashed_tacmaps[hash]) @@ -625,9 +630,6 @@ SUBSYSTEM_DEF(minimaps) var/toolbar_color_selection = "black" var/toolbar_updated_selection = "black" - var/canvas_cooldown_time = 4 MINUTES - var/flatten_map_cooldown_time = 3 MINUTES - /// boolean value to keep track if the canvas has been updated or not, the value is used in tgui state. var/updated_canvas = FALSE /// current flattend map @@ -740,7 +742,6 @@ SUBSYSTEM_DEF(minimaps) else data["canvasCooldown"] = max(GLOB.uscm_canvas_cooldown - world.time, 0) - data["nextCanvasTime"] = canvas_cooldown_time data["updatedCanvas"] = updated_canvas data["lastUpdateTime"] = last_update_time @@ -750,6 +751,7 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/ui_static_data(mob/user) var/list/data = list() + data["mapRef"] = map_holder?.map_ref data["canDraw"] = FALSE data["canViewTacmap"] = TRUE @@ -761,6 +763,7 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/drawing/ui_static_data(mob/user) var/list/data = list() + data["canvasCooldownDuration"] = CANVAS_COOLDOWN_TIME data["mapRef"] = map_holder?.map_ref data["canDraw"] = FALSE data["mapFallback"] = wiki_map_fallback @@ -773,7 +776,7 @@ SUBSYSTEM_DEF(minimaps) data["canViewTacmap"] = is_xeno data["canViewCanvas"] = faction == FACTION_MARINE || faction == XENO_HIVE_NORMAL - if(faction == FACTION_MARINE && skillcheck(user, SKILL_LEADERSHIP, SKILL_LEAD_EXPERT) || faction == XENO_HIVE_NORMAL && isqueen(user)) + if(can_draw(faction, user)) data["canDraw"] = TRUE data["canViewTacmap"] = TRUE @@ -781,6 +784,8 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/drawing/status_tab_view/ui_static_data(mob/user) var/list/data = list() + + data["canvasCooldownDuration"] = CANVAS_COOLDOWN_TIME data["mapFallback"] = wiki_map_fallback data["canDraw"] = FALSE data["canViewTacmap"] = FALSE @@ -791,6 +796,8 @@ SUBSYSTEM_DEF(minimaps) /datum/tacmap/drawing/status_tab_view/xeno/ui_static_data(mob/user) var/list/data = list() + + data["canvasCooldownDuration"] = CANVAS_COOLDOWN_TIME data["mapFallback"] = wiki_map_fallback data["canDraw"] = FALSE data["canViewTacmap"] = FALSE @@ -814,16 +821,21 @@ SUBSYSTEM_DEF(minimaps) var/mob/user = ui.user var/mob/living/carbon/xenomorph/xeno = user var/faction = istype(xeno) ? xeno.hivenumber : user.faction - if(faction == FACTION_NEUTRAL && isobserver(user)) + var/is_observer = isobserver(user) + if(faction == FACTION_NEUTRAL && is_observer) faction = allowed_flags == MINIMAP_FLAG_XENO ? XENO_HIVE_NORMAL : FACTION_MARINE + var/drawing_allowed = !is_observer && can_draw(faction, user) switch (action) if ("menuSelect") - if(params["selection"] != "new canvas") + if(params["selection"] != "Canvas") if(updated_canvas) updated_canvas = FALSE toolbar_updated_selection = toolbar_color_selection // doing this if it == canvas can cause a latency issue with the stroke. else + if(!drawing_allowed) + msg_admin_niche("[key_name(user)] made an unauthorized attempt to 'menuSelect' the 'new canvas' panel of the [faction] tacmap!") + return FALSE distribute_current_map_png(faction) last_update_time = world.time // An attempt to get the image to load on first try in the interface, but doesn't seem always reliable @@ -832,60 +844,68 @@ SUBSYSTEM_DEF(minimaps) old_map = get_tacmap_data_png(faction) current_svg = get_tacmap_data_svg(faction) - if ("updateCanvas") - // forces state change, this will export the svg. + if("updateCanvas") toolbar_updated_selection = "export" updated_canvas = TRUE action_queue_change += 1 - if ("clearCanvas") + if("clearCanvas") toolbar_updated_selection = "clear" updated_canvas = FALSE action_queue_change += 1 - if ("undoChange") + if("undoChange") toolbar_updated_selection = "undo" updated_canvas = FALSE action_queue_change += 1 - if ("selectColor") + if("selectColor") var/newColor = params["color"] if(newColor) toolbar_color_selection = newColor toolbar_updated_selection = newColor action_queue_change += 1 - if ("onDraw") + if("onDraw") updated_canvas = FALSE - if ("selectAnnouncement") + if("selectAnnouncement") + if(!drawing_allowed) + msg_admin_niche("[key_name(user)] made an unauthorized attempt to 'selectAnnouncement' the [faction] tacmap!") + return FALSE + if(!istype(params["image"], /list)) // potentially very serious? return FALSE + var/cooldown_satisfied = FALSE if(faction == FACTION_MARINE) - GLOB.uscm_flat_tacmap_data += new_current_map + cooldown_satisfied = COOLDOWN_FINISHED(GLOB, uscm_canvas_cooldown) else if(faction == XENO_HIVE_NORMAL) - GLOB.xeno_flat_tacmap_data += new_current_map - - store_current_svg_coords(faction, params["image"], user) - current_svg = get_tacmap_data_svg(faction) - old_map = get_tacmap_data_png(faction) + cooldown_satisfied = COOLDOWN_FINISHED(GLOB, xeno_canvas_cooldown) + if(!cooldown_satisfied) + msg_admin_niche("[key_name(user)] attempted to 'selectAnnouncement' the [faction] tacmap while it is still on cooldown!") + return FALSE if(faction == FACTION_MARINE) - COOLDOWN_START(GLOB, uscm_canvas_cooldown, canvas_cooldown_time) - var/mob/living/carbon/human/human_leader = user + GLOB.uscm_flat_tacmap_data += new_current_map + COOLDOWN_START(GLOB, uscm_canvas_cooldown, CANVAS_COOLDOWN_TIME) for(var/datum/squad/current_squad in GLOB.RoleAuthority.squads) current_squad.send_maptext("Tactical map update in progress...", "Tactical Map:") + var/mob/living/carbon/human/human_leader = user human_leader.visible_message(SPAN_BOLDNOTICE("Tactical map update in progress...")) playsound_client(human_leader.client, "sound/effects/sos-morse-code.ogg") notify_ghosts(header = "Tactical Map", message = "The USCM tactical map has been updated.", ghost_sound = "sound/effects/sos-morse-code.ogg", notify_volume = 80, action = NOTIFY_USCM_TACMAP, enter_link = "uscm_tacmap=1", enter_text = "View", source = owner) - else if(faction == XENO_HIVE_NORMAL) + GLOB.xeno_flat_tacmap_data += new_current_map + COOLDOWN_START(GLOB, xeno_canvas_cooldown, CANVAS_COOLDOWN_TIME) + xeno_maptext("The Queen has updated our hive mind map", "We sense something unusual...", faction) var/mutable_appearance/appearance = mutable_appearance(icon('icons/mob/hud/actions_xeno.dmi'), "toggle_queen_zoom") - COOLDOWN_START(GLOB, xeno_canvas_cooldown, canvas_cooldown_time) - xeno_maptext("The Queen has updated your hive mind map", "You sense something unusual...", faction) notify_ghosts(header = "Tactical Map", message = "The Xenomorph tactical map has been updated.", ghost_sound = "sound/voice/alien_distantroar_3.ogg", notify_volume = 50, action = NOTIFY_XENO_TACMAP, enter_link = "xeno_tacmap=1", enter_text = "View", source = user, alert_overlay = appearance) + store_current_svg_coords(faction, params["image"], user) + current_svg = get_tacmap_data_svg(faction) + old_map = get_tacmap_data_png(faction) + toolbar_updated_selection = toolbar_color_selection message_admins("[key_name(user)] has updated the tactical map for [faction].") updated_canvas = FALSE @@ -995,3 +1015,7 @@ SUBSYSTEM_DEF(minimaps) if(XENO_HIVE_RENEGADE) return MINIMAP_FLAG_XENO_RENEGADE return 0 + +#undef CANVAS_COOLDOWN_TIME +#undef FLATTEN_MAP_COOLDOWN_TIME +#undef can_draw diff --git a/code/controllers/subsystem/processing/effects.dm b/code/controllers/subsystem/processing/effects.dm index 5dc9c5f7b9c2..095d557c1ad3 100644 --- a/code/controllers/subsystem/processing/effects.dm +++ b/code/controllers/subsystem/processing/effects.dm @@ -1,5 +1,4 @@ PROCESSING_SUBSYSTEM_DEF(effects) name = "Effects" wait = 1 SECONDS - flags = SS_NO_INIT | SS_KEEP_TIMING priority = SS_PRIORITY_EFFECTS diff --git a/code/controllers/subsystem/processing/fasteffects.dm b/code/controllers/subsystem/processing/fasteffects.dm new file mode 100644 index 000000000000..29d3857916f9 --- /dev/null +++ b/code/controllers/subsystem/processing/fasteffects.dm @@ -0,0 +1,4 @@ +PROCESSING_SUBSYSTEM_DEF(fasteffects) + name = "Fast Effects" + wait = 0.2 SECONDS + priority = SS_PRIORITY_FASTEFFECTS diff --git a/code/controllers/subsystem/processing/oldeffects.dm b/code/controllers/subsystem/processing/oldeffects.dm new file mode 100644 index 000000000000..d2b217f5fc9d --- /dev/null +++ b/code/controllers/subsystem/processing/oldeffects.dm @@ -0,0 +1,5 @@ +PROCESSING_SUBSYSTEM_DEF(oldeffects) + name = "Old Effects" + wait = 1 SECONDS + flags = SS_NO_INIT | SS_KEEP_TIMING + priority = SS_PRIORITY_OLDEFFECTS diff --git a/code/controllers/subsystem/techtree.dm b/code/controllers/subsystem/techtree.dm index 04ac2591bc15..5f22373228f0 100644 --- a/code/controllers/subsystem/techtree.dm +++ b/code/controllers/subsystem/techtree.dm @@ -34,17 +34,6 @@ SUBSYSTEM_DEF(techtree) var/datum/space_level/zpos = SSmapping.add_new_zlevel(tree.name, list(ZTRAIT_TECHTREE)) tree.zlevel = zpos - var/zlevel = zpos.z_value - var/turf/z_min = locate(1, 1, zlevel) - var/turf/z_max = locate(world.maxx, world.maxy, zlevel) - - - - for(var/t in block(z_min, z_max)) - var/turf/Tu = t - Tu.ChangeTurf(/turf/closed/void, list(/turf/closed/void)) - new /area/techtree(Tu) - for(var/tier in tree.tree_tiers) tree.unlocked_techs += tier tree.all_techs += tier diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 4b4468c08429..c6d6f008acd6 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -478,7 +478,6 @@ SUBSYSTEM_DEF(ticker) winset(C, null, "mainwindow.icon=[SSticker.mode.taskbar_icon]") - /datum/controller/subsystem/ticker/proc/hijack_ocurred() if(mode) mode.is_in_endgame = TRUE diff --git a/code/datums/ammo/ammo.dm b/code/datums/ammo/ammo.dm index cff78f5fb553..48a387e54d20 100644 --- a/code/datums/ammo/ammo.dm +++ b/code/datums/ammo/ammo.dm @@ -164,7 +164,8 @@ /datum/ammo/proc/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob - target.apply_effect(0.7, WEAKEN) // 0.9 seconds of stun, per agreement from Balance Team when switched from MC stuns to exact stuns + target.Stun(0.7) // Previous comment said they believed 0.7 was 0.9s and that the balance team approved this. Geez... + target.KnockDown(0.7) target.apply_effect(1, SUPERSLOW) target.apply_effect(2, SLOW) to_chat(target, SPAN_XENODANGER("You are shaken by the sudden impact!")) diff --git a/code/datums/ammo/bullet/rifle.dm b/code/datums/ammo/bullet/rifle.dm index b6085572e3b9..0be6f1db8ff4 100644 --- a/code/datums/ammo/bullet/rifle.dm +++ b/code/datums/ammo/bullet/rifle.dm @@ -175,7 +175,8 @@ if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) - target.apply_effect(0.5, WEAKEN) + target.KnockDown(0.5) // purely for visual effect, noone actually cares + target.Stun(0.5) target.apply_effect(2, SUPERSLOW) target.apply_effect(5, SLOW) else diff --git a/code/datums/ammo/bullet/shotgun.dm b/code/datums/ammo/bullet/shotgun.dm index 77e1e6401472..96ac4cb6ba04 100644 --- a/code/datums/ammo/bullet/shotgun.dm +++ b/code/datums/ammo/bullet/shotgun.dm @@ -25,7 +25,8 @@ if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) - target.apply_effect(0.5, WEAKEN) + target.KnockDown(0.5) // If you ask me the KD should be left out, but players like their visual cues + target.Stun(0.5) target.apply_effect(1, SUPERSLOW) target.apply_effect(3, SLOW) else @@ -249,7 +250,8 @@ if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) - target.apply_effect(0.5, WEAKEN) + target.KnockDown(0.5) // If you ask me the KD should be left out, but players like their visual cues + target.Stun(0.5) target.apply_effect(2, SUPERSLOW) target.apply_effect(5, SLOW) else @@ -338,7 +340,8 @@ return shake_camera(M, 3, 4) - M.apply_effect(2, WEAKEN) + M.KnockDown(2) // If you ask me the KD should be left out, but players like their visual cues + M.Stun(2) M.apply_effect(4, SLOW) if(iscarbonsizexeno(M)) to_chat(M, SPAN_XENODANGER("The impact knocks you off your feet!")) @@ -351,7 +354,8 @@ if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) - target.apply_effect(0.5, WEAKEN) + target.KnockDown(0.5) // If you ask me the KD should be left out, but players like their visual cues + target.Stun(0.5) target.apply_effect(2, SUPERSLOW) target.apply_effect(5, SLOW) else diff --git a/code/datums/ammo/bullet/special_ammo.dm b/code/datums/ammo/bullet/special_ammo.dm index cdf30b1af7fe..3d53c6b0c0d0 100644 --- a/code/datums/ammo/bullet/special_ammo.dm +++ b/code/datums/ammo/bullet/special_ammo.dm @@ -108,6 +108,9 @@ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff) )) +/datum/ammo/bullet/machinegun/doorgun + flags_ammo_behavior = AMMO_BALLISTIC | AMMO_IGNORE_COVER + /datum/ammo/bullet/machinegun/auto // for M2C, automatic variant for M56D, stats for bullet should always be moderately overtuned to fulfill its ultra-offense + flank-push purpose name = "heavy machinegun bullet" diff --git a/code/datums/ammo/energy.dm b/code/datums/ammo/energy.dm index 01c69ffa0015..27d2b7d4e0c5 100644 --- a/code/datums/ammo/energy.dm +++ b/code/datums/ammo/energy.dm @@ -103,8 +103,8 @@ icon_state = "shrapnel_plasma" damage_type = BURN -/datum/ammo/bullet/shrapnel/plasma/on_hit_mob(mob/hit_mob, obj/projectile/hit_projectile) - hit_mob.apply_effect(2, WEAKEN) +/datum/ammo/bullet/shrapnel/plasma/on_hit_mob(mob/living/hit_mob, obj/projectile/hit_projectile) + hit_mob.Stun(2) /datum/ammo/energy/yautja/caster name = "root caster bolt" @@ -141,12 +141,8 @@ log_attack("[key_name(C)] was stunned by a high power stun bolt from [key_name(P.firer)] at [get_area(P)]") if(ishuman(C)) - var/mob/living/carbon/human/H = C stun_time++ - H.apply_effect(stun_time, WEAKEN) - else - M.apply_effect(stun_time, WEAKEN) - + C.apply_effect(stun_time, WEAKEN) C.apply_effect(stun_time, STUN) ..() @@ -217,12 +213,7 @@ continue to_chat(M, SPAN_DANGER("A powerful electric shock ripples through your body, freezing you in place!")) M.apply_effect(stun_time, STUN) - - if (ishuman(M)) - var/mob/living/carbon/human/H = M - H.apply_effect(stun_time, WEAKEN) - else - M.apply_effect(stun_time, WEAKEN) + M.apply_effect(stun_time, WEAKEN) /datum/ammo/energy/yautja/rifle/bolt name = "plasma rifle bolt" diff --git a/code/datums/ammo/rocket.dm b/code/datums/ammo/rocket.dm index 52914f745110..66a9f65bdcdd 100644 --- a/code/datums/ammo/rocket.dm +++ b/code/datums/ammo/rocket.dm @@ -65,7 +65,6 @@ /datum/ammo/rocket/ap/on_hit_mob(mob/M, obj/projectile/P) var/turf/T = get_turf(M) M.ex_act(150, P.dir, P.weapon_cause_data, 100) - M.apply_effect(2, WEAKEN) M.apply_effect(2, PARALYZE) if(ishuman_strict(M)) // No yautya or synths. Makes humans gib on direct hit. M.ex_act(300, P.dir, P.weapon_cause_data, 100) @@ -84,7 +83,6 @@ var/hit_something = 0 for(var/mob/M in T) M.ex_act(150, P.dir, P.weapon_cause_data, 100) - M.apply_effect(4, WEAKEN) M.apply_effect(4, PARALYZE) hit_something = 1 continue diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 9ecc9ebf9321..654ab88c7abc 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -49,8 +49,9 @@ if(!isxeno(M)) if(insta_neuro) - if(M.GetKnockDownValueNotADurationDoNotUse() < 3) // If they have less than somewhere random between 4 and 6 seconds KD left and assuming it doesnt get refreshed itnernally - M.adjust_effect(1 * power, WEAKEN) + if(M.GetKnockDownDuration() < 3) // Why are you not using KnockDown(3) ? Do you even know 3 is SIX seconds ? So many questions left unanswered. + M.KnockDown(power) + M.Stun(power) return if(ishuman(M)) @@ -65,8 +66,9 @@ no_clothes_neuro = TRUE if(no_clothes_neuro) - if(M.GetKnockDownValueNotADurationDoNotUse() < 5) // If they have less than somewhere random between 8 and 10 seconds KD left and assuming it doesnt get refreshed itnernally - M.adjust_effect(1 * power, WEAKEN) // KD them a bit more + if(M.GetKnockDownDuration() < 5) // Nobody actually knows what this means. Supposedly it means less than 10 seconds. Frankly if you get locked into 10s of knockdown to begin with there are bigger issues. + M.KnockDown(power) + M.Stun(power) M.visible_message(SPAN_DANGER("[M] falls prone.")) /proc/apply_scatter_neuro(mob/living/M) @@ -79,9 +81,9 @@ H.visible_message(SPAN_DANGER("[M] shrugs off the neurotoxin!")) return - if(M.GetKnockDownValueNotADurationDoNotUse() < 0.7) // basically (knocked_down && prob(90)) - M.apply_effect(0.7, WEAKEN) - M.visible_message(SPAN_DANGER("[M] falls prone.")) + M.KnockDown(0.7) // Completely arbitrary values from another time where stun timers incorrectly stacked. Kill as needed. + M.Stun(0.7) + M.visible_message(SPAN_DANGER("[M] falls prone.")) /datum/ammo/xeno/toxin/on_hit_mob(mob/M,obj/projectile/P) if(ishuman(M)) diff --git a/code/datums/components/weed_food.dm b/code/datums/components/weed_food.dm index 648478aa6140..2335a053412f 100644 --- a/code/datums/components/weed_food.dm +++ b/code/datums/components/weed_food.dm @@ -6,15 +6,19 @@ desc = "Weird black weeds in the shape of a body..." gender = PLURAL vis_flags = VIS_INHERIT_DIR|VIS_INHERIT_PLANE|VIS_INHERIT_LAYER + mouse_opacity = MOUSE_OPACITY_TRANSPARENT icon = 'icons/mob/xenos/weeds.dmi' - var/static/list/icon_states = list("human_1","human_2","human_3","human_4","human_5") - var/static/list/icon_states_flipped = list("human_1_f","human_2_f","human_3_f","human_4_f","human_5_f") + var/list/icon_states + var/list/icon_states_flipped var/icon_state_idx = 0 var/timer_id = null var/flipped = FALSE -/atom/movable/vis_obj/weed_food/Initialize(mapload, is_flipped, ...) +/atom/movable/vis_obj/weed_food/Initialize(mapload, is_flipped, weeds_icon, states, states_flipped, ...) flipped = is_flipped + icon = weeds_icon + icon_states = states + icon_states_flipped = states_flipped timer_id = addtimer(CALLBACK(src, PROC_REF(on_animation_timer)), WEED_FOOD_STATE_DELAY, TIMER_STOPPABLE|TIMER_UNIQUE|TIMER_LOOP|TIMER_DELETE_ME) on_animation_timer() return ..() @@ -22,6 +26,7 @@ /// Timer callback for changing the icon_state /atom/movable/vis_obj/weed_food/proc/on_animation_timer() icon_state_idx++ + // Assumption: Length of icon_states is the same as icon_states_flipped if(icon_state_idx > length(icon_states)) deltimer(timer_id) timer_id = null @@ -50,6 +55,8 @@ var/turf/parent_turf /// The obj that our parent is buckled to and we have registered a signal var/obj/parent_buckle + /// A nest our parent is buckled to and we have registered a signal + var/obj/structure/bed/nest/parent_nest /// The weeds that we are merging/merged with var/obj/effect/alien/weeds/absorbing_weeds /// The overlay image when merged @@ -57,10 +64,9 @@ /datum/component/weed_food/Initialize(...) parent_mob = parent - //if(!istype(parent_mob)) - //return COMPONENT_INCOMPATIBLE - if(!istype(parent_mob, /mob/living/carbon/human)) - return COMPONENT_INCOMPATIBLE // TODO: At the moment we only support humans + // At the moment we only support humans and xenos + if(!istype(parent_mob, /mob/living/carbon/human) && !istype(parent_mob, /mob/living/carbon/xenomorph)) + return COMPONENT_INCOMPATIBLE parent_turf = get_turf(parent_mob) if(parent_turf != parent_mob.loc) @@ -78,6 +84,7 @@ QDEL_NULL(weed_appearance) parent_mob = null parent_turf = null + parent_buckle = null /datum/component/weed_food/RegisterWithParent() RegisterSignal(parent_mob, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) @@ -100,6 +107,8 @@ UnregisterSignal(parent_turf, COMSIG_WEEDNODE_GROWTH) if(parent_buckle) UnregisterSignal(parent_buckle, COSMIG_OBJ_AFTER_BUCKLE) + if(parent_nest) + UnregisterSignal(parent_nest, COMSIG_PARENT_QDELETING) /// SIGNAL_HANDLER for COMSIG_MOVABLE_MOVED /datum/component/weed_food/proc/on_move() @@ -160,6 +169,15 @@ unmerge_with_weeds() return +/// SIGNAL_HANDLER for COMSIG_PARENT_QDELETING of nest +/datum/component/weed_food/proc/on_nest_deletion() + SIGNAL_HANDLER + + if(merged) + parent_mob.plane = FLOOR_PLANE + UnregisterSignal(parent_nest, COMSIG_PARENT_QDELETING) + parent_nest = null + /** * Try to start the process to turn into weeds * Returns TRUE if started successfully @@ -243,6 +261,10 @@ parent_buckle = parent_mob.buckled RegisterSignal(parent_mob.buckled, COSMIG_OBJ_AFTER_BUCKLE, PROC_REF(on_after_buckle)) return FALSE + else + parent_nest = parent_mob.buckled + RegisterSignal(parent_nest, COMSIG_PARENT_QDELETING, PROC_REF(on_nest_deletion)) + if(parent_buckle) UnregisterSignal(parent_buckle, COSMIG_OBJ_AFTER_BUCKLE) parent_buckle = null @@ -263,16 +285,16 @@ ADD_TRAIT(parent_mob, TRAIT_MERGED_WITH_WEEDS, XENO_WEED_TRAIT) parent_mob.anchored = TRUE parent_mob.mouse_opacity = MOUSE_OPACITY_TRANSPARENT - parent_mob.plane = FLOOR_PLANE + if(!parent_nest) + parent_mob.plane = FLOOR_PLANE parent_mob.remove_from_all_mob_huds() if(!weed_appearance) // Make a new sprite if we aren't re-merging var/is_flipped = parent_mob.transform.b == -1 // Technically we should check if d is 1 too, but corpses can only be rotated 90 or 270 (1/-1 or -1/1) if(parent_mob.dir & WEST) is_flipped = !is_flipped // The direction reversed the effect of the flip! - weed_appearance = new(null, is_flipped) + weed_appearance = new(null, is_flipped, parent_mob.weed_food_icon, parent_mob.weed_food_states, parent_mob.weed_food_states_flipped) weed_appearance.color = absorbing_weeds.color - // TODO: For non-humans change the icon_state or something here parent_mob.vis_contents += weed_appearance return TRUE @@ -289,6 +311,10 @@ UnregisterSignal(absorbing_weeds, COMSIG_PARENT_QDELETING) absorbing_weeds = null + if(parent_nest) + UnregisterSignal(parent_nest, COMSIG_PARENT_QDELETING) + parent_nest = null + REMOVE_TRAIT(parent_mob, TRAIT_MERGED_WITH_WEEDS, XENO_WEED_TRAIT) parent_mob.anchored = FALSE parent_mob.mouse_opacity = MOUSE_OPACITY_ICON diff --git a/code/datums/construction/xenomorph/construction_template_xenomorph.dm b/code/datums/construction/xenomorph/construction_template_xenomorph.dm index 46b7e797632f..0bddbeecf359 100644 --- a/code/datums/construction/xenomorph/construction_template_xenomorph.dm +++ b/code/datums/construction/xenomorph/construction_template_xenomorph.dm @@ -4,7 +4,9 @@ name = "xenomorph structure" build_type = /obj/effect/alien/resin/special crystals_required = 45 * XENO_STRUCTURE_PLASMA_MULTIPLIER - var/datum/hive_status/hive_ref //Who gets what we build + /// The hive that this structure belongs to. + var/datum/hive_status/hive_ref + /// The range around this structure which needs to be clear for it to be constructed. var/block_range = 1 /datum/construction_template/xenomorph/set_structure_image() @@ -24,6 +26,7 @@ /datum/construction_template/xenomorph/core name = XENO_STRUCTURE_CORE + description = "Heart of the hive, grows hive weeds (which are necessary for other structures), stores larva, spawns lesser drones, and protects the hive from skyfire." build_type = /obj/effect/alien/resin/special/pylon/core build_icon_state = "core" crystals_required = 100 * XENO_STRUCTURE_PLASMA_MULTIPLIER @@ -31,6 +34,7 @@ /datum/construction_template/xenomorph/cluster name = XENO_STRUCTURE_CLUSTER + description = "Remote section of the hive, grows hive weeds, and morphs into a hive pylon when placed near a communications tower." build_type = /obj/effect/alien/resin/special/cluster build_icon_state = "hive_cluster" pixel_y = -8 @@ -43,6 +47,7 @@ /datum/construction_template/xenomorph/pylon name = XENO_STRUCTURE_PYLON + description = "Remote section of the hive, grows hive weeds, spawns lesser drones, and protects sisters from air strikes." build_type = /obj/effect/alien/resin/special/pylon build_icon_state = "pylon" crystals_required = 100 * XENO_STRUCTURE_PLASMA_MULTIPLIER @@ -50,16 +55,19 @@ /datum/construction_template/xenomorph/eggmorph name = XENO_STRUCTURE_EGGMORPH + description = "Processes hatched hosts into new facehuggers." build_type = /obj/effect/alien/resin/special/eggmorph build_icon_state = "eggmorph_preview" /datum/construction_template/xenomorph/recovery name = XENO_STRUCTURE_RECOVERY + description = "Hastily recovers the strength of sisters resting around it." build_type = /obj/effect/alien/resin/special/recovery build_icon_state = "recovery" /datum/construction_template/xenomorph/nest name = XENO_STRUCTURE_NEST + description = "Strong enough to secure a headhunter for indeterminate durations." build_type = /obj/effect/alien/resin/special/nest build_icon_state = "reinforced_nest" @@ -101,3 +109,5 @@ xeno_message(SPAN_XENOWARNING("This structure needs to be built directly next to an vertical surface."), 7, XENO_HIVE_NORMAL) qdel(owner) qdel(src) + +#undef XENO_STRUCTURE_PLASMA_MULTIPLIER diff --git a/code/datums/diseases/black_goo.dm b/code/datums/diseases/black_goo.dm index d4d9b6f50996..7ee83f4def9c 100644 --- a/code/datums/diseases/black_goo.dm +++ b/code/datums/diseases/black_goo.dm @@ -1,100 +1,128 @@ //Disease Datum /datum/disease/black_goo name = "Black Goo" - max_stages = 5 + max_stages = 3 cure = "Anti-Zed" cure_id = "antiZed" spread = "Bites" spread_type = SPECIAL affected_species = list("Human") - curable = 0 - cure_chance = 100 - desc = "" + cure_chance = 100 //meaning the cure will kill the virus asap severity = "Medium" agent = "Unknown Biological Organism X-65" hidden = list(1,0) //Hidden from med-huds, but not pandemic scanners. BLOOD TESTS FOR THE WIN permeability_mod = 2 - stage_prob = 4 - stage_minimum_age = 150 - survive_mob_death = TRUE //FALSE //switch to true to make dead infected humans still transform - longevity = 500 //should allow the dead to rise - var/zombie_transforming = 0 //whether we're currently transforming the host into a zombie. - var/goo_message_cooldown = 0 //to make sure we don't spam messages too often. - var/stage_counter = 0 // tells a dead infectee their stage, so they can know when-abouts they'll revive + survive_mob_death = TRUE //We want the dead to turn into zombie. + longevity = 500 //the virus tend to die before the dead is turn into zombie this should fix it. + stage_prob = 0//no randomness + + /// whether we're currently transforming the host into a zombie. + var/zombie_transforming = 0 + /// tells a dead infectee their stage, so they can know when-abouts they'll revive + var/stage_counter = 0 + +//new variables to handle infection progression inside a stage. + + /// variable that contain accumulated virus progression for an host. + var/stage_level = 0 + /// variable that handle passive increase of the virus of an host. + var/infection_rate = 1 + + ///the number of stage level needed to pass another stage. + var/stage_level_check = 360 + + /// cooldown between each check to see if we display a symptome idea is to get 60s between symptome atleast. + var/message_cooldown_time = 1 MINUTES + COOLDOWN_DECLARE(goo_message_cooldown) /datum/disease/black_goo/stage_act() ..() if(!ishuman(affected_mob)) return var/mob/living/carbon/human/H = affected_mob - if(age > 1.5*stage_minimum_age) stage_prob = 100 //if it takes too long we force a stage increase - else stage_prob = initial(stage_prob) - if(H.stat == DEAD) stage_minimum_age = 75 //the virus progress faster when the host is dead. + // check if your already a zombie or in the process of being transform into one... + if(iszombie(H)) + return + + // check if dead + if(H.stat == DEAD) + infection_rate = 4 + + // check if he isn't dead + if(H.stat != DEAD) + infection_rate = 1 + + // here we add the new infection rate to the stage level. + stage_level += infection_rate + + // we want to check if we have reach enough stage level to gain a stage 3 stage of 6 min if you get it once. + if(stage_level >= stage_level_check) + stage++ + stage_level -= stage_level_check + switch(stage) if(1) if(H.stat == DEAD && stage_counter != stage) - to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at Stage One! Zombie transformation begins at Stage Four.")) + to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at stage one! Zombie transformation begins at stage three.")) stage_counter = stage - survive_mob_death = TRUE //changed because infection rate was REALLY horrible. - if(goo_message_cooldown < world.time ) - if(prob(3)) - to_chat(affected_mob, SPAN_DANGER("You feel really warm...")) - goo_message_cooldown = world.time + 100 + + if (!COOLDOWN_FINISHED(src, goo_message_cooldown)) + return + COOLDOWN_START(src, goo_message_cooldown, message_cooldown_time) + + switch(rand(0, 100)) + if(0 to 25) + return + if(25 to 75) + to_chat(affected_mob, SPAN_DANGER("You feel warm...")) + stage_level += 9 + if(75 to 95) + to_chat(affected_mob, SPAN_DANGER("Your throat is really dry...")) + stage_level += 18 + if(95 to 100) + to_chat(affected_mob, SPAN_DANGER("You can't trust them...")) + stage_level += 36 + if(2) if(H.stat == DEAD && stage_counter != stage) - to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at Stage Two! Zombie transformation begins at Stage Four.")) - stage_counter = stage - if(goo_message_cooldown < world.time) - if (prob(3)) to_chat(affected_mob, SPAN_DANGER("Your throat is really dry...")) - else if (prob(6)) to_chat(affected_mob, SPAN_DANGER("You feel really warm...")) - else if (prob(2)) H.vomit_on_floor() - goo_message_cooldown = world.time + 100 - if(3) - if(H.stat == DEAD && stage_counter != stage) - to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at Stage Three! Zombie transformation begins at Stage Four, which will be soon.")) + to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at stage two! Zombie transformation begins at stage three.")) stage_counter = stage - hidden = list(0,0) - //survive_mob_death = TRUE //even if host dies now, the transformation will occur. - H.next_move_slowdown = max(H.next_move_slowdown, 1) - if(goo_message_cooldown < world.time) - if (prob(3)) - to_chat(affected_mob, SPAN_DANGER("You cough up some black fluid...")) - goo_message_cooldown = world.time + 100 - else if (prob(6)) - to_chat(affected_mob, SPAN_DANGER("Your throat is really dry...")) - goo_message_cooldown = world.time + 100 - else if (prob(9)) + + if (!COOLDOWN_FINISHED(src, goo_message_cooldown)) + return + COOLDOWN_START(src, goo_message_cooldown, message_cooldown_time) + + switch(rand(0, 100)) + if(0 to 25) + return + if(25 to 50) + to_chat(affected_mob, SPAN_DANGER("You can't trust them...")) + stage_level += 5 + if(50 to 75) to_chat(affected_mob, SPAN_DANGER("You feel really warm...")) - goo_message_cooldown = world.time + 100 - else if(prob(5)) - goo_message_cooldown = world.time + 100 + stage_level += 9 + if(75 to 85) + to_chat(affected_mob, SPAN_DANGER("Your throat is really dry...")) + stage_level += 18 + if(85 to 95) H.vomit_on_floor() - if(4) + stage_level += 36 + if(95 to 100) + to_chat(affected_mob, SPAN_DANGER("You cough up some black fluid...")) + stage_level += 42 + + if(3) + //check if your already a zombie just return to avoid weird stuff... if for some weird reason first filter deoesn't work... + if(iszombie(H)) + return + if(H.stat == DEAD && stage_counter != stage) - to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at Stage Four! Your transformation will happen any moment now.")) + to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at stage three! Zombie transformation begin!")) stage_counter = stage + hidden = list(0,0) + if(!zombie_transforming) + zombie_transform(H) H.next_move_slowdown = max(H.next_move_slowdown, 2) - if(prob(5) || age >= stage_minimum_age-1) - if(!zombie_transforming) - zombie_transform(H) - else if(prob(5)) - H.vomit_on_floor() - if(5) - if(H.stat == DEAD && stage_counter != stage) - stage_counter = stage - if(H.species.name != SPECIES_ZOMBIE && !zombie_transforming) - to_chat(H, SPAN_CENTERBOLD("Your zombie infection is now at Stage Five! Your transformation should have happened already, but will be forced now.")) - zombie_transform(H) - if(!zombie_transforming && prob(50)) - if(H.stat != DEAD) - var/healamt = 2 - if(H.health < H.maxHealth) - H.apply_damage(-healamt, BURN) - H.apply_damage(-healamt, BRUTE) - H.apply_damage(-healamt, TOX) - H.apply_damage(-healamt, OXY) - H.nutrition = NUTRITION_MAX //never hungry - /datum/disease/black_goo/proc/zombie_transform(mob/living/carbon/human/human) set waitfor = 0 @@ -113,7 +141,7 @@ playsound(human.loc, 'sound/hallucinations/wail.ogg', 25, 1) human.jitteriness = 0 human.set_species(SPECIES_ZOMBIE) - stage = 5 + stage = 3 human.faction = FACTION_ZOMBIE zombie_transforming = FALSE diff --git a/code/datums/effects/_effects.dm b/code/datums/effects/_effects.dm index 932dc44954fc..ea6823574f54 100644 --- a/code/datums/effects/_effects.dm +++ b/code/datums/effects/_effects.dm @@ -41,7 +41,7 @@ if(!validate_atom(thing) || QDELETED(thing)) qdel(src) return - START_PROCESSING(SSeffects, src) + START_PROCESSING(SSoldeffects, src) affected_atom = thing LAZYADD(affected_atom.effects_list, src) @@ -118,7 +118,7 @@ if(affected_atom) LAZYREMOVE(affected_atom.effects_list, src) affected_atom = null - STOP_PROCESSING(SSeffects, src) + STOP_PROCESSING(SSoldeffects, src) . = ..() diff --git a/code/datums/effects/xeno_strains/xeno_buff.dm b/code/datums/effects/xeno_strains/xeno_buff.dm index ad39a61dd13e..16a4bb82113e 100644 --- a/code/datums/effects/xeno_strains/xeno_buff.dm +++ b/code/datums/effects/xeno_strains/xeno_buff.dm @@ -21,7 +21,7 @@ if(!isxeno(A)) qdel(src) - to_chat(A, SPAN_XENONOTICE("You feel empowered")) + to_chat(A, SPAN_XENONOTICE("We feel empowered")) var/mob/living/carbon/xenomorph/X = A X.melee_damage_lower += bonus_damage @@ -47,7 +47,7 @@ /datum/effects/xeno_buff/Destroy() if(affected_atom) - to_chat(affected_atom, SPAN_XENONOTICE("You no longer feel empowered")) + to_chat(affected_atom, SPAN_XENONOTICE("We no longer feel empowered")) var/mob/living/carbon/xenomorph/X = affected_atom X.melee_damage_lower -= bonus_damage X.melee_damage_upper -= bonus_damage diff --git a/code/datums/keybinding/xenomorph.dm b/code/datums/keybinding/xenomorph.dm index 431b0a1e987f..cef04d01a75c 100644 --- a/code/datums/keybinding/xenomorph.dm +++ b/code/datums/keybinding/xenomorph.dm @@ -196,11 +196,11 @@ return if((!current_xeno.hive.living_xeno_queen || SSmapping.configs[GROUND_MAP].map_name == MAP_WHISKEY_OUTPOST) && !current_xeno.hive.allow_no_queen_actions) //No Hive status on WO - to_chat(current_xeno, SPAN_WARNING("There is no Queen. You are alone.")) + to_chat(current_xeno, SPAN_WARNING("There is no Queen. We are alone.")) return if(current_xeno.interference) - to_chat(current_xeno, SPAN_WARNING("A headhunter temporarily cut off your psychic connection!")) + to_chat(current_xeno, SPAN_WARNING("A headhunter temporarily cut off our psychic connection!")) return current_xeno.hive.hive_ui.open_hive_status(current_xeno) diff --git a/code/datums/medal_awards.dm b/code/datums/medal_awards.dm index 78fec7569582..ba8847c03661 100644 --- a/code/datums/medal_awards.dm +++ b/code/datums/medal_awards.dm @@ -174,9 +174,7 @@ GLOBAL_LIST_INIT(human_medals, list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_ME user.visible_message("ERROR: ID card not registered in USCM registry. Potential medal fraud detected.") return - var/real_owner_ref = card.registered_ref - - if(real_owner_ref != WEAKREF(user)) + if(!card.check_biometrics(user)) user.visible_message("ERROR: ID card not registered for [user.real_name] in USCM registry. Potential medal fraud detected.") return diff --git a/code/datums/skills/civilian.dm b/code/datums/skills/civilian.dm index 9b55adc9b1f4..53b7cb8c2194 100644 --- a/code/datums/skills/civilian.dm +++ b/code/datums/skills/civilian.dm @@ -70,7 +70,7 @@ CIVILIAN /datum/skills/civilian/survivor/goon name = "Survivor Goon" - skills = list( + additional_skills = list( SKILL_CQC = SKILL_CQC_TRAINED, SKILL_POLICE = SKILL_POLICE_SKILLED, SKILL_FIREMAN = SKILL_FIREMAN_SKILLED, diff --git a/code/datums/status_effects/_status_effect.dm b/code/datums/status_effects/_status_effect.dm new file mode 100644 index 000000000000..ddbd6366d98c --- /dev/null +++ b/code/datums/status_effects/_status_effect.dm @@ -0,0 +1,277 @@ +/// Status effects are used to apply temporary or permanent effects to mobs. +/// This file contains their code, plus code for applying and removing them. +/datum/status_effect + /// The ID of the effect. ID is used in adding and removing effects to check for duplicates, among other things. + var/id = "effect" + /// When set initially / in on_creation, this is how long the status effect lasts in deciseconds. + /// While processing, this becomes the world.time when the status effect will expire. + /// -1 = infinite duration. + VAR_PROTECTED/duration = -1 + /// Truthy once duration is initialized + VAR_PRIVATE/duration_set = FALSE + /// When set initially / in on_creation, this is how long between [proc/tick] calls in deciseconds. + /// Note that this cannot be faster than the processing subsystem you choose to fire the effect on. (See: [var/processing_speed]) + /// While processing, this becomes the world.time when the next tick will occur. + /// -1 = will prevent ticks, and if duration is also unlimited (-1), stop processing wholesale. + var/tick_interval = 1 SECONDS + /// The mob affected by the status effect. + var/mob/living/owner + /// How many of the effect can be on one mob, and/or what happens when you try to add a duplicate. + var/status_type = STATUS_EFFECT_UNIQUE + /// If TRUE, we call [proc/on_remove] when owner is deleted. Otherwise, we call [proc/be_replaced]. + var/on_remove_on_mob_delete = FALSE + /// The typepath to the alert thrown by the status effect when created. + /// Status effect "name"s and "description"s are shown to the owner here. + var/alert_type = /atom/movable/screen/alert/status_effect + /// The alert itself, created in [proc/on_creation] (if alert_type is specified). + var/atom/movable/screen/alert/status_effect/linked_alert + /// Used to define if the status effect should be using SSfasteffects or SSeffects + var/processing_speed = STATUS_EFFECT_FAST_PROCESS + /// Do we self-terminate when a fullheal is called? // CM note: this is rejuvenate + var/remove_on_fullheal = FALSE + + /* Unimplemented feature: Our Rejuv needs refactoring to work with this + /// If remove_on_fullheal is TRUE, what flag do we need to be removed? + var/heal_flag_necessary = HEAL_STATUS + */ + + /* Particle effects feature was cut due to lacking backend, feel free to add when we have backend */ + + /// Timer ID for triggering the effect end precisely + var/timerid + +/datum/status_effect/New(list/arguments) + on_creation(arglist(arguments)) + +/// Called from New() with any supplied status effect arguments. +/// Not guaranteed to exist by the end. +/// Returning FALSE from on_apply will stop on_creation and self-delete the effect. +/datum/status_effect/proc/on_creation(mob/living/new_owner, ...) + SHOULD_NOT_SLEEP(TRUE) // Don't sleep between duration_set and update_timer + if(new_owner) + owner = new_owner + if(QDELETED(owner) || !on_apply()) + qdel(src) + return + if(owner) + LAZYADD(owner.status_effects, src) + RegisterSignal(owner, COMSIG_LIVING_REJUVENATED, PROC_REF(remove_effect_on_heal)) + + if(duration != -1) + duration = world.time + duration + duration_set = TRUE + if(tick_interval != -1) + tick_interval = world.time + tick_interval + + if(alert_type) + var/atom/movable/screen/alert/status_effect/new_alert = owner.throw_alert(id, alert_type) + new_alert.attached_effect = src //so the alert can reference us, if it needs to + linked_alert = new_alert //so we can reference the alert, if we need to + + if(duration > world.time || tick_interval > world.time) //don't process if we don't care + switch(processing_speed) + if(STATUS_EFFECT_FAST_PROCESS) + START_PROCESSING(SSfasteffects, src) + if(STATUS_EFFECT_NORMAL_PROCESS) + START_PROCESSING(SSeffects, src) + update_timer() + + update_particles() + + return TRUE + +/datum/status_effect/Destroy() + if(timerid) + deltimer(timerid) + switch(processing_speed) + if(STATUS_EFFECT_FAST_PROCESS) + STOP_PROCESSING(SSfasteffects, src) + if(STATUS_EFFECT_NORMAL_PROCESS) + STOP_PROCESSING(SSeffects, src) + if(owner) + linked_alert = null + owner.clear_alert(id) + LAZYREMOVE(owner.status_effects, src) + on_remove() + UnregisterSignal(owner, COMSIG_LIVING_REJUVENATED) + owner = null + return ..() + +// Status effect process. Handles adjusting its duration and ticks. +// If you're adding processed effects, put them in [proc/tick] +// instead of extending / overriding the process() proc. +/datum/status_effect/process(seconds_per_tick) + SHOULD_NOT_OVERRIDE(TRUE) + if(QDELETED(owner)) + qdel(src) + return + if(tick_interval != -1 && tick_interval < world.time) + var/tick_length = initial(tick_interval) + tick(tick_length / (1 SECONDS)) + tick_interval = world.time + tick_length + if(QDELING(src)) + // tick deleted us, no need to continue + return + + // Timer and update procs should basically always handle this, it's a safety net + if(!timerid && duration != -1 && duration < world.time) + qdel(src) + else + update_timer() // Attempt to start up end timer + +/// Updates the timer used for precisely ending the effect +/// We force_refresh if the duration changed otherwise than ticking down +/datum/status_effect/proc/update_timer(force_refresh = FALSE) + if(duration == -1 || duration <= world.time) // infinite or expired + return + else if(duration - world.time <= STATUS_EFFECT_TIME_THRESHOLD) + if(!timerid || force_refresh) + timerid = addtimer(CALLBACK(src, PROC_REF(timer_callback)), duration - world.time, TIMER_OVERRIDE|TIMER_UNIQUE|TIMER_STOPPABLE|TIMER_NO_HASH_WAIT) + else if(timerid) + deltimer(timerid) + timerid = null + +/// Timer invocation callback to end the effect +/datum/status_effect/proc/timer_callback() + if(timerid) + timerid = null + qdel(src) // shrimple as that + +/// Called when the effect is applied in on_created +/// Returning FALSE will cause it to delete itself during creation instead. +/datum/status_effect/proc/on_apply() + return TRUE + +/// Gets and formats examine text associated with our status effect. +/// Return 'null' to have no examine text appear (default behavior). +/datum/status_effect/proc/get_examine_text() + return null + +/** + * Called every tick from process(). + * This is only called of tick_interval is not -1. + * + * Note that every tick =/= every processing cycle. + * + * * seconds_between_ticks = This is how many SECONDS that elapse between ticks. + * This is a constant value based upon the initial tick interval set on the status effect. + * It is similar to seconds_per_tick, from processing itself, but adjusted to the status effect's tick interval. + */ +/datum/status_effect/proc/tick(seconds_between_ticks) + return + +/// Called whenever the buff expires or is removed (qdeleted) +/// Note that at the point this is called, it is out of the +/// owner's status_effects list, but owner is not yet null +/datum/status_effect/proc/on_remove() + return + +/// Called instead of on_remove when a status effect +/// of status_type STATUS_EFFECT_REPLACE is replaced by itself, +/// or when a status effect with on_remove_on_mob_delete +/// set to FALSE has its mob deleted +/datum/status_effect/proc/be_replaced() + linked_alert = null + owner.clear_alert(id) + LAZYREMOVE(owner.status_effects, src) + owner = null + qdel(src) + +/// Called before being fully removed (before on_remove) +/// Returning FALSE will cancel removal +/datum/status_effect/proc/before_remove() + return TRUE + +/// Called when a status effect of status_type STATUS_EFFECT_REFRESH +/// has its duration refreshed in apply_status_effect - is passed New() args +/datum/status_effect/proc/refresh(effect, ...) + var/original_duration = initial(duration) + if(original_duration == -1) + return + duration = world.time + original_duration + update_timer(force_refresh = TRUE) + +/// Adds nextmove modifier multiplicatively to the owner while applied +/datum/status_effect/proc/nextmove_modifier() + return 1 + +/// Adds nextmove adjustment additiviely to the owner while applied +/datum/status_effect/proc/nextmove_adjust() + return 0 + +/// Signal proc for [COMSIG_LIVING_REJUVENATED] to remove us on fullheal +/datum/status_effect/proc/remove_effect_on_heal(datum/source, heal_flags) + SIGNAL_HANDLER + + if(!remove_on_fullheal) + return + +// if(!heal_flag_necessary || (heal_flags & heal_flag_necessary)) +// qdel(src) + qdel(src) + +/// Updates the duration of the status effect to the given [amount] of deciseconds from now, qdeling / ending if we eclipse the current world time. +/// If increment is truthy, we only update if the resulting amount is higher. +/datum/status_effect/proc/update_duration(amount, increment = FALSE) + if(!duration_set) // Barebones setter for before we start everything up + if(increment) + duration = max(duration, amount) + else + duration = amount + return FALSE + if(duration == -1) // Infinite duration + return FALSE + var/new_duration = world.time + amount + if(increment && duration >= new_duration) + return FALSE + duration = new_duration + if(duration <= world.time) + qdel(src) + return TRUE + update_timer(force_refresh = TRUE) + return FALSE + +/// Updates the duration of the status effect to the given [amount] of deciseconds from its current set ending +/datum/status_effect/proc/adjust_duration(amount) + if(!duration_set) + duration += amount + return FALSE + if(duration == -1) + return FALSE + var/remaining = duration - world.time + remaining += amount + return update_duration(remaining) + +/// Remove [amount] of duration (in deciseconds) from the status effect. Compatibility handler with /tg/. +/datum/status_effect/proc/remove_duration(amount) + adjust_duration(-amount) + +/// Get duration left on the effect +/datum/status_effect/proc/get_duration_left() + if(!duration_set) + return -1 + var/remaining = duration - world.time + if(remaining < 0) + return -1 + return remaining + + +/** + * Updates the particles for the status effects + * Should be handled by subtypes! + */ + +/datum/status_effect/proc/update_particles() + SHOULD_CALL_PARENT(FALSE) + +/// Alert base type for status effect alerts +/atom/movable/screen/alert/status_effect + name = "Curse of Mundanity" + desc = "You don't feel any different..." + /// The status effect we're linked to + var/datum/status_effect/attached_effect + +/atom/movable/screen/alert/status_effect/Destroy() + attached_effect = null //Don't keep a ref now + return ..() + diff --git a/code/datums/status_effects/_status_effect_helpers.dm b/code/datums/status_effects/_status_effect_helpers.dm new file mode 100644 index 000000000000..0ee952200610 --- /dev/null +++ b/code/datums/status_effects/_status_effect_helpers.dm @@ -0,0 +1,136 @@ + +// Status effect helpers for living mobs + +/** + * Applies a given status effect to this mob. + * + * new_effect - TYPEPATH of a status effect to apply. + * Additional status effect arguments can be passed. + * + * Returns the instance of the created effected, if successful. + * Returns 'null' if unsuccessful. + */ +/mob/living/proc/apply_status_effect(datum/status_effect/new_effect, ...) + RETURN_TYPE(/datum/status_effect) + + // The arguments we pass to the start effect. The 1st argument is this mob. + var/list/arguments = args.Copy() + arguments[1] = src + + // If the status effect we're applying doesn't allow multiple effects, we need to handle it + if(initial(new_effect.status_type) != STATUS_EFFECT_MULTIPLE) + for(var/datum/status_effect/existing_effect as anything in status_effects) + if(existing_effect.id != initial(new_effect.id)) + continue + + switch(existing_effect.status_type) + // Multiple are allowed, continue as normal. (Not normally reachable) + if(STATUS_EFFECT_MULTIPLE) + break + // Only one is allowed of this type - early return + if(STATUS_EFFECT_UNIQUE) + return + // Replace the existing instance (deletes it). + if(STATUS_EFFECT_REPLACE) + existing_effect.be_replaced() + // Refresh the existing type, then early return + if(STATUS_EFFECT_REFRESH) + existing_effect.refresh(arglist(arguments)) + return + + // Create the status effect with our mob + our arguments + var/datum/status_effect/new_instance = new new_effect(arguments) + if(!QDELETED(new_instance)) + return new_instance + +/** + * Removes all instances of a given status effect from this mob + * + * removed_effect - TYPEPATH of a status effect to remove. + * Additional status effect arguments can be passed - these are passed into before_remove. + * + * Returns TRUE if at least one was removed. + */ +/mob/living/proc/remove_status_effect(datum/status_effect/removed_effect, ...) + var/list/arguments = args.Copy(2) + + . = FALSE + for(var/datum/status_effect/existing_effect as anything in status_effects) + if(existing_effect.id == initial(removed_effect.id) && existing_effect.before_remove(arguments)) + qdel(existing_effect) + . = TRUE + + return . + +/** + * Checks if this mob has a status effect that shares the passed effect's ID + * + * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath + * + * Returns an instance of a status effect, or NULL if none were found. + */ +/mob/proc/has_status_effect(datum/status_effect/checked_effect) + // Yes I'm being cringe and putting this on the mob level even though status effects only apply to the living level + // There's quite a few places (namely examine and, bleh, cult code) where it's easier to not need to cast to living before checking + // for an effect such as blindness + return null + +/mob/living/has_status_effect(datum/status_effect/checked_effect) + RETURN_TYPE(/datum/status_effect) + + for(var/datum/status_effect/present_effect as anything in status_effects) + if(present_effect.id == initial(checked_effect.id)) + return present_effect + + return null + +/** + * Checks if this mob has a status effect that shares the passed effect's ID + * and has the passed sources are in its list of sources (ONLY works for grouped efects!) + * + * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath + * + * Returns an instance of a status effect, or NULL if none were found. + */ +/mob/proc/has_status_effect_from_source(datum/status_effect/grouped/checked_effect, sources) + // See [/mob/proc/has_status_effect] for reason behind having this on the mob level + return null + +/mob/living/has_status_effect_from_source(datum/status_effect/grouped/checked_effect, sources) + RETURN_TYPE(/datum/status_effect) + + if(!ispath(checked_effect)) + CRASH("has_status_effect_from_source passed with an improper status effect path.") + + if(!islist(sources)) + sources = list(sources) + + for(var/datum/status_effect/grouped/present_effect in status_effects) + if(present_effect.id != initial(checked_effect.id)) + continue + var/list/matching_sources = present_effect.sources & sources + if(length(matching_sources)) + return present_effect + + return null + +/** + * Returns a list of all status effects that share the passed effect type's ID + * + * checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath + * + * Returns a list + */ +/mob/proc/has_status_effect_list(datum/status_effect/checked_effect) + // See [/mob/proc/has_status_effect] for reason behind having this on the mob level + return null + +/mob/living/has_status_effect_list(datum/status_effect/checked_effect) + RETURN_TYPE(/list) + + var/list/effects_found = list() + for(var/datum/status_effect/present_effect as anything in status_effects) + if(present_effect.id == initial(checked_effect.id)) + effects_found += present_effect + + return effects_found diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm new file mode 100644 index 000000000000..a36b7b91e4c6 --- /dev/null +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -0,0 +1,104 @@ +//Largely negative status effects go here, even if they have small benificial effects +//STUN EFFECTS +/datum/status_effect/incapacitating + tick_interval = -1 + status_type = STATUS_EFFECT_REPLACE + alert_type = null + remove_on_fullheal = TRUE +// heal_flag_necessary = HEAL_CC_STATUS + var/needs_update_stat = FALSE + +/datum/status_effect/incapacitating/on_creation(mob/living/new_owner, set_duration) + if(isnum(set_duration)) + update_duration(set_duration) + . = ..() + if(. && needs_update_stat) + owner.update_stat() + + +/datum/status_effect/incapacitating/on_remove() + if(needs_update_stat ) //silicons need stat updates in addition to normal canmove updates + owner.update_stat() + return ..() + +//STUN +/datum/status_effect/incapacitating/stun + id = "stun" +// alert_type = /atom/movable/screen/alert/status_effect/stun + +/datum/status_effect/incapacitating/stun/on_apply() + . = ..() + if(!.) + return + owner.add_traits(list(TRAIT_INCAPACITATED, TRAIT_IMMOBILIZED /*, TRAIT_HANDS_BLOCKED*/), TRAIT_STATUS_EFFECT(id)) + +/datum/status_effect/incapacitating/stun/on_remove() + owner.remove_traits(list(TRAIT_INCAPACITATED, TRAIT_IMMOBILIZED /*, TRAIT_HANDS_BLOCKED*/), TRAIT_STATUS_EFFECT(id)) + return ..() + +/atom/movable/screen/alert/status_effect/stun + name = "Stunned" + desc = "You are incapacitated. You may not move or act." + icon_state = ALERT_INCAPACITATED + + +//KNOCKDOWN +/datum/status_effect/incapacitating/knockdown + id = "knockdown" +// alert_type = /atom/movable/screen/alert/status_effect/knockdown + +/datum/status_effect/incapacitating/knockdown/on_apply() + . = ..() + if(!.) + return + owner.add_traits(list(TRAIT_FLOORED, TRAIT_IMMOBILIZED), TRAIT_STATUS_EFFECT(id)) + +/datum/status_effect/incapacitating/knockdown/on_remove() + owner.remove_traits(list(TRAIT_FLOORED, TRAIT_IMMOBILIZED), TRAIT_STATUS_EFFECT(id)) + return ..() + +/atom/movable/screen/alert/status_effect/knockdown + name = "Floored" + desc = "You can't stand up!" + icon_state = ALERT_FLOORED + +//IMMOBILIZED +/datum/status_effect/incapacitating/immobilized + id = "immobilized" +// alert_type = /atom/movable/screen/alert/status_effect/immobilized + +/datum/status_effect/incapacitating/immobilized/on_apply() + . = ..() + if(!.) + return + ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) + +/datum/status_effect/incapacitating/immobilized/on_remove() + REMOVE_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) + return ..() + +/atom/movable/screen/alert/status_effect/immobilized + name = "Immobilized" + desc = "You can't move." + icon_state = ALERT_IMMOBILIZED + +//UNCONSCIOUS +/datum/status_effect/incapacitating/unconscious + id = "unconscious" + needs_update_stat = TRUE +// alert_type = /atom/movable/screen/alert/status_effect/unconscious + +/datum/status_effect/incapacitating/unconscious/on_apply() + . = ..() + if(!.) + return + ADD_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id)) + +/datum/status_effect/incapacitating/unconscious/on_remove() + REMOVE_TRAIT(owner, TRAIT_KNOCKEDOUT, TRAIT_STATUS_EFFECT(id)) + return ..() + +/atom/movable/screen/alert/status_effect/unconscious + name = "Unconscious" + desc = "You've been knocked out." + icon_state = ALERT_KNOCKEDOUT diff --git a/code/datums/status_effects/grouped_effect.dm b/code/datums/status_effects/grouped_effect.dm new file mode 100644 index 000000000000..ade0a187e0db --- /dev/null +++ b/code/datums/status_effects/grouped_effect.dm @@ -0,0 +1,20 @@ +/// Status effect from multiple sources, when all sources are removed, so is the effect +/datum/status_effect/grouped + // Grouped effects adds itself to [var/sources] and destroys itself if one exists already, there are never actually multiple + status_type = STATUS_EFFECT_MULTIPLE + /// A list of all sources applying this status effect. Sources are a list of keys + var/list/sources = list() + +/datum/status_effect/grouped/on_creation(mob/living/new_owner, source) + var/datum/status_effect/grouped/existing = new_owner.has_status_effect(type) + if(existing) + existing.sources |= source + qdel(src) + return FALSE + + sources |= source + return ..() + +/datum/status_effect/grouped/before_remove(source) + sources -= source + return !length(sources) diff --git a/code/datums/status_effects/limited_effect.dm b/code/datums/status_effects/limited_effect.dm new file mode 100644 index 000000000000..0f56e72da52f --- /dev/null +++ b/code/datums/status_effects/limited_effect.dm @@ -0,0 +1,20 @@ +/// These effects reapply their on_apply() effect when refreshed while stacks < max_stacks. +/datum/status_effect/limited_buff + id = "limited_buff" + duration = -1 + status_type = STATUS_EFFECT_REFRESH + ///How many stacks we currently have + var/stacks = 1 + ///How many stacks we can have maximum + var/max_stacks = 3 + +/datum/status_effect/limited_buff/refresh(effect) + if(stacks < max_stacks) + on_apply() + stacks++ + else + maxed_out() + +/// Called whenever the buff is refreshed when there are more stacks than max_stacks. +/datum/status_effect/limited_buff/proc/maxed_out() + return diff --git a/code/datums/status_effects/stacking_effect.dm b/code/datums/status_effects/stacking_effect.dm new file mode 100644 index 000000000000..3ef5855938f7 --- /dev/null +++ b/code/datums/status_effects/stacking_effect.dm @@ -0,0 +1,101 @@ +/// Status effects that can stack. +/datum/status_effect/stacking + id = "stacking_base" + duration = -1 // Only removed under specific conditions. + tick_interval = 1 SECONDS // Deciseconds between decays, once decay starts + alert_type = null + /// How many stacks are currently accumulated. + /// Also, the default stacks number given on application. + var/stacks = 0 + // Deciseconds until ticks start occuring, which removes stacks + /// (first stack will be removed at this time plus tick_interval) + var/delay_before_decay + /// How many stacks are lost per tick (decay trigger) + var/stack_decay = 1 + /// The threshold for having special effects occur when a certain stack number is reached + var/stack_threshold + /// The maximum number of stacks that can be applied + var/max_stacks + /// If TRUE, the status effect is consumed / removed when stack_threshold is met + var/consumed_on_threshold = TRUE + /// Set to true once the stack_threshold is crossed, and false once it falls back below + var/threshold_crossed = FALSE + +/* This implementation is missing effects overlays because we did not have + /tg/ overlays backend available at the time. Feel free to add them when we do! */ + +/// Effects that occur when the stack count crosses stack_threshold +/datum/status_effect/stacking/proc/threshold_cross_effect() + return + +/// Effects that occur if the status effect is removed due to the stack_threshold being crossed +/datum/status_effect/stacking/proc/stacks_consumed_effect() + return + +/// Effects that occur if the status is removed due to being under 1 remaining stack +/datum/status_effect/stacking/proc/fadeout_effect() + return + +/// Runs every time tick(), causes stacks to decay over time +/datum/status_effect/stacking/proc/stack_decay_effect() + return + +/// Called when the stack_threshold is crossed (stacks go over the threshold) +/datum/status_effect/stacking/proc/on_threshold_cross() + threshold_cross_effect() + if(consumed_on_threshold) + stacks_consumed_effect() + qdel(src) + +/// Called when the stack_threshold is uncrossed / dropped (stacks go under the threshold after being over it) +/datum/status_effect/stacking/proc/on_threshold_drop() + return + +/// Whether the owner can have the status effect. +/// Return FALSE if the owner is not in a valid state (self-deletes the effect), or TRUE otherwise +/datum/status_effect/stacking/proc/can_have_status() + return owner.stat != DEAD + +/// Whether the owner can currently gain stacks or not +/// Return FALSE if the owner is not in a valid state, or TRUE otherwise +/datum/status_effect/stacking/proc/can_gain_stacks() + return owner.stat != DEAD + +/datum/status_effect/stacking/tick(seconds_between_ticks) + if(!can_have_status()) + qdel(src) + else + add_stacks(-stack_decay) + stack_decay_effect() + +/// Add (or remove) [stacks_added] stacks to our current stack count. +/datum/status_effect/stacking/proc/add_stacks(stacks_added) + if(stacks_added > 0 && !can_gain_stacks()) + return FALSE + stacks += stacks_added + if(stacks > 0) + if(stacks >= stack_threshold && !threshold_crossed) //threshold_crossed check prevents threshold effect from occuring if changing from above threshold to still above threshold + threshold_crossed = TRUE + on_threshold_cross() + if(consumed_on_threshold) + return + else if(stacks < stack_threshold && threshold_crossed) + threshold_crossed = FALSE //resets threshold effect if we fall below threshold so threshold effect can trigger again + on_threshold_drop() + if(stacks_added > 0) + tick_interval += delay_before_decay //refreshes time until decay + stacks = min(stacks, max_stacks) + else + fadeout_effect() + qdel(src) //deletes status if stacks fall under one + +/datum/status_effect/stacking/on_creation(mob/living/new_owner, stacks_to_apply) + . = ..() + if(.) + add_stacks(stacks_to_apply) + +/datum/status_effect/stacking/on_apply() + if(!can_have_status()) + return FALSE + return ..() + diff --git a/code/datums/supply_packs/restricted_equipment.dm b/code/datums/supply_packs/restricted_equipment.dm index 452ef313908a..7979d21f9743 100644 --- a/code/datums/supply_packs/restricted_equipment.dm +++ b/code/datums/supply_packs/restricted_equipment.dm @@ -4,7 +4,7 @@ name = "B12 pattern marine armor crate (x1 helmet, x1 armor)" contains = list( /obj/item/clothing/head/helmet/marine/leader, - /obj/item/clothing/suit/storage/marine/leader, + /obj/item/clothing/suit/storage/marine/medium/leader, ) cost = 20 containertype = /obj/structure/closet/crate @@ -15,7 +15,7 @@ name = "M4 pattern marine armor crate (x1 helmet, x1 armor)" contains = list( /obj/item/clothing/head/helmet/marine/rto, - /obj/item/clothing/suit/storage/marine/rto, + /obj/item/clothing/suit/storage/marine/medium/rto, ) cost = 20 containertype = /obj/structure/closet/crate diff --git a/code/datums/tgs_event_handler.dm b/code/datums/tgs_event_handler.dm index a47d1e95af00..072a0f4d605c 100644 --- a/code/datums/tgs_event_handler.dm +++ b/code/datums/tgs_event_handler.dm @@ -14,21 +14,13 @@ message_admins("TGS: Instance renamed to from [world.TgsInstanceName()] to [args[2]]") if(TGS_EVENT_COMPILE_START) message_admins("TGS: Deployment started, new game version incoming...") - if(world.system_type == UNIX && SSredis.connected) - SSredis.disconnect(TGS_COMPILE) if(TGS_EVENT_COMPILE_CANCELLED) message_admins("TGS: Deployment cancelled!") - if(world.system_type == UNIX && CONFIG_GET(flag/redis_enabled) && !SSredis.connected) - SSredis.reconnect() if(TGS_EVENT_COMPILE_FAILURE) message_admins("TGS: Deployment failed!") - if(world.system_type == UNIX && CONFIG_GET(flag/redis_enabled) && !SSredis.connected) - SSredis.reconnect() if(TGS_EVENT_DEPLOYMENT_COMPLETE) message_admins("TGS: Deployment complete!") to_chat(world, SPAN_BOLDANNOUNCE("Server updated, changes will be applied on the next round...")) - if(world.system_type == UNIX && CONFIG_GET(flag/redis_enabled) && !SSredis.connected) - SSredis.reconnect() if(TGS_EVENT_WATCHDOG_DETACH) message_admins("TGS restarting...") reattach_timer = addtimer(CALLBACK(src, PROC_REF(LateOnReattach)), 1 MINUTES, TIMER_STOPPABLE) diff --git a/code/game/area/almayer.dm b/code/game/area/almayer.dm index d9ff42f4f55c..5267798cfe3b 100644 --- a/code/game/area/almayer.dm +++ b/code/game/area/almayer.dm @@ -119,7 +119,7 @@ fake_zlevel = 1 // upperdeck flags_area = AREA_NOTUNNEL -/area/almayer/command/corporateliason +/area/almayer/command/corporateliaison name = "\improper Corporate Liaison Office" icon_state = "corporatespace" fake_zlevel = 1 // upperdeck @@ -129,9 +129,40 @@ icon_state = "selfdestruct" fake_zlevel = 1 // upperdeck +// engineering + /area/almayer/engineering minimap_color = MINIMAP_AREA_ENGI +// lower deck + +/area/almayer/engineering/lower + name = "\improper Lower Deck Engineering" + icon_state = "lowerengineering" + fake_zlevel = 2 // lowerdeck + +/area/almayer/engineering/lower/engine_monitoring//this is not used so could be remove? + name = "\improper Lower Deck Engine Reactor Monitoring" + icon_state = "lowermonitoring" + +/area/almayer/engineering/lower/workshop + name = "\improper Lower Deck Engineering Workshop" + icon_state = "workshop" + +/area/almayer/engineering/lower/workshop/hangar + name = "\improper Ordnance workshop" + +/area/almayer/engineering/lower/engine_core + name = "\improper Engine Reactor Core Room" + icon_state = "coreroom" + soundscape_playlist = SCAPE_PL_ENG + soundscape_interval = 15 + hijack_evacuation_area = TRUE + hijack_evacuation_weight = 0.2 + hijack_evacuation_type = EVACUATION_TYPE_ADDITIVE + +// upper deck + /area/almayer/engineering/upper_engineering name = "\improper Upper Deck Engineering" icon_state = "upperengineering" @@ -151,34 +182,6 @@ icon_state = "ceroom" fake_zlevel = 1 // upperdeck -/area/almayer/engineering/lower_engine_monitoring - name = "\improper Lower Deck Engine Reactor Monitoring" - icon_state = "lowermonitoring" - fake_zlevel = 2 // lowerdeck - -/area/almayer/engineering/lower_engineering - name = "\improper Lower Deck Engineering" - icon_state = "lowerengineering" - fake_zlevel = 2 // lowerdeck - -/area/almayer/engineering/engineering_workshop - name = "\improper Lower Deck Engineering Workshop" - icon_state = "workshop" - fake_zlevel = 2 // lowerdeck - -/area/almayer/engineering/engineering_workshop/hangar - name = "\improper Ordnance workshop" - -/area/almayer/engineering/engine_core - name = "\improper Engine Reactor Core Room" - icon_state = "coreroom" - fake_zlevel = 2 // lowerdeck - soundscape_playlist = SCAPE_PL_ENG - soundscape_interval = 15 - hijack_evacuation_area = TRUE - hijack_evacuation_weight = 0.2 - hijack_evacuation_type = EVACUATION_TYPE_ADDITIVE - /area/almayer/engineering/starboard_atmos name = "\improper Upper Deck Starboard Atmospherics" icon_state = "starboardatmos" @@ -238,6 +241,13 @@ icon_state = "portpd" fake_zlevel = 2 // lowerdeck +/area/almayer/shipboard/stern_point_defense + name = "\improper Lower Deck Stern Point Defense" + icon_state = "portpd" + fake_zlevel = 2 // lowerdeck + +// brig + /area/almayer/shipboard/brig name = "\improper Brig" icon_state = "brig" @@ -245,51 +255,38 @@ /area/almayer/shipboard/brig/lobby name = "\improper Brig Lobby" - icon_state = "brig" /area/almayer/shipboard/brig/armory name = "\improper Brig Armory" - icon_state = "brig" /area/almayer/shipboard/brig/main_office name = "\improper Brig Main Office" - icon_state = "brig" /area/almayer/shipboard/brig/perma name = "\improper Brig Perma Cells" - icon_state = "brig" /area/almayer/shipboard/brig/cryo name = "\improper Brig Cryo Pods" - icon_state = "brig" /area/almayer/shipboard/brig/surgery name = "\improper Brig Surgery" - icon_state = "brig" /area/almayer/shipboard/brig/general_equipment name = "\improper Brig General Equipment" - icon_state = "brig" /area/almayer/shipboard/brig/evidence_storage name = "\improper Brig Evidence Storage" - icon_state = "brig" /area/almayer/shipboard/brig/execution name = "\improper Brig Execution Room" - icon_state = "brig" /area/almayer/shipboard/brig/cic_hallway name = "\improper Brig CiC Hallway" - icon_state = "brig" /area/almayer/shipboard/brig/dress name = "\improper CIC Dress Uniform Room" - icon_state = "brig" - /area/almayer/shipboard/brig/processing name = "\improper Brig Processing and Holding" - icon_state = "brig" /area/almayer/shipboard/brig/cells name = "\improper Brig Cells" @@ -393,6 +390,19 @@ icon_state = "starboard" fake_zlevel = 2 // lowerdeck +//new hallways areas + +/area/almayer/hallways/upper + fake_zlevel = 1 // upperdeck + +/area/almayer/hallways/upper/port + name = "\improper Upper Deck Port Hallway" + icon_state = "port" + +/area/almayer/hallways/upper/starboard + name = "\improper Upper Deck Starboard Hallway" + icon_state = "starboard" + /area/almayer/stair_clone name = "\improper Lower Deck Stairs" icon_state = "stairs_lowerdeck" @@ -404,11 +414,38 @@ icon_state = "stairs_upperdeck" fake_zlevel = 1 // upperdeck +// hull areas. + +// lower deck hull areas + /area/almayer/hull/lower_hull name = "\improper Lower Deck Hull" icon_state = "lowerhull" fake_zlevel = 2 // lowerdeck +/area/almayer/hull/lower_hull/stern + name = "\improper Lower Deck Stern Hull" + +/area/almayer/hull/lower_hull/l_f_s + name = "\improper Lower Deck Starboard-Fore Hull" + +/area/almayer/hull/lower_hull/l_m_s + name = "\improper Lower Deck Starboard-Midship Hull" + +/area/almayer/hull/lower_hull/l_a_s + name = "\improper Lower Deck Starboard Hull" + +/area/almayer/hull/lower_hull/l_f_p + name = "\improper Lower Deck Port-Fore Hull" + +/area/almayer/hull/lower_hull/l_m_p + name = "\improper Lower Deck Port-Midship Hull" + +/area/almayer/hull/lower_hull/l_a_p + name = "\improper Lower Deck Port-Aft Hull" + +// upper deck hull areas + /area/almayer/hull/upper_hull name = "\improper Upper Deck Hull" icon_state = "upperhull" @@ -416,51 +453,21 @@ /area/almayer/hull/upper_hull/u_f_s name = "\improper Upper Deck Fore-Starboard Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_m_s name = "\improper Upper Deck Starboard-Midship Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_a_s name = "\improper Upper Deck Starboard-Aft Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_f_p name = "\improper Upper Deck Port-Fore Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_m_p name = "\improper Upper Deck Port-Midship Hull" - icon_state = "upperhull" /area/almayer/hull/upper_hull/u_a_p name = "\improper Upper Deck Port-Aft Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_f_s - name = "\improper Lower Deck Starboard-Fore Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_m_s - name = "\improper Lower Deck Starboard-Midship Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_a_s - name = "\improper Lower Deck Starboard Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_f_p - name = "\improper Lower Deck Port-Fore Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_m_p - name = "\improper Lower Deck Port-Midship Hull" - icon_state = "upperhull" - -/area/almayer/hull/lower_hull/l_a_p - name = "\improper Lower Deck Port-Aft Hull" - icon_state = "upperhull" /area/almayer/living/cryo_cells name = "\improper Lower Deck Cryo Cells" diff --git a/code/game/bioscans.dm b/code/game/bioscans.dm index ff6e00ec430e..5be3c9fbe3fd 100644 --- a/code/game/bioscans.dm +++ b/code/game/bioscans.dm @@ -111,7 +111,7 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) /datum/bioscan_data/proc/ares_can_bioscan() var/datum/ares_link/link = GLOB.ares_link - if(!istype(link)) + if(!istype(link) || !ares_is_active()) return FALSE if(link.processor_bioscan && !link.processor_bioscan.inoperable()) return TRUE @@ -123,8 +123,8 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) message_admins("An ARES Bioscan has failed.") var/name = "[MAIN_AI_SYSTEM] Bioscan Status" var/input = "Bioscan failed. \n\nInvestigation into Bioscan subsystem recommended." - log_ares_bioscan(name, input) - if(ares_can_interface()) + log_ares_bioscan(name, input, forced) + if(ares_can_interface() || forced) marine_announcement(input, name, 'sound/misc/interference.ogg', logging = ARES_LOG_NONE) return //Adjust the randomness there so everyone gets the same thing diff --git a/code/game/camera_manager/camera_manager.dm b/code/game/camera_manager/camera_manager.dm new file mode 100644 index 000000000000..93d56aca443c --- /dev/null +++ b/code/game/camera_manager/camera_manager.dm @@ -0,0 +1,235 @@ +#define DEFAULT_MAP_SIZE 15 + +#define RENDER_MODE_TARGET 1 +#define RENDER_MODE_AREA 2 + +/datum/component/camera_manager + var/map_name + var/obj/structure/machinery/camera/current + var/datum/shape/rectangle/current_area + var/atom/movable/screen/map_view/cam_screen + var/atom/movable/screen/background/cam_background + var/list/range_turfs = list() + /// The turf where the camera was last updated. + var/turf/last_camera_turf + var/target_x + var/target_y + var/target_z + var/target_width + var/target_height + var/list/cam_plane_masters + var/isXRay = FALSE + var/render_mode = RENDER_MODE_TARGET + +/datum/component/camera_manager/Initialize() + . = ..() + map_name = "camera_manager_[REF(src)]_map" + cam_screen = new + cam_screen.name = "screen" + cam_screen.assigned_map = map_name + cam_screen.del_on_map_removal = FALSE + cam_screen.screen_loc = "[map_name]:1,1" + cam_background = new + cam_background.assigned_map = map_name + cam_background.del_on_map_removal = FALSE + + cam_plane_masters = list() + for(var/plane in subtypesof(/atom/movable/screen/plane_master) - /atom/movable/screen/plane_master/blackness) + var/atom/movable/screen/plane_master/instance = new plane() + add_plane(instance) + +/datum/component/camera_manager/Destroy(force, ...) + . = ..() + range_turfs = null + current_area = null + cam_plane_masters = null + QDEL_NULL(cam_background) + QDEL_NULL(cam_screen) + if(current) + UnregisterSignal(current, COMSIG_PARENT_QDELETING) + +/datum/component/camera_manager/proc/add_plane(atom/movable/screen/plane_master/instance) + instance.assigned_map = map_name + instance.del_on_map_removal = FALSE + if(instance.blend_mode_override) + instance.blend_mode = instance.blend_mode_override + instance.screen_loc = "[map_name]:CENTER" + cam_plane_masters["[instance.plane]"] = instance + +/datum/component/camera_manager/proc/register(source, mob/user) + SIGNAL_HANDLER + var/client/user_client = user.client + if(!user_client) + return + user_client.register_map_obj(cam_background) + user_client.register_map_obj(cam_screen) + for(var/plane_id in cam_plane_masters) + user_client.register_map_obj(cam_plane_masters[plane_id]) + +/datum/component/camera_manager/proc/unregister(source, mob/user) + SIGNAL_HANDLER + var/client/user_client = user.client + if(!user_client) + return + user_client.clear_map(cam_background) + user_client.clear_map(cam_screen) + for(var/plane_id in cam_plane_masters) + user_client.clear_map(cam_plane_masters[plane_id]) + +/datum/component/camera_manager/RegisterWithParent() + . = ..() + START_PROCESSING(SSdcs, src) + SEND_SIGNAL(parent, COMSIG_CAMERA_MAPNAME_ASSIGNED, map_name) + RegisterSignal(parent, COMSIG_CAMERA_REGISTER_UI, PROC_REF(register)) + RegisterSignal(parent, COMSIG_CAMERA_UNREGISTER_UI, PROC_REF(unregister)) + RegisterSignal(parent, COMSIG_CAMERA_SET_NVG, PROC_REF(enable_nvg)) + RegisterSignal(parent, COMSIG_CAMERA_CLEAR_NVG, PROC_REF(disable_nvg)) + RegisterSignal(parent, COMSIG_CAMERA_SET_AREA, PROC_REF(set_camera_rect)) + RegisterSignal(parent, COMSIG_CAMERA_SET_TARGET, PROC_REF(set_camera)) + RegisterSignal(parent, COMSIG_CAMERA_CLEAR, PROC_REF(clear_camera)) + +/datum/component/camera_manager/UnregisterFromParent() + . = ..() + STOP_PROCESSING(SSdcs, src) + + UnregisterSignal(parent, COMSIG_CAMERA_REGISTER_UI) + UnregisterSignal(parent, COMSIG_CAMERA_UNREGISTER_UI) + UnregisterSignal(parent, COMSIG_CAMERA_SET_NVG) + UnregisterSignal(parent, COMSIG_CAMERA_CLEAR_NVG) + UnregisterSignal(parent, COMSIG_CAMERA_SET_AREA) + UnregisterSignal(parent, COMSIG_CAMERA_SET_TARGET) + UnregisterSignal(parent, COMSIG_CAMERA_CLEAR) + +/datum/component/camera_manager/proc/clear_camera() + SIGNAL_HANDLER + if(current) + UnregisterSignal(current, COMSIG_PARENT_QDELETING) + current_area = null + current = null + target_x = null + target_y = null + target_z = null + target_width = null + target_height = null + show_camera_static() + +/datum/component/camera_manager/proc/set_camera(source, atom/target, w, h) + SIGNAL_HANDLER + render_mode = RENDER_MODE_TARGET + if(current) + UnregisterSignal(current, COMSIG_PARENT_QDELETING) + current = target + target_width = w + target_height = h + RegisterSignal(current, COMSIG_PARENT_QDELETING, PROC_REF(show_camera_static)) + update_target_camera() + +/datum/component/camera_manager/proc/set_camera_rect(source, x, y, z, w, h) + SIGNAL_HANDLER + render_mode = RENDER_MODE_AREA + if(current) + UnregisterSignal(current, COMSIG_PARENT_QDELETING) + current = null + current_area = RECT(x, y, w, h) + target_x = x + target_y = y + target_z = z + update_area_camera() + +/datum/component/camera_manager/proc/enable_nvg(source, power, matrixcol) + SIGNAL_HANDLER + for(var/plane_id in cam_plane_masters) + var/atom/movable/screen/plane_master/plane = cam_plane_masters["[plane_id]"] + plane.add_filter("nvg", 1, color_matrix_filter(color_matrix_from_string(matrixcol))) + sync_lighting_plane_alpha(LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) + +/datum/component/camera_manager/proc/disable_nvg() + SIGNAL_HANDLER + for(var/plane_id in cam_plane_masters) + var/atom/movable/screen/plane_master/plane = cam_plane_masters["[plane_id]"] + plane.remove_filter("nvg") + sync_lighting_plane_alpha(LIGHTING_PLANE_ALPHA_VISIBLE) + +/datum/component/camera_manager/proc/sync_lighting_plane_alpha(lighting_alpha) + var/atom/movable/screen/plane_master/lighting/lighting = cam_plane_masters["[LIGHTING_PLANE]"] + if (lighting) + lighting.alpha = lighting_alpha + var/atom/movable/screen/plane_master/lighting/exterior_lighting = cam_plane_masters["[EXTERIOR_LIGHTING_PLANE]"] + if (exterior_lighting) + exterior_lighting.alpha = min(GLOB.minimum_exterior_lighting_alpha, lighting_alpha) + +/** + * Set the displayed camera to the static not-connected. + */ +/datum/component/camera_manager/proc/show_camera_static() + cam_screen.vis_contents.Cut() + last_camera_turf = null + cam_background.icon_state = "scanline2" + cam_background.fill_rect(1, 1, DEFAULT_MAP_SIZE, DEFAULT_MAP_SIZE) + +/datum/component/camera_manager/proc/update_target_camera() + // Show static if can't use the camera + if(!current?.can_use()) + show_camera_static() + return + + // Is this camera located in or attached to a living thing, Vehicle or helmet? If so, assume the camera's loc is the living (or non) thing. + var/cam_location = current + if(isliving(current.loc) || isVehicle(current.loc)) + cam_location = current.loc + else if(istype(current.loc, /obj/item/clothing/head/helmet/marine)) + var/obj/item/clothing/head/helmet/marine/helmet = current.loc + cam_location = helmet.loc + + // If we're not forcing an update for some reason and the cameras are in the same location, + // we don't need to update anything. + // Most security cameras will end here as they're not moving. + var/newturf = get_turf(cam_location) + if(last_camera_turf == newturf) + return + + // Cameras that get here are moving, and are likely attached to some moving atom such as cyborgs. + last_camera_turf = get_turf(cam_location) + + var/list/visible_things = current.isXRay() ? range(current.view_range, cam_location) : view(current.view_range, cam_location) + render_objects(visible_things) + +/datum/component/camera_manager/proc/update_area_camera() + // Show static if can't use the camera + if(!current_area || !target_z) + show_camera_static() + return + + // If we're not forcing an update for some reason and the cameras are in the same location, + // we don't need to update anything. + // Most security cameras will end here as they're not moving. + var/turf/new_location = locate(target_x, target_y, target_z) + if(last_camera_turf == new_location) + return + + // Cameras that get here are moving, and are likely attached to some moving atom such as cyborgs. + last_camera_turf = new_location + + var/x_size = current_area.width + var/y_size = current_area.height + var/turf/target = locate(current_area.center_x, current_area.center_y, target_z) + + var/list/visible_things = isXRay ? range("[x_size]x[y_size]", target) : view("[x_size]x[y_size]", target) + src.render_objects(visible_things) + +/datum/component/camera_manager/proc/render_objects(list/visible_things) + var/list/visible_turfs = list() + for(var/turf/visible_turf in visible_things) + visible_turfs += visible_turf + + var/list/bbox = get_bbox_of_atoms(visible_turfs) + var/size_x = bbox[3] - bbox[1] + 1 + var/size_y = bbox[4] - bbox[2] + 1 + + cam_screen.vis_contents = visible_turfs + cam_background.icon_state = "clear" + cam_background.fill_rect(1, 1, size_x, size_y) + +#undef DEFAULT_MAP_SIZE +#undef RENDER_MODE_TARGET +#undef RENDER_MODE_AREA diff --git a/code/game/cas_manager/datums/cas_fire_envelope.dm b/code/game/cas_manager/datums/cas_fire_envelope.dm index 330521f34e36..04cd688194dd 100644 --- a/code/game/cas_manager/datums/cas_fire_envelope.dm +++ b/code/game/cas_manager/datums/cas_fire_envelope.dm @@ -1,7 +1,6 @@ /datum/cas_fire_envelope var/obj/structure/machinery/computer/dropship_weapons/linked_console var/list/datum/cas_fire_mission/missions - var/max_mission_len = 5 var/fire_length var/grace_period //how much time you have after initiating fire mission and before you can't change firemissions var/flyto_period //how much time it takes from sound alarm start to first hit. CAS is vulnerable here @@ -30,35 +29,36 @@ linked_console = null return ..() +/datum/cas_fire_envelope/ui_data(mob/user) + . = list() + .["missions"] = list() + for(var/datum/cas_fire_mission/mission in missions) + .["missions"] += list(mission.ui_data(user)) + + /datum/cas_fire_envelope/proc/get_total_duration() return grace_period+flyto_period+flyoff_period +/datum/cas_fire_envelope/proc/update_weapons(list/obj/structure/dropship_equipment/weapon/weapons) + for(var/datum/cas_fire_mission/mission in missions) + mission.update_weapons(weapons, fire_length) + /datum/cas_fire_envelope/proc/generate_mission(firemission_name, length) - if(!missions || !linked_console || missions.len>max_mission_len || !fire_length) + if(!missions || !linked_console || !fire_length) return null - var/list/obj/structure/dropship_equipment/weapons = list() - for(var/X in linked_console.shuttle_equipments) - var/obj/structure/dropship_equipment/E = X - if(E.is_weapon) - weapons += E + var/shuttle_tag = linked_console.shuttle_tag + var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttle_tag) + for(var/obj/structure/dropship_equipment/equipment as anything in dropship.equipments) + if(equipment.is_weapon) + weapons += equipment var/datum/cas_fire_mission/fm = new() - - if(weapons.len==0) - return null //why bother? - for(var/obj/structure/dropship_equipment/weapon/wp in weapons) - var/datum/cas_fire_mission_record/record = new() - record.weapon = wp - record.offsets = new /list(fire_length) - for(var/idx = 1; idx<=fire_length; idx++) - record.offsets[idx] = "-" - fm.records += record + fm.build_new_record(wp, fire_length) fm.name = firemission_name fm.mission_length = length - missions += fm return fm @@ -67,67 +67,61 @@ mission_error = null if(stat > FIRE_MISSION_STATE_IN_TRANSIT && stat < FIRE_MISSION_STATE_COOLDOWN) mission_error = "Fire Mission is under way already." - return 0 + return FIRE_MISSION_NOT_EXECUTABLE if(!missions[mission_id]) - return -1 + return FIRE_MISSION_NOT_EXECUTABLE var/datum/cas_fire_mission/mission = missions[mission_id] if(!mission) - return -1 - if(!mission.records[weapon_id]) - return -1 - var/datum/cas_fire_mission_record/fmr = mission.records[weapon_id] + return FIRE_MISSION_NOT_EXECUTABLE + + var/datum/cas_fire_mission_record/fmr = mission.record_for_weapon(weapon_id) + if(!fmr) + return FIRE_MISSION_NOT_EXECUTABLE if(!fmr.offsets || isnull(fmr.offsets[offset_step])) - return -1 + return FIRE_MISSION_NOT_EXECUTABLE var/old_offset = fmr.offsets[offset_step] + if(offset == null) + offset = "-" fmr.offsets[offset_step] = offset var/check_result = mission.check(linked_console) if(check_result == FIRE_MISSION_CODE_ERROR) - return -1 + return FIRE_MISSION_NOT_EXECUTABLE if(check_result == FIRE_MISSION_ALL_GOOD) - return 1 + return FIRE_MISSION_ALL_GOOD if(check_result == FIRE_MISSION_WEAPON_OUT_OF_AMMO) - return 1 + return FIRE_MISSION_ALL_GOOD mission_error = mission.error_message(check_result) if(skip_checks) - return 0 + return FIRE_MISSION_ALL_GOOD //we have mission error. Fill the thing and restore previous state fmr.offsets[offset_step] = old_offset - return 0 + return FIRE_MISSION_ALL_GOOD -/datum/cas_fire_envelope/proc/execute_firemission(datum/cas_signal/target_turf, offset, dir, mission_id) - if(!istype(target_turf)) - mission_error = "No target." - return 0 +/datum/cas_fire_envelope/proc/execute_firemission(datum/cas_signal/signal, target_turf,dir, mission_id) if(stat != FIRE_MISSION_STATE_IDLE) mission_error = "Fire Mission is under way already." - return 0 + return FIRE_MISSION_NOT_EXECUTABLE if(!missions[mission_id]) - return -1 - if(offset<0) - mission_error = "Can't have negative offsets." - return 0 - if(offset>max_offset) - mission_error = "[max_offset] is the maximum possible offset." - return 0 + return FIRE_MISSION_NOT_EXECUTABLE if(dir!=NORTH && dir!=SOUTH && dir!=WEST && dir!=EAST) mission_error = "Incorrect direction." - return 0 + return FIRE_MISSION_BAD_DIRECTION mission_error = null var/datum/cas_fire_mission/mission = missions[mission_id] var/check_result = mission.check(linked_console) if(check_result == FIRE_MISSION_CODE_ERROR) - return -1 + return FIRE_MISSION_CODE_ERROR if(check_result != FIRE_MISSION_ALL_GOOD) mission_error = mission.error_message(check_result) - return 0 + return FIRE_MISSION_CODE_ERROR //actual firemission code - execute_firemission_unsafe(target_turf, offset, dir, mission) - return 1 + execute_firemission_unsafe(signal, target_turf, dir, mission) + return FIRE_MISSION_ALL_GOOD /datum/cas_fire_envelope/proc/firemission_status_message() switch(stat) @@ -167,6 +161,7 @@ if(!guidance) guidance = new /obj/effect/firemission_guidance() guidance.forceMove(location) + guidance.updateCameras(linked_console) /datum/cas_fire_envelope/proc/user_is_guided(user) return guidance && (user in guidance.users) @@ -183,7 +178,6 @@ guidance.users += user RegisterSignal(user, COMSIG_MOB_RESISTED, PROC_REF(exit_cam_resist)) - /datum/cas_fire_envelope/proc/apply_upgrade(user) var/mob/M = user if(linked_console.upgraded == MATRIX_NVG) @@ -193,8 +187,6 @@ M.overlay_fullscreen("matrix", /atom/movable/screen/fullscreen/flash/noise/nvg) M.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE M.sync_lighting_plane_alpha() - else if (linked_console.upgraded == MATRIX_WIDE) - M.client?.change_view(linked_console.power + 5, M) /datum/cas_fire_envelope/proc/remove_upgrades(user) @@ -221,6 +213,7 @@ remove_upgrades(user) guidance.users -= user UnregisterSignal(user, COMSIG_MOB_RESISTED) + guidance.clearCameras(linked_console) /datum/cas_fire_envelope/proc/exit_cam_resist(mob/user) SIGNAL_HANDLER @@ -231,54 +224,36 @@ /datum/cas_fire_envelope/proc/check_firemission_loc(datum/cas_signal/target_turf) return TRUE //redefined in child class -/datum/cas_fire_envelope/proc/execute_firemission_unsafe(datum/cas_signal/target_turf, offset, dir, datum/cas_fire_mission/mission) - var/sx = 0 - var/sy = 0 - - recorded_dir = dir - recorded_offset = offset - +/** + * Execute firemission. + */ +/datum/cas_fire_envelope/proc/execute_firemission_unsafe(datum/cas_signal/signal, turf/target_turf, dir, datum/cas_fire_mission/mission) stat = FIRE_MISSION_STATE_IN_TRANSIT + to_chat(usr, SPAN_ALERT("Firemission underway!")) sleep(grace_period) stat = FIRE_MISSION_STATE_ON_TARGET - switch(recorded_dir) - if(NORTH) //default direction - sx = 0 - sy = 1 - if(SOUTH) - sx = 0 - sy = -1 - if(EAST) - sx = 1 - sy = 0 - if(WEST) - sx = -1 - sy = 0 if(!target_turf) stat = FIRE_MISSION_STATE_IDLE mission_error = "Target Lost." return - var/turf/tt_turf = get_turf(target_turf.signal_loc) - if(!tt_turf || !check_firemission_loc(target_turf)) + if(!target_turf || !check_firemission_loc(signal)) stat = FIRE_MISSION_STATE_IDLE mission_error = "Target is off bounds or obstructed." return - var/turf/shootloc = locate(tt_turf.x + sx*recorded_offset, tt_turf.y + sy*recorded_offset,tt_turf.z) - if(!shootloc || !istype(shootloc)) - stat = FIRE_MISSION_STATE_IDLE - mission_error = "Target is off bounds." - return - change_current_loc(shootloc) - playsound(shootloc, soundeffect, 70, TRUE, 50) + change_current_loc(target_turf) + playsound(target_turf, soundeffect, 70, TRUE, 50) sleep(flyto_period) stat = FIRE_MISSION_STATE_FIRING - mission.execute_firemission(linked_console, shootloc, recorded_dir, fire_length, step_delay, src) + mission.execute_firemission(linked_console, target_turf, dir, fire_length, step_delay, src) stat = FIRE_MISSION_STATE_OFF_TARGET sleep(flyoff_period) stat = FIRE_MISSION_STATE_COOLDOWN sleep(cooldown_period) stat = FIRE_MISSION_STATE_IDLE +/** + * Change attack vector for firemission + */ /datum/cas_fire_envelope/proc/change_direction(new_dir) if(stat > FIRE_MISSION_STATE_IN_TRANSIT) mission_error = "Fire Mission is under way already." @@ -346,13 +321,13 @@ /obj/structure/machinery/computer/dropship_weapons/proc/update_mission(mission_id, weapon_id, offset_step, offset) var/result = firemission_envelope.update_mission(mission_id, weapon_id, offset_step, offset) - if(result<1) + if(result != FIRE_MISSION_ALL_GOOD) return firemission_envelope.mission_error return "OK" // Used in the simulation room for firemission testing. /obj/structure/machinery/computer/dropship_weapons/proc/execute_firemission(obj/location, offset, dir, mission_id) var/result = firemission_envelope.execute_firemission(get_turf(location), offset, dir, mission_id) - if(result<1) + if(result != FIRE_MISSION_ALL_GOOD) return firemission_envelope.mission_error return "OK" diff --git a/code/game/cas_manager/datums/cas_fire_mission.dm b/code/game/cas_manager/datums/cas_fire_mission.dm index cb43caec30bb..ece78042ac25 100644 --- a/code/game/cas_manager/datums/cas_fire_mission.dm +++ b/code/game/cas_manager/datums/cas_fire_mission.dm @@ -1,17 +1,83 @@ /obj/effect/firemission_guidance invisibility = 101 - var/list/users + var/list/mob/users + var/camera_width = 11 + var/camera_height = 11 + var/view_range = 7 /obj/effect/firemission_guidance/New() ..() users = list() +/obj/effect/firemission_guidance/Destroy(force) + . = ..() + users = null + +/obj/effect/firemission_guidance/proc/can_use() + return TRUE + +/obj/effect/firemission_guidance/proc/isXRay() + return FALSE + +/obj/effect/firemission_guidance/proc/updateCameras(atom/target) + SEND_SIGNAL(target, COMSIG_CAMERA_SET_TARGET, src, camera_width, camera_height) + +/obj/effect/firemission_guidance/proc/clearCameras(atom/target) + SEND_SIGNAL(target, COMSIG_CAMERA_CLEAR) + /datum/cas_fire_mission var/mission_length = 3 //can be 3,4,6 or 12 var/list/datum/cas_fire_mission_record/records = list() var/obj/structure/dropship_equipment/weapon/error_weapon var/name = "Unnamed Firemission" +/datum/cas_fire_mission/ui_data(mob/user) + . = list() + .["name"] = sanitize(copytext(name, 1, MAX_MESSAGE_LEN)) + .["records"] = list() + for(var/datum/cas_fire_mission_record/record as anything in records) + .["records"] += list(record.ui_data(user)) + +/datum/cas_fire_mission/proc/build_new_record(obj/structure/dropship_equipment/weapon/weap, fire_length) + var/datum/cas_fire_mission_record/record = new() + record.weapon = weap + record.offsets = new /list(fire_length) + for(var/idx = 1; idx<=fire_length; idx++) + record.offsets[idx] = "-" + records += record + +/datum/cas_fire_mission/proc/update_weapons(list/obj/structure/dropship_equipment/weapon/weapons, fire_length) + var/list/datum/cas_fire_mission_record/bad_records = list() + var/list/obj/structure/dropship_equipment/weapon/missing_weapons = list() + for(var/datum/cas_fire_mission_record/record in records) + // if weapon appears in weapons list but not in record + // > add empty record for new weapon + var/found = FALSE + for(var/obj/structure/dropship_equipment/weapon/weap in weapons) + if(record.weapon == weap) + found=TRUE + break + if(!found) + bad_records.Add(record) + for(var/obj/structure/dropship_equipment/weapon/weap in weapons) + var/found = FALSE + for(var/datum/cas_fire_mission_record/record in records) + if(record.weapon == weap) + found=TRUE + break + if(!found) + missing_weapons.Add(weap) + for(var/datum/cas_fire_mission_record/record in bad_records) + records -= record + for(var/obj/structure/dropship_equipment/weapon/weap in missing_weapons) + build_new_record(weap, fire_length) + +/datum/cas_fire_mission/proc/record_for_weapon(weapon_id) + for(var/datum/cas_fire_mission_record/record as anything in records) + if(record.weapon.ship_base.attach_id == weapon_id) + return record + return null + /datum/cas_fire_mission/proc/check(obj/structure/machinery/computer/dropship_weapons/linked_console) error_weapon = null if(records.len == 0) @@ -165,7 +231,7 @@ var/step = 1 for(step = 1; step<=steps; step++) if(step > next_step) - current_turf = get_step(current_turf,direction) + current_turf = get_step(current_turf, direction) next_step += tally_step if(envelope) envelope.change_current_loc(current_turf) diff --git a/code/game/gamemodes/colonialmarines/huntergames.dm b/code/game/gamemodes/colonialmarines/huntergames.dm index aad0f9ba5787..310785070458 100644 --- a/code/game/gamemodes/colonialmarines/huntergames.dm +++ b/code/game/gamemodes/colonialmarines/huntergames.dm @@ -244,7 +244,8 @@ H.skills = null //no restriction on what the contestants can do - H.apply_effect(15, WEAKEN) + H.KnockDown(15) + H.Stun(15) H.nutrition = NUTRITION_NORMAL var/randjob = rand(0,10) diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm index 06b082e3c5e2..ffcea5406856 100644 --- a/code/game/machinery/ARES/ARES_procs.dm +++ b/code/game/machinery/ARES/ARES_procs.dm @@ -77,6 +77,12 @@ GLOBAL_LIST_INIT(maintenance_categories, list( // ------ ARES Logging Procs ------ // +/proc/ares_is_active() + for(var/mob/living/silicon/decoy/ship_ai/ai in GLOB.ai_mob_list) + if(ai.stat == DEAD) + return FALSE //ARES dead, most other systems also die with it + return TRUE + /proc/ares_apollo_talk(broadcast_message) var/datum/language/apollo/apollo = GLOB.all_languages[LANGUAGE_APOLLO] for(var/mob/living/silicon/decoy/ship_ai/ai in GLOB.ai_mob_list) @@ -89,33 +95,38 @@ GLOBAL_LIST_INIT(maintenance_categories, list( /proc/ares_can_interface() var/obj/structure/machinery/ares/processor/interface/processor = GLOB.ares_link.processor_interface - if(!istype(GLOB.ares_link)) + if(!istype(GLOB.ares_link) || !ares_is_active()) return FALSE if(processor && !processor.inoperable()) return TRUE return FALSE //interface processor not found or is broken /proc/ares_can_log() - if(!istype(GLOB.ares_link) || !istype(GLOB.ares_datacore)) + if(!istype(GLOB.ares_link) || !istype(GLOB.ares_datacore) || !ares_is_active()) return FALSE var/obj/structure/machinery/ares/cpu/central_processor = GLOB.ares_link.central_processor if(central_processor && !central_processor.inoperable()) return TRUE return FALSE //CPU not found or is broken -/proc/log_ares_apollo(speaker, message) - if(!ares_can_log()) +/proc/ares_can_apollo() + if(!istype(GLOB.ares_link) || !istype(GLOB.ares_datacore) || !ares_is_active()) return FALSE var/datum/ares_link/link = GLOB.ares_link if(!link.processor_apollo || link.processor_apollo.inoperable()) return FALSE + return TRUE + +/proc/log_ares_apollo(speaker, message) + if(!ares_can_log() || !ares_can_apollo()) + return FALSE if(!speaker) speaker = "Unknown" var/datum/ares_datacore/datacore = GLOB.ares_datacore datacore.apollo_log.Add("[worldtime2text()]: [speaker], '[message]'") -/proc/log_ares_bioscan(title, input) - if(!ares_can_log()) +/proc/log_ares_bioscan(title, input, forced = FALSE) + if(!ares_can_log() && !forced) return FALSE var/datum/ares_datacore/datacore = GLOB.ares_datacore datacore.records_bioscan.Add(new /datum/ares_record/bioscan(title, input)) @@ -225,6 +236,13 @@ GLOBAL_LIST_INIT(maintenance_categories, list( conversation.conversation += "[MAIN_AI_SYSTEM] at [worldtime2text()], '[text]'" // ------ End ARES Interface Procs ------ // +/proc/ares_final_words() + //APOLLO + ares_apollo_talk("APOLLO sub-system shutting down. STOP CODE: 0x000000f4|CRITICAL_PROCESS_DIED") + + //GENERAL CREW + shipwide_ai_announcement("A Problem has been detected and the [MAIN_AI_SYSTEM] system has been shutdown. \nTechnical Information: \n\n*** STOP CODE: 0x000000f4|CRITICAL_PROCESS_DIED\n\nPossible caused by: Rapid Unscheduled Disassembly\nContact an AI Service Technician for further assistance.", title = ":(", ares_logging = null) + /obj/structure/machinery/computer/working_joe/get_ares_access(obj/item/card/id/card) if(ACCESS_ARES_DEBUG in card.access) return APOLLO_ACCESS_DEBUG diff --git a/code/game/machinery/ARES/ARES_step_triggers.dm b/code/game/machinery/ARES/ARES_step_triggers.dm index fdf7b26b2e65..2c6d605bcc9b 100644 --- a/code/game/machinery/ARES/ARES_step_triggers.dm +++ b/code/game/machinery/ARES/ARES_step_triggers.dm @@ -69,7 +69,7 @@ broadcast_message = "ALERT: Unauthorized movement detected in [area_name]!" var/datum/ares_link/link = GLOB.ares_link - if(link.processor_apollo.inoperable()) + if(!ares_can_apollo()) return FALSE to_chat(passer, SPAN_BOLDWARNING("You hear a soft beeping sound as you cross the threshold.")) @@ -154,7 +154,7 @@ var/broadcast_message = get_broadcast(passer, idcard, failure) var/datum/ares_link/link = GLOB.ares_link - if(link.processor_apollo.inoperable()) + if(!ares_can_apollo()) return FALSE to_chat(passer, SPAN_BOLDWARNING("You hear a harsh buzzing sound as you cross the threshold!")) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index acb6d26bf0d5..1a440d41bbed 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -64,7 +64,14 @@ /obj/structure/machinery/camera/update_icon() . = ..() - if(icon_state == "autocam_editor") + // If the camera has been EMPed. + if(stat & EMPED) + icon_state = "cameraemp" + // If the camera isn't EMPed, but is disabled. + else if(!status) + icon_state = "camera1" + // Otherwise, just give it the normal animated `icon_state`. + else icon_state = "camera" /obj/structure/machinery/camera/set_pixel_location() @@ -76,24 +83,27 @@ /obj/structure/machinery/camera/emp_act(severity) . = ..() - if(!isEmpProof()) - if(prob(100/severity)) - icon_state = "[initial(icon_state)]emp" - var/list/previous_network = network - network = list() - GLOB.cameranet.removeCamera(src) - stat |= EMPED - set_light(0) - triggerCameraAlarm() - spawn(900) - network = previous_network - icon_state = initial(icon_state) - stat &= ~EMPED - cancelCameraAlarm() - if(can_use()) - GLOB.cameranet.addCamera(src) - kick_viewers() + // If the camera is EMP proof, or it passed the RNG check. + if(isEmpProof() || !prob(100 / severity)) + return + + var/list/previous_network = network + network = list() + GLOB.cameranet.removeCamera(src) + stat |= EMPED + update_icon() + set_light(0) + triggerCameraAlarm() + kick_viewers() + addtimer(CALLBACK(src, PROC_REF(undo_emp), previous_network), 90 SECONDS) +/obj/structure/machinery/camera/proc/undo_emp(previous_network) + network = previous_network + stat &= ~EMPED + update_icon() + cancelCameraAlarm() + if(can_use()) + GLOB.cameranet.addCamera(src) /obj/structure/machinery/camera/ex_act(severity) if(src.invuln) @@ -189,10 +199,7 @@ visible_message(SPAN_WARNING("[user] has reactivated [src]!")) else visible_message(SPAN_WARNING("[user] has deactivated [src]!")) - if(status) - icon_state = "camera" - else - icon_state = "camera1" + update_icon() // now disconnect anyone using the camera //Apparently, this will disconnect anyone even if the camera was re-activated. //I guess that doesn't matter since they can't use it anyway? diff --git a/code/game/machinery/computer/almayer_control.dm b/code/game/machinery/computer/almayer_control.dm index 2b54d2e1df5b..e9b969e023b8 100644 --- a/code/game/machinery/computer/almayer_control.dm +++ b/code/game/machinery/computer/almayer_control.dm @@ -134,6 +134,19 @@ . = TRUE if("evacuation_cancel") + var/mob/living/carbon/human/human_user = usr + var/obj/item/card/id/idcard = human_user.get_active_hand() + var/bio_fail = FALSE + if(!istype(idcard)) + idcard = human_user.wear_id + if(!istype(idcard)) + bio_fail = TRUE + else if(!idcard.check_biometrics(human_user)) + bio_fail = TRUE + if(bio_fail) + to_chat(human_user, SPAN_WARNING("Biometrics failure! You require an authenticated ID card to perform this action!")) + return FALSE + if(!SShijack.cancel_evacuation()) to_chat(usr, SPAN_WARNING("You are unable to cancel the evacuation right now!")) return FALSE diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm index ca8c8b2f1a34..cad4fd4fc747 100644 --- a/code/game/machinery/computer/camera_console.dm +++ b/code/game/machinery/computer/camera_console.dm @@ -40,8 +40,6 @@ instance.del_on_map_removal = FALSE if(instance.blend_mode_override) instance.blend_mode = instance.blend_mode_override - if(istype(instance, /atom/movable/screen/plane_master/lighting)) - instance.add_filter("awooga", 1, color_matrix_filter(color_matrix_from_string("#90ee90"))) instance.screen_loc = "[map_name]:CENTER" cam_plane_masters += instance diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 7a51539b8888..bcc4c4ac3ec8 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -154,6 +154,19 @@ state = STATE_EVACUATION if("evacuation_cancel") + var/mob/living/carbon/human/human_user = usr + var/obj/item/card/id/idcard = human_user.get_active_hand() + var/bio_fail = FALSE + if(!istype(idcard)) + idcard = human_user.wear_id + if(!istype(idcard)) + bio_fail = TRUE + else if(!idcard.check_biometrics(human_user)) + bio_fail = TRUE + if(bio_fail) + to_chat(human_user, SPAN_WARNING("Biometrics failure! You require an authenticated ID card to perform this action!")) + return FALSE + if(state == STATE_EVACUATION_CANCEL) if(!SShijack.cancel_evacuation()) to_chat(usr, SPAN_WARNING("You are unable to cancel the evacuation right now!")) diff --git a/code/game/machinery/computer/dropship_weapons.dm b/code/game/machinery/computer/dropship_weapons.dm index d86b9fc28a28..2f9047abc63c 100644 --- a/code/game/machinery/computer/dropship_weapons.dm +++ b/code/game/machinery/computer/dropship_weapons.dm @@ -11,7 +11,6 @@ exproof = TRUE var/shuttle_tag // Used to know which shuttle we're linked to. var/obj/structure/dropship_equipment/selected_equipment //the currently selected equipment installed on the shuttle this console controls. - var/list/shuttle_equipments = list() //list of the equipments on the shuttle this console controls var/cavebreaker = FALSE //ignore caves and other restrictions? var/datum/cas_fire_envelope/firemission_envelope var/datum/cas_fire_mission/selected_firemission @@ -25,15 +24,41 @@ var/datum/simulator/simulation var/datum/cas_fire_mission/configuration + // groundside maps + var/datum/tacmap/tacmap + var/minimap_type = MINIMAP_FLAG_USCM + + // Cameras + var/camera_target_id + var/camera_width = 11 + var/camera_height = 11 + var/camera_map_name + + var/registered = FALSE + /obj/structure/machinery/computer/dropship_weapons/Initialize() . = ..() simulation = new() + tacmap = new(src, minimap_type) + + RegisterSignal(src, COMSIG_CAMERA_MAPNAME_ASSIGNED, PROC_REF(camera_mapname_update)) + + // camera setup + AddComponent(/datum/component/camera_manager) + SEND_SIGNAL(src, COMSIG_CAMERA_CLEAR) /obj/structure/machinery/computer/dropship_weapons/New() ..() if(firemission_envelope) firemission_envelope.linked_console = src +/obj/structure/machinery/computer/dropship_weapons/proc/camera_mapname_update(source, value) + camera_map_name = value + +/obj/structure/machinery/computer/dropship_weapons/Destroy() + . = ..() + UnregisterSignal(src, COMSIG_CAMERA_MAPNAME_ASSIGNED) + /obj/structure/machinery/computer/dropship_weapons/attack_hand(mob/user) if(..()) return @@ -43,7 +68,7 @@ to_chat(user, SPAN_WARNING("Weapons modification access denied, attempting to launch simulation.")) if(!selected_firemission) - to_chat(usr, SPAN_WARNING("Firemission must be selected before attempting to run the simulation")) + to_chat(user, SPAN_WARNING("Firemission must be selected before attempting to run the simulation")) return tgui_interact(user) @@ -54,139 +79,41 @@ /obj/structure/machinery/computer/dropship_weapons/attackby(obj/item/W, mob/user as mob) if(istype(W, /obj/item/frame/matrix_frame)) - var/obj/item/frame/matrix_frame/MATRIX = W - if(MATRIX.state == ASSEMBLY_LOCKED) + var/obj/item/frame/matrix_frame/matrix = W + if(matrix.state == ASSEMBLY_LOCKED) user.drop_held_item(W, src) W.forceMove(src) to_chat(user, SPAN_NOTICE("You swap the matrix in the dropship guidance camera system, destroying the older part in the process")) - upgraded = MATRIX.upgrade - matrixcol = MATRIX.matrixcol - power = MATRIX.power + upgraded = matrix.upgrade + matrixcol = matrix.matrixcol + power = matrix.power else to_chat(user, SPAN_WARNING("Matrix is not complete!")) +/obj/structure/machinery/computer/dropship_weapons/proc/equipment_update(obj/docking_port/mobile/marine_dropship/dropship) + SIGNAL_HANDLER + var/list/obj/structure/dropship_equipment/weapons = list() + for(var/obj/structure/dropship_equipment/weapon/weap as anything in dropship.equipments) + weapons.Add(weap) + firemission_envelope.update_weapons(weapons) + /obj/structure/machinery/computer/dropship_weapons/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 0) - var/data[0] var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttle_tag) if (!istype(dropship)) return - var/shuttle_state - switch(dropship.mode) - if(SHUTTLE_IDLE) - shuttle_state = "idle" - if(SHUTTLE_IGNITING) - shuttle_state = "warmup" - if(SHUTTLE_CALL) - shuttle_state = "in_transit" - if(SHUTTLE_CRASHED) - shuttle_state = "crashed" - - - var/list/equipment_data = list() - var/list/targets_data = list() - var/list/firemission_data = list() - var/list/firemission_edit_data = list() - var/list/firemission_edit_timeslices = list() - - for(var/ts = 1; ts<=firemission_envelope.fire_length; ts++) - firemission_edit_timeslices += ts - - var/current_mission_error = null - if(!faction) - return //no faction, no weapons - - var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] - - if(!cas_group) - return //broken group. No fighting - - for(var/X in cas_group.cas_signals) - var/datum/cas_signal/LT = X - if(!istype(LT) || !LT.valid_signal()) - continue - var/area/laser_area = get_area(LT.signal_loc) - targets_data += list(list("target_name" = "[LT.name] ([laser_area.name])", "target_tag" = LT.target_id)) - shuttle_equipments = dropship.equipments - var/element_nbr = 1 - for(var/X in dropship.equipments) - var/obj/structure/dropship_equipment/E = X - equipment_data += list(list("name"= sanitize(copytext(E.name,1,MAX_MESSAGE_LEN)), "eqp_tag" = element_nbr, "is_weapon" = E.is_weapon, "is_interactable" = E.is_interactable)) - element_nbr++ - E.linked_console = src - - - var/selected_eqp_name = "" - var/selected_eqp_ammo_name = "" - var/selected_eqp_ammo_amt = 0 - var/selected_eqp_max_ammo_amt = 0 var/screen_mode = 0 - var/fm_length = 0 - var/fm_offset = 0 - var/fm_direction = "" - var/fm_step_text = "" - var/firemission_signal - var/firemission_stat = 0 - if(selected_equipment) - selected_eqp_name = sanitize(copytext(selected_equipment.name,1,MAX_MESSAGE_LEN)) - if(selected_equipment.ammo_equipped) - selected_eqp_ammo_name = sanitize(copytext(selected_equipment.ammo_equipped.name,1,MAX_MESSAGE_LEN)) - selected_eqp_ammo_amt = selected_equipment.ammo_equipped.ammo_count - selected_eqp_max_ammo_amt = selected_equipment.ammo_equipped.max_ammo_count - screen_mode = selected_equipment.screen_mode - - var/firemission_id = 1 - var/found_selected = FALSE if(firemission_envelope) - firemission_stat = firemission_envelope.stat - fm_step_text = firemission_envelope.firemission_status_message() - for(var/datum/cas_fire_mission/X in firemission_envelope.missions) - if(!istype(X)) - continue //the fuck - var/error_code = X.check(src) - - var/selected = X == selected_firemission - if(error_code != FIRE_MISSION_ALL_GOOD && selected) - selected = FALSE - selected_firemission = null - var/can_edit = error_code != FIRE_MISSION_CODE_ERROR && !selected - - if(selected) - found_selected = TRUE - var/can_interact = firemission_envelope.stat == FIRE_MISSION_STATE_IDLE && error_code == FIRE_MISSION_ALL_GOOD - firemission_data += list(list("name"= sanitize(copytext(X.name,1,MAX_MESSAGE_LEN)), "mission_tag" = firemission_id, "can_edit" = can_edit, "can_interact" = can_interact, "selected" = selected)) - firemission_id++ - if(!istype(editing_firemission)) editing_firemission = null - //the fuck if(editing_firemission) var/error_code = editing_firemission.check(src) var/can_edit = error_code != FIRE_MISSION_CODE_ERROR - if(error_code != FIRE_MISSION_ALL_GOOD) - current_mission_error = editing_firemission.error_message(error_code) - else - current_mission_error = null if(!can_edit) editing_firemission = null //abort - else - screen_mode = 2 - for(var/datum/cas_fire_mission_record/firerec in editing_firemission.records) - var/gimbal = firerec.get_offsets() - var/ammo = firerec.get_ammo() - var/offsets = new /list(firerec.offsets.len) - for(var/idx = 1; idx < firerec.offsets.len; idx++) - offsets[idx] = firerec.offsets[idx] == null ? "-" : firerec.offsets[idx] - firemission_edit_data += list(list("name" = sanitize(copytext(firerec.weapon.name, 1, 50)), "ammo" = ammo, "gimbal" = gimbal, "offsets" = firerec.offsets)) - - if(!found_selected) - selected_firemission = null - - if(editing_firemission) - fm_length = editing_firemission.mission_length if((screen_mode != 0 && in_firemission_mode) || !selected_firemission) in_firemission_mode = FALSE @@ -196,497 +123,664 @@ selected_firemission = null if(selected_firemission && in_firemission_mode) screen_mode = 3 - fm_offset = firemission_envelope.recorded_offset - fm_direction = dir2text(firemission_envelope.recorded_dir) if(firemission_envelope.recorded_loc && (!firemission_envelope.recorded_loc.signal_loc || !firemission_envelope.recorded_loc.signal_loc:loc)) firemission_envelope.recorded_loc = null - firemission_signal = firemission_envelope.recorded_loc?firemission_envelope.recorded_loc.get_name() : "NOT SELECTED" - if(!fm_direction) - fm_direction = "NOT SELECTED" - - if(screen_mode != 3 || !selected_firemission || shuttle_state != "in_transit") - update_location(null) - // /if(firemission_envelope) - - data = list( - "shuttle_state" = shuttle_state, - "fire_mission_enabled" = dropship.in_flyby, - "equipment_data" = equipment_data, - "targets_data" = targets_data, - "selected_eqp" = selected_eqp_name, - "selected_eqp_ammo_name" = selected_eqp_ammo_name, - "selected_eqp_ammo_amt" = selected_eqp_ammo_amt, - "selected_eqp_max_ammo_amt" = selected_eqp_max_ammo_amt, - "screen_mode" = screen_mode, - "firemission_data" = firemission_data, - "editing_firemission" = editing_firemission, - "editing_firemission_length" = fm_length, - "firemission_edit_data" = firemission_edit_data, - "current_mission_error" = current_mission_error, - "firemission_edit_timeslices" = firemission_edit_timeslices, - "has_firemission" = !!firemission_envelope, - "can_firemission" = !!selected_firemission && shuttle_state == "in_transit", - "can_launch_firemission" = !!selected_firemission && shuttle_state == "in_transit" && firemission_stat != FIRE_MISSION_STATE_IDLE, - //firemission related stuff - "firemission_name" = (selected_firemission ? selected_firemission.name : ""), - "firemission_selected_laser" = firemission_signal, - "firemission_offset" = fm_offset, - "firemission_direction" = fm_direction, - "firemission_message" = fm_step_text, - "firemission_step" = firemission_stat, - ) + if(screen_mode != 3 || !selected_firemission || dropship.mode != SHUTTLE_CALL) + update_location(user, null) - ui = SSnano.nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + ui_data(user) + if(!tacmap.map_holder) + var/level = SSmapping.levels_by_trait(tacmap.targeted_ztrait) + tacmap.map_holder = SSminimaps.fetch_tacmap_datum(level[1], tacmap.allowed_flags) + user.client.register_map_obj(tacmap.map_holder.map) + tgui_interact(user) + +/obj/structure/machinery/computer/dropship_weapons/tgui_interact(mob/user, datum/tgui/ui) + if(!registered) + var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttle_tag) + RegisterSignal(dropship, COMSIG_DROPSHIP_ADD_EQUIPMENT, PROC_REF(equipment_update)) + RegisterSignal(dropship, COMSIG_DROPSHIP_REMOVE_EQUIPMENT, PROC_REF(equipment_update)) + registered=TRUE + ui = SStgui.try_update_ui(user, src, ui) if (!ui) - ui = new(user, src, ui_key, "dropship_weapons_console.tmpl", "Weapons Control", 800, 600) - ui.set_initial_data(data) + SEND_SIGNAL(src, COMSIG_CAMERA_REGISTER_UI, user) + ui = new(user, src, "DropshipWeaponsConsole", "Weapons Console") ui.open() - ui.set_auto_update(1) -/obj/structure/machinery/computer/dropship_weapons/Topic(href, href_list) - if(..()) - return +/obj/structure/machinery/computer/dropship_weapons/ui_close(mob/user) + . = ..() + SEND_SIGNAL(src, COMSIG_CAMERA_UNREGISTER_UI, user) + if(simulation.looking_at_simulation) + simulation.stop_watching(user) + +/obj/structure/machinery/computer/dropship_weapons/ui_status(mob/user, datum/ui_state/state) + . = ..() + if(inoperable()) + return UI_CLOSE + if(!faction) + return UI_CLOSE + + var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] + if(!cas_group) + return UI_CLOSE + +/obj/structure/machinery/computer/dropship_weapons/ui_state(mob/user) + return GLOB.not_incapacitated_and_adjacent_strict_state - add_fingerprint(usr) +/obj/structure/machinery/computer/dropship_weapons/ui_static_data(mob/user) + . = list() + .["tactical_map_ref"] = tacmap.map_holder.map_ref + .["camera_map_ref"] = camera_map_name +/obj/structure/machinery/computer/dropship_weapons/ui_data(mob/user) + . = list() var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttle_tag) if (!istype(dropship)) return - if(href_list["equip_interact"]) - var/base_tag = text2num(href_list["equip_interact"]) - var/obj/structure/dropship_equipment/E = shuttle_equipments[base_tag] - E.linked_console = src - E.equipment_interact(usr) - - if(href_list["open_fire"]) - var/targ_id = text2num(href_list["open_fire"]) - var/mob/M = usr - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(!H.allow_gun_usage) - to_chat(H, SPAN_WARNING("Your programming prevents you from operating dropship weaponry!")) - return - var/obj/structure/dropship_equipment/weapon/DEW = selected_equipment - if(!selected_equipment || !selected_equipment.is_weapon) - to_chat(usr, SPAN_WARNING("No weapon selected.")) - return - if(!skillcheck(M, SKILL_PILOT, DEW.skill_required)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("You don't have the training to fire this weapon!")) - return + var/datum/cas_signal/sig = get_cas_signal(camera_target_id) + if(camera_target_id && !sig) + set_camera_target(null) - if(!faction) - return //no faction, no weapons - - var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] - - if(!cas_group) - return //broken group. No fighting - - for(var/X in cas_group.cas_signals) - var/datum/cas_signal/LT = X - if(LT.target_id == targ_id && LT.valid_signal()) - if(dropship.mode != SHUTTLE_CALL) - to_chat(usr, SPAN_WARNING("Dropship can only fire while in flight.")) - return - if(dropship.door_override) - return - if(!selected_equipment || !selected_equipment.is_weapon) - to_chat(usr, SPAN_WARNING("No weapon selected.")) - return - DEW = selected_equipment // for if the weapon somehow changes - if(!skillcheck(M, SKILL_PILOT, DEW.skill_required)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("You don't have the training to fire this weapon!")) - return - if(!dropship.in_flyby && DEW.fire_mission_only) - to_chat(usr, SPAN_WARNING("[DEW] requires a fire mission flight type to be fired.")) - return - - if(!DEW.ammo_equipped || DEW.ammo_equipped.ammo_count <= 0) - to_chat(usr, SPAN_WARNING("[DEW] has no ammo.")) - return - if(DEW.last_fired > world.time - DEW.firing_delay) - to_chat(usr, SPAN_WARNING("[DEW] just fired, wait for it to cool down.")) - return - if(!LT.signal_loc) - return - var/turf/TU = get_turf(LT.signal_loc) - var/area/targ_area = get_area(LT.signal_loc) - var/is_outside = FALSE - if(is_ground_level(TU.z)) - switch(targ_area.ceiling) - if(CEILING_NONE) - is_outside = TRUE - if(CEILING_GLASS) - is_outside = TRUE - if(!is_outside && !cavebreaker) //cavebreaker doesn't care - to_chat(usr, SPAN_WARNING("INVALID TARGET: target must be visible from high altitude.")) - return - if (protected_by_pylon(TURF_PROTECTION_CAS, TU)) - to_chat(usr, SPAN_WARNING("INVALID TARGET: biological-pattern interference with signal.")) - return - if(!DEW.ammo_equipped.can_fire_at(TU, usr)) - return - - DEW.open_fire(LT.signal_loc) - break - - if(href_list["deselect"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - selected_equipment = null + .["screen_mode"] = get_screen_mode() - if(href_list["create_mission"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - if(firemission_envelope.max_mission_len <= firemission_envelope.missions.len) - to_chat(usr, SPAN_WARNING("Cannot store more than [firemission_envelope.max_mission_len] Fire Missions.")) - return - var/fm_name = stripped_input(usr, "", "Enter Fire Mission Name", "Fire Mission [firemission_envelope.missions.len+1]", 50) - if(!fm_name || length(fm_name) < 5) - to_chat(usr, SPAN_WARNING("Name too short (at least 5 symbols).")) - return - var/fm_length = stripped_input(usr, "Enter length of the Fire Mission. Has to be less than [firemission_envelope.fire_length]. Use something that divides [firemission_envelope.fire_length] for optimal performance.", "Fire Mission Length (in tiles)", "[firemission_envelope.fire_length]", 5) - var/fm_length_n = text2num(fm_length) - if(!fm_length_n) - to_chat(usr, SPAN_WARNING("Incorrect input format.")) - return - if(fm_length_n > firemission_envelope.fire_length) - to_chat(usr, SPAN_WARNING("Fire Mission is longer than allowed by this vehicle.")) - return - if(firemission_envelope.stat != FIRE_MISSION_STATE_IDLE) - to_chat(usr, SPAN_WARNING("Vehicle has to be idle to allow Fire Mission editing and creation.")) - return - //everything seems to be fine now - firemission_envelope.generate_mission(fm_name, fm_length_n) - - if(href_list["mission_tag_delete"]) - var/ref = text2num(href_list["mission_tag_delete"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - if(ref>firemission_envelope.missions.len) - to_chat(usr, SPAN_WARNING("Fire Mission ID corrupted or already deleted.")) - return - if(selected_firemission == firemission_envelope.missions[ref]) - to_chat(usr, SPAN_WARNING("Can't delete selected Fire Mission.")) - return - var/result = firemission_envelope.delete_firemission(ref) - if(result != 1) - to_chat(usr, SPAN_WARNING("Unable to delete Fire Mission while in combat.")) - return + // dropship info + .["shuttle_state"] = dropship.mode + .["fire_mission_enabled"] = dropship.in_flyby - if(href_list["mission_tag"]) - var/ref = text2num(href_list["mission_tag"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - if(ref>firemission_envelope.missions.len) - to_chat(usr, SPAN_WARNING("Fire Mission ID corrupted or deleted.")) - return - if(firemission_envelope.stat > FIRE_MISSION_STATE_IN_TRANSIT && firemission_envelope.stat < FIRE_MISSION_STATE_COOLDOWN) - to_chat(usr, SPAN_WARNING("Fire Mission already underway.")) - return - if(selected_firemission == firemission_envelope.missions[ref]) - selected_firemission = null - else - selected_firemission = firemission_envelope.missions[ref] + // equipment info + .["equipment_data"] = get_sanitised_equipment(user, dropship) - if(href_list["mission_tag_edit"]) - var/ref = text2num(href_list["mission_tag_edit"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - if(ref>firemission_envelope.missions.len) - to_chat(usr, SPAN_WARNING("Fire Mission ID corrupted or deleted.")) - return - if(selected_firemission == firemission_envelope.missions[ref]) - to_chat(usr, SPAN_WARNING("Can't edit selected Fire Mission.")) - return - if(firemission_envelope.stat > FIRE_MISSION_STATE_IN_TRANSIT && firemission_envelope.stat < FIRE_MISSION_STATE_COOLDOWN) - to_chat(usr, SPAN_WARNING("Fire Mission already underway.")) - return - editing_firemission = firemission_envelope.missions[ref] + // medevac targets + .["medevac_targets"] = list() + for(var/obj/structure/dropship_equipment/equipment as anything in dropship.equipments) + if (istype(equipment, /obj/structure/dropship_equipment/medevac_system)) + var/obj/structure/dropship_equipment/medevac_system/medevac = equipment + .["medevac_targets"] += medevac.ui_data(user) + // fultons - if(href_list["leave_firemission_editing"]) - editing_firemission = null + .["fulton_targets"] = list() + for(var/obj/structure/dropship_equipment/equipment as anything in dropship.equipments) + if (istype(equipment, /obj/structure/dropship_equipment/fulton_system)) + var/obj/structure/dropship_equipment/fulton_system/fult = equipment + .["fulton_targets"] += fult.ui_data(user) - if(href_list["switch_to_firemission"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - in_firemission_mode = TRUE + .["targets_data"] = get_targets() + .["camera_target"] = camera_target_id - if(href_list["switch_to_simulation"]) - if(!selected_firemission) - to_chat(usr, SPAN_WARNING("Select a firemission before attempting to run the simulation")) - return + if(selected_equipment) + .["selected_eqp"] = selected_equipment.ship_base.attach_id + if(selected_equipment.ammo_equipped) + var/obj/structure/ship_ammo/ammo_equipped = selected_equipment.ammo_equipped + .["selected_eqp_ammo_name"] = sanitize(copytext(ammo_equipped.name, 1, MAX_MESSAGE_LEN)) + .["selected_eqp_ammo_amt"] = ammo_equipped.ammo_count + .["selected_eqp_max_ammo_amt"] = ammo_equipped.max_ammo_count + + // firemission info + .["has_firemission"] = !!firemission_envelope + .["can_firemission"] = !!selected_firemission && dropship.mode == SHUTTLE_CALL + if(editing_firemission) + .["editing_firemission"] = editing_firemission + .["editing_firemission_length"] = editing_firemission ? editing_firemission.mission_length : 0 + var/error_code = editing_firemission.check(src) + .["current_mission_error"] = error_code != FIRE_MISSION_ALL_GOOD ? editing_firemission.error_message(error_code) : null + .["firemission_edit_data"] = get_edit_firemission_data() - configuration = selected_firemission + if(firemission_envelope) + .["can_launch_firemission"] = !!selected_firemission && dropship.mode == SHUTTLE_CALL && firemission_envelope.stat != FIRE_MISSION_STATE_IDLE + .["firemission_data"] = get_firemission_data(user) + .["firemission_state"] = firemission_envelope.stat + .["firemission_offset"] = firemission_envelope.recorded_offset + .["firemission_message"] = firemission_envelope.firemission_status_message() + .["firemission_name"] = selected_firemission ? selected_firemission.name : "" + .["firemission_step"] = firemission_envelope.stat + .["firemission_selected_laser"] = firemission_envelope.recorded_loc ? firemission_envelope.recorded_loc.get_name() : "NOT SELECTED" + + .["configuration"] = configuration + .["looking"] = simulation.looking_at_simulation + .["dummy_mode"] = simulation.dummy_mode + .["worldtime"] = world.time + .["nextdetonationtime"] = simulation.detonation_cooldown + .["detonation_cooldown"] = simulation.detonation_cooldown_time - // simulation mode - tgui_interact(usr) +/obj/structure/machinery/computer/dropship_weapons/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + var/obj/docking_port/mobile/marine_dropship/shuttle = SSshuttle.getShuttle(shuttle_tag) + if(shuttle.is_hijacked) + return - if(href_list["leave_firemission_execution"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - firemission_envelope.remove_user_from_tracking(usr) - in_firemission_mode = FALSE + var/mob/user = ui.user + switch(action) + if("button_push") + playsound(src, get_sfx("terminal_button"), 25, FALSE) + return TRUE - if(href_list["change_direction"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - var/list/directions = list(dir2text(NORTH), dir2text(SOUTH), dir2text(EAST), dir2text(WEST)) - var/chosen = tgui_input_list(usr, "Select new Direction for the strafing run", "Select Direction", directions) + if("select_equipment") + var/base_tag = params["equipment_id"] + ui_equip_interact(user, base_tag) + return TRUE - var/chosen_dir = text2dir(chosen) - if(!chosen_dir) - to_chat(usr, SPAN_WARNING("Error with direction detected.")) - return + if("start_watching") + simulation.start_watching(user) + . = TRUE - update_direction(chosen_dir) + if("stop_watching") + simulation.stop_watching(user) + . = TRUE - if(href_list["change_offset"]) - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return + if("execute_simulated_firemission") + if(!configuration) + to_chat(user, SPAN_WARNING("No configured firemission")) + return + simulate_firemission(user) + . = TRUE - var/chosen = stripped_input(usr, "Select Fire Mission length, from 0 to [firemission_envelope.max_offset]", "Select Offset", "[firemission_envelope.recorded_offset]", 2) - var/chosen_offset = text2num(chosen) + if("switch_firemission") + configuration = tgui_input_list(user, "Select firemission to simulate", "Select firemission", firemission_envelope.missions, 30 SECONDS) + if(!selected_firemission) + to_chat(user, SPAN_WARNING("No configured firemission")) + return + if(!configuration) + configuration = selected_firemission + . = TRUE - if(chosen_offset == null) - to_chat(usr, SPAN_WARNING("Error with offset detected.")) - return + if("switchmode") + simulation.dummy_mode = tgui_input_list(user, "Select target type to simulate", "Target type", simulation.target_types, 30 SECONDS) + if(!simulation.dummy_mode) + simulation.dummy_mode = CLF_MODE + . = TRUE - update_offset(chosen_offset) + if("set-camera") + var/target_camera = params["equipment_id"] + set_camera_target(target_camera) + return TRUE + + if("set-camera-sentry") + var/equipment_tag = params["equipment_id"] + for(var/obj/structure/dropship_equipment/equipment as anything in shuttle.equipments) + var/mount_point = equipment.ship_base.attach_id + if(mount_point != equipment_tag) + continue + if (istype(equipment, /obj/structure/dropship_equipment/sentry_holder)) + var/obj/structure/dropship_equipment/sentry_holder/sentry = equipment + var/obj/structure/machinery/defenses/sentry/defense = sentry.deployed_turret + if (defense.has_camera) + defense.set_range() + var/datum/shape/rectangle/current_bb = defense.range_bounds + SEND_SIGNAL(src, COMSIG_CAMERA_SET_AREA, current_bb.center_x, current_bb.center_y, defense.loc.z, current_bb.width, current_bb.height) + return TRUE + + if("clear-camera") + set_camera_target(null) + return TRUE + + if("medevac-target") + var/equipment_tag = params["equipment_id"] + for(var/obj/structure/dropship_equipment/equipment as anything in shuttle.equipments) + var/mount_point = equipment.ship_base.attach_id + if(mount_point != equipment_tag) + continue + if (istype(equipment, /obj/structure/dropship_equipment/medevac_system)) + var/obj/structure/dropship_equipment/medevac_system/medevac = equipment + var/target_ref = params["ref"] + medevac.automate_interact(user, target_ref) + if(medevac.linked_stretcher) + SEND_SIGNAL(src, COMSIG_CAMERA_SET_TARGET, medevac.linked_stretcher, 5, 5) + return TRUE + if("fulton-target") + var/equipment_tag = params["equipment_id"] + for(var/obj/structure/dropship_equipment/equipment as anything in shuttle.equipments) + var/mount_point = equipment.ship_base.attach_id + if(mount_point != equipment_tag) + continue + if (istype(equipment, /obj/structure/dropship_equipment/fulton_system)) + var/obj/structure/dropship_equipment/fulton_system/fulton = equipment + var/target_ref = params["ref"] + fulton.automate_interact(user, target_ref) + return TRUE + if("fire-weapon") + var/weapon_tag = params["eqp_tag"] + var/obj/structure/dropship_equipment/weapon/DEW = get_weapon(weapon_tag) + if(!DEW) + return FALSE + + var/datum/cas_signal/sig = get_cas_signal(camera_target_id) + + if(!sig) + return FALSE + + selected_equipment = DEW + ui_open_fire(user, shuttle, camera_target_id) + return TRUE + if("deploy-equipment") + var/equipment_tag = params["equipment_id"] + for(var/obj/structure/dropship_equipment/equipment as anything in shuttle.equipments) + var/mount_point = equipment.ship_base.attach_id + if(mount_point != equipment_tag) + continue + equipment.equipment_interact(user) + return TRUE + + if("firemission-create") + var/name = params["firemission_name"] + var/length = params["firemission_length"] + var/length_n = text2num(length) + if(!length_n) + to_chat(user, SPAN_WARNING("Incorrect input format.")) + return FALSE + ui_create_firemission(user, name, length_n) + return TRUE + + if("firemission-delete") + var/name = params["firemission_name"] + ui_delete_firemission(user, name) + return TRUE + + if("firemission-dual-offset-camera") + var/target_id = params["target_id"] + + var/x_offset_value = params["x_offset_value"] + var/y_offset_value = params["y_offset_value"] + + var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] + var/datum/cas_signal/cas_sig + for(var/X in cas_group.cas_signals) + var/datum/cas_signal/LT = X + if(LT.target_id == target_id && LT.valid_signal()) + cas_sig = LT + break + // we don't want rapid offset changes to trigger admin warnings + // and block the user from accessing TGUI + // we change the minute_count + user.client.reduce_minute_count() + if(!cas_sig) + return TRUE + + // find position of cas_sig with offset dir and value applied + var/dx = text2num(x_offset_value) + var/dy = text2num(y_offset_value) + + var/obj/current = cas_sig.signal_loc + var/obj/new_target = locate( + current.x + dx, + current.y + dy, + current.z) + + firemission_envelope.change_current_loc(new_target) + + return TRUE + if("nvg-enable") + SEND_SIGNAL(src, COMSIG_CAMERA_SET_NVG, 5, "#7aff7a") + return TRUE + if("nvg-disable") + SEND_SIGNAL(src, COMSIG_CAMERA_CLEAR_NVG) + return TRUE + + if("firemission-edit") + var/fm_tag = text2num(params["tag"]) + var/weapon_id = text2num(params["weapon_id"]) + var/offset_id = text2num(params["offset_id"]) + var/offset_value = text2num(params["offset_value"]) + return ui_firemission_change_offset(user, fm_tag, weapon_id, offset_id + 1, offset_value) + + if("firemission-execute") + var/fm_tag = text2num(params["tag"]) + var/direction = params["direction"] + var/target_id = params["target_id"] + var/offset_x_value = params["offset_x_value"] + var/offset_y_value = params["offset_y_value"] + + if(!ui_select_firemission(user, fm_tag)) + playsound(src, 'sound/machines/terminal_error.ogg', 5, 1) + return FALSE + if(!update_direction(user, text2num(direction))) + playsound(src, 'sound/machines/terminal_error.ogg', 5, 1) + return FALSE + if(!ui_select_laser_firemission(user, shuttle, target_id)) + playsound(src, 'sound/machines/terminal_error.ogg', 5, 1) + return FALSE + + initiate_firemission(user, fm_tag, direction, text2num(offset_x_value), text2num(offset_y_value)) + return TRUE + +/obj/structure/machinery/computer/dropship_weapons/proc/get_weapon(eqp_tag) + var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttle_tag) + for(var/obj/structure/dropship_equipment/equipment in dropship.equipments) + if(istype(equipment, /obj/structure/dropship_equipment/weapon)) + //is weapon + if(selected_equipment == equipment) + return equipment + return + +/obj/structure/machinery/computer/dropship_weapons/proc/get_cas_signal(target_ref) + if(!target_ref) + return - if(href_list["select_laser_firemission"]) - var/mob/M = usr - var/targ_id = text2num(href_list["select_laser_firemission"]) - if(!targ_id) - to_chat(usr, SPAN_WARNING("Bad Target.")) - return - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - if(firemission_envelope.stat > FIRE_MISSION_STATE_IN_TRANSIT && firemission_envelope.stat < FIRE_MISSION_STATE_COOLDOWN) - to_chat(usr, SPAN_WARNING("Fire Mission already underway.")) - return - if(dropship.mode != SHUTTLE_CALL) - to_chat(usr, SPAN_WARNING("Shuttle has to be in orbit.")) - return - var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] - var/datum/cas_signal/cas_sig - for(var/X in cas_group.cas_signals) - var/datum/cas_signal/LT = X - if(LT.target_id == targ_id && LT.valid_signal()) - cas_sig = LT - if(!cas_sig) - to_chat(usr, SPAN_WARNING("Target lost or obstructed.")) - return + var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] + for(var/datum/cas_signal/sig in cas_group.cas_signals) + if(sig.target_id == target_ref) + return sig - update_location(cas_sig) - if(href_list["execute_firemission"]) - var/mob/M = usr - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(!H.allow_gun_usage) - to_chat(H, SPAN_WARNING("Your programming prevents you from operating dropship weaponry!")) - return - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - if(firemission_envelope.stat != FIRE_MISSION_STATE_IDLE) - to_chat(usr, SPAN_WARNING("Fire Mission already underway.")) - return - if(dropship.mode != SHUTTLE_CALL) - to_chat(usr, SPAN_WARNING("Shuttle has to be in orbit.")) - return - if(!firemission_envelope.recorded_loc) - to_chat(usr, SPAN_WARNING("Target is not selected or lost.")) - return +/obj/structure/machinery/computer/dropship_weapons/proc/set_camera_target(target_ref) + var/datum/cas_signal/target = get_cas_signal(target_ref) + camera_target_id = target_ref + if(!target) + SEND_SIGNAL(src, COMSIG_CAMERA_CLEAR) + return - initiate_firemission() + var/cam_width = camera_width + var/cam_height = camera_height + if(upgraded == MATRIX_WIDE) + cam_width = cam_width * 1.5 + cam_height = cam_height * 1.5 - if(href_list["fm_weapon_id"]) - var/weap_ref = text2num(href_list["fm_weapon_id"])+1 - var/offset_ref = text2num(href_list["fm_offset_id"])+1 - var/mob/M = usr - if(!skillcheck(M, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. - to_chat(usr, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) - return - if(!editing_firemission) - to_chat(usr, SPAN_WARNING("You are no longer editing Fire Mission.")) - return - if(!editing_firemission.records || editing_firemission.records.len FIRE_MISSION_STATE_IN_TRANSIT && firemission_envelope.stat < FIRE_MISSION_STATE_COOLDOWN) - to_chat(usr, SPAN_WARNING("Fire Mission already underway.")) - return - var/list/gimb = record.get_offsets() - var/min = gimb["min"] - var/max = gimb["max"] - var/offset_value = stripped_input(usr, "Enter offset for the [record.weapon.name]. It has to be between [min] and [max]. Enter '-' to remove fire order on this time stamp.", "Firing offset", "[record.offsets[offset_ref]]", 2) - if(offset_value == null) - return - if(offset_value == "-") - offset_value = "-" - else - offset_value = text2num(offset_value) - if(offset_value == null) - to_chat(usr, SPAN_WARNING("Incorrect offset value.")) - return - var/result = firemission_envelope.update_mission(firemission_envelope.missions.Find(editing_firemission), weap_ref, offset_ref, offset_value, TRUE) - if(result == 0) - to_chat(usr, SPAN_WARNING("Update caused an error: [firemission_envelope.mission_error]")) - if(result == -1) - to_chat(usr, SPAN_WARNING("System Error. Delete this Fire Mission.")) - - if(href_list["firemission_camera"]) - if(dropship.mode != SHUTTLE_CALL) - to_chat(usr, SPAN_WARNING("Shuttle has to be in orbit.")) - return + SEND_SIGNAL(src, COMSIG_CAMERA_SET_TARGET, target.linked_cam, cam_width, cam_height) - if(!firemission_envelope.guidance) - to_chat(usr, SPAN_WARNING("Guidance is not selected or lost.")) - return +/obj/structure/machinery/computer/dropship_weapons/proc/get_screen_mode() + . = 0 + if(selected_equipment) + . = selected_equipment.screen_mode + if(editing_firemission && editing_firemission.check(src) != FIRE_MISSION_CODE_ERROR) + . = 2 + if(selected_firemission && in_firemission_mode) + . = 3 +/obj/structure/machinery/computer/dropship_weapons/proc/get_firemission_data(mob/user) + . = list() + var/firemission_id = 1 + for(var/datum/cas_fire_mission/firemission in firemission_envelope.missions) + var/error_code = firemission.check(src) - firemission_envelope.add_user_to_tracking(usr) + var/selected = firemission == selected_firemission + var/can_edit = error_code != FIRE_MISSION_CODE_ERROR && !selected - to_chat(usr, "You peek through the guidance camera.") + var/can_interact = firemission_envelope.stat == FIRE_MISSION_STATE_IDLE && error_code == FIRE_MISSION_ALL_GOOD + var/list/fm_data = firemission.ui_data(user) + fm_data["mission_tag"] = firemission_id + fm_data["can_edit"] = can_edit + fm_data["can_interact"] = can_interact + fm_data["selected"] = selected + . += list(fm_data) - if(href_list["cas_camera"]) - if(!ishuman(usr)) - to_chat(usr, SPAN_WARNING("You have no idea how to do that!")) - return - if(dropship.mode != SHUTTLE_CALL) - to_chat(usr, SPAN_WARNING("Shuttle has to be in orbit.")) - return + firemission_id++ - if(!faction) - to_chat(usr, SPAN_DANGER("Bug encountered, this console doesn't have a faction set, report this to a coder!")) - return +/obj/structure/machinery/computer/dropship_weapons/proc/get_edit_firemission_data() + . = list() + if(!editing_firemission) + return + for(var/datum/cas_fire_mission_record/firerec as anything in editing_firemission.records) + var/gimbal = firerec.get_offsets() + var/ammo = firerec.get_ammo() + var/offsets = new /list(firerec.offsets.len) + for(var/idx = 1; idx < firerec.offsets.len; idx++) + offsets[idx] = firerec.offsets[idx] == null ? "-" : firerec.offsets[idx] + . += list( + "name" = sanitize(copytext(firerec.weapon.name, 1, 50)), + "ammo" = ammo, + "gimbal" = gimbal, + "offsets" = firerec.offsets + ) + +/obj/structure/machinery/computer/dropship_weapons/proc/get_sanitised_equipment(mob/user, obj/docking_port/mobile/marine_dropship/dropship) + . = list() + var/element_nbr = 1 + for(var/obj/structure/dropship_equipment/equipment in dropship.equipments) + var/list/data = list( + "name"= equipment.name, + "shorthand" = equipment.shorthand, + "eqp_tag" = element_nbr, + "is_weapon" = equipment.is_weapon, + "is_interactable" = equipment.is_interactable, + "mount_point" = equipment.ship_base.attach_id, + "is_missile" = istype(equipment, /obj/structure/dropship_equipment/weapon/rocket_pod), + "ammo_name" = equipment.ammo_equipped?.name, + "ammo" = equipment.ammo_equipped?.ammo_count, + "max_ammo" = equipment.ammo_equipped?.max_ammo_count, + "firemission_delay" = equipment.ammo_equipped?.fire_mission_delay, + "burst" = equipment.ammo_equipped?.ammo_used_per_firing, + "data" = equipment.ui_data(user) + ) + + . += list(data) - var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] - if(!cas_group) - to_chat(usr, SPAN_DANGER("Bug encountered, no CAS group exists for this console, report this to a coder!")) - return + element_nbr++ + equipment.linked_console = src - var/targ_id = text2num(href_list["cas_camera"]) - var/datum/cas_signal/new_signal - for(var/datum/cas_signal/LT as anything in cas_group.cas_signals) - if(LT.target_id == targ_id && LT.valid_signal()) - new_signal = LT - break +/obj/structure/machinery/computer/dropship_weapons/proc/get_targets() + . = list() + var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] + for(var/datum/cas_signal/LT as anything in cas_group.cas_signals) + if(!istype(LT) || !LT.valid_signal()) + continue + var/area/laser_area = get_area(LT.signal_loc) + . += list( + list( + "target_name" = "[LT.name] ([laser_area.name])", + "target_tag" = LT.target_id + ) + ) + +/obj/structure/machinery/computer/dropship_weapons/proc/ui_equip_interact(mob/user, base_tag) + var/obj/docking_port/mobile/marine_dropship/shuttle = SSshuttle.getShuttle(shuttle_tag) + var/obj/structure/dropship_equipment/E = shuttle.equipments[base_tag] + E.linked_console = src + E.equipment_interact(user) + +/obj/structure/machinery/computer/dropship_weapons/proc/ui_open_fire(mob/weapon_operator, obj/docking_port/mobile/marine_dropship/dropship, targ_id) + if(ishuman(weapon_operator)) + var/mob/living/carbon/human/human_operator = weapon_operator + if(!human_operator.allow_gun_usage) + to_chat(human_operator, SPAN_WARNING("Your programming prevents you from operating dropship weaponry!")) + return FALSE + var/obj/structure/dropship_equipment/weapon/DEW = selected_equipment + if(!selected_equipment || !selected_equipment.is_weapon) + to_chat(weapon_operator, SPAN_WARNING("No weapon selected.")) + return FALSE + if(!skillcheck(weapon_operator, SKILL_PILOT, DEW.skill_required)) //only pilots can fire dropship weapons. + to_chat(weapon_operator, SPAN_WARNING("You don't have the training to fire this weapon!")) + return FALSE + if(dropship.mode != SHUTTLE_CALL) + to_chat(weapon_operator, SPAN_WARNING("Dropship can only fire while in flight.")) + return FALSE + if(!faction) + return FALSE//no faction, no weapons + if(!selected_equipment || !selected_equipment.is_weapon) + to_chat(weapon_operator, SPAN_WARNING("No weapon selected.")) + return FALSE + if(dropship.door_override) + return FALSE + if(!skillcheck(weapon_operator, SKILL_PILOT, DEW.skill_required)) //only pilots can fire dropship weapons. + to_chat(weapon_operator, SPAN_WARNING("You don't have the training to fire this weapon!")) + return FALSE + if(!dropship.in_flyby && DEW.fire_mission_only) + to_chat(weapon_operator, SPAN_WARNING("[DEW] requires a fire mission flight type to be fired.")) + return FALSE + + if(!DEW.ammo_equipped || DEW.ammo_equipped.ammo_count <= 0) + to_chat(weapon_operator, SPAN_WARNING("[DEW] has no ammo.")) + return FALSE + if(DEW.last_fired > world.time - DEW.firing_delay) + to_chat(weapon_operator, SPAN_WARNING("[DEW] just fired, wait for it to cool down.")) + return FALSE - if(!new_signal) - to_chat(usr, SPAN_WARNING("Target lost or obstructed.")) - return + var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] - if(usr in selected_cas_signal?.linked_cam?.viewing_users) // Reset previous cam - remove_from_view(usr) + if(!cas_group) + return FALSE//broken group. No fighting - selected_cas_signal = new_signal - if(selected_cas_signal && selected_cas_signal.linked_cam) - selected_cas_signal.linked_cam.view_directly(usr) - else - to_chat(usr, SPAN_WARNING("Error!")) - return - give_action(usr, /datum/action/human_action/cancel_view) - RegisterSignal(usr, COMSIG_MOB_RESET_VIEW, PROC_REF(remove_from_view)) - RegisterSignal(usr, COMSIG_MOB_RESISTED, PROC_REF(remove_from_view)) - firemission_envelope.apply_upgrade(usr) - to_chat(usr, SPAN_NOTICE("You peek through the guidance camera.")) - - ui_interact(usr) - -/obj/structure/machinery/computer/dropship_weapons/proc/remove_from_view(mob/living/carbon/human/user) - UnregisterSignal(user, COMSIG_MOB_RESET_VIEW) - UnregisterSignal(user, COMSIG_MOB_RESISTED) - if(selected_cas_signal && selected_cas_signal.linked_cam) - selected_cas_signal.linked_cam.remove_from_view(user) - firemission_envelope.remove_upgrades(user) - -/obj/structure/machinery/computer/dropship_weapons/proc/initiate_firemission() + for(var/datum/cas_signal/LT in cas_group.cas_signals) + if(LT.target_id != targ_id || !LT.valid_signal()) + continue + if(!LT.signal_loc) + return FALSE + var/turf/TU = get_turf(LT.signal_loc) + var/area/targ_area = get_area(LT.signal_loc) + var/is_outside = FALSE + if(is_ground_level(TU.z)) + switch(targ_area.ceiling) + if(CEILING_NONE) + is_outside = TRUE + if(CEILING_GLASS) + is_outside = TRUE + if(!is_outside && !cavebreaker) //cavebreaker doesn't care + to_chat(weapon_operator, SPAN_WARNING("INVALID TARGET: target must be visible from high altitude.")) + return FALSE + if (protected_by_pylon(TURF_PROTECTION_CAS, TU)) + to_chat(weapon_operator, SPAN_WARNING("INVALID TARGET: biological-pattern interference with signal.")) + return FALSE + if(!DEW.ammo_equipped.can_fire_at(TU, weapon_operator)) + return FALSE + + DEW.open_fire(LT.signal_loc) + return TRUE + return FALSE + +/obj/structure/machinery/computer/dropship_weapons/proc/ui_create_firemission(mob/weapon_operator, firemission_name, firemission_length) + if(!skillcheck(weapon_operator, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. + to_chat(weapon_operator, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) + return FALSE + // Check name + if(!firemission_name || length(firemission_name) < 1) + to_chat(weapon_operator, SPAN_WARNING("Name too short (at least 1 symbols).")) + return FALSE + // Check length + if(!firemission_length) + to_chat(weapon_operator, SPAN_WARNING("Incorrect input format.")) + return FALSE + if(firemission_length > firemission_envelope.fire_length) + to_chat(weapon_operator, SPAN_WARNING("Fire Mission is longer than allowed by this vehicle.")) + return FALSE + if(firemission_envelope.stat != FIRE_MISSION_STATE_IDLE) + to_chat(weapon_operator, SPAN_WARNING("Vehicle has to be idle to allow Fire Mission editing and creation.")) + return FALSE + + for(var/datum/cas_fire_mission/mission in firemission_envelope.missions) + if(firemission_name == mission.name) + to_chat(weapon_operator, SPAN_WARNING("Fire Mission name must be unique.")) + return FALSE + //everything seems to be fine now + firemission_envelope.generate_mission(firemission_name, firemission_length) + return TRUE + +/obj/structure/machinery/computer/dropship_weapons/proc/ui_delete_firemission(mob/weapon_operator, firemission_tag) + if(!skillcheck(weapon_operator, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. + to_chat(weapon_operator, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) + return FALSE + if(firemission_tag > firemission_envelope.missions.len) + to_chat(weapon_operator, SPAN_WARNING("Fire Mission ID corrupted or already deleted.")) + return FALSE + if(selected_firemission == firemission_envelope.missions[firemission_tag]) + to_chat(weapon_operator, SPAN_WARNING("Can't delete selected Fire Mission.")) + return FALSE + var/result = firemission_envelope.delete_firemission(firemission_tag) + if(result != 1) + to_chat(weapon_operator, SPAN_WARNING("Unable to delete Fire Mission while in combat.")) + return FALSE + return TRUE + +/obj/structure/machinery/computer/dropship_weapons/proc/ui_select_firemission(mob/weapon_operator, firemission_tag) + if(!skillcheck(weapon_operator, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. + to_chat(weapon_operator, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) + return FALSE + if(firemission_envelope.stat > FIRE_MISSION_STATE_IN_TRANSIT && firemission_envelope.stat < FIRE_MISSION_STATE_COOLDOWN) + to_chat(weapon_operator, SPAN_WARNING("Fire Mission already underway.")) + return FALSE + if(firemission_tag > firemission_envelope.missions.len) + to_chat(weapon_operator, SPAN_WARNING("Fire Mission ID corrupted or deleted.")) + return FALSE + if(selected_firemission == firemission_envelope.missions[firemission_tag]) + selected_firemission = null + else + selected_firemission = firemission_envelope.missions[firemission_tag] + return TRUE + +/obj/structure/machinery/computer/dropship_weapons/proc/ui_firemission_change_offset(mob/weapons_operator, fm_tag, weapon_id, offset_id, offset_value) + if(!skillcheck(weapons_operator, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. + to_chat(weapons_operator, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) + return FALSE + + var/result = firemission_envelope.update_mission(fm_tag, weapon_id, offset_id, offset_value) + if(result != FIRE_MISSION_ALL_GOOD) + playsound(src, 'sound/machines/terminal_error.ogg', 5, 1) + return TRUE + +/obj/structure/machinery/computer/dropship_weapons/proc/ui_select_laser_firemission(mob/weapons_operator, obj/docking_port/mobile/marine_dropship/dropship, laser) + if(!laser) + to_chat(weapons_operator, SPAN_WARNING("Bad Target.")) + return FALSE + if(!skillcheck(weapons_operator, SKILL_PILOT, SKILL_PILOT_TRAINED)) //only pilots can fire dropship weapons. + to_chat(weapons_operator, SPAN_WARNING("A screen with graphics and walls of physics and engineering values open, you immediately force it closed.")) + return FALSE + if(firemission_envelope.stat > FIRE_MISSION_STATE_IN_TRANSIT && firemission_envelope.stat < FIRE_MISSION_STATE_COOLDOWN) + to_chat(weapons_operator, SPAN_WARNING("Fire Mission already underway.")) + return FALSE + if(dropship.mode != SHUTTLE_CALL) + to_chat(weapons_operator, SPAN_WARNING("Shuttle has to be in orbit.")) + return FALSE + var/datum/cas_iff_group/cas_group = GLOB.cas_groups[faction] + var/datum/cas_signal/cas_sig + for(var/X in cas_group.cas_signals) + var/datum/cas_signal/LT = X + if(LT.target_id == laser && LT.valid_signal()) + cas_sig = LT + if(!cas_sig) + to_chat(weapons_operator, SPAN_WARNING("Target lost or obstructed.")) + return FALSE + + update_location(weapons_operator, cas_sig) + return TRUE + +/obj/structure/machinery/computer/dropship_weapons/proc/initiate_firemission(mob/user, fmId, dir, offset_x, offset_y) set waitfor = 0 var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttle_tag) if (!istype(dropship)) - return - if (dropship.timer && dropship.timeLeft(1) < firemission_envelope.get_total_duration()) - to_chat(usr, "Not enough time to complete the Fire Mission") - return + return FALSE if (!dropship.in_flyby || dropship.mode != SHUTTLE_CALL) - to_chat(usr, "Has to be in Fly By mode") - return - - var/fmid = firemission_envelope.missions.Find(selected_firemission) - if(!fmid) - to_chat(usr, "No Firemission selected") - return - - var/result = firemission_envelope.execute_firemission(firemission_envelope.recorded_loc, firemission_envelope.recorded_offset, firemission_envelope.recorded_dir, fmid) - if(result<1) - to_chat(usr, "Screen beeps with an error: "+ firemission_envelope.mission_error) - else - update_trace_loc() - -/obj/structure/machinery/computer/dropship_weapons/proc/update_offset(new_offset) - var/result = firemission_envelope.change_offset(new_offset) - if(result<1) - to_chat(usr, "Screen beeps with an error: "+ firemission_envelope.mission_error) - else - update_trace_loc() + to_chat(user, SPAN_WARNING("Has to be in Fly By mode")) + return FALSE + if (dropship.timer && dropship.timeLeft(1) < firemission_envelope.get_total_duration()) + to_chat(user, SPAN_WARNING("Not enough time to complete the Fire Mission")) + return FALSE + var/datum/cas_signal/recorded_loc = firemission_envelope.recorded_loc + var/obj/source = recorded_loc.signal_loc + var/turf/target = locate( + source.x + offset_x, + source.y + offset_y, + source.z + ) + var/result = firemission_envelope.execute_firemission(recorded_loc, target, dir, fmId) + if(result != FIRE_MISSION_ALL_GOOD) + to_chat(user, SPAN_WARNING("Screen beeps with an error: [firemission_envelope.mission_error]")) + return TRUE -/obj/structure/machinery/computer/dropship_weapons/proc/update_location(new_location) +/obj/structure/machinery/computer/dropship_weapons/proc/update_location(mob/user, new_location) var/result = firemission_envelope.change_target_loc(new_location) if(result<1) - to_chat(usr, "Screen beeps with an error: "+ firemission_envelope.mission_error) - else - update_trace_loc() + to_chat(user, SPAN_WARNING("Screen beeps with an error: [firemission_envelope.mission_error]")) + return FALSE + return TRUE -/obj/structure/machinery/computer/dropship_weapons/proc/update_direction(new_direction) +/obj/structure/machinery/computer/dropship_weapons/proc/update_direction(mob/user, new_direction) var/result = firemission_envelope.change_direction(new_direction) if(result<1) - to_chat(usr, "Screen beeps with an error: " + firemission_envelope.mission_error) - else - update_trace_loc() - -/obj/structure/machinery/computer/dropship_weapons/on_unset_interaction(mob/user) - ..() - if(firemission_envelope && firemission_envelope.guidance) - firemission_envelope.remove_user_from_tracking(user) + to_chat(user, SPAN_WARNING("Screen beeps with an error: [firemission_envelope.mission_error]")) + return FALSE + return TRUE -/obj/structure/machinery/computer/dropship_weapons/proc/update_trace_loc() +/obj/structure/machinery/computer/dropship_weapons/proc/update_trace_loc(mob/user) if(!firemission_envelope) return if(firemission_envelope.recorded_loc == null || firemission_envelope.recorded_dir == null || firemission_envelope.recorded_offset == null) return if(firemission_envelope.recorded_loc.obstructed_signal()) - if(firemission_envelope.user_is_guided(usr)) - to_chat(usr, SPAN_WARNING("Signal Obstructed. You have to go in blind.")) + if(firemission_envelope.user_is_guided(user)) + to_chat(user, SPAN_WARNING("Signal Obstructed. You have to go in blind.")) return var/sx = 0 var/sy = 0 @@ -711,108 +805,29 @@ return var/area/laser_area = get_area(shootloc) if(!istype(laser_area) || CEILING_IS_PROTECTED(laser_area.ceiling, CEILING_PROTECTION_TIER_1)) - if(firemission_envelope.user_is_guided(usr)) - to_chat(usr, SPAN_WARNING("Vision Obstructed. You have to go in blind.")) + if(firemission_envelope.user_is_guided(user)) + to_chat(user, SPAN_WARNING("Vision Obstructed. You have to go in blind.")) firemission_envelope.change_current_loc() else firemission_envelope.change_current_loc(shootloc) + return TRUE /obj/structure/machinery/computer/dropship_weapons/dropship1 name = "\improper 'Alamo' weapons controls" req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT) firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship() - -/obj/structure/machinery/computer/dropship_weapons/dropship1/New() - ..() shuttle_tag = DROPSHIP_ALAMO /obj/structure/machinery/computer/dropship_weapons/dropship2 name = "\improper 'Normandy' weapons controls" req_one_access = list(ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP, ACCESS_WY_FLIGHT) firemission_envelope = new /datum/cas_fire_envelope/uscm_dropship() - -/obj/structure/machinery/computer/dropship_weapons/dropship2/New() - ..() shuttle_tag = DROPSHIP_NORMANDY /obj/structure/machinery/computer/dropship_weapons/Destroy() . = ..() - QDEL_NULL(firemission_envelope) - -// CAS TGUI SHIT \\ - -/obj/structure/machinery/computer/dropship_weapons/tgui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "CasSim", "[src.name]") - ui.open() - -/obj/structure/machinery/computer/dropship_weapons/ui_state(mob/user) // we gotta do custom shit here so that it always closes instead of suspending - return GLOB.not_incapacitated_and_adjacent_strict_state - -/obj/structure/machinery/computer/dropship_weapons/ui_status(mob/user, datum/ui_state/state) - . = ..() - if(inoperable()) - return UI_CLOSE - -/obj/structure/machinery/computer/dropship_weapons/ui_data(mob/user) - var/list/data = list() - - data["configuration"] = configuration - data["looking"] = simulation.looking_at_simulation - data["dummy_mode"] = simulation.dummy_mode - - data["worldtime"] = world.time - data["nextdetonationtime"] = simulation.detonation_cooldown - data["detonation_cooldown"] = simulation.detonation_cooldown_time - - return data - -/obj/structure/machinery/computer/dropship_weapons/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) - . = ..() - if(.) - return - - var/user = ui.user - - switch(action) - if("start_watching") - simulation.start_watching(user) - . = TRUE - - if("stop_watching") - simulation.stop_watching(user) - . = TRUE - - if("execute_simulated_firemission") - if(!configuration) - to_chat(user, SPAN_WARNING("No configured firemission")) - return - simulate_firemission(user) - . = TRUE - - if("switch_firemission") - configuration = tgui_input_list(user, "Select firemission to simulate", "Select firemission", firemission_envelope.missions, 30 SECONDS) - if(!selected_firemission) - to_chat(user, SPAN_WARNING("No configured firemission")) - return - if(!configuration) - configuration = selected_firemission - . = TRUE - - if("switchmode") - simulation.dummy_mode = tgui_input_list(user, "Select target type to simulate", "Target type", simulation.target_types, 30 SECONDS) - if(!simulation.dummy_mode) - simulation.dummy_mode = CLF_MODE - . = TRUE - -/obj/structure/machinery/computer/dropship_weapons/ui_close(mob/user) - . = ..() - if(simulation.looking_at_simulation) - simulation.stop_watching(user) - -// CAS TGUI SHIT END \\ + QDEL_NULL(tacmap) /obj/structure/machinery/computer/dropship_weapons/proc/simulate_firemission(mob/living/user) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 8090f802b1d0..e7626938549a 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -95,7 +95,7 @@ if("Released") background = "'background-color:#2981b3;'" if("Suspect") - background = "'background-color:#008743;'" + background = "'background-color:#686A6C;'" if("NJP") background = "'background-color:#faa20a;'" if("None") @@ -187,7 +187,7 @@ if("Released") background = "'background-color:#3BB9FF;'" if("Suspect") - background = "'background-color:#1AAFFF;'" + background = "'background-color:#686A6C;'" if("NJP") background = "'background-color:#faa20a;'" if("None") diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 53bf82c93925..ab5dc6448f4b 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -386,34 +386,35 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li stop_processing() /obj/structure/machinery/cryopod/attackby(obj/item/W, mob/living/user) - + if(isxeno(user)) + return FALSE if(istype(W, /obj/item/grab)) - if(isxeno(user)) return var/obj/item/grab/G = W if(occupant) to_chat(user, SPAN_WARNING("[src] is occupied.")) - return + return FALSE if(!isliving(G.grabbed_thing)) - return + return FALSE - var/willing = null //We don't want to allow people to be forced into despawning. + var/willing = FALSE //We don't want to allow people to be forced into despawning. var/mob/living/M = G.grabbed_thing if(M.stat == DEAD) //This mob is dead to_chat(user, SPAN_WARNING("[src] immediately rejects [M]. \He passed away!")) - return + return FALSE if(isxeno(M)) to_chat(user, SPAN_WARNING("There is no way [src] will accept [M]!")) - return + return FALSE if(M.client) if(alert(M,"Would you like to enter cryosleep?", , "Yes", "No") == "Yes") - if(!M || !G || !G.grabbed_thing) return - willing = 1 + if(!M || !G || !G.grabbed_thing) + return FALSE + willing = TRUE else - willing = 1 + willing = TRUE if(willing) @@ -424,7 +425,7 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li if(!M || !G || !G.grabbed_thing) return if(occupant) to_chat(user, SPAN_WARNING("[src] is occupied.")) - return + return FALSE go_in_cryopod(M) @@ -434,6 +435,7 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li //Despawning occurs when process() is called with an occupant without a client. add_fingerprint(user) + return TRUE /obj/structure/machinery/cryopod/relaymove(mob/user) if(user.is_mob_incapacitated(TRUE)) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index b03ba1e8e195..332d9b96bd44 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -858,7 +858,8 @@ GLOBAL_LIST_INIT(airlock_wire_descriptions, list( var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread sparks.set_up(5, 1, src) sparks.start() - xeno.apply_effect(1, WEAKEN) + xeno.KnockDown(1) + xeno.Stun(1) playsound(src, 'sound/effects/metalhit.ogg', 50, TRUE) xeno.visible_message(SPAN_XENOWARNING("\The [xeno] strikes \the [src] with its tail!"), SPAN_XENOWARNING("You strike \the [src] with your tail!")) diff --git a/code/game/machinery/doors/brig_system.dm b/code/game/machinery/doors/brig_system.dm index 56cc55828171..e7437aa9ca2b 100644 --- a/code/game/machinery/doors/brig_system.dm +++ b/code/game/machinery/doors/brig_system.dm @@ -390,6 +390,14 @@ name = "Cell 4" id = "Cell 4" +/obj/structure/machinery/brig_cell/cell_5 + name = "Cell 5" + id = "Cell 5" + +/obj/structure/machinery/brig_cell/cell_6 + name = "Cell 6" + id = "Cell 6" + /obj/structure/machinery/brig_cell/perma_1 name = "Perma 1" id = "Perma 1" diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/shutters.dm index 2abdf971d724..f91f1f48cade 100644 --- a/code/game/machinery/doors/shutters.dm +++ b/code/game/machinery/doors/shutters.dm @@ -179,7 +179,7 @@ //make a subtype for CL office so it as a proper name. /obj/structure/machinery/door/poddoor/shutters/almayer/cl - name = "\improper Corporate Liason Privacy Shutters" + name = "\improper Corporate Liaison Privacy Shutters" //adding a subtype for CL office to use to secure access to cl office. /obj/structure/machinery/door/poddoor/shutters/almayer/cl/office /obj/structure/machinery/door/poddoor/shutters/almayer/cl/office/door diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index fc2cf5a6320c..437ef7b067ea 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -60,7 +60,7 @@ src.last_flash = world.time use_power(1500) - for (var/mob/O in viewers(src, null)) + for (var/mob/living/O in viewers(src, null)) if (get_dist(src, O) > src.range) continue @@ -72,7 +72,9 @@ if (istype(O, /mob/living/carbon/xenomorph))//So aliens don't get flashed (they have no external eyes)/N continue - O.apply_effect(strength, WEAKEN) + O.KnockDown(strength) + O.Stun(strength) + if (istype(O, /mob/living/carbon/human)) var/mob/living/carbon/human/H = O var/datum/internal_organ/eyes/E = H.internal_organs_by_name["eyes"] diff --git a/code/game/machinery/medical_pod/bodyscanner.dm b/code/game/machinery/medical_pod/bodyscanner.dm index bbc3be7d5aae..732ff1ba97b9 100644 --- a/code/game/machinery/medical_pod/bodyscanner.dm +++ b/code/game/machinery/medical_pod/bodyscanner.dm @@ -204,7 +204,7 @@ "toxloss" = H.getToxLoss(), "cloneloss" = H.getCloneLoss(), "brainloss" = H.getBrainLoss(), - "knocked_out" = H.GetKnockOutValueNotADurationDoNotUse(), + "knocked_out" = H.GetKnockOutDuration(), "bodytemp" = H.bodytemperature, "inaprovaline_amount" = H.reagents.get_reagent_amount("inaprovaline"), "dexalin_amount" = H.reagents.get_reagent_amount("dexalin"), @@ -263,7 +263,7 @@ s_class = occ["brainloss"] < 1 ? INTERFACE_GOOD : INTERFACE_BAD dat += "[SET_CLASS("  Approx. Brain Damage:", INTERFACE_PINK)] [SET_CLASS("[occ["brainloss"]]%", s_class)]

" - dat += "[SET_CLASS("Knocked Out Summary:", "#40628a")] [occ["knocked_out"]]% (approximately [round(occ["knocked_out"] / 5)] seconds left!)
" + dat += "[SET_CLASS("Knocked Out Summary:", "#40628a")] [occ["knocked_out"]]% (approximately [round(occ["knocked_out"] * GLOBAL_STATUS_MULTIPLIER / (1 SECONDS))] seconds left!)
" dat += "[SET_CLASS("Body Temperature:", "#40628a")] [occ["bodytemp"]-T0C]°C ([occ["bodytemp"]*1.8-459.67]°F)

" s_class = occ["blood_amount"] > 448 ? INTERFACE_OKAY : INTERFACE_BAD diff --git a/code/game/machinery/medical_pod/sleeper.dm b/code/game/machinery/medical_pod/sleeper.dm index fe2b698caed0..84ef2f579ba1 100644 --- a/code/game/machinery/medical_pod/sleeper.dm +++ b/code/game/machinery/medical_pod/sleeper.dm @@ -391,7 +391,7 @@ to_chat(user, "[]\t -Toxin Content %: []", (occupant.getToxLoss() < 60 ? SPAN_NOTICE("") : SPAN_DANGER("")), occupant.getToxLoss()) to_chat(user, "[]\t -Burn Severity %: []", (occupant.getFireLoss() < 60 ? SPAN_NOTICE("") : SPAN_DANGER("")), occupant.getFireLoss()) to_chat(user, SPAN_NOTICE(" Expected time till occupant can safely awake: (note: These times are always inaccurate)")) - to_chat(user, SPAN_NOTICE(" \t [occupant.GetKnockOutValueNotADurationDoNotUse() / 5] second\s (if around 1 or 2 the sleeper is keeping them asleep.)")) + to_chat(user, SPAN_NOTICE(" \t [occupant.GetKnockOutDuration() * GLOBAL_STATUS_MULTIPLIER / (1 SECONDS)] second\s (if around 1 or 2 the sleeper is keeping them asleep.)")) else to_chat(user, SPAN_NOTICE(" There is no one inside!")) return diff --git a/code/game/machinery/nuclearbomb.dm b/code/game/machinery/nuclearbomb.dm index 369953788ae1..cfb0d1abb94f 100644 --- a/code/game/machinery/nuclearbomb.dm +++ b/code/game/machinery/nuclearbomb.dm @@ -111,7 +111,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) if(isqueen(user)) if(timing && GLOB.bomb_set) - user.visible_message(SPAN_INFO("[user] begins to defuse \the [src]."), SPAN_INFO("You begin to defuse \the [src]. This will take some time...")) + user.visible_message(SPAN_INFO("[user] begins engulfing \the [src] with resin."), SPAN_INFO("You start regurgitating and engulfing the \the [src] with resin... stopping the electronics from working, this will take some time...")) if(do_after(user, 5 SECONDS, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) disable() return @@ -333,13 +333,13 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) announcement_helper("WARNING.\n\nDETONATION IN [round(timeleft/10)] SECONDS.", "HQ Intel Division", humans_other, 'sound/misc/notice1.ogg') //preds part var/t_left = duration2text_sec(round(rand(timeleft - timeleft / 10, timeleft + timeleft / 10))) - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nYou have approximately [t_left] seconds to abandon the hunting grounds before activation of human Purification Device.")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nYou have approximately [t_left] seconds to abandon the hunting grounds before activation of the human purification device.")) //xenos part var/warning if(timer_warning & NUKE_SHOW_TIMER_HALF) - warning = "Hive killer is halfway through preparation cycle!" + warning = "A shiver goes down our carapace as we feel the approaching end... the hive killer is halfway through its preparation cycle!" else if(timer_warning & NUKE_SHOW_TIMER_MINUTE) - warning = "Hive killer is almost ready to trigger!" + warning = "Every sense in our form is screaming... the hive killer is almost ready to trigger!" else warning = "DISABLE IT! NOW!" var/datum/hive_status/hive @@ -355,7 +355,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE ORDNANCE ACTIVATED.\n\nDETONATION IN [round(timeleft/10)] SECONDS.", "[MAIN_AI_SYSTEM] Nuclear Tracker", humans_uscm, 'sound/misc/notice1.ogg') announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE ORDNANCE ACTIVATED.\n\nDETONATION IN [round(timeleft/10)] SECONDS.", "HQ Nuclear Tracker", humans_other, 'sound/misc/notice1.ogg') var/t_left = duration2text_sec(round(rand(timeleft - timeleft / 10, timeleft + timeleft / 10))) - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
A human Purification Device has been detected. You have approximately [t_left] to abandon the hunting grounds before it activates.")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
A human purification device has been detected. You have approximately [t_left] to abandon the hunting grounds before it activates.")) for(var/hivenumber in GLOB.hive_datum) hive = GLOB.hive_datum[hivenumber] if(!hive.totalXenos.len) @@ -364,7 +364,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) else announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE ORDNANCE DEACTIVATED.", "[MAIN_AI_SYSTEM] Nuclear Tracker", humans_uscm, 'sound/misc/notice1.ogg') announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE ORDNANCE DEACTIVATED.", "HQ Intel Division", humans_other, 'sound/misc/notice1.ogg') - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
The human Purification Device's signature has disappeared.")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
The human purification device's signature has disappeared.")) for(var/hivenumber in GLOB.hive_datum) hive = GLOB.hive_datum[hivenumber] if(!hive.totalXenos.len) @@ -575,14 +575,14 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) announcement_helper("DECRYPTION COMPLETE", "[MAIN_AI_SYSTEM] Nuclear Tracker", humans_uscm, 'sound/misc/notice1.ogg') announcement_helper("DECRYPTION COMPLETE", "HQ Intel Division", humans_other, 'sound/misc/notice1.ogg') - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nThe human Purification Device is able to be activated.")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nThe human purification device is able to be activated.")) var/datum/hive_status/hive for(var/hivenumber in GLOB.hive_datum) hive = GLOB.hive_datum[hivenumber] if(!length(hive.totalXenos)) return - xeno_announcement(SPAN_XENOANNOUNCE("The hive killer is ready to be activated! Assault at once!"), hive.hivenumber, XENO_GENERAL_ANNOUNCE) + xeno_announcement(SPAN_XENOANNOUNCE("We get a sense of impending doom... the hive killer is ready to be activated."), hive.hivenumber, XENO_GENERAL_ANNOUNCE) return announcement_helper("DECRYPTION IN [round(decryption_time/10)] SECONDS.", "[MAIN_AI_SYSTEM] Nuclear Tracker", humans_uscm, 'sound/misc/notice1.ogg') @@ -590,12 +590,12 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) //preds part var/time_left = duration2text_sec(round(rand(decryption_time - decryption_time / 10, decryption_time + decryption_time / 10))) - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nYou have approximately [time_left] seconds to abandon the hunting grounds before human Purification Device is able to be activated.")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!\n\nYou have approximately [time_left] seconds to abandon the hunting grounds before the human purification device is able to be activated.")) //xenos part - var/warning = "Hive killer is almost prepared to be activated!" + var/warning = "We are almost out of time, STOP THEM." if(timer_warning & NUKE_DECRYPT_SHOW_TIMER_HALF) - warning = "Hive killer is halfway through its initial phase!" + warning = "The Hive grows restless! it's halfway done..." var/datum/hive_status/hive for(var/hivenumber in GLOB.hive_datum) @@ -610,7 +610,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE ORDNANCE DECRYPTION STARTED.\n\nDECRYPTION IN [round(decryption_time/10)] SECONDS.", "[MAIN_AI_SYSTEM] Nuclear Tracker", humans_uscm, 'sound/misc/notice1.ogg') announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE ORDNANCE DECRYPTION STARTED.\n\nDECRYPTION IN [round(decryption_time/10)] SECONDS.", "HQ Nuclear Tracker", humans_other, 'sound/misc/notice1.ogg') var/time_left = duration2text_sec(round(rand(decryption_time - decryption_time / 10, decryption_time + decryption_time / 10))) - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
A human Purification Device has been detected. You have approximately [time_left] before it finishes its initial phase.")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
A human purification device has been detected. You have approximately [time_left] before it finishes its initial phase.")) for(var/hivenumber in GLOB.hive_datum) hive = GLOB.hive_datum[hivenumber] if(!length(hive.totalXenos)) @@ -620,7 +620,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE) announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE DECRYPTION HALTED.", "[MAIN_AI_SYSTEM] Nuclear Tracker", humans_uscm, 'sound/misc/notice1.ogg') announcement_helper("ALERT.\n\nNUCLEAR EXPLOSIVE DECRYPTION HALTED.", "HQ Intel Division", humans_other, 'sound/misc/notice1.ogg') - yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
The human Purification Device's signature has disappeared.")) + yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!
The human purification device's signature has disappeared.")) for(var/hivenumber in GLOB.hive_datum) hive = GLOB.hive_datum[hivenumber] if(!length(hive.totalXenos)) diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index f8250fad271c..e992ef02f8a5 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -83,7 +83,7 @@ vmask, vmessage, obj/item/device/radio/radio, message, name, job, realname, vname, data, compression, list/level, freq, verbage = "says", - datum/language/speaking = null, volume = RADIO_VOLUME_QUIET) + datum/language/speaking = null, volume = RADIO_VOLUME_QUIET, listening_device = FALSE) /* ###### Prepare the radio connection ###### */ var/display_freq = freq @@ -175,13 +175,16 @@ volume = RADIO_VOLUME_CRITICAL for (var/mob/R in receive) + var/is_ghost = istype(R, /mob/dead/observer) /* --- Loop through the receivers and categorize them --- */ if (R.client && !(R.client.prefs.toggles_chat & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios. continue if(istype(R, /mob/new_player)) // we don't want new players to hear messages. rare but generates runtimes. continue // Ghosts hearing all radio chat don't want to hear syndicate intercepts, they're duplicates - if(data == 3 && istype(R, /mob/dead/observer) && R.client && (R.client.prefs.toggles_chat & CHAT_GHOSTRADIO)) + if(data == 3 && is_ghost && R.client && (R.client.prefs.toggles_chat & CHAT_GHOSTRADIO)) + continue + if(is_ghost && listening_device && !(R.client.prefs.toggles_chat & CHAT_LISTENINGBUG)) continue // --- Check for compression --- if(compression > 0) diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm index 02b602cc8e07..6415e1d0acd5 100644 --- a/code/game/machinery/vending/cm_vending.dm +++ b/code/game/machinery/vending/cm_vending.dm @@ -555,7 +555,7 @@ GLOBAL_LIST_EMPTY(vending_products) vend_fail() return FALSE var/obj/item/card/id/ID = user.wear_id - if(!istype(ID) || ID.registered_ref != WEAKREF(usr)) + if(!istype(ID) || !ID.check_biometrics(user)) to_chat(user, SPAN_WARNING("You must be wearing your [SPAN_INFO("dog tags")] to select a specialization!")) return FALSE var/specialist_assignment @@ -779,15 +779,15 @@ GLOBAL_LIST_EMPTY(vending_products) vend_fail() return FALSE - var/mob/living/carbon/human/H = user - var/obj/item/card/id/I = H.wear_id - if(!istype(I)) + var/mob/living/carbon/human/human_user = user + var/obj/item/card/id/idcard = human_user.wear_id + if(!istype(idcard)) if(display) to_chat(user, SPAN_WARNING("Access denied. No ID card detected")) vend_fail() return FALSE - if(I.registered_name != user.real_name) + if(!idcard.check_biometrics(human_user)) if(display) to_chat(user, SPAN_WARNING("Wrong ID card owner detected.")) vend_fail() diff --git a/code/game/machinery/vending/vending_types.dm b/code/game/machinery/vending/vending_types.dm index 36b0b6e44df6..90947684bee1 100644 --- a/code/game/machinery/vending/vending_types.dm +++ b/code/game/machinery/vending/vending_types.dm @@ -252,6 +252,23 @@ ) contraband = list(/obj/item/clothing/glasses/sunglasses = 2,/obj/item/storage/donut_box = 2) +/obj/structure/machinery/vending/security/riot + name = "\improper RiotTech" + desc = "A security riot equipment vendor." + hacking_safety = TRUE + wrenchable = FALSE + products = list( + /obj/item/handcuffs/zip = 40, + /obj/item/explosive/grenade/flashbang = 20, + /obj/item/explosive/grenade/custom/teargas = 40, + /obj/item/ammo_magazine/smg/m39/rubber = 40, + /obj/item/ammo_magazine/pistol/rubber = 40, + /obj/item/ammo_magazine/pistol/mod88/rubber = 40, + /obj/item/ammo_magazine/rifle/rubber = 40, + /obj/item/ammo_magazine/rifle/m4ra/rubber = 40, + /obj/item/clothing/head/helmet/marine/MP = 8, + ) + /obj/structure/machinery/vending/sea name = "\improper SeaTech" desc = "An equipment vendor designed to save lives" diff --git a/code/game/machinery/vending/vendor_types/crew/sea.dm b/code/game/machinery/vending/vendor_types/crew/sea.dm index cb6698c6f714..44f530271037 100644 --- a/code/game/machinery/vending/vendor_types/crew/sea.dm +++ b/code/game/machinery/vending/vendor_types/crew/sea.dm @@ -54,7 +54,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_sea, list( list("COMBAT ARMOR (CHOOSE 1)", 0, null, null, null), list("M3-VL Pattern Ballistics Vest", 0, /obj/item/clothing/suit/storage/marine/light/vest, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), list("M3-L Pattern Light Armor", 0, /obj/item/clothing/suit/storage/marine/light, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), - list("M3 Pattern Padded Armor", 0, /obj/item/clothing/suit/storage/marine/padded, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padded Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padded, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), list("Bulletproof Vest", 0, /obj/item/clothing/suit/armor/bulletproof, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), list("USCM Service Jacket", 0, /obj/item/clothing/suit/storage/jacket/marine/service, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index d5b12a264665..9d9c519c285f 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -268,6 +268,67 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( //------------ EXECUTIVE OFFFICER --------------- + +//------------WEAPON VENDOR--------------- +GLOBAL_LIST_INIT(cm_vending_gear_xo, list( + list("CAPTAIN'S PRIMARY (CHOOSE 1)", 0, null, null, null), + list("M41A MK1 Pulse Rifle", 0, /obj/item/storage/box/guncase/m41aMK1AP, MARINE_CAN_BUY_KIT, VENDOR_ITEM_MANDATORY), + list("MK221 Tactical Shotgun", 0, /obj/effect/essentials_set/xo/shotgunpreset, MARINE_CAN_BUY_KIT, VENDOR_ITEM_MANDATORY), + + list("PRIMARY AMMUNITION", 0, null, null, null), + list("M41A MK1 Magazine", 40, /obj/item/ammo_magazine/rifle/m41aMK1, null, VENDOR_ITEM_RECOMMENDED), + list("M41A MK1 AP Magazine", 60, /obj/item/ammo_magazine/rifle/m41aMK1/ap, null, VENDOR_ITEM_RECOMMENDED), + list("Buckshot Shells", 20, /obj/item/ammo_magazine/shotgun/buckshot, null, VENDOR_ITEM_REGULAR), + list("Shotgun Slugs", 20, /obj/item/ammo_magazine/shotgun/slugs, null, VENDOR_ITEM_REGULAR), + list("Flechette Shells", 20, /obj/item/ammo_magazine/shotgun/flechette, null, VENDOR_ITEM_REGULAR), + + list("EXPLOSIVES", 0, null, null, null), + list("HEDP Grenade Pack", 15, /obj/item/storage/box/packet/high_explosive, null, VENDOR_ITEM_REGULAR), + list("HEFA Grenade Pack", 15, /obj/item/storage/box/packet/hefa, null, VENDOR_ITEM_REGULAR), + list("WP Grenade Pack", 15, /obj/item/storage/box/packet/phosphorus, null, VENDOR_ITEM_REGULAR), + + list("RAIL ATTACHMENTS", 0, null, null, null), + list("Red-Dot Sight", 15, /obj/item/attachable/reddot, null, VENDOR_ITEM_REGULAR), + list("Reflex Sight", 15, /obj/item/attachable/reflex, null, VENDOR_ITEM_REGULAR), + list("S4 2x Telescopic Mini-Scope", 15, /obj/item/attachable/scope/mini, null, VENDOR_ITEM_REGULAR), + + list("Helmet Visors", 0, null, null, null), + list("Welding Visor", 5, /obj/item/device/helmet_visor/welding_visor, null, VENDOR_ITEM_RECOMMENDED), + + list("UNDERBARREL ATTACHMENTS", 0, null, null, null), + list("Laser Sight", 15, /obj/item/attachable/lasersight, null, VENDOR_ITEM_REGULAR), + list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), + list("Vertical Grip", 15, /obj/item/attachable/verticalgrip, null, VENDOR_ITEM_REGULAR), + list("Underbarrel Shotgun", 15, /obj/item/attachable/attached_gun/shotgun, null, VENDOR_ITEM_REGULAR), + list("Underbarrel Extinguisher", 15, /obj/item/attachable/attached_gun/extinguisher, null, VENDOR_ITEM_REGULAR), + list("Underbarrel Flamethrower", 15, /obj/item/attachable/attached_gun/flamer, null, VENDOR_ITEM_REGULAR), + list("Underbarrel Grenade Launcher", 5, /obj/item/attachable/attached_gun/grenade, null, VENDOR_ITEM_REGULAR), + + list("BARREL ATTACHMENTS", 0, null, null, null), + list("Extended Barrel", 15, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), + list("Recoil Compensator", 15, /obj/item/attachable/compensator, null, VENDOR_ITEM_REGULAR), + list("Suppressor", 15, /obj/item/attachable/suppressor, null, VENDOR_ITEM_REGULAR), + )) + +/obj/effect/essentials_set/xo/shotgunpreset + spawned_gear_list = list( + /obj/item/weapon/gun/shotgun/combat, + /obj/item/ammo_magazine/shotgun/buckshot, + /obj/item/ammo_magazine/shotgun/slugs, + ) + +/obj/structure/machinery/cm_vending/gear/executive_officer + name = "\improper ColMarTech Executive Officer Weapon Rack" + desc = "An automated weapons rack for the Executive Officer. It features a decent selection of weaponry meant only for the second in command of a ship." + req_access = list(ACCESS_MARINE_SENIOR) + vendor_role = list(JOB_XO) + icon_state = "guns" + use_snowflake_points = TRUE + +/obj/structure/machinery/cm_vending/gear/executive_officer/get_listed_products(mob/user) + return GLOB.cm_vending_gear_xo + +//------------UNIFORM/GEAR VENDOR--------------- GLOBAL_LIST_INIT(cm_vending_clothing_xo, list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -285,6 +346,14 @@ GLOBAL_LIST_INIT(cm_vending_clothing_xo, list( list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), + list("BELTS (CHOOSE 1)", 0, null, null, null), + list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + list("Military Police Belt", 0, /obj/item/storage/belt/security/MP/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + list("M276 Medical Storage Rig", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + list("M276 Ammo Load Rig", 0, /obj/item/storage/belt/marine, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + list("M276 Holster Toolrig", 0, /obj/item/storage/belt/gun/utility/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + list("M276 M82F Holster Rig", 0, /obj/item/storage/belt/gun/flaregun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), + list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null), list("Officer M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/SO, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("Officer M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), @@ -312,7 +381,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_xo, list( list("Document Pouch", 0, /obj/item/storage/pouch/document, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("Shotgun Shell Pouch", 0, /obj/item/storage/pouch/shotgun, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("ACCESSORIES (CHOOSE 1)", 0, null, null, null), list("Shoulder Holster", 0, /obj/item/clothing/accessory/storage/holster, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), list("Black Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/intelligence_officer.dm b/code/game/machinery/vending/vendor_types/intelligence_officer.dm index 93d31fe13253..4d9ced354e2b 100644 --- a/code/game/machinery/vending/vendor_types/intelligence_officer.dm +++ b/code/game/machinery/vending/vendor_types/intelligence_officer.dm @@ -36,6 +36,8 @@ GLOBAL_LIST_INIT(cm_vending_gear_intelligence_officer, list( list("BINOCULARS", 0, null, null, null), list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), + list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), + list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), list("HELMET OPTICS", 0, null, null, null), list("Medical Helmet Optic", 5, /obj/item/device/helmet_visor/medical, null, VENDOR_ITEM_REGULAR), @@ -65,7 +67,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_intelligence_officer, list( list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("XM4 Pattern Intel Armor", 0, /obj/item/clothing/suit/storage/marine/rto/intel, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("XM4 Pattern Intel Armor", 0, /obj/item/clothing/suit/storage/marine/medium/rto/intel, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("Service Jacket", 0, /obj/item/clothing/suit/storage/jacket/marine/service, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("BACKPACK (CHOOSE 1)", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index 4c1def0dc59a..1ea56c9fc0f5 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -385,11 +385,11 @@ list("M10 Pattern Marine Helmet", 20, /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), list("M10 Pattern Technician Helmet", 20, /obj/item/clothing/head/helmet/marine/tech, VENDOR_ITEM_REGULAR), list("M10 Pattern Corpman Helmet", 20, /obj/item/clothing/head/helmet/marine/medic, VENDOR_ITEM_REGULAR), - list("M3 Pattern Carrier Marine Armor", 20, /obj/item/clothing/suit/storage/marine/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", 20, /obj/item/clothing/suit/storage/marine/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", 20, /obj/item/clothing/suit/storage/marine/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", 20, /obj/item/clothing/suit/storage/marine/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", 20, /obj/item/clothing/suit/storage/marine/skull, VENDOR_ITEM_REGULAR), + list("M3 Pattern Carrier Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padded Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padless Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), + list("M3 Pattern Ridged Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), + list("M3 Pattern Skull Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), list("M3-EOD Pattern Heavy Armor", 10, /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), list("M3-L Pattern Light Armor", 10, /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm index f11d1fd48b87..6d015c203bd7 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_engineer.dm @@ -44,8 +44,8 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("M41A Extended Magazine (10x24mm)", 6, /obj/item/ammo_magazine/rifle/extended , null, VENDOR_ITEM_REGULAR), list("ARMORS", 0, null, null, null), - list("M3 B12 Pattern Marine Armor", 24, /obj/item/clothing/suit/storage/marine/leader, null, VENDOR_ITEM_REGULAR), - list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), + list("M3 B12 Pattern Marine Armor", 24, /obj/item/clothing/suit/storage/marine/medium/leader, null, VENDOR_ITEM_REGULAR), + list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/medium/rto, null, VENDOR_ITEM_REGULAR), list("RESTRICTED FIREARMS", 0, null, null, null), list("VP78 Pistol", 8, /obj/item/storage/box/guncase/vp78, null, VENDOR_ITEM_REGULAR), @@ -71,6 +71,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_engi, list( list("Whistle", 3, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("BINOCULARS", 0, null, null, null), + list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm index fc9813f9b172..6c7cbf2db740 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_leader.dm @@ -16,7 +16,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_leader, list( list("Basic Engineering Supplies", 0, /obj/item/storage/box/kit/engineering_supply_kit, MARINE_CAN_BUY_KIT, VENDOR_ITEM_REGULAR), list("ARMORS", 0, null, null, null), - list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), + list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/medium/rto, null, VENDOR_ITEM_REGULAR), list("CLOTHING ITEMS", 0, null, null, null), list("Machete Scabbard (Full)", 4, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), @@ -117,7 +117,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_leader, list( GLOBAL_LIST_INIT(cm_vending_clothing_leader, list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), list("Standard Marine Apparel", 0, list(/obj/item/clothing/under/marine, /obj/item/clothing/shoes/marine/knife, /obj/item/clothing/gloves/marine, /obj/item/device/radio/headset/almayer/marine, /obj/item/clothing/head/helmet/marine/leader), MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("B12 Pattern Armor", 0, /obj/item/clothing/suit/storage/marine/leader, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("B12 Pattern Armor", 0, /obj/item/clothing/suit/storage/marine/medium/leader, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("Map", 0, /obj/item/map/current_map, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_MANDATORY), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm index 21485f10c50f..6b4954ee5e92 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm @@ -66,8 +66,8 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list( list("M41A Extended Magazine (10x24mm)", 6, /obj/item/ammo_magazine/rifle/extended , null, VENDOR_ITEM_REGULAR), list("ARMORS", 0, null, null, null), - list("M3 B12 Pattern Marine Armor", 28, /obj/item/clothing/suit/storage/marine/leader, null, VENDOR_ITEM_REGULAR), - list("M4 Pattern Armor", 28, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), + list("M3 B12 Pattern Marine Armor", 28, /obj/item/clothing/suit/storage/marine/medium/leader, null, VENDOR_ITEM_REGULAR), + list("M4 Pattern Armor", 28, /obj/item/clothing/suit/storage/marine/medium/rto, null, VENDOR_ITEM_REGULAR), list("RESTRICTED FIREARMS", 0, null, null, null), list("VP78 Pistol", 8, /obj/item/storage/box/guncase/vp78, null, VENDOR_ITEM_REGULAR), @@ -86,8 +86,9 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list( list("Whistle", 3, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), list("BINOCULARS", 0, null, null, null), - list("Range Finder", 6, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), - list("Laser Designator", 8, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), + list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), + list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), + list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), list("HELMET OPTICS", 0, null, null, null), list("Welding Visor", 5, /obj/item/device/helmet_visor/welding_visor, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index 299ef36ea7d2..6a770e89984e 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -88,12 +88,12 @@ list("Shoulder Holster", 0.75, /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), list("ARMOR", -1, null, null), - list("M3 Pattern Carrier Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/skull, VENDOR_ITEM_REGULAR), - list("M3 Pattern Smooth Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/smooth, VENDOR_ITEM_REGULAR), + list("M3 Pattern Carrier Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padded Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padless Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), + list("M3 Pattern Ridged Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), + list("M3 Pattern Skull Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), + list("M3 Pattern Smooth Marine Armor", round(scale * 15), /obj/item/clothing/suit/storage/marine/medium/smooth, VENDOR_ITEM_REGULAR), list("M3-EOD Pattern Heavy Armor", round(scale * 10), /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), list("M3-L Pattern Light Armor", round(scale * 10), /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm index 2e6f78f068f5..3a15229182b4 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_rifleman.dm @@ -70,8 +70,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_marine, list( list("M44 Heavy Speed Loader (.44)", 10, /obj/item/ammo_magazine/revolver/heavy, null, VENDOR_ITEM_REGULAR), list("ARMORS", 0, null, null, null), - list("M3 B12 Pattern Marine Armor", 30, /obj/item/clothing/suit/storage/marine/leader, null, VENDOR_ITEM_REGULAR), - list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/rto, null, VENDOR_ITEM_REGULAR), + list("M3 B12 Pattern Marine Armor", 30, /obj/item/clothing/suit/storage/marine/medium/leader, null, VENDOR_ITEM_REGULAR), + list("M4 Pattern Armor", 30, /obj/item/clothing/suit/storage/marine/medium/rto, null, VENDOR_ITEM_REGULAR), list("CLOTHING ITEMS", 0, null, null, null), list("Webbing", 10, /obj/item/clothing/accessory/storage/webbing, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm index b67d11b3f487..8a1b77103cad 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_smartgunner.dm @@ -35,6 +35,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_smartgun, list( list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), list("BINOCULARS", 0, null, null, null), + list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm index 1c86a293772e..7ddcf14eccde 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_tl.dm @@ -30,7 +30,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( list("M79 Grenade Launcher", 30, /obj/item/storage/box/guncase/m79, null, VENDOR_ITEM_REGULAR), list("ARMORS", 0, null, null, null), - list("M3 B12 Pattern Marine Armor", 30, /obj/item/clothing/suit/storage/marine/leader, null, VENDOR_ITEM_REGULAR), + list("M3 B12 Pattern Marine Armor", 30, /obj/item/clothing/suit/storage/marine/medium/leader, null, VENDOR_ITEM_REGULAR), list("CLOTHING ITEMS", 0, null, null, null), list("Machete Scabbard (Full)", 5, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), @@ -81,7 +81,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_tl, list( GLOBAL_LIST_INIT(cm_vending_clothing_tl, list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), list("Standard Marine Apparel", 0, list(/obj/item/clothing/under/marine, /obj/item/clothing/shoes/marine/knife, /obj/item/clothing/gloves/marine, /obj/item/device/radio/headset/almayer/marine, /obj/item/clothing/head/helmet/marine/rto), MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("M4 Pattern Armor", 0, /obj/item/clothing/suit/storage/marine/rto, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("M4 Pattern Armor", 0, /obj/item/clothing/suit/storage/marine/medium/rto, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("Map", 0, /obj/item/map/current_map, MARINE_CAN_BUY_KIT, VENDOR_ITEM_MANDATORY), list("Essential Fireteam Leader Utilities", 0, /obj/effect/essentials_set/tl, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), diff --git a/code/game/machinery/vending/vendor_types/wo_vendors.dm b/code/game/machinery/vending/vendor_types/wo_vendors.dm index 46299ef19f4c..160e808a4a50 100644 --- a/code/game/machinery/vending/vendor_types/wo_vendors.dm +++ b/code/game/machinery/vending/vendor_types/wo_vendors.dm @@ -47,12 +47,12 @@ list("ARMOR", -1, null, null), list("M10 Pattern Marine Helmet", 20, /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), - list("M3 Pattern Carrier Marine Armor", 20, /obj/item/clothing/suit/storage/marine/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", 20, /obj/item/clothing/suit/storage/marine/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", 20, /obj/item/clothing/suit/storage/marine/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", 20, /obj/item/clothing/suit/storage/marine/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", 20, /obj/item/clothing/suit/storage/marine/skull, VENDOR_ITEM_REGULAR), - list("M3 Pattern Smooth Marine Armor", 20, /obj/item/clothing/suit/storage/marine/smooth, VENDOR_ITEM_REGULAR), + list("M3 Pattern Carrier Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padded Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padless Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), + list("M3 Pattern Ridged Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), + list("M3 Pattern Skull Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), + list("M3 Pattern Smooth Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/smooth, VENDOR_ITEM_REGULAR), list("M3-EOD Pattern Heavy Armor", 10, /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), list("M3-L Pattern Light Armor", 10, /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index 0b44c0bb4443..41adfdd9581d 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -326,11 +326,11 @@ handle_weather() RegisterSignal(SSdcs, COMSIG_GLOB_WEATHER_CHANGE, PROC_REF(handle_weather)) RegisterSignal(acid_t, COMSIG_PARENT_QDELETING, PROC_REF(cleanup)) - START_PROCESSING(SSeffects, src) + START_PROCESSING(SSoldeffects, src) /obj/effect/xenomorph/acid/Destroy() acid_t = null - STOP_PROCESSING(SSeffects, src) + STOP_PROCESSING(SSoldeffects, src) . = ..() /obj/effect/xenomorph/acid/proc/cleanup() @@ -489,30 +489,33 @@ /obj/effect/xenomorph/xeno_telegraph name = "???" desc = "" - icon_state = "xeno_telegraph_red" + icon_state = "xeno_telegraph_base" mouse_opacity = MOUSE_OPACITY_TRANSPARENT -/obj/effect/xenomorph/xeno_telegraph/New(loc, ttl = 10) +/// Icon is by default a white sprite, provide an rgb hex code #RRGGBB argument to change. +/obj/effect/xenomorph/xeno_telegraph/New(loc, ttl = 10, color = null) ..(loc) + if(color) + src.color = color QDEL_IN(src, ttl) /obj/effect/xenomorph/xeno_telegraph/red - icon_state = "xeno_telegraph_red" + color = COLOUR_DARK_RED /obj/effect/xenomorph/xeno_telegraph/brown - icon_state = "xeno_telegraph_brown" + color = COLOUR_BROWN /obj/effect/xenomorph/xeno_telegraph/green - icon_state = "xeno_telegraph_green" + color = COLOUR_GREEN -/obj/effect/xenomorph/xeno_telegraph/brown/abduct_hook +/// This has a brown icon state and does not have a color overlay by default. +/obj/effect/xenomorph/xeno_telegraph/abduct_hook icon_state = "xeno_telegraph_abduct_hook_anim" -/obj/effect/xenomorph/xeno_telegraph/brown/lash +/// This has a brown icon state and does not have a color overlay by default. +/obj/effect/xenomorph/xeno_telegraph/lash icon_state = "xeno_telegraph_lash" - - /obj/effect/xenomorph/acid_damage_delay name = "???" desc = "" diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index ac5136b07a4a..5f58a3b1d292 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -144,6 +144,12 @@ to_chat(usr, "[icon2html(src, usr)] [name]: The current assignment on the card is [assignment]") to_chat(usr, "The blood type on the card is [blood_type].") +/obj/item/card/id/proc/check_biometrics(mob/living/carbon/human/target) + if(registered_ref && (registered_ref != WEAKREF(target))) + return FALSE + if(target.real_name != registered_name) + return FALSE + return TRUE /obj/item/card/id/data name = "identification holo-badge" diff --git a/code/game/objects/items/devices/portable_vendor.dm b/code/game/objects/items/devices/portable_vendor.dm index 29e1d06018ae..465ba0666828 100644 --- a/code/game/objects/items/devices/portable_vendor.dm +++ b/code/game/objects/items/devices/portable_vendor.dm @@ -21,10 +21,12 @@ var/use_points = TRUE var/fabricating = FALSE var/broken = FALSE + var/contraband = FALSE var/list/purchase_log = list() var/list/listed_products = list() + var/list/contraband_products = list() /// needs to be a time define var/special_prod_time_lock @@ -44,7 +46,7 @@ if(!ishuman(user)) return - var/mob/living/carbon/human/H = user + var/mob/living/carbon/human/human_user = user src.add_fingerprint(usr) @@ -56,17 +58,17 @@ to_chat(user, SPAN_WARNING("Access denied.")) return - var/obj/item/card/id/I = H.wear_id - if(!istype(I)) //not wearing an ID - to_chat(H, SPAN_WARNING("Access denied. No ID card detected")) + var/obj/item/card/id/idcard = human_user.wear_id + if(!istype(idcard)) //not wearing an ID + to_chat(human_user, SPAN_WARNING("Access denied. No ID card detected")) return - if(I.registered_name != H.real_name) - to_chat(H, SPAN_WARNING("Wrong ID card owner detected.")) + if(!idcard.check_biometrics(human_user)) + to_chat(human_user, SPAN_WARNING("Wrong ID card owner detected.")) return - if(req_role && I.rank != req_role) - to_chat(H, SPAN_WARNING("This device isn't for you.")) + if(req_role && idcard.rank != req_role) + to_chat(human_user, SPAN_WARNING("This device isn't for you.")) return @@ -97,6 +99,22 @@ var/available = points >= product[2] || !use_points available_items += list(list("index" = index, "name" = name, "cost" = cost, "available" = available, "color" = color, "description" = description)) + if(contraband) + var/non_contraband_product_count = length(listed_products) + for(var/index in 1 to length(contraband_products)) + var/product = contraband_products[index] + + var/name = product[1] + var/cost = product[2] + var/color = product[4] + var/description = product[5] + + if(cost > 0) + name += " ([cost] points)" + + var/available = points >= product[2] || !use_points + available_items += list(list("index" = index + non_contraband_product_count, "name" = name, "cost" = cost, "available" = available, "color" = color, "description" = description)) + .["vendor_name"] = name .["show_points"] = use_points .["current_points"] = round(points) @@ -139,7 +157,13 @@ if(req_role && req_role != id.rank) to_chat(human_user, SPAN_WARNING("This device isn't for you.")) - var/list/product = listed_products[choice] + var/list/product + var/non_contraband_product_count = length(listed_products) + if(choice > non_contraband_product_count) + choice -= non_contraband_product_count + product = contraband_products[choice] + else + product = listed_products[choice] var/cost = product[2] @@ -274,4 +298,20 @@ list("AMMO", 0, null, null, null), list("ES-4 stun magazine", 10, /obj/item/ammo_magazine/pistol/es4, "white", "Holds 19 rounds of specialized Conductive 9mm."), + + list("RADIO KEYS", 0, null, null, null), + list("Alpha Squad", 15, /obj/item/device/encryptionkey/alpha, "white", "Radio Key for USCM Alpha Squad."), + list("Bravo Squad", 15, /obj/item/device/encryptionkey/bravo, "white", "Radio Key for USCM Bravo Squad."), + list("Charlie Squad", 15, /obj/item/device/encryptionkey/charlie, "white", "Radio Key for USCM Charlie Squad."), + list("Delta Squad", 15, /obj/item/device/encryptionkey/delta, "white", "Radio Key for USCM Delta Squad."), + list("Echo Squad", 15, /obj/item/device/encryptionkey/echo, "white", "Radio Key for USCM Echo Squad."), + list("Colony", 20, /obj/item/device/encryptionkey/colony, "white", "Pre-tuned Radio Key for local colony comms."), + ) + + contraband_products = list( + list("CONTRABAND", 0, null, null, null), + list("W-Y PMC", 20, /obj/item/device/encryptionkey/pmc, "white", "Radio Key for Weyland-Yutani PMC Combat Comms."), + list("CONTRABAND: Colonial Marshals", 40, /obj/item/device/encryptionkey/cmb, "white", "Radio Key for the CMB."), + list("CONTRABAND: Colonial Liberation Front", 40, /obj/item/device/encryptionkey/clf, "white", "Radio Key for known local CLF frequencies."), + list("CONTRABAND: Union of Progressive Peoples", 40, /obj/item/device/encryptionkey/upp, "white", "Radio Key for known UPP listening frequencies."), ) diff --git a/code/game/objects/items/devices/radio/listening_bugs.dm b/code/game/objects/items/devices/radio/listening_bugs.dm index 4a84df071c60..67a91de1bd56 100644 --- a/code/game/objects/items/devices/radio/listening_bugs.dm +++ b/code/game/objects/items/devices/radio/listening_bugs.dm @@ -90,7 +90,7 @@ var/processed_verb = "[SPAN_RED("\[LSTN [nametag]\]")] [verb]" if(broadcasting) if(get_dist(src, M) <= 7) - talk_into(M, msg,null,processed_verb,speaking) + talk_into(M, msg, null, processed_verb, speaking, listening_device = TRUE) /obj/item/device/radio/listening_bug/afterattack(atom/target_atom, mob/user as mob, proximity) if(!ready_to_disguise) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index c628758c74e8..43eb1810d700 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -206,7 +206,7 @@ // If we were to send to a channel we don't have, drop it. return null -/obj/item/device/radio/talk_into(mob/living/M as mob, message, channel, verb = "says", datum/language/speaking = null) +/obj/item/device/radio/talk_into(mob/living/M as mob, message, channel, verb = "says", datum/language/speaking = null, listening_device = FALSE) if(!on) return // the device has to be on // Fix for permacell radios, but kinda eh about actually fixing them. if(!M || !message) return @@ -297,11 +297,11 @@ if(use_volume) Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), src, message, displayname, jobname, real_name, M.voice_name, - filter_type, 0, target_zs, connection.frequency, verb, speaking, volume) + filter_type, 0, target_zs, connection.frequency, verb, speaking, volume, listening_device) else Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), src, message, displayname, jobname, real_name, M.voice_name, - filter_type, 0, target_zs, connection.frequency, verb, speaking, RADIO_VOLUME_QUIET) + filter_type, 0, target_zs, connection.frequency, verb, speaking, RADIO_VOLUME_QUIET, listening_device) /obj/item/device/radio/proc/get_target_zs(frequency) var/turf/position = get_turf(src) diff --git a/code/game/objects/items/pamphlets.dm b/code/game/objects/items/pamphlets.dm index 682215be67bb..763d78bd6ea6 100644 --- a/code/game/objects/items/pamphlets.dm +++ b/code/game/objects/items/pamphlets.dm @@ -84,7 +84,7 @@ if(!istype(ID)) //not wearing an ID to_chat(user, SPAN_WARNING("You should wear your ID before doing this.")) return FALSE - if(ID.registered_ref != WEAKREF(user)) + if(!ID.check_biometrics(user)) to_chat(user, SPAN_WARNING("You should wear your ID before doing this.")) return FALSE diff --git a/code/game/objects/items/props/helmetgarb.dm b/code/game/objects/items/props/helmetgarb.dm index d8e65f1a3cd3..bdf140ff11c3 100644 --- a/code/game/objects/items/props/helmetgarb.dm +++ b/code/game/objects/items/props/helmetgarb.dm @@ -602,6 +602,13 @@ icon_state = "compass" w_class = SIZE_SMALL +/obj/item/prop/helmetgarb/compass/get_examine_text(mob/user) + . = ..() + if(is_ground_level(user.z) && !SSmapping.configs[GROUND_MAP].environment_traits[ZTRAIT_IN_SPACE]) + . += SPAN_NOTICE("It seems you are facing [dir2text(user.dir)].") + return + . += SPAN_NOTICE("The needle is not moving.") + /obj/item/prop/helmetgarb/bug_spray name = "insect repellent" desc = "A store-brand insect repellent, to keep any variety of pest or mosquito away from you." diff --git a/code/game/objects/items/reagent_containers/food/drinks.dm b/code/game/objects/items/reagent_containers/food/drinks.dm index 9f88990e5350..db83723bc8df 100644 --- a/code/game/objects/items/reagent_containers/food/drinks.dm +++ b/code/game/objects/items/reagent_containers/food/drinks.dm @@ -23,6 +23,10 @@ to_chat(user, SPAN_DANGER("The [src.name] is empty!")) return FALSE + if(HAS_TRAIT(M, TRAIT_CANNOT_EAT)) + to_chat(user, SPAN_DANGER("[user == M ? "You are" : "[M] is"] unable to drink!")) + return FALSE + if(M == user) to_chat(M, SPAN_NOTICE(" You swallow a gulp from \the [src].")) if(reagents.total_volume) diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm index eb33ca6b1d0f..927501286f13 100644 --- a/code/game/objects/items/reagent_containers/food/snacks.dm +++ b/code/game/objects/items/reagent_containers/food/snacks.dm @@ -42,7 +42,7 @@ ..() if (world.time <= user.next_move) - return + return FALSE attack(user, user, "head")//zone does not matter user.next_move += attack_speed @@ -51,24 +51,24 @@ to_chat(user, SPAN_DANGER("None of [src] left, oh no!")) M.drop_inv_item_on_ground(src) //so icons update :[ qdel(src) - return 0 + return FALSE if(package) to_chat(M, SPAN_WARNING("How do you expect to eat this with the package still on?")) - return 0 + return FALSE if(istype(M, /mob/living/carbon)) var/mob/living/carbon/C = M var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25) if(fullness > NUTRITION_HIGH && world.time < C.overeat_cooldown) to_chat(user, SPAN_WARNING("[user == M ? "You" : "They"] don't feel like eating more right now.")) - return + return FALSE if(issynth(C)) fullness = 200 //Synths never get full if(HAS_TRAIT(M, TRAIT_CANNOT_EAT)) //Do not feed the Working Joes to_chat(user, SPAN_DANGER("[user == M ? "You are" : "[M] is"] unable to eat!")) - return + return FALSE if(fullness > NUTRITION_HIGH) C.overeat_cooldown = world.time + OVEREAT_TIME @@ -120,9 +120,9 @@ reagents.trans_to_ingest(M, reagents.total_volume) bitecount++ On_Consume(M) - return 1 + return TRUE - return 0 + return FALSE /obj/item/reagent_container/food/snacks/afterattack(obj/target, mob/user, proximity) return ..() @@ -3131,6 +3131,7 @@ icon_state = "packaged-burrito" bitesize = 2 package = 1 + flags_obj = OBJ_NO_HELMET_BAND|OBJ_IS_HELMET_GARB /obj/item/reagent_container/food/snacks/packaged_burrito/Initialize() . = ..() @@ -3174,6 +3175,7 @@ name = "Packaged Hotdog" desc = "A singular squishy, room temperature, hot dog. There's no time given for how long to cook it, so you assume its probably good to go. Packaged by the Weyland-Yutani Corporation." icon_state = "packaged-hotdog" + flags_obj = OBJ_NO_HELMET_BAND|OBJ_IS_HELMET_GARB bitesize = 2 package = 1 diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 9afa0dfd1851..d12f09c2042e 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -302,7 +302,7 @@ if(istype(W) && !W.heat_source && !W.burnt) if(prob(burn_chance)) to_chat(user, SPAN_WARNING("\The [W] lights, but you burn your hand in the process! Ouch!")) - user.apply_damage(3, BRUTE, pick("r_hand", "l_hand")) + user.apply_damage(3, BURN, pick("r_hand", "l_hand")) if((user.pain.feels_pain) && prob(25)) user.emote("scream") W.light_match() diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 2514e2e5f10c..06337995479f 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -650,19 +650,19 @@ if(!idlock) return TRUE - var/mob/living/carbon/human/H = user + var/mob/living/carbon/human/human_user = user - if(!allowed(user)) + if(!allowed(human_user)) to_chat(user, SPAN_NOTICE("It must have some kind of ID lock...")) return FALSE - var/obj/item/card/id/I = H.wear_id - if(!istype(I)) //not wearing an ID - to_chat(H, SPAN_NOTICE("It must have some kind of ID lock...")) + var/obj/item/card/id/idcard = human_user.wear_id + if(!istype(idcard)) //not wearing an ID + to_chat(human_user, SPAN_NOTICE("It must have some kind of ID lock...")) return FALSE - if(I.registered_name != H.real_name) - to_chat(H, SPAN_WARNING("Wrong ID card owner detected.")) + if(!idcard.check_biometrics(human_user)) + to_chat(human_user, SPAN_WARNING("Wrong ID card owner detected.")) return FALSE return TRUE diff --git a/code/game/objects/items/tools/maintenance_tools.dm b/code/game/objects/items/tools/maintenance_tools.dm index a02536800f15..574d08e6a15b 100644 --- a/code/game/objects/items/tools/maintenance_tools.dm +++ b/code/game/objects/items/tools/maintenance_tools.dm @@ -162,6 +162,7 @@ drop_sound = 'sound/handling/weldingtool_drop.ogg' flags_atom = FPRINT|CONDUCT flags_equip_slot = SLOT_WAIST + var/base_icon_state = "" //Amount of OUCH when it's thrown force = 3 @@ -192,6 +193,7 @@ . = ..() create_reagents(max_fuel) reagents.add_reagent("fuel", max_fuel) + base_icon_state = initial(icon_state) return /obj/item/tool/weldingtool/Destroy() @@ -336,7 +338,7 @@ weld_tick += 8 //turning the tool on does not consume fuel directly, but it advances the process that regularly consumes fuel. force = 15 damtype = "fire" - icon_state = "welder1" + icon_state = base_icon_state + "_on" w_class = SIZE_LARGE heat_source = 3800 START_PROCESSING(SSobj, src) @@ -348,7 +350,7 @@ playsound(loc, 'sound/items/weldingtool_off.ogg', 25) force = 3 damtype = "brute" - icon_state = "welder" + icon_state = base_icon_state welding = 0 w_class = initial(w_class) heat_source = 0 @@ -415,6 +417,7 @@ name = "industrial blowtorch" max_fuel = 60 matter = list("metal" = 70, "glass" = 60) + icon_state = "welder_c" /obj/item/tool/weldingtool/hugetank @@ -442,9 +445,9 @@ name = "\improper ME3 hand welder" desc = "A compact, handheld welding torch used by the marines of the United States Colonial Marine Corps for cutting and welding jobs on the field. Due to the small size and slow strength, its function is limited compared to a full-sized technician's blowtorch." max_fuel = 5 - color = "#cc0000" has_welding_screen = TRUE inherent_traits = list(TRAIT_TOOL_SIMPLE_BLOWTORCH) + icon_state = "welder_b" /* * Crowbar diff --git a/code/game/objects/items/tools/surgery_tools.dm b/code/game/objects/items/tools/surgery_tools.dm index 8582e08111f7..9f6ae67baf35 100644 --- a/code/game/objects/items/tools/surgery_tools.dm +++ b/code/game/objects/items/tools/surgery_tools.dm @@ -235,7 +235,7 @@ /obj/item/tool/surgery/surgical_line name = "\proper surgical line" desc = "A roll of military-grade surgical line, able to seamlessly sew up any wound. Also works as a robust fishing line for maritime deployments." - icon_state = "line" + icon_state = "line_brute" force = 0 throwforce = 1 w_class = SIZE_SMALL @@ -253,10 +253,7 @@ name = "Synth-Graft" desc = "An applicator for synthetic skin field grafts. The stuff reeks, itches like the dickens, hurts going on, and the color is \ a perfectly averaged multiethnic tone that doesn't blend with anyone's complexion. But at least you don't have to stay in sickbay." - /// Placeholder. - icon_state = "line" - /// Placeholder, to distinguish from surgical line. - color = "yellow" + icon_state = "line_burn" force = 0 throwforce = 1 w_class = SIZE_SMALL diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 9d730c71970b..cc9f1fe53fea 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -236,6 +236,7 @@ /obj/proc/unbuckle() SIGNAL_HANDLER if(buckled_mob && buckled_mob.buckled == src) + buckled_mob.clear_alert(ALERT_BUCKLED) buckled_mob.set_buckled(null) buckled_mob.anchored = initial(buckled_mob.anchored) @@ -302,6 +303,7 @@ /obj/proc/do_buckle(mob/living/target, mob/user) send_buckling_message(target, user) if (src && src.loc) + target.throw_alert(ALERT_BUCKLED, /atom/movable/screen/alert/buckled) target.set_buckled(src) target.forceMove(src.loc) target.setDir(dir) diff --git a/code/game/objects/structures/barricade/barricade.dm b/code/game/objects/structures/barricade/barricade.dm index 5a72ec33ea2a..b23e07f707f2 100644 --- a/code/game/objects/structures/barricade/barricade.dm +++ b/code/game/objects/structures/barricade/barricade.dm @@ -19,6 +19,7 @@ var/force_level_absorption = 5 //How much force an item needs to even damage it at all. var/barricade_hitsound var/barricade_type = "barricade" //"metal", "plasteel", etc. + var/wire_icon = 'icons/obj/structures/barricades.dmi' //! Icon file used for the wiring var/can_change_dmg_state = TRUE var/damage_state = BARRICADE_DMG_NONE var/closed = FALSE @@ -102,9 +103,9 @@ if(is_wired) if(!closed) - overlays += image('icons/obj/structures/barricades.dmi', icon_state = "[src.barricade_type]_wire") + overlays += image(wire_icon, icon_state = "[barricade_type]_wire") else - overlays += image('icons/obj/structures/barricades.dmi', icon_state = "[src.barricade_type]_closed_wire") + overlays += image(wire_icon, icon_state = "[barricade_type]_closed_wire") ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm index 1edac3a8f324..9b473d91f46e 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cm_closets.dm @@ -106,7 +106,7 @@ GLOBAL_LIST_EMPTY(co_secure_boxes) new /obj/item/clothing/shoes/marine(src) new /obj/item/storage/belt/gun/m4a3(src) new /obj/item/storage/backpack/marine/satchel/intel(src) - new /obj/item/clothing/suit/storage/marine/rto/intel(src) + new /obj/item/clothing/suit/storage/marine/medium/rto/intel(src) new /obj/item/storage/pouch/document(src) new /obj/item/storage/pouch/document(src) new /obj/item/device/motiondetector/intel(src) @@ -180,7 +180,7 @@ GLOBAL_LIST_EMPTY(co_secure_boxes) /obj/structure/closet/secure_closet/warrant_officer name = "chief MP's locker" - req_access = list(ACCESS_MARINE_BRIG) + req_access = list(ACCESS_MARINE_ARMORY) icon_state = "secure_locked_warrant" icon_closed = "secure_unlocked_warrant" icon_locked = "secure_locked_warrant" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 9557013268bf..c668f299db73 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -196,6 +196,59 @@ locked = TRUE var/id = null +/obj/structure/closet/secure_closet/brig/prisoner + +/obj/structure/closet/secure_closet/brig/prisoner/Initialize() + . = ..() + new /obj/item/clothing/under/color/orange(src) + new /obj/item/clothing/shoes/orange(src) + new /obj/item/device/radio/headset(src) + +/obj/structure/closet/secure_closet/brig/prison_uni + name = "Spare Prison Uniforms" + req_one_access = list(ACCESS_MARINE_BRIG, ACCESS_CIVILIAN_BRIG) + anchored = TRUE + locked = TRUE + + +/obj/structure/closet/secure_closet/brig/prison_uni/Initialize() + . = ..() + new /obj/item/clothing/shoes/orange(src) + new /obj/item/clothing/shoes/orange(src) + new /obj/item/clothing/shoes/orange(src) + new /obj/item/clothing/shoes/orange(src) + new /obj/item/clothing/shoes/orange(src) + new /obj/item/clothing/under/color/orange(src) + new /obj/item/clothing/under/color/orange(src) + new /obj/item/clothing/under/color/orange(src) + new /obj/item/clothing/under/color/orange(src) + new /obj/item/clothing/under/color/orange(src) + new /obj/item/device/radio/headset(src) + new /obj/item/device/radio/headset(src) + new /obj/item/device/radio/headset(src) + new /obj/item/device/radio/headset(src) + new /obj/item/device/radio/headset(src) + +/obj/structure/closet/secure_closet/brig/restraints + name = "Spare Restraints" + req_one_access = list(ACCESS_MARINE_BRIG, ACCESS_CIVILIAN_BRIG) + anchored = TRUE + locked = TRUE + + +/obj/structure/closet/secure_closet/brig/restraints/Initialize() + . = ..() + new /obj/item/clothing/suit/straight_jacket(src) + new /obj/item/clothing/suit/straight_jacket(src) + new /obj/item/clothing/suit/straight_jacket(src) + new /obj/item/clothing/suit/straight_jacket(src) + new /obj/item/clothing/suit/straight_jacket(src) + new /obj/item/clothing/glasses/sunglasses/blindfold(src) + new /obj/item/clothing/glasses/sunglasses/blindfold(src) + new /obj/item/clothing/glasses/sunglasses/blindfold(src) + new /obj/item/clothing/glasses/sunglasses/blindfold(src) + new /obj/item/clothing/glasses/sunglasses/blindfold(src) + /obj/structure/closet/secure_closet/brig/Initialize() . = ..() new /obj/item/clothing/under/color/orange(src) diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index f1b58e6f657b..078eac70bd14 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -251,8 +251,80 @@ name = "blue barrel" desc = "A blue storage barrel." icon_state = "barrel_blue" + var/strap_overlay = "+straps" parts_type = /obj/item/stack/sheet/metal unpacking_sound = 'sound/effects/metalhit.ogg' + var/straps = FALSE + +/obj/structure/largecrate/random/barrel/true_random + name = "barrel" + desc = "A barrel." + icon_state = "barrel_recolorable" + desc_lore = "From the future." + var/cap_doodad_state = "" + var/center_doodad_state = "" + var/color_override = null + + +GLOBAL_LIST_EMPTY(rbarrel_cap_states) // Will be set up in generate_barrel_states +GLOBAL_LIST_INIT(rbarrel_center_states, generate_barrel_states()) +GLOBAL_LIST_INIT(rbarrel_color_list, list(COLOUR_SILVER, + COLOUR_FLOORTILE_GRAY, + COLOUR_MAROON, + COLOUR_SOFT_RED, + COLOUR_LIGHT_GRAYISH_RED, + COLOUR_VERY_SOFT_YELLOW, + COLOUR_OLIVE, + COLOUR_DARK_MODERATE_LIME_GREEN, + COLOUR_TEAL, + COLOUR_MODERATE_BLUE, + COLOUR_PURPLE, + COLOUR_STRONG_VIOLET, + COLOUR_BEIGE, + COLOUR_DARK_MODERATE_ORANGE, + COLOUR_BROWN, + COLOUR_DARK_BROWN)) + +/proc/generate_barrel_states() + var/list/rbarrel_center_states = list() + var/icon/icon = new('icons/obj/structures/crates.dmi') + var/list/icon_list = icon_states(icon) + for(var/state in icon_list) + if(findtext(state,"+cap")) + GLOB.rbarrel_cap_states.Add(state) + if(findtext(state,"+center")) + rbarrel_center_states.Add(state) + // We are returning rbarrel_center_states (rather than setting GLOB) because we are called by the global initializer to set it + return rbarrel_center_states + +/obj/structure/largecrate/random/barrel/true_random/Initialize() + . = ..() + + var/image/center_coloring = image(icon, src,"+_center") + + if(!color_override) + center_coloring.color = pick(GLOB.rbarrel_color_list) + + center_coloring.appearance_flags = RESET_COLOR|KEEP_APART + overlays += center_coloring + if(prob(25)) + cap_doodad_state = pick(GLOB.rbarrel_cap_states) + overlays += image(icon,src,cap_doodad_state) + if(prob(50)) + center_doodad_state = pick(GLOB.rbarrel_center_states) + overlays += image(icon,src,center_doodad_state) + +/obj/structure/largecrate/random/barrel/Initialize() + . = ..() + if(overlays) + overlays.Cut() + if(straps) + overlays += image(icon,icon_state = "+straps") + +/obj/structure/largecrate/random/barrel/unpack() + if(overlays) + overlays.Cut() + . = ..() /obj/structure/largecrate/random/barrel/blue name = "blue barrel" @@ -263,6 +335,7 @@ name = "red barrel" desc = "A red storage barrel." icon_state = "barrel_red" + straps = TRUE//the original sprite had straps, anyway, this is a harmless instance /obj/structure/largecrate/random/barrel/green name = "green barrel" diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 34b0fb01e9d6..ee2c2bcee882 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -322,6 +322,7 @@ GLOBAL_LIST_EMPTY(activated_medevac_stretchers) base_bed_icon = "stretcher" accepts_bodybag = TRUE var/stretcher_activated + var/view_range = 5 var/obj/structure/dropship_equipment/medevac_system/linked_medevac surgery_duration_multiplier = SURGERY_SURFACE_MULT_AWFUL //On the one hand, it's a big stretcher. On the other hand, you have a big sheet covering the patient and those damned Fulton hookups everywhere. @@ -352,6 +353,14 @@ GLOBAL_LIST_EMPTY(activated_medevac_stretchers) toggle_medevac_beacon(usr) +// Used to pretend to be a camera +/obj/structure/bed/medevac_stretcher/proc/can_use() + return TRUE + +// Used to pretend to be a camera +/obj/structure/bed/medevac_stretcher/proc/isXRay() + return FALSE + /obj/structure/bed/medevac_stretcher/proc/toggle_medevac_beacon(mob/user) if(!ishuman(user)) return diff --git a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm index 65bb2fd6a963..63681d948620 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm @@ -98,7 +98,7 @@ if(iscarbon(user)) var/mob/living/carbon/carbon = user if(HIVE_ALLIED_TO_HIVE(carbon.hivenumber, hivenumber)) - to_chat(user, SPAN_XENOWARNING("You shouldn't interfere with the nest, leave that to the drones.")) + to_chat(user, SPAN_XENOWARNING("We shouldn't interfere with the nest, leave that to the drones.")) return if(buckled_mob) if(iswelder(W)) @@ -151,12 +151,12 @@ if(isxeno(user)) var/mob/living/carbon/xenomorph/X = user if(!X.hive.unnesting_allowed && !isxeno_builder(X) && HIVE_ALLIED_TO_HIVE(X.hivenumber, hivenumber)) - to_chat(X, SPAN_XENOWARNING("You shouldn't interfere with the nest, leave that to the drones.")) + to_chat(X, SPAN_XENOWARNING("We shouldn't interfere with the nest, leave that to the drones.")) return else if(iscarbon(user)) var/mob/living/carbon/H = user if(HIVE_ALLIED_TO_HIVE(H.hivenumber, hivenumber)) - to_chat(H, SPAN_XENOWARNING("You shouldn't interfere with the nest, leave that to the drones.")) + to_chat(H, SPAN_XENOWARNING("We shouldn't interfere with the nest, leave that to the drones.")) return if(ishuman(buckled_mob) && isxeno(user)) @@ -165,7 +165,7 @@ to_chat(user, SPAN_WARNING("[H] was nested recently. Wait a bit.")) return if(H.stat != DEAD) - if(alert(user, "[H] is still alive and kicking! Are you sure you want to remove them from the nest?", "Confirmation", "Yes", "No") != "Yes") + if(alert(user, "[H] is still alive and kicking! Are we sure we want to remove them from the nest?", "Confirmation", "Yes", "No") != "Yes") return if(!buckled_mob || !user.Adjacent(H) || user.is_mob_incapacitated(FALSE)) return @@ -195,7 +195,7 @@ return if(isxeno(mob)) - to_chat(user, SPAN_WARNING("You can't buckle your sisters.")) + to_chat(user, SPAN_WARNING("We can't buckle our sisters.")) return if(buckled_mob) @@ -207,7 +207,7 @@ return if(!isxeno(user) || issynth(mob)) - to_chat(user, SPAN_WARNING("Gross! You're not touching that stuff.")) + to_chat(user, SPAN_WARNING("Gross! We're not touching that stuff.")) return if(isyautja(mob) && !force_nest) @@ -321,7 +321,7 @@ if(M.a_intent == INTENT_HARM && !buckled_mob) //can't slash nest with an occupant. M.animation_attack_on(src) M.visible_message(SPAN_DANGER("\The [M] claws at \the [src]!"), \ - SPAN_DANGER("You claw at \the [src].")) + SPAN_DANGER("We claw at \the [src].")) playsound(loc, "alien_resin_break", 25) health -= (M.melee_damage_upper + 25) //Beef up the damage a bit healthcheck() diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 736427606683..2ed19485acc9 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -274,7 +274,9 @@ var/mob/living/M = G.grabbed_thing if(user.a_intent == INTENT_HARM) if(user.grab_level > GRAB_AGGRESSIVE) - if (prob(15)) M.apply_effect(5, WEAKEN) + if (prob(15)) + M.KnockDown(5) + M.Stun(5) M.apply_damage(8, def_zone = "head") user.visible_message(SPAN_DANGER("[user] slams [M]'s face against [src]!"), SPAN_DANGER("You slam [M]'s face against [src]!")) @@ -284,7 +286,8 @@ return else if(user.grab_level >= GRAB_AGGRESSIVE) M.forceMove(loc) - M.apply_effect(5, WEAKEN) + M.KnockDown(5) + M.Stun(5) playsound(loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7) user.visible_message(SPAN_DANGER("[user] throws [M] on [src], stunning them!"), SPAN_DANGER("You throw [M] on [src], stunning them!")) diff --git a/code/game/sound.dm b/code/game/sound.dm index 6adaab109794..ac863a3bc51e 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -344,7 +344,7 @@ S = pick('sound/voice/alien_queen_command.ogg','sound/voice/alien_queen_command2.ogg','sound/voice/alien_queen_command3.ogg') // Human if("male_scream") - S = pick('sound/voice/human_male_scream_1.ogg','sound/voice/human_male_scream_2.ogg','sound/voice/human_male_scream_3.ogg','sound/voice/human_male_scream_4.ogg',5;'sound/voice/human_male_scream_5.ogg',5;'sound/voice/human_jackson_scream.ogg',5;'sound/voice/human_ack_scream.ogg') + S = pick('sound/voice/human_male_scream_1.ogg','sound/voice/human_male_scream_2.ogg','sound/voice/human_male_scream_3.ogg','sound/voice/human_male_scream_4.ogg',5;'sound/voice/human_male_scream_5.ogg',5;'sound/voice/human_jackson_scream.ogg',5;'sound/voice/human_ack_scream.ogg','sound/voice/human_male_scream_6.ogg') if("male_pain") S = pick('sound/voice/human_male_pain_1.ogg','sound/voice/human_male_pain_2.ogg','sound/voice/human_male_pain_3.ogg',5;'sound/voice/tomscream.ogg',5;'sound/voice/human_bobby_pain.ogg',5;'sound/voice/human_tantrum_scream.ogg', 5;'sound/voice/human_male_pain_rare_1.ogg') if("male_fragout") diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index b689f7b33df3..069d932d991b 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -17,29 +17,25 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) /area/supply ceiling = CEILING_METAL -/area/supply/station //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. +/area/supply/station name = "Supply Shuttle" icon_state = "shuttle3" - base_lighting_alpha = 255 requires_power = 0 ambience_exterior = AMBIENCE_ALMAYER -/area/supply/dock //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. +/area/supply/dock name = "Supply Shuttle" icon_state = "shuttle3" - base_lighting_alpha = 255 requires_power = 0 -/area/supply/station_vehicle //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. +/area/supply/station_vehicle name = "Vehicle ASRS" icon_state = "shuttle3" - base_lighting_alpha = 255 requires_power = 0 -/area/supply/dock_vehicle //DO NOT TURN THE lighting_use_dynamic STUFF ON FOR SHUTTLES. IT BREAKS THINGS. +/area/supply/dock_vehicle name = "Vehicle ASRS" icon_state = "shuttle3" - base_lighting_alpha = 255 requires_power = 0 //SUPPLY PACKS MOVED TO /code/defines/obj/supplypacks.dm diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm index d9ae6fd8e6fc..05c97a681be9 100644 --- a/code/game/turfs/walls/wall_types.dm +++ b/code/game/turfs/walls/wall_types.dm @@ -1219,7 +1219,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen) M.animation_attack_on(src) M.visible_message(SPAN_XENONOTICE("\The [M] claws \the [src]!"), \ - SPAN_XENONOTICE("You claw \the [src].")) + SPAN_XENONOTICE("We claw \the [src].")) playsound(src, "alien_resin_break", 25) if (M.hivenumber == hivenumber) take_damage(Ceiling(HEALTH_WALL_XENO * 0.25)) //Four hits for a regular wall diff --git a/code/modules/admin/tabs/event_tab.dm b/code/modules/admin/tabs/event_tab.dm index 830717ef91b9..839dea7b2334 100644 --- a/code/modules/admin/tabs/event_tab.dm +++ b/code/modules/admin/tabs/event_tab.dm @@ -570,7 +570,12 @@ if(!admin_holder || !(admin_holder.rights & R_MOD)) to_chat(src, "Only administrators may use this command.") - return + return FALSE + + if(!ares_is_active()) + to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is destroyed, and cannot talk!")) + return FALSE + var/input = input(usr, "This is a standard message from the ship's AI. It uses Almayer General channel and won't be heard by humans without access to Almayer General channel (headset or intercom). Check with online staff before you send this. Do not use html.", "What?", "") as message|null if(!input) return FALSE @@ -579,7 +584,7 @@ var/prompt = tgui_alert(src, "ARES interface processor is offline or destroyed, send the message anyways?", "Choose.", list("Yes", "No"), 20 SECONDS) if(prompt == "No") to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It's interface processor may be offline or destroyed.")) - return + return FALSE ai_announcement(input) message_admins("[key_name_admin(src)] has created an AI comms report") @@ -592,13 +597,17 @@ if(!admin_holder || !(admin_holder.rights & R_MOD)) to_chat(src, "Only administrators may use this command.") - return + return FALSE + + if(!ares_is_active()) + to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is destroyed, and cannot talk!")) + return FALSE + var/input = tgui_input_text(usr, "This is a broadcast from the ship AI to Working Joes and Maintenance Drones. Do not use html.", "What?", "") if(!input) return FALSE - var/datum/ares_link/link = GLOB.ares_link - if(link.processor_apollo.inoperable()) + if(!ares_can_apollo()) var/prompt = tgui_alert(src, "ARES APOLLO processor is offline or destroyed, send the message anyways?", "Choose.", list("Yes", "No"), 20 SECONDS) if(prompt != "Yes") to_chat(usr, SPAN_WARNING("[MAIN_AI_SYSTEM] is not responding. It's APOLLO processor may be offline or destroyed.")) @@ -1007,10 +1016,11 @@ if("Xeno") GLOB.bioscan_data.qm_bioscan(variance) if("Marine") - var/force_check = tgui_alert(usr, "Do you wish to force ARES to display the bioscan?", "Display force", list("Yes", "No"), 20 SECONDS) var/force_status = FALSE - if(force_check == "Yes") - force_status = TRUE + if(!ares_can_interface()) //proc checks if ARES is dead or if ARES cannot do announcements + var/force_check = tgui_alert(usr, "ARES is currently unable to properly display and/or perform the Bioscan, do you wish to force ARES to display the bioscan?", "Display force", list("Yes", "No"), 20 SECONDS) + if(force_check == "Yes") + force_status = TRUE GLOB.bioscan_data.ares_bioscan(force_status, variance) if("Yautja") GLOB.bioscan_data.yautja_bioscan() diff --git a/code/modules/character_traits/hair_dye.dm b/code/modules/character_traits/hair_dye.dm index 1da4ea364064..3c6ce01f8acc 100644 --- a/code/modules/character_traits/hair_dye.dm +++ b/code/modules/character_traits/hair_dye.dm @@ -6,7 +6,6 @@ trait_name = "Hair Dye" trait_desc = "Enables hair gradients in the character creation screen." applyable = TRUE - cost = 1 trait_group = /datum/character_trait_group/hair_dye refresh_choices = TRUE refresh_mannequin = TRUE diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 171cade3ed4e..6d5efba2645f 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -15,7 +15,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( "1548" = "bug breaking the \"alpha\" functionality in the game, allowing clients to be able to see things/mobs they should not be able to see.", )) -#define LIMITER_SIZE 5 +#define LIMITER_SIZE 12 #define CURRENT_SECOND 1 #define SECOND_COUNT 2 #define CURRENT_MINUTE 3 @@ -57,6 +57,12 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( /client/proc/set_eye_blur_type, )) +/client/proc/reduce_minute_count() + if (!topiclimiter) + topiclimiter = new(LIMITER_SIZE) + if(topiclimiter[MINUTE_COUNT] > 0) + topiclimiter[MINUTE_COUNT] -= 1 + /client/Topic(href, href_list, hsrc) if(!usr || usr != mob) //stops us calling Topic for somebody else's client. Also helps prevent usr=null return diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6c52b497f9a3..c11d35451656 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -573,6 +573,7 @@ GLOBAL_LIST_INIT(bgstate_options, list( dat += "Ghost Ears: [(toggles_chat & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
" dat += "Ghost Sight: [(toggles_chat & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
" dat += "Ghost Radio: [(toggles_chat & CHAT_GHOSTRADIO) ? "All Chatter" : "Nearest Speakers"]
" + dat += "Ghost Spy Radio: [(toggles_chat & CHAT_LISTENINGBUG) ? "Hear" : "Silence"] listening devices
" dat += "Ghost Hivemind: [(toggles_chat & CHAT_GHOSTHIVEMIND) ? "Show Hivemind" : "Hide Hivemind"]
" dat += "Abovehead Chat: [lang_chat_disabled ? "Hide" : "Show"]
" dat += "Abovehead Emotes: [(toggles_langchat & LANGCHAT_SEE_EMOTES) ? "Show" : "Hide"]
" @@ -1832,6 +1833,9 @@ GLOBAL_LIST_INIT(bgstate_options, list( if("ghost_radio") toggles_chat ^= CHAT_GHOSTRADIO + if("ghost_spyradio") + toggles_chat ^= CHAT_LISTENINGBUG + if("ghost_hivemind") toggles_chat ^= CHAT_GHOSTHIVEMIND diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 6fe334a2a0ab..d246a17bf5c0 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -602,6 +602,14 @@ to_chat(src,SPAN_BOLDNOTICE( "As a ghost, you will now [(prefs.toggles_chat & CHAT_GHOSTRADIO) ? "hear all radio chat in the world" : "only hear from nearby speakers"].")) prefs.save_preferences() +/client/proc/toggle_ghost_spyradio() + set name = "Toggle GhostSpyRadio" + set category = "Preferences.Ghost" + set desc = "Toggle between hearing listening devices or not." + prefs.toggles_chat ^= CHAT_LISTENINGBUG + to_chat(src,SPAN_BOLDNOTICE( "As a ghost, you will [(prefs.toggles_chat & CHAT_LISTENINGBUG) ? "now" : "no longer"] hear listening devices as a ghost.")) + prefs.save_preferences() + /client/proc/toggle_ghost_hud() set name = "Toggle Ghost HUDs" set category = "Preferences.Ghost" @@ -757,6 +765,7 @@ GLOBAL_LIST_INIT(ghost_prefs_verbs, list( /client/proc/toggle_ghost_ears, /client/proc/toggle_ghost_sight, /client/proc/toggle_ghost_radio, + /client/proc/toggle_ghost_spyradio, /client/proc/toggle_ghost_hivemind, /client/proc/deadchat, /client/proc/toggle_ghost_hud, diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index d94789651b75..3d0471a48253 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -57,14 +57,15 @@ return set_light_on(toggle_on) + + update_icon() + if(user == loc) user.update_inv_head() for(var/datum/action/current_action as anything in actions) current_action.update_button_icon() - update_icon() - /obj/item/clothing/head/hardhat/attack_alien(mob/living/carbon/xenomorph/attacking_xeno) if(!can_be_broken) return diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index b4547b48be08..3d7d774bd1ed 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -234,7 +234,6 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( /obj/item/reagent_container/food/drinks/flask = "helmet_flask", /obj/item/reagent_container/food/drinks/flask/marine = "helmet_flask", /obj/item/reagent_container/food/snacks/eat_bar = "helmet_snack_eat", - /obj/item/reagent_container/food/snacks/packaged_burrito = "helmet_snack_burrito", /obj/item/reagent_container/food/snacks/mushroompizzaslice = "pizza", // Fuck whoever put these under different paths for some REASON /obj/item/reagent_container/food/snacks/vegetablepizzaslice = "pizza", /obj/item/reagent_container/food/snacks/meatpizzaslice = "pizza", diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index b171b4ed934f..dd540033b2a2 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -2,11 +2,14 @@ /obj/item/clothing/head/helmet/space/santahat name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" - icon_state = "santahat" + icon_state = "santa_hat_red" flags_inventory = NOPRESSUREDMAGE|BLOCKSHARPOBJ flags_inv_hide = HIDEEYES flags_armor_protection = BODY_FLAG_HEAD +/obj/item/clothing/head/helmet/space/santahat/green + icon_state = "santa_hat_green" + /obj/item/clothing/suit/space/santa name = "Santa's suit" desc = "Festive!" diff --git a/code/modules/clothing/suits/marine_armor.dm b/code/modules/clothing/suits/marine_armor.dm index e505d458e496..844655049a69 100644 --- a/code/modules/clothing/suits/marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor.dm @@ -237,38 +237,39 @@ // Replace the digits in the current icon state with `new_look`. (E.g. "L6" -> "L2") icon_state = digits.Replace(icon_state, new_look) -/obj/item/clothing/suit/storage/marine/padded +/obj/item/clothing/suit/storage/marine/medium/padded name = "M3 pattern padded marine armor" icon_state = "1" specialty = "M3 pattern padded marine" -/obj/item/clothing/suit/storage/marine/padless +/obj/item/clothing/suit/storage/marine/medium/padless name = "M3 pattern padless marine armor" icon_state = "2" specialty = "M3 pattern padless marine" -/obj/item/clothing/suit/storage/marine/padless_lines +/obj/item/clothing/suit/storage/marine/medium/padless_lines name = "M3 pattern ridged marine armor" icon_state = "3" specialty = "M3 pattern ridged marine" -/obj/item/clothing/suit/storage/marine/carrier +/obj/item/clothing/suit/storage/marine/medium/carrier name = "M3 pattern carrier marine armor" icon_state = "4" specialty = "M3 pattern carrier marine" -/obj/item/clothing/suit/storage/marine/skull +/obj/item/clothing/suit/storage/marine/medium/skull name = "M3 pattern skull marine armor" icon_state = "5" specialty = "M3 pattern skull marine" -/obj/item/clothing/suit/storage/marine/smooth +/obj/item/clothing/suit/storage/marine/medium/smooth name = "M3 pattern smooth marine armor" icon_state = "6" specialty = "M3 pattern smooth marine" -/obj/item/clothing/suit/storage/marine/rto +/obj/item/clothing/suit/storage/marine/medium/rto icon_state = "io" + armor_variation = 0 name = "\improper M4 pattern marine armor" desc = "A well tinkered and crafted hybrid of Smart-Gunner mesh and M3 pattern plates. Robust, yet nimble, with room for all your pouches." armor_bio = CLOTHING_ARMOR_MEDIUMHIGH @@ -277,7 +278,7 @@ light_range = 5 //slightly higher specialty = "M4 pattern marine" -/obj/item/clothing/suit/storage/marine/rto/intel +/obj/item/clothing/suit/storage/marine/medium/rto/intel name = "\improper XM4 pattern intelligence officer armor" uniform_restricted = list(/obj/item/clothing/under/marine/officer, /obj/item/clothing/under/rank/qm_suit, /obj/item/clothing/under/marine/officer/intel) specialty = "XM4 pattern intel" @@ -447,15 +448,17 @@ UnregisterSignal(user, COMSIG_HUMAN_ATTEMPTING_EQUIP) -/obj/item/clothing/suit/storage/marine/leader +/obj/item/clothing/suit/storage/marine/medium/leader name = "\improper B12 pattern marine armor" desc = "A lightweight suit of carbon fiber body armor built for quick movement. Designed in a lovely forest green. Use it to toggle the built-in flashlight." icon_state = "7" + armor_variation = 0 armor_melee = CLOTHING_ARMOR_MEDIUMHIGH armor_bomb = CLOTHING_ARMOR_MEDIUM armor_bio = CLOTHING_ARMOR_MEDIUMHIGH armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH specialty = "B12 pattern marine" + light_range = 5 /obj/item/clothing/suit/storage/marine/tanker name = "\improper M3 pattern tanker armor" @@ -470,6 +473,43 @@ /obj/item/clothing/suit/storage/marine/medium armor_variation = 6 + light_power = 4 + +/obj/item/clothing/suit/storage/marine/medium/padded + name = "M3 pattern padded marine armor" + icon_state = "1" + armor_variation = 0 + specialty = "M3 pattern padded marine" + +/obj/item/clothing/suit/storage/marine/medium/padless + name = "M3 pattern padless marine armor" + icon_state = "2" + armor_variation = 0 + specialty = "M3 pattern padless marine" + +/obj/item/clothing/suit/storage/marine/medium/padless_lines + name = "M3 pattern ridged marine armor" + icon_state = "3" + armor_variation = 0 + specialty = "M3 pattern ridged marine" + +/obj/item/clothing/suit/storage/marine/medium/carrier + name = "M3 pattern carrier marine armor" + icon_state = "4" + armor_variation = 0 + specialty = "M3 pattern carrier marine" + +/obj/item/clothing/suit/storage/marine/medium/skull + name = "M3 pattern skull marine armor" + icon_state = "5" + armor_variation = 0 + specialty = "M3 pattern skull marine" + +/obj/item/clothing/suit/storage/marine/medium/smooth + name = "M3 pattern smooth marine armor" + icon_state = "6" + armor_variation = 0 + specialty = "M3 pattern smooth marine" /obj/item/clothing/suit/storage/marine/light name = "\improper M3-L pattern light armor" @@ -591,6 +631,8 @@ storage_slots = 2 slowdown = SLOWDOWN_ARMOR_LOWHEAVY movement_compensation = SLOWDOWN_ARMOR_MEDIUM + light_power = 4 + light_range = 5 /obj/item/clothing/suit/storage/marine/heavy/padded icon_state = "H1" diff --git a/code/modules/cm_aliens/Ovipositor.dm b/code/modules/cm_aliens/Ovipositor.dm index 07d3466a279d..b8983f37cc7a 100644 --- a/code/modules/cm_aliens/Ovipositor.dm +++ b/code/modules/cm_aliens/Ovipositor.dm @@ -14,11 +14,11 @@ . = ..() begin_decay_time = world.timeofday + QUEEN_OVIPOSITOR_DECAY_TIME - START_PROCESSING(SSeffects, src) // Process every second + START_PROCESSING(SSoldeffects, src) // Process every second /obj/ovipositor/Destroy() if(!decayed && !destroyed) - STOP_PROCESSING(SSeffects, src) + STOP_PROCESSING(SSoldeffects, src) return ..() @@ -32,7 +32,7 @@ /obj/ovipositor/proc/do_decay() decayed = TRUE - STOP_PROCESSING(SSeffects, src) + STOP_PROCESSING(SSoldeffects, src) icon_state = "ovipositor_molted" flick("ovipositor_decay", src) @@ -46,7 +46,7 @@ /obj/ovipositor/proc/explode() destroyed = TRUE - STOP_PROCESSING(SSeffects, src) + STOP_PROCESSING(SSoldeffects, src) icon_state = "ovipositor_gibbed" flick("ovipositor_explosion", src) diff --git a/code/modules/cm_aliens/XenoStructures.dm b/code/modules/cm_aliens/XenoStructures.dm index 81978bb01ba0..e78756f1eda6 100644 --- a/code/modules/cm_aliens/XenoStructures.dm +++ b/code/modules/cm_aliens/XenoStructures.dm @@ -88,7 +88,7 @@ else M.animation_attack_on(src) M.visible_message(SPAN_XENONOTICE("\The [M] claws \the [src]!"), \ - SPAN_XENONOTICE("You claw \the [src].")) + SPAN_XENONOTICE("We claw \the [src].")) if(istype(src, /obj/effect/alien/resin/sticky)) playsound(loc, "alien_resin_move", 25) else diff --git a/code/modules/cm_aliens/structures/egg.dm b/code/modules/cm_aliens/structures/egg.dm index edb86c204558..5b0654d05b55 100644 --- a/code/modules/cm_aliens/structures/egg.dm +++ b/code/modules/cm_aliens/structures/egg.dm @@ -49,7 +49,7 @@ if(status == EGG_BURST || status == EGG_DESTROYED) M.animation_attack_on(src) M.visible_message(SPAN_XENONOTICE("[M] clears the hatched egg."), \ - SPAN_XENONOTICE("You clear the hatched egg.")) + SPAN_XENONOTICE("We clear the hatched egg.")) playsound(src.loc, "alien_resin_break", 25) qdel(src) return XENO_NONCOMBAT_ACTION @@ -57,7 +57,7 @@ if(M.hivenumber != hivenumber) M.animation_attack_on(src) M.visible_message(SPAN_XENOWARNING("[M] crushes \the [src]"), - SPAN_XENOWARNING("You crush \the [src]")) + SPAN_XENOWARNING("We crush \the [src]")) Burst(TRUE) return XENO_ATTACK_ACTION @@ -70,9 +70,9 @@ return XENO_NO_DELAY_ACTION if(EGG_GROWN) if(islarva(M)) - to_chat(M, SPAN_XENOWARNING("You nudge the egg, but nothing happens.")) + to_chat(M, SPAN_XENOWARNING("We nudge the egg, but nothing happens.")) return - to_chat(M, SPAN_XENONOTICE("You retrieve the child.")) + to_chat(M, SPAN_XENONOTICE("We retrieve the child.")) Burst(FALSE) return XENO_NONCOMBAT_ACTION @@ -186,7 +186,7 @@ if(EGG_BURST) if(user) visible_message(SPAN_XENOWARNING("[user] slides [F] back into [src]."), \ - SPAN_XENONOTICE("You place the child back in to [src].")) + SPAN_XENONOTICE("We place the child back in to [src].")) user.temp_drop_inv_item(F) else visible_message(SPAN_XENOWARNING("[F] crawls back into [src]!")) //Not sure how, but let's roll with it for now. diff --git a/code/modules/cm_aliens/structures/fruit.dm b/code/modules/cm_aliens/structures/fruit.dm index 09983c930031..a1d3624c7337 100644 --- a/code/modules/cm_aliens/structures/fruit.dm +++ b/code/modules/cm_aliens/structures/fruit.dm @@ -139,7 +139,7 @@ /obj/effect/alien/resin/fruit/proc/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE) if(mature) // Someone might've eaten it before us! recipient.gain_health(75) - to_chat(recipient, SPAN_XENONOTICE("You recover a bit from your injuries.")) + to_chat(recipient, SPAN_XENONOTICE("We recover a bit from our injuries.")) if(do_consume) finish_consume(recipient) @@ -161,18 +161,18 @@ return cant_consume if(mature) - to_chat(affected_xeno, SPAN_XENOWARNING("You prepare to consume [name].")) + to_chat(affected_xeno, SPAN_XENOWARNING("We prepare to consume [name].")) xeno_noncombat_delay(affected_xeno) if(!do_after(affected_xeno, consume_delay, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) return XENO_NO_DELAY_ACTION cant_consume = prevent_consume(affected_xeno) // Check again after the delay incase they have eaten another fruit if(cant_consume) - to_chat(affected_xeno, SPAN_XENOWARNING("You can no longer consume [name].")) + to_chat(affected_xeno, SPAN_XENOWARNING("We can no longer consume [name].")) return cant_consume consume_effect(affected_xeno) else - to_chat(affected_xeno, SPAN_XENOWARNING("[name] isn't ripe yet. You need to wait a little longer.")) + to_chat(affected_xeno, SPAN_XENOWARNING("[name] isn't ripe yet. We need to wait a little longer.")) if(affected_xeno.a_intent == INTENT_HARM && isxeno_builder(affected_xeno) || (!affected_xeno.can_not_harm(bound_xeno) && affected_xeno.hivenumber != hivenumber)) affected_xeno.animation_attack_on(src) @@ -185,7 +185,7 @@ /obj/effect/alien/resin/fruit/proc/prevent_consume(mob/living/carbon/xenomorph/xeno) if(!(flags & CAN_CONSUME_AT_FULL_HEALTH) && xeno.health >= xeno.maxHealth) - to_chat(xeno, SPAN_XENODANGER("You are at full health! This would be a waste...")) + to_chat(xeno, SPAN_XENODANGER("We are at full health! This would be a waste...")) return XENO_NO_DELAY_ACTION return FALSE @@ -212,7 +212,7 @@ return if(recipient && !QDELETED(recipient)) recipient.gain_health(heal_amount) - to_chat(recipient, SPAN_XENONOTICE("You recover a bit from your injuries, and begin to regenerate rapidly.")) + to_chat(recipient, SPAN_XENONOTICE("We recover a bit from our injuries, and begin to regenerate rapidly.")) // Every second, heal him for 15. new /datum/effects/heal_over_time(recipient, regeneration_amount_total, regeneration_ticks, 1) if(do_consume) @@ -240,7 +240,7 @@ /obj/effect/alien/resin/fruit/unstable/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE) if(mature && recipient && !QDELETED(recipient)) recipient.add_xeno_shield(Clamp(overshield_amount, 0, recipient.maxHealth * 0.3), XENO_SHIELD_SOURCE_GARDENER, duration = shield_duration, decay_amount_per_second = shield_decay) - to_chat(recipient, SPAN_XENONOTICE("You feel your defense being bolstered, and begin to regenerate rapidly.")) + to_chat(recipient, SPAN_XENONOTICE("We feel our defense being bolstered, and begin to regenerate rapidly.")) // Every seconds, heal him for 5. new /datum/effects/heal_over_time(recipient, regeneration_amount_total, regeneration_ticks, 1) if(do_consume) @@ -248,7 +248,7 @@ //Spore /obj/effect/alien/resin/fruit/spore - desc = "A fruit that can be eaten to reenergize your cooldowns. It also passively emits weak recovery pheromones." + desc = "A fruit that can be eaten to reenergize cooldowns. It also passively emits weak recovery pheromones." name = XENO_FRUIT_SPORE time_to_mature = 15 SECONDS icon_state = "fruit_spore_immature" @@ -270,7 +270,7 @@ if(E.effect_source == "spore") qdel(E) new /datum/effects/gain_xeno_cooldown_reduction_on_slash(recipient, bound_xeno, max_cooldown_reduction, cooldown_per_slash, 60 SECONDS, "spore") - to_chat(recipient, SPAN_XENONOTICE("You feel a frenzy coming onto you! Your abilities will cool off faster as you slash!")) + to_chat(recipient, SPAN_XENONOTICE("We feel a frenzy coming onto us! Our abilities will cool off faster as we slash!")) if(do_consume) finish_consume(recipient) @@ -306,20 +306,20 @@ /obj/effect/alien/resin/fruit/speed/prevent_consume(mob/living/carbon/xenomorph/xeno) if(LAZYISIN(xeno.modifier_sources, XENO_FRUIT_SPEED)) - to_chat(xeno, SPAN_XENOWARNING("You're already under the effects of this fruit, go out and kill!")) + to_chat(xeno, SPAN_XENOWARNING("We are already under the effects of this fruit, go out and kill!")) return XENO_NO_DELAY_ACTION return ..() /obj/effect/alien/resin/fruit/speed/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE) if(mature && recipient && !QDELETED(recipient)) - to_chat(recipient, SPAN_XENONOTICE("The [name] invigorates you to move faster!")) - new /datum/effects/xeno_speed(recipient, ttl = speed_duration, set_speed_modifier = speed_buff_amount, set_modifier_source = XENO_FRUIT_SPEED, set_end_message = SPAN_XENONOTICE("You feel the effects of the [name] wane...")) + to_chat(recipient, SPAN_XENONOTICE("The [name] invigorates us to move faster!")) + new /datum/effects/xeno_speed(recipient, ttl = speed_duration, set_speed_modifier = speed_buff_amount, set_modifier_source = XENO_FRUIT_SPEED, set_end_message = SPAN_XENONOTICE("We feel the effects of the [name] wane...")) if(do_consume) finish_consume(recipient) /obj/effect/alien/resin/fruit/plasma name = XENO_FRUIT_PLASMA - desc = "A fruit that can be eaten to boost your plasma generation." + desc = "A fruit that can be eaten to boost plasma generation." time_to_mature = 25 SECONDS icon_state = "fruit_plasma_immature" mature_icon_state = "fruit_plasma" @@ -333,7 +333,7 @@ /obj/effect/alien/resin/fruit/plasma/consume_effect(mob/living/carbon/xenomorph/recipient, do_consume = TRUE) if(mature && recipient && recipient.plasma_max > 0 && !QDELETED(recipient)) - to_chat(recipient, SPAN_XENONOTICE("The [name] boosts your plasma regeneration!")) + to_chat(recipient, SPAN_XENONOTICE("The [name] boosts our plasma regeneration!")) // with the current values (240, 15, 3), this will give the recipient 48 plasma every 3 seconds, for a total of 240 in 15 seconds new /datum/effects/plasma_over_time(recipient, plasma_amount, plasma_time, time_between_plasmas) if(do_consume) @@ -360,7 +360,7 @@ pixel_y = 0 /obj/item/reagent_container/food/snacks/resin_fruit/proc/link_xeno(mob/living/carbon/xenomorph/X) - to_chat(X, SPAN_XENOWARNING("One of your resin fruits has been picked.")) + to_chat(X, SPAN_XENOWARNING("One of our resin fruits has been picked.")) X.current_fruits.Add(src) bound_xeno = X RegisterSignal(X, COMSIG_PARENT_QDELETING, PROC_REF(handle_xeno_qdel)) @@ -429,7 +429,7 @@ //Notify the fruit's bound xeno if they exist if(!QDELETED(bound_xeno)) - to_chat(bound_xeno, SPAN_XENOWARNING("One of your picked resin fruits has been consumed.")) + to_chat(bound_xeno, SPAN_XENOWARNING("One of our picked resin fruits has been consumed.")) qdel(src) return TRUE @@ -449,7 +449,7 @@ /mob/living/carbon/xenomorph/proc/pickup_fruit(obj/effect/alien/resin/fruit/F) if(F.bound_xeno && !can_not_harm(F.bound_xeno)) - to_chat(src, SPAN_XENODANGER("You crush [F].")) + to_chat(src, SPAN_XENODANGER("We crush [F].")) qdel(F) return if(!F.mature) @@ -476,11 +476,11 @@ qdel(F) /mob/living/carbon/xenomorph/larva/pickup_fruit(obj/effect/alien/resin/fruit/F) - to_chat(src, SPAN_XENODANGER("You are too small to pick up \the [F]!")) + to_chat(src, SPAN_XENODANGER("We are too small to pick up \the [F]!")) return /mob/living/carbon/xenomorph/facehugger/pickup_fruit(obj/effect/alien/resin/fruit/F) - to_chat(src, SPAN_XENODANGER("You are too small to pick up \the [F]!")) + to_chat(src, SPAN_XENODANGER("We are too small to pick up \the [F]!")) return /obj/item/reagent_container/food/snacks/resin_fruit/greater diff --git a/code/modules/cm_aliens/structures/special/hive_cluster.dm b/code/modules/cm_aliens/structures/special/hive_cluster.dm index 6ebcb70493d5..266748a96c80 100644 --- a/code/modules/cm_aliens/structures/special/hive_cluster.dm +++ b/code/modules/cm_aliens/structures/special/hive_cluster.dm @@ -51,7 +51,7 @@ to_chat(xeno, SPAN_XENONOTICE("\The [name] is in good condition, you don't need to repair it.")) return - to_chat(xeno, SPAN_XENONOTICE("You begin adding the plasma to \the [name] to repair it.")) + to_chat(xeno, SPAN_XENONOTICE("We begin adding the plasma to \the [name] to repair it.")) xeno_attack_delay(xeno) if(!do_after(xeno, CLUSTER_REPAIR_TIME, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD, src) || !can_repair) return @@ -77,7 +77,7 @@ continue addtimer(CALLBACK(W, TYPE_PROC_REF(/obj/effect/alien/weeds, weed_expand), node), CLUSTER_WEEDS_REGROWTH_TIME, TIMER_UNIQUE) - to_chat(xeno, SPAN_XENONOTICE("You have successfully repaired \the [name].")) + to_chat(xeno, SPAN_XENONOTICE("We have successfully repaired \the [name].")) playsound(loc, "alien_resin_build", 25) /obj/effect/alien/resin/special/cluster/proc/place_node() diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index a7cb15a31ce7..2350ecfa4462 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -83,7 +83,7 @@ to_chat(xeno, SPAN_XENONOTICE("\The [name] is in good condition, you don't need to repair it.")) return - to_chat(xeno, SPAN_XENONOTICE("You begin adding the plasma to \the [name] to repair it.")) + to_chat(xeno, SPAN_XENONOTICE("We begin adding the plasma to \the [name] to repair it.")) xeno_attack_delay(xeno) if(!do_after(xeno, PYLON_REPAIR_TIME, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD, src) || !can_repair) return @@ -110,7 +110,7 @@ continue addtimer(CALLBACK(W, TYPE_PROC_REF(/obj/effect/alien/weeds, weed_expand), N), PYLON_WEEDS_REGROWTH_TIME, TIMER_UNIQUE) - to_chat(xeno, SPAN_XENONOTICE("You have successfully repaired \the [name].")) + to_chat(xeno, SPAN_XENONOTICE("We have successfully repaired \the [name].")) playsound(loc, "alien_resin_build", 25) /obj/effect/alien/resin/special/pylon/proc/place_node() @@ -190,7 +190,7 @@ if(!linked_hive.hive_location || !linked_hive.living_xeno_queen) return - var/list/hive_xenos = linked_hive.totalXenos + var/list/hive_xenos = linked_hive.totalXenos.Copy() for(var/mob/living/carbon/xenomorph/xeno in hive_xenos) if(!xeno.counts_for_slots) @@ -291,7 +291,7 @@ surge_cooldown = surge_cooldown - surge_incremental_reduction //ramps up over time if(linked_hive.hijack_burrowed_left < 1) linked_hive.hijack_burrowed_surge = FALSE - xeno_message(SPAN_XENOANNOUNCE("The hive's power wanes. You will no longer gain pooled larva over time."), 3, linked_hive.hivenumber) + xeno_message(SPAN_XENOANNOUNCE("The hive's power wanes. We will no longer gain pooled larva over time."), 3, linked_hive.hivenumber) // Hive core can repair itself over time if(health < maxhealth && last_healed <= world.time) @@ -311,7 +311,7 @@ return FALSE new_xeno.visible_message(SPAN_XENODANGER("A larva suddenly emerges from [src]!"), - SPAN_XENODANGER("You emerge from [src] and awaken from your slumber. For the Hive!")) + SPAN_XENODANGER("We emerge from [src] and awaken from our slumber. For the Hive!")) msg_admin_niche("[key_name(new_xeno)] emerged from \a [src]. [ADMIN_JMP(src)]") playsound(new_xeno, 'sound/effects/xeno_newlarva.ogg', 50, 1) if(!SSticker.mode.transfer_xeno(xeno_candidate, new_xeno)) @@ -374,18 +374,18 @@ /obj/effect/alien/resin/special/pylon/core/attack_alien(mob/living/carbon/xenomorph/M) if(M.a_intent != INTENT_HELP && M.can_destroy_special() && M.hivenumber == linked_hive.hivenumber) if(!hardcore && last_attempt + 6 SECONDS > world.time) - to_chat(M,SPAN_WARNING("You have attempted to destroy \the [src] too recently! Wait a bit!")) // no spammy + to_chat(M,SPAN_WARNING("We have attempted to destroy \the [src] too recently! Wait a bit!")) // no spammy return XENO_NO_DELAY_ACTION else if(warn && world.time > XENOMORPH_PRE_SETUP_CUTOFF) - if((alert(M, "Are you sure that you want to destroy the hive core? (There will be a 5 minute cooldown before you can build another one.)", , "Yes", "No") != "Yes")) + if((alert(M, "Are we sure that you want to destroy the hive core? (There will be a 5 minute cooldown before you can build another one.)", , "Yes", "No") != "Yes")) return XENO_NO_DELAY_ACTION INVOKE_ASYNC(src, PROC_REF(startDestroying),M) return XENO_NO_DELAY_ACTION else if(world.time < XENOMORPH_PRE_SETUP_CUTOFF) - if((alert(M, "Are you sure that you want to remove the hive core? No cooldown will be applied.", , "Yes", "No") != "Yes")) + if((alert(M, "Are we sure that we want to remove the hive core? No cooldown will be applied.", , "Yes", "No") != "Yes")) return XENO_NO_DELAY_ACTION INVOKE_ASYNC(src, PROC_REF(startDestroying),M) @@ -413,16 +413,15 @@ linked_hive.hivecore_cooldown = TRUE INVOKE_ASYNC(src, PROC_REF(cooldownFinish),linked_hive) // start cooldown if(hardcore) - xeno_message(SPAN_XENOANNOUNCE("You can no longer gain new sisters or another Queen. Additionally, you are unable to heal if your Queen is dead"), 2, linked_hive.hivenumber) + xeno_message(SPAN_XENOANNOUNCE("We can no longer gain new sisters or another Queen. Additionally, we are unable to heal if our Queen is dead"), 2, linked_hive.hivenumber) linked_hive.hardcore = TRUE linked_hive.allow_queen_evolve = FALSE linked_hive.hive_structures_limit[XENO_STRUCTURE_CORE] = 0 - linked_hive.hive_structures_limit[XENO_STRUCTURE_POOL] = 0 xeno_announcement("\The [linked_hive.name] has lost their hive core!", "everything", HIGHER_FORCE_ANNOUNCE) if(linked_hive.hijack_burrowed_surge) - visible_message(SPAN_XENODANGER("You hear something resembling a scream from [src] as it's destroyed!")) - xeno_message(SPAN_XENOANNOUNCE("Psychic pain storms throughout the hive as [src] is destroyed! You will no longer gain burrowed larva over time."), 3, linked_hive.hivenumber) + visible_message(SPAN_XENODANGER("We hear something resembling a scream from [src] as it's destroyed!")) + xeno_message(SPAN_XENOANNOUNCE("Psychic pain storms throughout the hive as [src] is destroyed! We will no longer gain burrowed larva over time."), 3, linked_hive.hivenumber) linked_hive.hijack_burrowed_surge = FALSE SSminimaps.remove_marker(src) diff --git a/code/modules/cm_aliens/structures/special_structure.dm b/code/modules/cm_aliens/structures/special_structure.dm index 8378d93e1ac9..83ca09547185 100644 --- a/code/modules/cm_aliens/structures/special_structure.dm +++ b/code/modules/cm_aliens/structures/special_structure.dm @@ -1,26 +1,6 @@ /* * Special Structures */ - -/proc/get_xeno_structure_desc(name) - var/message - switch(name) - if(XENO_STRUCTURE_CORE) - message = "[XENO_STRUCTURE_CORE] - Heart of the hive, grows hive weeds (which are necessary for other structures), stores resources and protects the hive from skyfire." - if(XENO_STRUCTURE_PYLON) - message = "[XENO_STRUCTURE_PYLON] - Remote section of the hive, grows hive weeds (which are necessary for other structures), stores resources and protects sisters from skyfire." - if(XENO_STRUCTURE_POOL) - message = "[XENO_STRUCTURE_POOL] - Respawns xenomorphs that fall in battle." - if(XENO_STRUCTURE_EGGMORPH) - message = "[XENO_STRUCTURE_EGGMORPH] - Processes hatched hosts into new eggs." - if(XENO_STRUCTURE_EVOPOD) - message = "[XENO_STRUCTURE_EVOPOD] - Grants an additional 0.2 evolution per tick for all sisters on weeds." - if(XENO_STRUCTURE_RECOVERY) - message = "[XENO_STRUCTURE_RECOVERY] - Hastily recovers the strength of sisters resting around it." - if(XENO_STRUCTURE_NEST) - message = "[XENO_STRUCTURE_NEST] - Strong enough to secure a headhunter for indeterminate durations." - return message - /obj/effect/alien/resin/special name = "Special Resin Structure" icon = 'icons/mob/xenos/structures64x64.dmi' diff --git a/code/modules/cm_aliens/structures/tunnel.dm b/code/modules/cm_aliens/structures/tunnel.dm index 8c467be695b4..1f0f98c14361 100644 --- a/code/modules/cm_aliens/structures/tunnel.dm +++ b/code/modules/cm_aliens/structures/tunnel.dm @@ -147,7 +147,7 @@ //No teleporting! return FALSE - to_chat(X, SPAN_XENONOTICE("You begin moving to your destination.")) + to_chat(X, SPAN_XENONOTICE("We begin moving to our destination.")) var/tunnel_time = TUNNEL_MOVEMENT_XENO_DELAY @@ -165,11 +165,11 @@ to_chat(X, SPAN_WARNING("The tunnel is too crowded, wait for others to exit!")) return FALSE if(!T.loc) - to_chat(X, SPAN_WARNING("The tunnel has collapsed before you reached its exit!")) + to_chat(X, SPAN_WARNING("The tunnel has collapsed before we reached its exit!")) return FALSE X.forceMove(T) - to_chat(X, SPAN_XENONOTICE("You have reached your destination.")) + to_chat(X, SPAN_XENONOTICE("We have reached our destination.")) return TRUE /obj/structure/tunnel/proc/exit_tunnel(mob/living/carbon/xenomorph/X) @@ -177,7 +177,7 @@ if(X in contents) X.forceMove(loc) visible_message(SPAN_XENONOTICE("\The [X] pops out of the tunnel!"), \ - SPAN_XENONOTICE("You pop out through the other side!")) + SPAN_XENONOTICE("We pop out through the other side!")) return TRUE //Used for controling tunnel exiting and returning @@ -200,15 +200,15 @@ if(!isfriendly(M)) if(M.mob_size < MOB_SIZE_BIG) - to_chat(M, SPAN_XENOWARNING("You aren't large enough to collapse this tunnel!")) + to_chat(M, SPAN_XENOWARNING("We aren't large enough to collapse this tunnel!")) return XENO_NO_DELAY_ACTION M.visible_message(SPAN_XENODANGER("[M] begins to fill [src] with dirt."),\ - SPAN_XENONOTICE("You begin to fill [src] with dirt using your massive claws."), max_distance = 3) + SPAN_XENONOTICE("We begin to fill [src] with dirt using our massive claws."), max_distance = 3) xeno_attack_delay(M) if(!do_after(M, 10 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE, src, INTERRUPT_ALL_OUT_OF_RANGE, max_dist = 1)) - to_chat(M, SPAN_XENOWARNING("You decide not to cave the tunnel in.")) + to_chat(M, SPAN_XENOWARNING("We decide not to cave the tunnel in.")) return XENO_NO_DELAY_ACTION src.visible_message(SPAN_XENODANGER("[src] caves in!"), max_distance = 3) @@ -217,7 +217,7 @@ return XENO_NO_DELAY_ACTION if(M.anchored) - to_chat(M, SPAN_XENOWARNING("You can't climb through a tunnel while immobile.")) + to_chat(M, SPAN_XENOWARNING("We can't climb through a tunnel while immobile.")) return XENO_NO_DELAY_ACTION if(!hive.tunnels.len) @@ -237,14 +237,14 @@ if(M.mob_size >= MOB_SIZE_BIG) M.visible_message(SPAN_XENONOTICE("[M] begins heaving their huge bulk down into \the [src]."), \ - SPAN_XENONOTICE("You begin heaving your monstrous bulk into \the [src].")) + SPAN_XENONOTICE("We begin heaving our monstrous bulk into \the [src].")) else M.visible_message(SPAN_XENONOTICE("\The [M] begins crawling down into \the [src]."), \ - SPAN_XENONOTICE("You begin crawling down into \the [src].")) + SPAN_XENONOTICE("We begin crawling down into \the [src].")) xeno_attack_delay(M) if(!do_after(M, tunnel_time, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) - to_chat(M, SPAN_WARNING("Your crawling was interrupted!")) + to_chat(M, SPAN_WARNING("Our crawling was interrupted!")) return XENO_NO_DELAY_ACTION if(hive.tunnels.len) //Make sure other tunnels exist @@ -252,7 +252,7 @@ to_chat(M, SPAN_HIGHDANGER("Alt + Click the tunnel to exit, Ctrl + Click to choose a destination.")) pick_tunnel(M) else - to_chat(M, SPAN_WARNING("\The [src] ended unexpectedly, so you return back up.")) + to_chat(M, SPAN_WARNING("\The [src] ended unexpectedly, so we return back up.")) return XENO_NO_DELAY_ACTION /obj/structure/tunnel/maint_tunnel diff --git a/code/modules/cm_marines/Donator_Items.dm b/code/modules/cm_marines/Donator_Items.dm index 6d2f46490d13..72cfa9724ebd 100644 --- a/code/modules/cm_marines/Donator_Items.dm +++ b/code/modules/cm_marines/Donator_Items.dm @@ -587,7 +587,7 @@ /obj/item/clothing/head/helmet/marine/fluff/santahat //CKEY=tophatpenguin name = "Santa's hat" desc = "Ho ho ho. Merrry X-mas!" - icon_state = "santahat" + icon_state = "santa_hat_red" flags_inventory = BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEALLHAIR diff --git a/code/modules/cm_marines/NonLethalRestraints.dm b/code/modules/cm_marines/NonLethalRestraints.dm index 3b2439a22a82..e1eb7ec60a77 100644 --- a/code/modules/cm_marines/NonLethalRestraints.dm +++ b/code/modules/cm_marines/NonLethalRestraints.dm @@ -31,7 +31,7 @@ to_chat(user, SPAN_WARNING("\The [src] is out of charge.")) add_fingerprint(user) -/obj/item/weapon/stunprod/attack(mob/M, mob/user) +/obj/item/weapon/stunprod/attack(mob/living/M, mob/user) if(isrobot(M)) ..() return @@ -43,7 +43,8 @@ return if(status) - M.apply_effect(6, WEAKEN) + M.KnockDown(6) + M.Stun(6) charges -= 2 M.visible_message(SPAN_DANGER("[M] has been prodded with [src] by [user]!")) diff --git a/code/modules/cm_marines/dropship_equipment.dm b/code/modules/cm_marines/dropship_equipment.dm index 81f1373dec15..814b23128978 100644 --- a/code/modules/cm_marines/dropship_equipment.dm +++ b/code/modules/cm_marines/dropship_equipment.dm @@ -6,6 +6,8 @@ icon = 'icons/obj/structures/props/almayer_props.dmi' climbable = TRUE layer = ABOVE_OBJ_LAYER //so they always appear above attach points when installed + var/shorthand + var/list/equip_categories //on what kind of base this can be installed. var/obj/effect/attach_point/ship_base //the ship base the equipment is currently installed on. var/uses_ammo = FALSE //whether it uses ammo @@ -22,7 +24,7 @@ /obj/structure/dropship_equipment/Destroy() QDEL_NULL(ammo_equipped) if(linked_shuttle) - linked_shuttle.equipments -= src + SEND_SIGNAL(linked_shuttle, COMSIG_DROPSHIP_REMOVE_EQUIPMENT, src) linked_shuttle = null if(ship_base) ship_base.installed_equipment = null @@ -122,7 +124,7 @@ ship_base.installed_equipment = null ship_base = null if(linked_shuttle) - linked_shuttle.equipments -= src + SEND_SIGNAL(linked_shuttle, COMSIG_DROPSHIP_REMOVE_EQUIPMENT, src) linked_shuttle = null if(linked_console && linked_console.selected_equipment == src) linked_console.selected_equipment = null @@ -160,6 +162,7 @@ icon_state = "sentry_system" is_interactable = TRUE point_cost = 500 + shorthand = "Sentry" var/deployment_cooldown var/obj/structure/machinery/defenses/sentry/premade/dropship/deployed_turret combat_equipment = FALSE @@ -176,6 +179,28 @@ if(!deployed_turret) . += "Its turret is missing." +/obj/structure/dropship_equipment/sentry_holder/ui_data(mob/user) + var/obj/structure/machinery/defenses/defense = deployed_turret + . = list() + var/is_deployed = deployed_turret.loc != src + .["name"] = defense.name + .["area"] = get_area(defense) + .["active"] = defense.turned_on + .["nickname"] = defense.nickname + .["camera_available"] = defense.has_camera && is_deployed + .["selection_state"] = list() + .["kills"] = defense.kills + .["iff_status"] = defense.faction_group + .["health"] = defense.health + .["health_max"] = defense.health_max + .["deployed"] = is_deployed + + if(istype(defense, /obj/structure/machinery/defenses/sentry)) + var/obj/structure/machinery/defenses/sentry/sentrygun = defense + .["rounds"] = sentrygun.ammo.current_rounds + .["max_rounds"] = sentrygun.ammo.max_rounds + .["engaged"] = length(sentrygun.targets) + /obj/structure/dropship_equipment/sentry_holder/on_launch() if(ship_base && ship_base.base_category == DROPSHIP_WEAPON) //only external sentires are automatically undeployed undeploy_sentry() @@ -290,6 +315,7 @@ equip_categories = list(DROPSHIP_WEAPON, DROPSHIP_CREW_WEAPON) icon_state = "mg_system" point_cost = 50 + shorthand = "MG" var/deployment_cooldown var/obj/structure/machinery/m56d_hmg/mg_turret/dropship/deployed_mg combat_equipment = FALSE @@ -300,6 +326,21 @@ deployed_mg = new(src) deployed_mg.deployment_system = src +/obj/structure/dropship_equipment/mg_holder/Destroy() + QDEL_NULL(deployed_mg) + . = ..() + +/obj/structure/dropship_equipment/mg_holder/ui_data(mob/user) + . = list() + var/is_deployed = deployed_mg.loc == src + .["name"] = name + .["selection_state"] = list() + .["health"] = health + .["health_max"] = 100 + .["rounds"] = deployed_mg.rounds + .["max_rounds"] = deployed_mg.rounds_max + .["deployed"] = is_deployed + /obj/structure/dropship_equipment/mg_holder/get_examine_text(mob/user) . = ..() if(!deployed_mg) @@ -330,6 +371,9 @@ ..() +/obj/structure/dropship_equipment/mg_holder/equipment_interact(mob/user) + attack_hand(user) + /obj/structure/dropship_equipment/mg_holder/update_equipment() if(ship_base) setDir(ship_base.dir) @@ -339,9 +383,10 @@ if(ship_base.base_category == DROPSHIP_WEAPON) switch(dir) if(NORTH) - if( istype(get_step(src, WEST), /turf/open) ) + var/step_contents = get_step(src, EAST).contents + if(locate(/obj/structure) in step_contents) deployed_mg.pixel_x = 5 - else if ( istype(get_step(src, EAST), /turf/open) ) + else deployed_mg.pixel_x = -5 if(EAST) deployed_mg.pixel_y = 9 @@ -359,7 +404,7 @@ deployed_mg.forceMove(src) deployed_mg.setDir(dir) else - icon_state = "mg_system_destroyed" + icon_state = "sentry_system_destroyed" /obj/structure/dropship_equipment/mg_holder/proc/deploy_mg(mob/user) if(deployed_mg) @@ -368,12 +413,11 @@ if(ship_base.base_category == DROPSHIP_WEAPON) switch(dir) if(NORTH) - if( istype(get_step(src, WEST), /turf/open) ) + var/step_contents = get_step(src, EAST).contents + if(locate(/obj/structure) in step_contents) deployed_mg.forceMove(get_step(src, WEST)) - else if ( istype(get_step(src, EAST), /turf/open) ) - deployed_mg.forceMove(get_step(src, EAST)) else - deployed_mg.forceMove(get_step(src, NORTH)) + deployed_mg.forceMove(get_step(src, EAST)) if(EAST) deployed_mg.forceMove(get_step(src, SOUTH)) if(WEST) @@ -446,6 +490,7 @@ /obj/structure/dropship_equipment/electronics/spotlights name = "\improper AN/LEN-15 Spotlight" + shorthand = "Spotlight" icon_state = "spotlights" desc = "A set of high-powered spotlights to illuminate large areas. Fits on electronics attach points of dropships. Moving this will require a powerloader." is_interactable = TRUE @@ -496,6 +541,7 @@ /obj/structure/dropship_equipment/electronics/targeting_system name = "\improper AN/AAQ-178 Weapon Targeting System" + shorthand = "Targeting" icon_state = "targeting_system" desc = "A targeting system for dropships. It improves firing accuracy on laser targets. Fits on electronics attach points. You need a powerloader to lift this." point_cost = 800 @@ -508,7 +554,8 @@ /obj/structure/dropship_equipment/electronics/landing_zone_detector name = "\improper AN/AVD-60 LZ detector" - desc = "An electronic device linked to the dropship's camera system that lets you observe your landing zone." + shorthand = "LZ Detector" + desc = "An electronic device linked to the dropship's camera system that lets you observe your landing zone mid-flight." icon_state = "lz_detector" point_cost = 50 var/obj/structure/machinery/computer/cameras/dropship/linked_cam_console @@ -690,6 +737,7 @@ point_cost = 400 skill_required = SKILL_PILOT_TRAINED fire_mission_only = FALSE + shorthand = "GAU" /obj/structure/dropship_equipment/weapon/heavygun/update_icon() if(ammo_equipped) @@ -706,6 +754,7 @@ firing_sound = 'sound/effects/rocketpod_fire.ogg' firing_delay = 5 point_cost = 600 + shorthand = "MSL" /obj/structure/dropship_equipment/weapon/rocket_pod/deplete_ammo() ammo_equipped = null //nothing left to empty after firing @@ -727,6 +776,7 @@ firing_sound = 'sound/effects/rocketpod_fire.ogg' firing_delay = 10 //1 seconds point_cost = 600 + shorthand = "RKT" /obj/structure/dropship_equipment/weapon/minirocket_pod/update_icon() if(ammo_equipped && ammo_equipped.ammo_count) @@ -750,6 +800,7 @@ point_cost = 500 skill_required = SKILL_PILOT_TRAINED fire_mission_only = FALSE + shorthand = "LZR" /obj/structure/dropship_equipment/weapon/laser_beam_gun/update_icon() if(ammo_equipped && ammo_equipped.ammo_count) @@ -768,6 +819,7 @@ bound_height = 32 equip_categories = list(DROPSHIP_CREW_WEAPON) //fits inside the central spot of the dropship point_cost = 200 + shorthand = "LCH" /obj/structure/dropship_equipment/weapon/launch_bay/update_equipment() if(ship_base) @@ -781,6 +833,7 @@ /obj/structure/dropship_equipment/medevac_system name = "\improper RMU-4M Medevac System" + shorthand = "Medevac" desc = "A winch system to lift injured marines on medical stretchers onto the dropship. Acquire lift target through the dropship equipment console." equip_categories = list(DROPSHIP_CREW_WEAPON) icon_state = "medevac_system" @@ -806,24 +859,8 @@ linked_stretcher = null icon_state = "medevac_system" - -/obj/structure/dropship_equipment/medevac_system/equipment_interact(mob/user) - if(!linked_shuttle) - return - - if(linked_shuttle.mode != SHUTTLE_CALL) - to_chat(user, SPAN_WARNING("[src] can only be used while in flight.")) - return - - if(busy_winch) - to_chat(user, SPAN_WARNING(" The winch is already in motion.")) - return - - if(world.time < medevac_cooldown) - to_chat(user, SPAN_WARNING("[src] was just used, you need to wait a bit before using it again.")) - return - - var/list/possible_stretchers = list() +/obj/structure/dropship_equipment/medevac_system/proc/get_targets() + . = list() for(var/obj/structure/bed/medevac_stretcher/MS in GLOB.activated_medevac_stretchers) var/area/AR = get_area(MS) var/evaccee_name @@ -850,20 +887,32 @@ if (evaccee_triagecard_color && evaccee_triagecard_color == "none") evaccee_triagecard_color = null - possible_stretchers["[evaccee_name] [evaccee_triagecard_color ? "\[" + uppertext(evaccee_triagecard_color) + "\]" : ""] ([AR.name])"] = MS + .["[evaccee_name] [evaccee_triagecard_color ? "\[" + uppertext(evaccee_triagecard_color) + "\]" : ""] ([AR.name])"] = MS - if(!possible_stretchers.len) - to_chat(user, SPAN_WARNING("No active medevac stretcher detected.")) - return +/obj/structure/dropship_equipment/medevac_system/proc/can_medevac(mob/user) + if(!linked_shuttle) + return FALSE - var/stretcher_choice = tgui_input_list(usr, "Which emitting stretcher would you like to link with?", "Available stretchers", possible_stretchers) - if(!stretcher_choice) - return + if(linked_shuttle.mode != SHUTTLE_CALL) + to_chat(user, SPAN_WARNING("[src] can only be used while in flight.")) + return FALSE - var/obj/structure/bed/medevac_stretcher/selected_stretcher = possible_stretchers[stretcher_choice] - if(!selected_stretcher) - return + if(busy_winch) + to_chat(user, SPAN_WARNING(" The winch is already in motion.")) + return FALSE + if(world.time < medevac_cooldown) + to_chat(user, SPAN_WARNING("[src] was just used, you need to wait a bit before using it again.")) + return FALSE + + var/list/possible_stretchers = get_targets() + + if(!possible_stretchers.len) + to_chat(user, SPAN_WARNING("No active medevac stretcher detected.")) + return FALSE + return TRUE + +/obj/structure/dropship_equipment/medevac_system/proc/position_dropship(mob/user, obj/structure/bed/medevac_stretcher/selected_stretcher) if(!ship_base) //system was uninstalled midway return @@ -913,6 +962,31 @@ linked_stretcher.linked_medevac = src linked_stretcher.visible_message(SPAN_NOTICE("[linked_stretcher] detects a dropship overhead.")) +/obj/structure/dropship_equipment/medevac_system/proc/automate_interact(mob/user, stretcher_choice) + if(!can_medevac(user)) + return + + var/list/possible_stretchers = get_targets() + + var/obj/structure/bed/medevac_stretcher/selected_stretcher = possible_stretchers[stretcher_choice] + if(!selected_stretcher) + return + position_dropship(user, selected_stretcher) + +/obj/structure/dropship_equipment/medevac_system/equipment_interact(mob/user) + if(!can_medevac(user)) + return + + var/list/possible_stretchers = get_targets() + + var/stretcher_choice = tgui_input_list(usr, "Which emitting stretcher would you like to link with?", "Available stretchers", possible_stretchers) + if(!stretcher_choice) + return + + var/obj/structure/bed/medevac_stretcher/selected_stretcher = possible_stretchers[stretcher_choice] + if(!selected_stretcher) + return + position_dropship(user, selected_stretcher) //on arrival we break any link @@ -958,6 +1032,35 @@ activate_winch(user) +/obj/structure/dropship_equipment/medevac_system/ui_data(mob/user) + var/list/stretchers = get_targets() + + . = list() + for(var/stretcher_ref in stretchers) + var/obj/structure/bed/medevac_stretcher/stretcher = stretchers[stretcher_ref] + + var/area/AR = get_area(stretcher) + var/list/target_data = list() + target_data["area"] = AR + target_data["ref"] = stretcher_ref + + var/mob/living/carbon/human/occupant = stretcher.buckled_mob + if(occupant) + target_data["occupant"] = occupant.name + target_data["time_of_death"] = occupant.tod + target_data["damage"] = list( + "hp" = occupant.health, + "brute" = occupant.bruteloss, + "oxy" = occupant.oxyloss, + "tox" = occupant.toxloss, + "fire" = occupant.fireloss + ) + if(ishuman(occupant)) + target_data["damage"]["undefib"] = occupant.undefibbable + target_data["triage_card"] = occupant.holo_card_color + + . += list(target_data) + /obj/structure/dropship_equipment/medevac_system/proc/activate_winch(mob/user) set waitfor = 0 var/old_stretcher = linked_stretcher @@ -1013,6 +1116,7 @@ /obj/structure/dropship_equipment/fulton_system name = "\improper RMU-19 Fulton Recovery System" + shorthand = "Fulton" desc = "A winch system to collect any fulton recovery balloons in high altitude. Make sure you turn it on!" equip_categories = list(DROPSHIP_CREW_WEAPON) icon_state = "fulton_system" @@ -1029,7 +1133,26 @@ icon_state = "fulton_system" -/obj/structure/dropship_equipment/fulton_system/equipment_interact(mob/user) +/obj/structure/dropship_equipment/fulton_system/proc/automate_interact(mob/user, fulton_choice) + if(!can_fulton(user)) + return + + var/list/possible_fultons = get_targets() + + var/obj/item/stack/fulton/fult = possible_fultons[fulton_choice] + if(!fulton_choice) + return + + if(!ship_base) //system was uninstalled midway + return + + if(is_ground_level(fult.z)) //in case the fulton popped during our input() + return + + if(!fult.attached_atom) + to_chat(user, SPAN_WARNING("This balloon stretcher is empty.")) + return + if(!linked_shuttle) return @@ -1045,14 +1168,50 @@ to_chat(user, SPAN_WARNING("[src] was just used, you need to wait a bit before using it again.")) return - var/list/possible_fultons = list() + to_chat(user, SPAN_NOTICE(" You move your dropship above the selected balloon's beacon.")) + + activate_winch(user, fult) + + +/obj/structure/dropship_equipment/fulton_system/proc/can_fulton(mob/user) + if(!linked_shuttle) + return FALSE + + if(linked_shuttle.mode != SHUTTLE_CALL) + to_chat(user, SPAN_WARNING("[src] can only be used while in flight.")) + return FALSE + + if(busy_winch) + to_chat(user, SPAN_WARNING(" The winch is already in motion.")) + return FALSE + + if(world.time < fulton_cooldown) + to_chat(user, SPAN_WARNING("[src] was just used, you need to wait a bit before using it again.")) + return FALSE + return TRUE + +/obj/structure/dropship_equipment/fulton_system/ui_data(mob/user) + var/list/targets = get_targets() + . = list() + for(var/i in targets) + . += list(i) + + +/obj/structure/dropship_equipment/fulton_system/proc/get_targets() + . = list() for(var/obj/item/stack/fulton/F in GLOB.deployed_fultons) var/recovery_object if(F.attached_atom) recovery_object = F.attached_atom.name else recovery_object = "Empty" - possible_fultons["[recovery_object]"] = F + .["[recovery_object]"] = F + +/obj/structure/dropship_equipment/fulton_system/equipment_interact(mob/user) + if(!can_fulton(user)) + return + + var/list/possible_fultons = get_targets() if(!possible_fultons.len) to_chat(user, SPAN_WARNING("No active balloons detected.")) @@ -1130,6 +1289,7 @@ // Rappel deployment system /obj/structure/dropship_equipment/rappel_system name = "\improper HPU-1 Rappel Deployment System" + shorthand = "Rappel" equip_categories = list(DROPSHIP_CREW_WEAPON) icon_state = "rappel_module_packaged" point_cost = 50 diff --git a/code/modules/cm_marines/radar.dm b/code/modules/cm_marines/radar.dm index f6751a8fe913..d088b68919b0 100644 --- a/code/modules/cm_marines/radar.dm +++ b/code/modules/cm_marines/radar.dm @@ -95,7 +95,7 @@ if(get_dist_euclidian(here_turf, target_turf) > 24) userot = TRUE - rot = round(get_angle(here_turf, target_turf)) + rot = round(Get_Angle(here_turf, target_turf)) else if(target_turf.z > here_turf.z) pointer="caret-up" diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 01183ebceca5..765f7a673812 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -698,7 +698,7 @@ if(!istype(in_chamber, /obj/projectile)) return - var/angle = get_angle(T, U) + var/angle = Get_Angle(T, U) if((dir == NORTH) && (angle > 180) && (abs(360 - angle) > shoot_degree)) // If north and shooting to the left, we do some extra math return @@ -794,7 +794,7 @@ I.flick_overlay(src, 3) /obj/structure/machinery/m56d_hmg/MouseDrop(over_object, src_location, over_location) //Drag the MG to us to man it. - if(!ishuman(usr)) + if(!ishuman(usr) || usr.stat) return var/mob/living/carbon/human/user = usr //this is us @@ -1080,6 +1080,19 @@ projectile_coverage = PROJECTILE_COVERAGE_HIGH icon = 'icons/turf/whiskeyoutpost.dmi' zoom = 1 + ammo = /datum/ammo/bullet/machinegun/doorgun + +/obj/structure/machinery/m56d_hmg/mg_turret/update_health(amount) //Negative values restores health. + health -= amount + if(health <= 0) + playsound(src.loc, 'sound/items/Welder2.ogg', 25, 1) + qdel(src) + return + + if(health > health_max) + health = health_max + update_damage_state() + update_icon() /obj/structure/machinery/m56d_hmg/mg_turret/dropship name = "\improper scoped M56D heavy machine gun" diff --git a/code/modules/cm_preds/yaut_bracers.dm b/code/modules/cm_preds/yaut_bracers.dm index df8ab136ea18..b575021685fe 100644 --- a/code/modules/cm_preds/yaut_bracers.dm +++ b/code/modules/cm_preds/yaut_bracers.dm @@ -1148,7 +1148,7 @@ return TRUE var/mob/living/carbon/human/victim = held_mob.grabbed_thing - var/obj/item/clothing/gloves/yautja/hunter/bracer = victim.gloves + var/obj/item/clothing/gloves/yautja/bracer = victim.gloves if(isspeciesyautja(victim) && !(victim.stat == DEAD)) to_chat(user, SPAN_WARNING("You cannot unlock the bracer of a living hunter!")) return FALSE diff --git a/code/modules/cm_tech/techtree.dm b/code/modules/cm_tech/techtree.dm index 6c39d8ab9cf9..a027789185ef 100644 --- a/code/modules/cm_tech/techtree.dm +++ b/code/modules/cm_tech/techtree.dm @@ -58,16 +58,24 @@ if(longest_tier < tier_length) longest_tier = tier_length - // Clear out the area - for(var/t in block(locate(1, 1, zlevel.z_value), locate(longest_tier * 2 + 1, length(all_techs) * 3 + 1, zlevel.z_value))) + // Clear out and create the area + // (The `+ 2` on both of these is 1 for a buffer tile, and 1 for the outer `/turf/closed/void`.) + var/area_max_x = longest_tier * 2 + 2 + var/area_max_y = length(all_techs) * 3 + 2 + for(var/t in block(locate(1, 1, zlevel.z_value), locate(area_max_x, area_max_y, zlevel.z_value))) var/turf/pos = t for(var/A in pos) qdel(A) - pos.ChangeTurf(/turf/open/blank) - pos.color = "#000000" - + if(pos.x == area_max_x || pos.y == area_max_y) + // The turfs around the edge are closed. + pos.ChangeTurf(/turf/closed/void) + else + pos.ChangeTurf(/turf/open/blank) + pos.color = "#000000" + new /area/techtree(pos) + // Create the tech nodes var/y_offset = 1 for(var/tier in all_techs) var/tier_length = length(all_techs[tier]) diff --git a/code/modules/decorators/christmas.dm b/code/modules/decorators/christmas.dm index 2a87c7cb494d..290ac6302448 100644 --- a/code/modules/decorators/christmas.dm +++ b/code/modules/decorators/christmas.dm @@ -49,10 +49,13 @@ helmet.desc = "Ho ho ho, Merry Christmas!" helmet.icon = 'icons/obj/items/clothing/hats.dmi' helmet.icon_override = 'icons/mob/humans/onmob/head_0.dmi' - helmet.icon_state = "santahat" - helmet.flags_inventory = BLOCKSHARPOBJ helmet.flags_inv_hide = HIDEEARS|HIDEALLHAIR helmet.flags_marine_helmet = NO_FLAGS + helmet.flags_atom |= NO_SNOW_TYPE|NO_NAME_OVERRIDE + if(prob(50)) + helmet.icon_state = "santa_hat_red" + else + helmet.icon_state = "santa_hat_green" helmet.update_icon() // barricade definition. Also only a single definition @@ -63,7 +66,7 @@ /datum/decorator/christmas/barricade/decorate(obj/structure/barricade/barricade) if(!istype(barricade)) return - barricade.icon = 'icons/obj/structures/barricades_christmas.dmi' + barricade.wire_icon = 'icons/obj/structures/barricades_christmas.dmi' barricade.update_icon() diff --git a/code/modules/dropships/attach_points/attach_point.dm b/code/modules/dropships/attach_points/attach_point.dm index 6724f5d18bd2..cee26f0b13f2 100644 --- a/code/modules/dropships/attach_points/attach_point.dm +++ b/code/modules/dropships/attach_points/attach_point.dm @@ -60,7 +60,7 @@ for(var/obj/docking_port/mobile/marine_dropship/shuttle in SSshuttle.mobile) if(shuttle.id == ship_tag) SE.linked_shuttle = shuttle - shuttle.equipments += SE + SEND_SIGNAL(shuttle, COMSIG_DROPSHIP_ADD_EQUIPMENT, SE) break SE.update_equipment() diff --git a/code/modules/dropships/cas/fire_mission_record.dm b/code/modules/dropships/cas/fire_mission_record.dm index 093a1509b2ad..2887ec92c24a 100644 --- a/code/modules/dropships/cas/fire_mission_record.dm +++ b/code/modules/dropships/cas/fire_mission_record.dm @@ -5,6 +5,11 @@ /// List of transverse offsets for each firing step - null meaning not shooting var/list/offsets +/datum/cas_fire_mission_record/ui_data(mob/user) + . = list() + .["weapon"] = weapon.ship_base.attach_id + .["offsets"] = offsets + /// Get offset range allowed when firing weapon in this configuration /datum/cas_fire_mission_record/proc/get_offsets() if(!weapon?.ship_base) diff --git a/code/modules/gear_presets/cmb.dm b/code/modules/gear_presets/cmb.dm index aa2c7438ba75..90032423fa10 100644 --- a/code/modules/gear_presets/cmb.dm +++ b/code/modules/gear_presets/cmb.dm @@ -486,7 +486,7 @@ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/lead, WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/leader, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/m15, WEAR_IN_JACKET) @@ -529,7 +529,7 @@ new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_HELMET) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding/superior, WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/tl, WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/rto, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/rto, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator, WEAR_IN_JACKET) diff --git a/code/modules/gear_presets/contractor.dm b/code/modules/gear_presets/contractor.dm index ea77fe4a4d0f..896771d26aca 100644 --- a/code/modules/gear_presets/contractor.dm +++ b/code/modules/gear_presets/contractor.dm @@ -4,7 +4,7 @@ rank = JOB_CONTRACTOR idtype = /obj/item/card/id/data faction = FACTION_CONTRACTOR - faction_group = FACTION_LIST_ERT + faction_group = list(FACTION_CONTRACTOR) languages = list(LANGUAGE_ENGLISH, LANGUAGE_SPANISH, LANGUAGE_RUSSIAN) var/human_versus_human = FALSE var/headset_type = /obj/item/device/radio/headset/distress/contractor diff --git a/code/modules/gear_presets/dust_raider.dm b/code/modules/gear_presets/dust_raider.dm index 27a3ce086c85..c33d071a0b57 100644 --- a/code/modules/gear_presets/dust_raider.dm +++ b/code/modules/gear_presets/dust_raider.dm @@ -55,7 +55,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/leader(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/leader(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/m41amk1(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/device/whiskey_supply_beacon(new_human), WEAR_IN_BACK) diff --git a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm index f71439b9d7ac..f4267c4454b8 100644 --- a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm +++ b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm @@ -35,11 +35,11 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) ..() -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/corsat +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/corsat name = "Survivor - Interstellar Commerce Commission Liaison CORSAT" assignment = "Interstellar Commerce Commission Corporate Liaison" -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/corsat/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/corsat/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/formal(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) diff --git a/code/modules/gear_presets/survivors/lv_624/preset_lv.dm b/code/modules/gear_presets/survivors/lv_624/preset_lv.dm index a2e55b899c9b..803295c58cfc 100644 --- a/code/modules/gear_presets/survivors/lv_624/preset_lv.dm +++ b/code/modules/gear_presets/survivors/lv_624/preset_lv.dm @@ -81,3 +81,16 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/jungle(new_human), WEAR_FEET) ..() +/datum/equipment_preset/survivor/corporate/lv + name = "Survivor - LV-624 Corporate Liaison" + assignment = "LV-624 Corporate Liaison" + +/datum/equipment_preset/survivor/corporate/lv/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/outing(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison(new_human), WEAR_BACK) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + ..() diff --git a/code/modules/gear_presets/survivors/misc.dm b/code/modules/gear_presets/survivors/misc.dm index 15eae8dfe5d4..396c38054965 100644 --- a/code/modules/gear_presets/survivors/misc.dm +++ b/code/modules/gear_presets/survivors/misc.dm @@ -1,13 +1,13 @@ /* -everything bellow isn't used or out of place. +Everything below isn't used or out of place. */ -// ----- Prisioner Survivors -// after double check prisoner isn't being used anywhere. +// ----- Prisoner Survivors +// Used in Fiorina Science Annex. /datum/equipment_preset/survivor/prisoner name = "Survivor - Prisoner" assignment = "Prisoner" @@ -29,7 +29,7 @@ everything bellow isn't used or out of place. add_survivor_weapon_civilian(new_human) ..() -// after double check gangleader isn't being used anywhere. +// Used in Fiorina Science Annex. /datum/equipment_preset/survivor/gangleader name = "Survivor - Gang Leader" assignment = "Gang Leader" @@ -51,7 +51,7 @@ everything bellow isn't used or out of place. // ----- Civilian Survivor -// after double check civilian isn't being used anywhere. +// Used in LV-624, Solaris Ridge, Trijent Dam, Fiorina Science Annex and Kutjevo Refinery. /datum/equipment_preset/survivor/civilian name = "Survivor - Civilian" assignment = "Civilian" @@ -122,7 +122,7 @@ everything bellow isn't used or out of place. // ----- Roughneck Survivor -// after double check roughneck isn't being used anywhere. +// Used in Trijent Dam. /datum/equipment_preset/survivor/roughneck name = "Survivor - Roughneck" assignment = "Roughneck" @@ -147,7 +147,7 @@ everything bellow isn't used or out of place. // ----- Bum Survivor -// after double check beachbum isn't being used anywhere. +// Used in New Varadero. /datum/equipment_preset/survivor/beachbum name = "Survivor - Beach Bum" assignment = "Beach Bum" @@ -173,7 +173,7 @@ everything bellow isn't used or out of place. // ----- WY Survivors -// after double check goon isn't being used anywhere. +// Used in LV-624. /datum/equipment_preset/survivor/goon name = "Survivor - Corporate Security Goon" flags = EQUIPMENT_PRESET_START_OF_ROUND @@ -252,7 +252,7 @@ everything bellow isn't used or out of place. ..() -// after double check /new_varadero/commander isn't being used anywhere. +// New Varadero CO Survivor. /datum/equipment_preset/survivor/new_varadero/commander name = "Survivor - USASF Commander" assignment = "USASF Commander" diff --git a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm index daa3a8ec019b..077adf971092 100644 --- a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm +++ b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm @@ -38,11 +38,11 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) ..() -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/nv name = "Survivor - Interstellar Commerce Commission Liaison New Varadero" assignment = "Interstellar Commerce Commission Corporate Liaison" -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/nv/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/formal(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET) diff --git a/code/modules/gear_presets/survivors/survivors.dm b/code/modules/gear_presets/survivors/survivors.dm index ae26fc40938b..0e98c60ca453 100644 --- a/code/modules/gear_presets/survivors/survivors.dm +++ b/code/modules/gear_presets/survivors/survivors.dm @@ -50,6 +50,7 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, /datum/equipment_preset/survivor/miner, /datum/equipment_preset/survivor/colonial_marshal, /datum/equipment_preset/survivor/engineer, + /datum/equipment_preset/survivor/security */ @@ -256,37 +257,43 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, add_survivor_weapon_civilian(new_human) ..() -/* -Everything bellow is a parent used as a base for one or multiple maps. -*/ -// ----- Interstellar Human Rights Survivor +// 8 -- Security Survivor -// it's used as a base for soro map. -/datum/equipment_preset/survivor/interstellar_human_rights_observer - name = "Survivor - Interstellar Human Rights Observer" - assignment = "Interstellar Human Rights Observer(Colony)" - skills = /datum/skills/civilian/survivor +/datum/equipment_preset/survivor/security + name = "Survivor - Security" + assignment = "Security" + skills = /datum/skills/civilian/survivor/marshal flags = EQUIPMENT_PRESET_START_OF_ROUND - access = list(ACCESS_CIVILIAN_PUBLIC,ACCESS_CIVILIAN_COMMAND) + idtype = /obj/item/card/id/data + access = list(ACCESS_CIVILIAN_PUBLIC,ACCESS_CIVILIAN_BRIG,ACCESS_CIVILIAN_COMMAND) -/datum/equipment_preset/survivor/interstellar_human_rights_observer/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/suspenders(new_human), WEAR_BODY) + survivor_variant = SECURITY_SURVIVOR + +/datum/equipment_preset/survivor/security/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY) if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) add_ice_colony_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - add_random_cl_survivor_loot(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) - add_survivor_weapon_civilian(new_human) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) - + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine(new_human), WEAR_R_STORE) + add_survivor_weapon_security(new_human) ..() +/* +Everything bellow is a parent used as a base for one or multiple maps. +*/ // ----- CL Survivor -//used as a base for shiva and solaris spawn. + +// Used in Solaris Ridge and LV-624. /datum/equipment_preset/survivor/corporate name = "Survivor - Corporate Liaison" @@ -312,9 +319,9 @@ Everything bellow is a parent used as a base for one or multiple maps. add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison(new_human), WEAR_BACK) add_random_cl_survivor_loot(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) add_survivor_weapon_civilian(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) @@ -334,52 +341,10 @@ Everything bellow is a parent used as a base for one or multiple maps. return paygrade return paygrade -// ----- Security Survivor -/* - -present in xenomorph.dm file - -GLOBAL_LIST_INIT(survivor_types, list() - /datum/equipment_preset/survivor/scientist, - /datum/equipment_preset/survivor/doctor, - /datum/equipment_preset/survivor/security, - /datum/equipment_preset/survivor/engineer - ) - -and is used as a base for all of the maps. - -*/ - -/datum/equipment_preset/survivor/security - name = "Survivor - Security" - assignment = "Security" - skills = /datum/skills/civilian/survivor/marshal - flags = EQUIPMENT_PRESET_START_OF_ROUND - idtype = /obj/item/card/id/data - access = list(ACCESS_CIVILIAN_PUBLIC,ACCESS_CIVILIAN_BRIG,ACCESS_CIVILIAN_COMMAND) - - survivor_variant = SECURITY_SURVIVOR - -/datum/equipment_preset/survivor/security/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine(new_human), WEAR_R_STORE) - add_survivor_weapon_security(new_human) - ..() - // ---- Trucker Survivor -// it's used as a base for kutjevo lv nv solaris and trijent maps. +// Used in Kutjevo Refinery, LV-624, New Varadero, Solaris Ridge and Trijent Dam. + /datum/equipment_preset/survivor/trucker name = "Survivor - Trucker" assignment = "Trucker" @@ -403,10 +368,60 @@ and is used as a base for all of the maps. ..() -// ----- CL Survivor +// -- Flight Control Operator + +// Used in Solaris Ridge. + +/datum/equipment_preset/survivor/flight_control_operator + name = "Survivor - Flight Control Operator" + assignment = "Flight Control Operator" + skills = /datum/skills/civilian/survivor/trucker + idtype = /obj/item/card/id/data + flags = EQUIPMENT_PRESET_START_OF_ROUND + access = list(ACCESS_CIVILIAN_PUBLIC,ACCESS_CIVILIAN_LOGISTICS,ACCESS_WY_FLIGHT) + +/datum/equipment_preset/survivor/flight_control_operator/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/lawyer/bluesuit(new_human), WEAR_BODY) + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/windbreaker_brown(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/headset(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + add_survivor_weapon_civilian(new_human) + + ..() + +// ----- Interstellar Human Rights Survivor + +// Used in Sorokyne Strata and Fiorina Science Annex. +/datum/equipment_preset/survivor/interstellar_human_rights_observer + name = "Survivor - Interstellar Human Rights Observer" + assignment = "Interstellar Human Rights Observer(Colony)" + skills = /datum/skills/civilian/survivor + flags = EQUIPMENT_PRESET_START_OF_ROUND + access = list(ACCESS_CIVILIAN_PUBLIC,ACCESS_CIVILIAN_COMMAND) + +/datum/equipment_preset/survivor/interstellar_human_rights_observer/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/suspenders(new_human), WEAR_BODY) + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + add_random_cl_survivor_loot(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) + add_survivor_weapon_civilian(new_human) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) + + ..() + + +// ----- Interstellar Commerce Commission Survivor -//this is used as a base for corsat and nv -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason +// Used in Trijent Dam and New Varadero. +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison name = "Survivor - Interstellar Commerce Commission Liaison" assignment = "Interstellar Commerce Commission Corporate Liaison" skills = /datum/skills/civilian/survivor @@ -417,11 +432,11 @@ and is used as a base for all of the maps. survivor_variant = CORPORATE_SURVIVOR -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/New() +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/New() . = ..() access = get_access(ACCESS_LIST_CIVIL_LIAISON) -/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) @@ -429,7 +444,7 @@ and is used as a base for all of the maps. add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index 8677b372159b..7cee0802e479 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -258,7 +258,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp78(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/rto/intel(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/rto/intel(src), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/rto/intel(src), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(src), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/intel(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) @@ -523,7 +523,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/leader(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/lead(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/leader(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range(new_human), WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) @@ -776,7 +776,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp78(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/rto(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/tl(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/rto(src), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/rto(src), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(src), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/rto(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) diff --git a/code/modules/gear_presets/wo.dm b/code/modules/gear_presets/wo.dm index 884b865bce11..453cd3ea56eb 100644 --- a/code/modules/gear_presets/wo.dm +++ b/code/modules/gear_presets/wo.dm @@ -197,7 +197,7 @@ //uniform new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/boiler(new_human), WEAR_BODY) //jacket - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/leader(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/m41amk1(new_human), WEAR_WAIST) @@ -274,7 +274,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/officer(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/shotgun/full(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/leader(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/marine/logisticsofficer(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) @@ -636,7 +636,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/leader(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/leader(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/m41amk1(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/device/whiskey_supply_beacon(new_human), WEAR_IN_BACK) diff --git a/code/modules/maptext_alerts/screen_alerts.dm b/code/modules/maptext_alerts/screen_alerts.dm index 0b923f7dc753..b096d3b3718f 100644 --- a/code/modules/maptext_alerts/screen_alerts.dm +++ b/code/modules/maptext_alerts/screen_alerts.dm @@ -214,6 +214,9 @@ /// Alert owner var/mob/owner + /// Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master. + var/click_master = TRUE + /atom/movable/screen/alert/MouseEntered(location,control,params) . = ..() if(!QDELETED(src)) @@ -251,3 +254,65 @@ if(NOTIFY_XENO_TACMAP) GLOB.xeno_tacmap_status.tgui_interact(ghost_user) +/atom/movable/screen/alert/buckled + name = "Buckled" + desc = "You've been buckled to something. Click the alert to unbuckle unless you're handcuffed." + icon_state = ALERT_BUCKLED + +/atom/movable/screen/alert/restrained/handcuffed + name = "Handcuffed" + desc = "You're handcuffed and can't act. If anyone drags you, you won't be able to move. Click the alert to free yourself." + click_master = FALSE + +/atom/movable/screen/alert/restrained/legcuffed + name = "Legcuffed" + desc = "You're legcuffed, which slows you down considerably. Click the alert to free yourself." + click_master = FALSE + +/atom/movable/screen/alert/restrained/clicked() + . = ..() + if(!.) + return + + var/mob/living/living_owner = owner + + if(!living_owner.can_resist()) + return + +// living_owner.changeNext_move(CLICK_CD_RESIST) // handled in resist proc + if((living_owner.mobility_flags & MOBILITY_MOVE) && (living_owner.last_special <= world.time)) + return living_owner.resist_restraints() + +/atom/movable/screen/alert/buckled/clicked() + . = ..() + if(!.) + return + + var/mob/living/living_owner = owner + + if(!living_owner.can_resist()) + return +// living_owner.changeNext_move(CLICK_CD_RESIST) // handled in resist proc + if(living_owner.last_special <= world.time) + return living_owner.resist_buckle() + +/atom/movable/screen/alert/clicked(location, control, params) + if(!usr || !usr.client) + return FALSE + if(usr != owner) + return FALSE + var/list/modifiers = params2list(params) + if(LAZYACCESS(modifiers, SHIFT_CLICK)) // screen objects don't do the normal Click() stuff so we'll cheat + to_chat(usr, SPAN_BOLDNOTICE("[name] - [desc]")) + return FALSE + if(master && click_master) + return usr.client.Click(master, location, control, params) + + return TRUE + +/atom/movable/screen/alert/Destroy() + . = ..() + severity = 0 + master = null + owner = null + screen_loc = "" diff --git a/code/modules/mob/dead/observer/actions.dm b/code/modules/mob/dead/observer/actions.dm index ff897db4a3f6..7daae802dc7a 100644 --- a/code/modules/mob/dead/observer/actions.dm +++ b/code/modules/mob/dead/observer/actions.dm @@ -21,6 +21,9 @@ INVOKE_ASYNC(src, PROC_REF(remove_from), user) +/datum/action/ghost/xeno + action_icon_state = "ghost_xeno" + /datum/action/join_ert name = "Join ERT" action_icon_state = "join_ert" diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 5fe27c5e5167..50496cef31c5 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -53,6 +53,15 @@ var/list/survivors = list() var/list/xenos = list() var/list/ert_members = list() + var/list/upp = list() + var/list/clf = list() + var/list/wy = list() + var/list/twe = list() + var/list/freelancer = list() + var/list/contractor = list() + var/list/mercenary = list() + var/list/dutch = list() + var/list/marshal = list() var/list/synthetics = list() var/list/predators = list() var/list/animals = list() @@ -132,12 +141,30 @@ if(SSticker.mode.is_in_endgame == TRUE && !is_mainship_level(M.z) && !(human.faction in FACTION_LIST_ERT)) escaped += list(serialized) + else if(human.faction in FACTION_LIST_WY) + wy += list(serialized) else if(issynth(human) && !isinfiltratorsynthetic(human)) synthetics += list(serialized) else if(isyautja(human)) predators += list(serialized) else if(human.faction in FACTION_LIST_ERT) ert_members += list(serialized) + else if(human.faction in FACTION_LIST_UPP) + upp += list(serialized) + else if(human.faction in FACTION_LIST_CLF) + clf += list(serialized) + else if(human.faction in FACTION_LIST_TWE) + twe += list(serialized) + else if(human.faction in FACTION_LIST_FREELANCER) + freelancer += list(serialized) + else if(human.faction in FACTION_LIST_CONTRACTOR) + contractor += list(serialized) + else if(human.faction in FACTION_LIST_MERCENARY) + mercenary += list(serialized) + else if(human.faction in FACTION_LIST_MARSHAL) + marshal += list(serialized) + else if(human.faction in FACTION_LIST_DUTCH) + dutch += list(serialized) else if(human.faction in FACTION_LIST_MARINE) marines += list(serialized) else if(issurvivorjob(human.job)) @@ -156,6 +183,15 @@ data["survivors"] = survivors data["xenos"] = xenos data["ert_members"] = ert_members + data["upp"] = upp + data["clf"] = clf + data["wy"] = wy + data["twe"] = twe + data["freelancer"] = freelancer + data["contractor"] = contractor + data["mercenary"] = mercenary + data["dutch"] = dutch + data["marshal"] = marshal data["synthetics"] = synthetics data["predators"] = predators data["animals"] = animals diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 6170aec3031c..b523cef08eec 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1098,9 +1098,9 @@ for(var/datum/effects/bleeding/internal/internal_bleed in effects_list) msg += "They have bloating and discoloration on their [internal_bleed.limb.display_name]\n" - if(knocked_out && stat != DEAD) + if(stat == UNCONSCIOUS) msg += "They seem to be unconscious\n" - if(stat == DEAD) + else if(stat == DEAD) if(src.check_tod() && is_revivable()) msg += "They're not breathing" else diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index dfbc2c971a8c..8f032288065b 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -161,7 +161,9 @@ disarm_chance += 5 * defender_skill_level if(disarm_chance <= 25) - apply_effect(2 + max((attacker_skill_level - defender_skill_level), 0), WEAKEN) + var/strength = 2 + max((attacker_skill_level - defender_skill_level), 0) + KnockDown(strength) + Stun(strength) playsound(loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7) var/shove_text = attacker_skill_level > 1 ? "tackled" : pick("pushed", "shoved") visible_message(SPAN_DANGER("[attacking_mob] has [shove_text] [src]!"), null, null, 5) @@ -205,15 +207,14 @@ if (w_uniform) w_uniform.add_fingerprint(M) - - if(body_position == LYING_DOWN || sleeping) + if(HAS_TRAIT(src, TRAIT_FLOORED) || HAS_TRAIT(src, TRAIT_KNOCKEDOUT) || body_position == LYING_DOWN || sleeping) if(client) sleeping = max(0,src.sleeping-5) if(!sleeping) set_resting(FALSE) M.visible_message(SPAN_NOTICE("[M] shakes [src] trying to wake [t_him] up!"), \ SPAN_NOTICE("You shake [src] trying to wake [t_him] up!"), null, 4) - else if(stunned) + else if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) M.visible_message(SPAN_NOTICE("[M] shakes [src], trying to shake [t_him] out of his stupor!"), \ SPAN_NOTICE("You shake [src], trying to shake [t_him] out of his stupor!"), null, 4) else diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 90a4d7bca4ab..e09e9e2ebb7b 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -514,11 +514,3 @@ This function restores all limbs. damage_to_deal *= 0.25 // Massively reduced effectiveness stamina.apply_damage(damage_to_deal) - -/mob/living/carbon/human/knocked_out_start() - ..() - sound_environment_override = SOUND_ENVIRONMENT_PSYCHOTIC - -/mob/living/carbon/human/knocked_out_callback() - . = ..() - sound_environment_override = SOUND_ENVIRONMENT_NONE diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index be1c7833c5c1..1a43138421e4 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -88,3 +88,10 @@ if(!client && !mind && species) species.handle_npc(src) + +/mob/living/carbon/human/set_stat(new_stat) + . = ..() + // Temporarily force triggering HUD updates so they apply immediately rather than on Life tick. + // Remove this once effects have been ported to trait signals (blinded, dazed, etc) + if(stat != .) + handle_regular_hud_updates() diff --git a/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm b/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm index 41554f056744..e9bb307d7335 100644 --- a/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm +++ b/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm @@ -53,7 +53,7 @@ if(!already_in_crit) new /datum/effects/crit/human(src) - if(HAS_TRAIT(src, TRAIT_KNOCKEDOUT)) + if(IsKnockOut()) blinded = TRUE if(regular_update && halloss > 0) apply_damage(-3, HALLOSS) diff --git a/code/modules/mob/living/carbon/human/life/handle_stasis_bag.dm b/code/modules/mob/living/carbon/human/life/handle_stasis_bag.dm index 16d9955395b0..43c757fabb3e 100644 --- a/code/modules/mob/living/carbon/human/life/handle_stasis_bag.dm +++ b/code/modules/mob/living/carbon/human/life/handle_stasis_bag.dm @@ -4,9 +4,9 @@ //Handle side effects from stasis switch(in_stasis) if(STASIS_IN_BAG) - // I hate whoever wrote this and statuses with a passion - knocked_down = knocked_down? --knocked_down : knocked_down + 10 //knocked_down set. - if(knocked_down <= 0) - knocked_down_callback() + // At least 6 seconds, but reduce by 2s every time - IN ADDITION to normal recovery + // Don't ask me why and feel free to change it + KnockDown(3) + AdjustKnockDown(-1) if(STASIS_IN_CRYO_CELL) if(sleeping < 10) sleeping += 10 //Puts the mob to sleep indefinitely. diff --git a/code/modules/mob/living/carbon/human/life/life_helpers.dm b/code/modules/mob/living/carbon/human/life/life_helpers.dm index 25f020a9f8b6..bf254b9da1ed 100644 --- a/code/modules/mob/living/carbon/human/life/life_helpers.dm +++ b/code/modules/mob/living/carbon/human/life/life_helpers.dm @@ -197,12 +197,6 @@ speech_problem_flag = TRUE return slurring -/mob/living/carbon/human/handle_stunned() - if(stunned) - adjust_effect(-species.stun_reduction, STUN, EFFECT_FLAG_LIFE) - speech_problem_flag = TRUE - return stunned - /mob/living/carbon/human/handle_dazed() if(dazed) var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.1 : 0 @@ -213,26 +207,6 @@ speech_problem_flag = TRUE return dazed -/mob/living/carbon/human/handle_knocked_down() - if(knocked_down) - var/species_resistance = species.knock_down_reduction - var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.1 : 0 - - var/final_reduction = species_resistance + skill_resistance - adjust_effect(-final_reduction, WEAKEN, EFFECT_FLAG_LIFE) - knocked_down_callback_check() - return knocked_down - -/mob/living/carbon/human/handle_knocked_out() - if(knocked_out) - var/species_resistance = species.knock_out_reduction - var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.1 : 0 - - var/final_reduction = species_resistance + skill_resistance - adjust_effect(-final_reduction, PARALYZE, EFFECT_FLAG_LIFE) - knocked_out_callback_check() - return knocked_out - /mob/living/carbon/human/handle_stuttering() if(..()) speech_problem_flag = TRUE @@ -240,40 +214,23 @@ #define HUMAN_TIMER_TO_EFFECT_CONVERSION (0.05) //(1/20) //once per 2 seconds, with effect equal to endurance, which is used later -// This is here because sometimes our stun comes too early and tick is about to start, so we need to compensate -// this is the best place to do it, tho name might be a bit misleading I guess -/mob/living/carbon/human/stun_clock_adjustment() - var/species_resistance = species.knock_down_reduction - var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.1 : 0 - - var/final_reduction = species_resistance + skill_resistance - var/shift_left = (SShuman.next_fire - world.time) * HUMAN_TIMER_TO_EFFECT_CONVERSION * final_reduction - if(stunned > shift_left) - stunned += SShuman.wait * HUMAN_TIMER_TO_EFFECT_CONVERSION * final_reduction - shift_left - -/mob/living/carbon/human/knockdown_clock_adjustment() - if(!species) - return FALSE - - var/species_resistance = species.knock_down_reduction - var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.1 : 0 - - var/final_reduction = species_resistance + skill_resistance - var/shift_left = (SShuman.next_fire - world.time) * HUMAN_TIMER_TO_EFFECT_CONVERSION * final_reduction - if(knocked_down > shift_left) - knocked_down += SShuman.wait * HUMAN_TIMER_TO_EFFECT_CONVERSION * final_reduction - shift_left - -/mob/living/carbon/human/knockout_clock_adjustment() - if(!species) - return FALSE - - var/species_resistance = species.knock_out_reduction - var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.1 : 0 - - var/final_reduction = species_resistance + skill_resistance - var/shift_left = (SShuman.next_fire - world.time) * HUMAN_TIMER_TO_EFFECT_CONVERSION * final_reduction - if(knocked_out > shift_left) - knocked_out += SShuman.wait * HUMAN_TIMER_TO_EFFECT_CONVERSION * final_reduction - shift_left +/mob/living/carbon/human/GetStunDuration(amount) + . = ..() + var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.08 : 0 + var/final_reduction = (1 - skill_resistance) / species.stun_reduction + return . * final_reduction + +/mob/living/carbon/human/GetKnockDownDuration(amount) + . = ..() + var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.08 : 0 + var/final_reduction = (1 - skill_resistance) / species.knock_down_reduction + return . * final_reduction + +/mob/living/carbon/human/GetKnockOutDuration(amount) + . = ..() + var/skill_resistance = skills ? (skills.get_skill_level(SKILL_ENDURANCE)-1)*0.08 : 0 + var/final_reduction = (1 - skill_resistance) / species.knock_out_reduction + return . * final_reduction /mob/living/carbon/human/proc/handle_revive() SEND_SIGNAL(src, COMSIG_HUMAN_REVIVED) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 397a478a2779..4392c3359596 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -92,9 +92,12 @@ "eyes" = /datum/internal_organ/eyes ) - var/knock_down_reduction = 1 //how much the knocked_down effect is reduced per Life call. - var/stun_reduction = 1 //how much the stunned effect is reduced per Life call. - var/knock_out_reduction = 1 //same thing + /// Factor of reduction of KnockDown duration. + var/knock_down_reduction = 1 + /// Factor of reduction of Stun duration. + var/stun_reduction = 1 + /// Factor of reduction of KnockOut duration. + var/knock_out_reduction = 1 /// If different from 1, a signal is registered on post_spawn(). var/weed_slowdown_mult = 1 diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index 97bf25e08932..e5673817b277 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -4,11 +4,18 @@ if(handcuffed) drop_held_items() stop_pulling() + throw_alert(ALERT_HANDCUFFED, /atom/movable/screen/alert/restrained/handcuffed, new_master = handcuffed) + else + clear_alert(ALERT_HANDCUFFED) update_inv_handcuffed() + /mob/living/carbon/proc/legcuff_update() if(legcuffed) set_movement_intent(MOVE_INTENT_WALK) + throw_alert(ALERT_LEGCUFFED, /atom/movable/screen/alert/restrained/legcuffed, new_master = handcuffed) + else + clear_alert(ALERT_LEGCUFFED) update_inv_legcuffed() diff --git a/code/modules/mob/living/carbon/xenomorph/Abilities.dm b/code/modules/mob/living/carbon/xenomorph/Abilities.dm index cb46b3c6cc26..dc44260187a7 100644 --- a/code/modules/mob/living/carbon/xenomorph/Abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/Abilities.dm @@ -21,20 +21,20 @@ return if(X.action_busy) - to_chat(X, SPAN_XENOWARNING("You should finish up what you're doing before digging.")) + to_chat(X, SPAN_XENOWARNING("We should finish up what we're doing before digging.")) return var/turf/T = X.loc if(!istype(T)) //logic - to_chat(X, SPAN_XENOWARNING("You can't do that from there.")) + to_chat(X, SPAN_XENOWARNING("We can't do that from there.")) return if(SSticker?.mode?.hardcore) - to_chat(X, SPAN_XENOWARNING("A certain presence is preventing you from digging tunnels here.")) + to_chat(X, SPAN_XENOWARNING("A certain presence is preventing us from digging tunnels here.")) return if(!T.can_dig_xeno_tunnel() || !is_ground_level(T.z)) - to_chat(X, SPAN_XENOWARNING("You scrape around, but you can't seem to dig through that kind of floor.")) + to_chat(X, SPAN_XENOWARNING("We scrape around, but we can't seem to dig through that kind of floor.")) return if(locate(/obj/structure/tunnel) in X.loc) @@ -42,11 +42,11 @@ return if(X.tunnel_delay) - to_chat(X, SPAN_XENOWARNING("You are not ready to dig a tunnel again.")) + to_chat(X, SPAN_XENOWARNING("We are not ready to dig a tunnel again.")) return if(X.get_active_hand()) - to_chat(X, SPAN_XENOWARNING("You need an empty claw for this!")) + to_chat(X, SPAN_XENOWARNING("We need an empty claw for this!")) return if(!X.check_plasma(plasma_cost)) @@ -62,14 +62,14 @@ return X.visible_message(SPAN_XENONOTICE("[X] begins digging out a tunnel entrance."), \ - SPAN_XENONOTICE("You begin digging out a tunnel entrance."), null, 5) + SPAN_XENONOTICE("We begin digging out a tunnel entrance."), null, 5) if(!do_after(X, 100, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) - to_chat(X, SPAN_WARNING("Your tunnel caves in as you stop digging it.")) + to_chat(X, SPAN_WARNING("Our tunnel caves in as we stop digging it.")) return if(!X.check_plasma(plasma_cost)) return X.visible_message(SPAN_XENONOTICE("\The [X] digs out a tunnel entrance."), \ - SPAN_XENONOTICE("You dig out an entrance to the tunnel network."), null, 5) + SPAN_XENONOTICE("We dig out an entrance to the tunnel network."), null, 5) var/obj/structure/tunnel/tunnelobj = new(T, X.hivenumber) X.tunnel_delay = 1 @@ -91,14 +91,14 @@ to_chat(target_for_message, SPAN_XENOANNOUNCE("Hive: A new tunnel[description ? " ([description])" : ""] has been created by [X] (watch) at [get_area_name(tunnelobj)].")) X.use_plasma(plasma_cost) - to_chat(X, SPAN_NOTICE("You will be ready to dig a new tunnel in 4 minutes.")) + to_chat(X, SPAN_NOTICE("We will be ready to dig a new tunnel in 4 minutes.")) playsound(X.loc, 'sound/weapons/pierce.ogg', 25, 1) return ..() /datum/action/xeno_action/onclick/build_tunnel/proc/cooldown_end() var/mob/living/carbon/xenomorph/X = owner - to_chat(X, SPAN_NOTICE("You are ready to dig a tunnel again.")) + to_chat(X, SPAN_NOTICE("We are ready to dig a tunnel again.")) X.tunnel_delay = 0 //Queen Abilities diff --git a/code/modules/mob/living/carbon/xenomorph/Embryo.dm b/code/modules/mob/living/carbon/xenomorph/Embryo.dm index 0d522c142f36..e799c21d3f20 100644 --- a/code/modules/mob/living/carbon/xenomorph/Embryo.dm +++ b/code/modules/mob/living/carbon/xenomorph/Embryo.dm @@ -294,7 +294,7 @@ if(victim.chestburst || loc != victim) return victim.chestburst = TRUE - to_chat(src, SPAN_DANGER("You start bursting out of [victim]'s chest!")) + to_chat(src, SPAN_DANGER("We start bursting out of [victim]'s chest!")) if(!HAS_TRAIT(src, TRAIT_KNOCKEDOUT)) victim.apply_effect(20, DAZE) victim.visible_message(SPAN_DANGER("\The [victim] starts shaking uncontrollably!"), \ @@ -352,7 +352,7 @@ qdel(larva_embryo) if(!victim.first_xeno) - to_chat(larva_embryo, SPAN_XENOHIGHDANGER("The Queen's will overwhelms your instincts...")) + to_chat(larva_embryo, SPAN_XENOHIGHDANGER("The Queen's will overwhelms our instincts...")) to_chat(larva_embryo, SPAN_XENOHIGHDANGER("\"[hive.hive_orders]\"")) log_attack("[key_name(victim)] chestbursted in [get_area_name(larva_embryo)] at X[victim.x], Y[victim.y], Z[victim.z]. The larva was [key_name(larva_embryo)].") //this is so that admins are not spammed with los logs diff --git a/code/modules/mob/living/carbon/xenomorph/Evolution.dm b/code/modules/mob/living/carbon/xenomorph/Evolution.dm index 49d73e71a241..a2ade5cd0512 100644 --- a/code/modules/mob/living/carbon/xenomorph/Evolution.dm +++ b/code/modules/mob/living/carbon/xenomorph/Evolution.dm @@ -24,7 +24,7 @@ castes_available -= caste if(!length(castes_available)) - to_chat(src, SPAN_WARNING("The Hive is not capable of supporting any castes you can evolve to yet.")) + to_chat(src, SPAN_WARNING("The Hive is not capable of supporting any castes we can evolve to yet.")) return var/castepick if((client.prefs && client.prefs.no_radials_preference) || !hive.evolution_menu_images) @@ -47,13 +47,13 @@ return if((!hive.living_xeno_queen) && castepick != XENO_CASTE_QUEEN && !islarva(src) && !hive.allow_no_queen_evo) - to_chat(src, SPAN_WARNING("The Hive is shaken by the death of the last Queen. You can't find the strength to evolve.")) + to_chat(src, SPAN_WARNING("The Hive is shaken by the death of the last Queen. We can't find the strength to evolve.")) return if(castepick == XENO_CASTE_QUEEN) //Special case for dealing with queenae if(!hardcore) if(SSticker.mode && hive.xeno_queen_timer > world.time) - to_chat(src, SPAN_WARNING("You must wait about [DisplayTimeText(hive.xeno_queen_timer - world.time, 1)] for the hive to recover from the previous Queen's death.")) + to_chat(src, SPAN_WARNING("We must wait about [DisplayTimeText(hive.xeno_queen_timer - world.time, 1)] for the hive to recover from the previous Queen's death.")) return if(plasma_stored >= 500) @@ -61,14 +61,14 @@ to_chat(src, SPAN_WARNING("There already is a living Queen.")) return else - to_chat(src, SPAN_WARNING("You require more plasma! Currently at: [plasma_stored] / 500.")) + to_chat(src, SPAN_WARNING("We require more plasma! Currently at: [plasma_stored] / 500.")) return else to_chat(src, SPAN_WARNING("Nuh-uhh.")) return if(evolution_threshold && castepick != XENO_CASTE_QUEEN) //Does the caste have an evolution timer? Then check it if(evolution_stored < evolution_threshold) - to_chat(src, SPAN_WARNING("You must wait before evolving. Currently at: [evolution_stored] / [evolution_threshold].")) + to_chat(src, SPAN_WARNING("We must wait before evolving. Currently at: [evolution_stored] / [evolution_threshold].")) return // Used for restricting benos to evolve to drone/queen when they're the only potential queen @@ -97,16 +97,17 @@ if(!can_evolve(castepick, potential_queens)) return - to_chat(src, SPAN_XENONOTICE("It looks like the hive can support your evolution to [SPAN_BOLD(castepick)]!")) + to_chat(src, SPAN_XENONOTICE("It looks like the hive can support our evolution to [SPAN_BOLD(castepick)]!")) visible_message(SPAN_XENONOTICE("\The [src] begins to twist and contort."), \ - SPAN_XENONOTICE("You begin to twist and contort.")) + SPAN_XENONOTICE("We begin to twist and contort.")) xeno_jitter(25) evolving = TRUE var/level_to_switch_to = get_vision_level() if(!do_after(src, 2.5 SECONDS, INTERRUPT_INCAPACITATED|INTERRUPT_CHANGED_LYING, BUSY_ICON_HOSTILE)) // Can evolve while moving, resist or rest to cancel it. - to_chat(src, SPAN_WARNING("You quiver, but nothing happens. Your evolution has ceased for now...")) + to_chat(src, SPAN_WARNING("We quiver, but nothing happens. Our evolution has ceased for now...")) + evolving = FALSE return @@ -122,7 +123,7 @@ to_chat(src, SPAN_WARNING("There already is a Queen.")) return if(!hive.allow_queen_evolve) - to_chat(src, SPAN_WARNING("You can't find the strength to evolve into a Queen")) + to_chat(src, SPAN_WARNING("We can't find the strength to evolve into a Queen")) return else if(!can_evolve(castepick, potential_queens)) return @@ -176,7 +177,7 @@ built_structures = null new_xeno.visible_message(SPAN_XENODANGER("A [new_xeno.caste.caste_type] emerges from the husk of \the [src]."), \ - SPAN_XENODANGER("You emerge in a greater form from the husk of your old body. For the hive!")) + SPAN_XENODANGER("We emerge in a greater form from the husk of our old body. For the hive!")) if(hive.living_xeno_queen && hive.living_xeno_queen.observed_xeno == src) hive.living_xeno_queen.overwatch(new_xeno) @@ -202,7 +203,7 @@ return FALSE if(!isturf(loc)) - to_chat(src, SPAN_WARNING("You can't evolve here.")) + to_chat(src, SPAN_WARNING("We can't evolve here.")) return FALSE if(hardcore) @@ -218,19 +219,19 @@ return FALSE if(handcuffed || legcuffed) - to_chat(src, SPAN_WARNING("The restraints are too restricting to allow you to evolve.")) + to_chat(src, SPAN_WARNING("The restraints are too restricting to allow us to evolve.")) return FALSE if(isnull(caste.evolves_to)) - to_chat(src, SPAN_WARNING("You are already the apex of form and function. Go forth and spread the hive!")) + to_chat(src, SPAN_WARNING("We are already the apex of form and function. Go forth and spread the hive!")) return FALSE if(health < maxHealth) - to_chat(src, SPAN_WARNING("You must be at full health to evolve.")) + to_chat(src, SPAN_WARNING("We must be at full health to evolve.")) return FALSE if(agility || fortify || crest_defense) - to_chat(src, SPAN_WARNING("You cannot evolve while in this stance.")) + to_chat(src, SPAN_WARNING("We cannot evolve while in this stance.")) return FALSE if(world.time < (SSticker.mode.round_time_lobby + XENO_ROUNDSTART_PROGRESS_TIME_2)) @@ -260,15 +261,15 @@ return if(health < maxHealth) - to_chat(src, SPAN_XENOWARNING("You are too weak to deevolve, regain your health first.")) + to_chat(src, SPAN_XENOWARNING("We are too weak to deevolve, we must regain our health first.")) return if(length(caste.deevolves_to) < 1) - to_chat(src, SPAN_XENOWARNING("You can't deevolve any further.")) + to_chat(src, SPAN_XENOWARNING("We can't deevolve any further.")) return if(lock_evolve) - to_chat(src, SPAN_WARNING("You are banished and cannot reach the hivemind.")) + to_chat(src, SPAN_WARNING("We are banished and cannot reach the hivemind.")) return FALSE @@ -352,7 +353,7 @@ if(new_xeno.client) new_xeno.set_lighting_alpha(level_to_switch_to) new_xeno.visible_message(SPAN_XENODANGER("A [new_xeno.caste.caste_type] emerges from the husk of \the [src]."), \ - SPAN_XENODANGER("You regress into your previous form.")) + SPAN_XENODANGER("We regress into our previous form.")) if(GLOB.round_statistics && !new_xeno.statistic_exempt) GLOB.round_statistics.track_new_participant(faction, -1) //so an evolved xeno doesn't count as two. diff --git a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm index 3ed4bf036e12..cfdf126fe769 100644 --- a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm +++ b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm @@ -290,9 +290,9 @@ notify_ghosts(header = "Hugged", message = "[human] has been hugged by [name]!", source = human, action = NOTIFY_ORBIT) to_chat(src, SPAN_DEADSAY("[human] has been facehugged by [name]")) if(hug_area) - xeno_message(SPAN_XENOMINORWARNING("You sense that [name] has facehugged a host at \the [hug_area]!"), 1, hivenumber) + xeno_message(SPAN_XENOMINORWARNING("We sense that [name] has facehugged a host at \the [hug_area]!"), 1, hivenumber) else - xeno_message(SPAN_XENOMINORWARNING("You sense that [name] has facehugged a host!"), 1, hivenumber) + xeno_message(SPAN_XENOMINORWARNING("We sense that [name] has facehugged a host!"), 1, hivenumber) addtimer(CALLBACK(src, PROC_REF(impregnate), human, hugger?.client?.ckey), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) diff --git a/code/modules/mob/living/carbon/xenomorph/Powers.dm b/code/modules/mob/living/carbon/xenomorph/Powers.dm index d400659079f0..87a6db3c0816 100644 --- a/code/modules/mob/living/carbon/xenomorph/Powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/Powers.dm @@ -19,13 +19,13 @@ if(RC.max_per_xeno != RESIN_CONSTRUCTION_NO_MAX) var/current_amount = length(built_structures[RC.build_path]) if(current_amount >= RC.max_per_xeno) - to_chat(src, SPAN_XENOWARNING("You've already built the maximum possible structures you can!")) + to_chat(src, SPAN_XENOWARNING("We've already built the maximum possible structures we can!")) return SECRETE_RESIN_FAIL var/turf/current_turf = get_turf(A) if(extra_build_dist != IGNORE_BUILD_DISTANCE && get_dist(src, A) > src.caste.max_build_dist + extra_build_dist) // Hivelords and eggsac carriers have max_build_dist of 1, drones and queens 0 - to_chat(src, SPAN_XENOWARNING("You can't build from that far!")) + to_chat(src, SPAN_XENOWARNING("We can't build from that far!")) return SECRETE_RESIN_FAIL else if(thick) //hivelords can thicken existing resin structures. var/thickened = FALSE @@ -37,7 +37,7 @@ return SECRETE_RESIN_FAIL for(var/datum/effects/xeno_structure_reinforcement/sf in WR.effects_list) - to_chat(src, SPAN_XENOWARNING("The extra resin is preventing you from reinforcing [WR]. Wait until it elapse.")) + to_chat(src, SPAN_XENOWARNING("The extra resin is preventing us from reinforcing [WR]. Wait until it elapse.")) return SECRETE_RESIN_FAIL if (WR.hivenumber != hivenumber) @@ -62,7 +62,7 @@ return SECRETE_RESIN_FAIL for(var/datum/effects/xeno_structure_reinforcement/sf in DR.effects_list) - to_chat(src, SPAN_XENOWARNING("The extra resin is preventing you from reinforcing [DR]. Wait until it elapse.")) + to_chat(src, SPAN_XENOWARNING("The extra resin is preventing us from reinforcing [DR]. Wait until it elapse.")) return SECRETE_RESIN_FAIL if(DR.hardness == 1.5) //non thickened @@ -78,7 +78,7 @@ if(thickened) if(message) visible_message(SPAN_XENONOTICE("[src] regurgitates a thick substance and thickens [A]."), \ - SPAN_XENONOTICE("You regurgitate some resin and thicken [A], using [total_resin_cost] plasma."), null, 5) + SPAN_XENONOTICE("We regurgitate some resin and thicken [A], using [total_resin_cost] plasma."), null, 5) if(use_plasma) use_plasma(total_resin_cost) playsound(loc, "alien_resin_build", 25) @@ -132,7 +132,7 @@ use_plasma(total_resin_cost) if(message) visible_message(SPAN_XENONOTICE("[src] regurgitates a thick substance and shapes it into \a [RC.construction_name]!"), \ - SPAN_XENONOTICE("You regurgitate some resin and shape it into \a [RC.construction_name][use_plasma ? " at the cost of a total [total_resin_cost] plasma" : ""]."), null, 5) + SPAN_XENONOTICE("We regurgitate some resin and shape it into \a [RC.construction_name][use_plasma ? " at the cost of a total [total_resin_cost] plasma" : ""]."), null, 5) playsound(loc, "alien_resin_build", 25) var/atom/new_resin = RC.build(current_turf, hivenumber, src) @@ -164,8 +164,10 @@ new_structure.set_template(structure_template) hive.add_construction(new_structure) + var/max_constructions = hive.hive_structures_limit[structure_template.name] + var/remaining_constructions = max_constructions - hive.get_structure_count(structure_template.name) visible_message(SPAN_XENONOTICE("A thick substance emerges from the ground and shapes into \a [new_structure]."), \ - SPAN_XENONOTICE("You designate a new [structure_template] construction."), null, 5) + SPAN_XENONOTICE("We designate a new [structure_template] construction. ([remaining_constructions]/[max_constructions] remaining)"), null, 5) playsound(new_structure, "alien_resin_build", 25) if(hive.living_xeno_queen) @@ -176,11 +178,11 @@ return FALSE var/found_weeds = FALSE if(!selected_mark) - to_chat(src, SPAN_NOTICE("You must have a meaning for the mark before you can make it.")) + to_chat(src, SPAN_NOTICE("We must have a meaning for the mark before you can make it.")) hive.mark_ui.open_mark_menu(src) return FALSE if(target_turf.z != src.z) - to_chat(src, SPAN_NOTICE("You have no psychic presence on that world.")) + to_chat(src, SPAN_NOTICE("We have no psychic presence on that world.")) return FALSE if(!(istype(target_turf)) || target_turf.density) return FALSE @@ -195,7 +197,7 @@ playsound(target_turf, "alien_resin_build", 25) if(!found_weeds) - to_chat(src, SPAN_XENOMINORWARNING("You made the resin mark on ground with no weeds, it will break soon without any.")) + to_chat(src, SPAN_XENOMINORWARNING("We made the resin mark on ground with no weeds, it will break soon without any.")) if(isqueen(src)) NM.color = "#7a21c4" diff --git a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm index 317c7999e586..39866eb53798 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm @@ -98,7 +98,7 @@ if(islarva(M)) //Larvas can't eat people M.visible_message(SPAN_DANGER("[M] nudges its head against \the [src]."), \ - SPAN_DANGER("You nudge your head against \the [src]."), null, null, CHAT_TYPE_XENO_FLUFF) + SPAN_DANGER("We nudge our head against \the [src]."), null, null, CHAT_TYPE_XENO_FLUFF) return switch(M.a_intent) @@ -113,7 +113,7 @@ return XENO_NONCOMBAT_ACTION else M.visible_message(SPAN_NOTICE("\The [M] caresses \the [src] with its claws."), \ - SPAN_NOTICE("You caress \the [src] with your claws."), null, 5, CHAT_TYPE_XENO_FLUFF) + SPAN_NOTICE("We caress \the [src] with our claws."), null, 5, CHAT_TYPE_XENO_FLUFF) if(INTENT_GRAB) if(M == src || anchored) @@ -188,12 +188,12 @@ if(can_mega_shove && !can_resist_shove || (mob_size < MOB_SIZE_XENO_SMALL && M.mob_size >= MOB_SIZE_XENO_SMALL)) playsound(loc, 'sound/weapons/alien_knockdown.ogg', 25, 1) M.visible_message(SPAN_WARNING("\The [M] shoves \the [src] out of her way!"), \ - SPAN_WARNING("You shove \the [src] out of your way!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_WARNING("We shove \the [src] out of our way!"), null, 5, CHAT_TYPE_XENO_COMBAT) src.apply_effect(1, WEAKEN) else playsound(loc, 'sound/weapons/thudswoosh.ogg', 25, 1) M.visible_message(SPAN_WARNING("\The [M] shoves \the [src]!"), \ - SPAN_WARNING("You shove \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_WARNING("We shove \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION /mob/living/carbon/xenomorph/proc/attempt_headbutt(mob/living/carbon/xenomorph/target) @@ -204,7 +204,7 @@ return target.flags_emote &= ~EMOTING_HEADBUTT visible_message(SPAN_NOTICE("[src] slams their head into [target]!"), \ - SPAN_NOTICE("You slam your head into [target]!"), null, 4) + SPAN_NOTICE("We slam your head into [target]!"), null, 4) playsound(src, pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'), 50, 1) animation_attack_on(target) target.animation_attack_on(src) @@ -218,7 +218,7 @@ return visible_message(SPAN_NOTICE("[src] raises their head for a headbutt from [target]."), \ - SPAN_NOTICE("You raise your head for a headbutt from [target]."), null, 4) + SPAN_NOTICE("We raise our head for a headbutt from [target]."), null, 4) flags_emote |= EMOTING_HEADBUTT if(do_after(src, 50, INTERRUPT_ALL|INTERRUPT_EMOTE, EMOTE_ICON_HEADBUTT) && flags_emote & EMOTING_HEADBUTT) to_chat(src, SPAN_NOTICE("You were left hanging!")) @@ -232,7 +232,7 @@ return target.flags_emote &= ~EMOTING_TAIL_SWIPE visible_message(SPAN_NOTICE("[src] clashes their tail with [target]!"), \ - SPAN_NOTICE("You clash your tail with [target]!"), null, 4) + SPAN_NOTICE("We clash our tail with [target]!"), null, 4) playsound(src, 'sound/weapons/alien_claw_block.ogg', 50, 1) spin_circle() target.spin_circle() @@ -246,7 +246,7 @@ return visible_message(SPAN_NOTICE("[src] raises their tail out for a swipe from [target]."), \ - SPAN_NOTICE("You raise your tail out for a tail swipe from [target]."), null, 4) + SPAN_NOTICE("We raise our tail out for a tail swipe from [target]."), null, 4) flags_emote |= EMOTING_TAIL_SWIPE if(do_after(src, 50, INTERRUPT_ALL|INTERRUPT_EMOTE, EMOTE_ICON_TAILSWIPE) && flags_emote & EMOTING_TAIL_SWIPE) to_chat(src, SPAN_NOTICE("You were left hanging!")) diff --git a/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm b/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm index 1af6eebcf9e7..fc5532955ff9 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm @@ -246,19 +246,19 @@ return FALSE if(!isturf(loc)) - to_chat(src, SPAN_WARNING("You can't take a strain here.")) + to_chat(src, SPAN_WARNING("We can't take a strain here.")) return FALSE if(handcuffed || legcuffed) - to_chat(src, SPAN_WARNING("The restraints are too restricting to allow you to take a strain.")) + to_chat(src, SPAN_WARNING("The restraints are too restricting to allow us to take a strain.")) return FALSE if(health < maxHealth) - to_chat(src, SPAN_WARNING("You must be at full health to take a strain.")) + to_chat(src, SPAN_WARNING("We must be at full health to take a strain.")) return FALSE if(agility || fortify || crest_defense || stealth) - to_chat(src, SPAN_WARNING("You cannot take a strain while in this stance.")) + to_chat(src, SPAN_WARNING("We cannot take a strain while in this stance.")) return FALSE return TRUE diff --git a/code/modules/mob/living/carbon/xenomorph/XenoOverwatch.dm b/code/modules/mob/living/carbon/xenomorph/XenoOverwatch.dm index 68c422619d32..3160c5e20bc7 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoOverwatch.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoOverwatch.dm @@ -27,7 +27,7 @@ isQueen = TRUE if(!X.hive.living_xeno_queen && !X.hive.allow_no_queen_actions) - to_chat(X, SPAN_WARNING("There is no Queen. You are alone.")) + to_chat(X, SPAN_WARNING("There is no Queen. We are alone.")) return // We are already overwatching something @@ -73,7 +73,7 @@ UnregisterSignal(src, COMSIG_MOB_MOVE_OR_LOOK) if(oldXeno) - to_chat(src, SPAN_XENOWARNING("You stop watching [oldXeno].")) + to_chat(src, SPAN_XENOWARNING("We stop watching [oldXeno].")) UnregisterSignal(oldXeno, COMSIG_PARENT_QDELETING) if(!QDELETED(oldXeno)) oldXeno.hud_set_queen_overwatch() @@ -82,22 +82,22 @@ return if(!hive.living_xeno_queen && !hive.allow_no_queen_actions) - to_chat(src, SPAN_WARNING("There is no Queen. You are alone.")) + to_chat(src, SPAN_WARNING("There is no Queen. We are alone.")) return if(targetXeno == src) - to_chat(src, SPAN_XENOWARNING("You can't watch yourself!")) + to_chat(src, SPAN_XENOWARNING("We can't watch ourselves!")) return if(targetXeno.interference) - to_chat(src, SPAN_XENOWARNING("Your target's psychic connection is cut off!")) + to_chat(src, SPAN_XENOWARNING("Our sister's psychic connection is cut off!")) return if(observed_xeno && targetXeno && observed_xeno == targetXeno) if(istype(targetXeno, /obj/effect/alien/resin/marker)) - to_chat(src, SPAN_XENOWARNING("You are already watching that mark!")) + to_chat(src, SPAN_XENOWARNING("We are already watching that mark!")) return - to_chat(src, SPAN_XENOWARNING("You are already watching that sister!")) + to_chat(src, SPAN_XENOWARNING("We are already watching that sister!")) return if(caste_type != XENO_CASTE_QUEEN && is_zoomed) @@ -199,7 +199,7 @@ to_chat(src, SPAN_XENONOTICE("That resin mark no longer exists.")) return else - to_chat(src, SPAN_XENONOTICE("You psychically observe the [target.mark_meaning.name] resin mark in [get_area_name(target)].")) + to_chat(src, SPAN_XENONOTICE("We psychically observe the [target.mark_meaning.name] resin mark in [get_area_name(target)].")) overwatch(target) if(href_list["track"]) var/input2 = href_list["target"] diff --git a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm index b5848786c698..46b6c857d481 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm @@ -151,14 +151,14 @@ /mob/living/carbon/xenomorph/proc/check_state(permissive = FALSE) if(!permissive) if(is_mob_incapacitated() || body_position == LYING_DOWN || buckled || evolving || !isturf(loc)) - to_chat(src, SPAN_WARNING("You cannot do this in your current state.")) + to_chat(src, SPAN_WARNING("We cannot do this in our current state.")) return FALSE else if(caste_type != XENO_CASTE_QUEEN && observed_xeno) - to_chat(src, SPAN_WARNING("You cannot do this in your current state.")) + to_chat(src, SPAN_WARNING("We cannot do this in our current state.")) return FALSE else if(is_mob_incapacitated() || buckled || evolving) - to_chat(src, SPAN_WARNING("You cannot do this in your current state.")) + to_chat(src, SPAN_WARNING("We cannot do this in our current state.")) return FALSE return TRUE @@ -166,12 +166,12 @@ //Checks your plasma levels and gives a handy message. /mob/living/carbon/xenomorph/proc/check_plasma(value) if(stat) - to_chat(src, SPAN_WARNING("You cannot do this in your current state.")) + to_chat(src, SPAN_WARNING("We cannot do this in our current state.")) return FALSE if(value) if(plasma_stored < value) - to_chat(src, SPAN_WARNING("You do not have enough plasma to do this. You require [value] plasma but have only [plasma_stored] stored.")) + to_chat(src, SPAN_WARNING("We do not have enough plasma to do this. We require [value] plasma but have only [plasma_stored] stored.")) return FALSE return TRUE @@ -283,37 +283,41 @@ var/mob/living/carbon/human/H = M if(H.check_shields(15, "the pounce")) //Human shield block. visible_message(SPAN_DANGER("[src] slams into [H]!"), - SPAN_XENODANGER("You slam into [H]!"), null, 5) - apply_effect(1, WEAKEN) + SPAN_XENODANGER("We slam into [H]!"), null, 5) + KnockDown(1) + Stun(1) throwing = FALSE //Reset throwing manually. playsound(H, "bonk", 75, FALSE) //bonk return if(isyautja(H)) if(H.check_shields(0, "the pounce", 1)) - visible_message(SPAN_DANGER("[H] blocks the pounce of [src] with the combistick!"), SPAN_XENODANGER("[H] blocks your pouncing form with the combistick!"), null, 5) + visible_message(SPAN_DANGER("[H] blocks the pounce of [src] with the combistick!"), SPAN_XENODANGER("[H] blocks our pouncing form with the combistick!"), null, 5) apply_effect(3, WEAKEN) throwing = FALSE playsound(H, "bonk", 75, FALSE) return else if(prob(75)) //Body slam the fuck out of xenos jumping at your front. visible_message(SPAN_DANGER("[H] body slams [src]!"), - SPAN_XENODANGER("[H] body slams you!"), null, 5) - apply_effect(3, WEAKEN) + SPAN_XENODANGER("[H] body slams us!"), null, 5) + KnockDown(3) + Stun(3) throwing = FALSE return if(iscolonysynthetic(H) && prob(60)) visible_message(SPAN_DANGER("[H] withstands being pounced and slams down [src]!"), - SPAN_XENODANGER("[H] throws you down after withstanding the pounce!"), null, 5) - apply_effect(1.5, WEAKEN) + SPAN_XENODANGER("[H] throws us down after withstanding the pounce!"), null, 5) + KnockDown(1.5) + Stun(1.5) throwing = FALSE return - visible_message(SPAN_DANGER("[src] [pounceAction.ability_name] onto [M]!"), SPAN_XENODANGER("You [pounceAction.ability_name] onto [M]!"), null, 5) + visible_message(SPAN_DANGER("[src] [pounceAction.ability_name] onto [M]!"), SPAN_XENODANGER("We [pounceAction.ability_name] onto [M]!"), null, 5) if (pounceAction.knockdown) - M.apply_effect(pounceAction.knockdown_duration, WEAKEN) + M.KnockDown(pounceAction.knockdown_duration) + M.Stun(pounceAction.knockdown_duration) // To replicate legacy behavior. Otherwise M39 Armbrace users for example can still shoot step_to(src, M) if (pounceAction.freeze_self) @@ -398,13 +402,13 @@ victim.forceMove(get_true_turf(loc)) visible_message(SPAN_XENOWARNING("[src] hurls out the contents of their stomach!"), \ - SPAN_XENOWARNING("You hurl out the contents of your stomach!"), null, 5) + SPAN_XENOWARNING("We hurl out the contents of our stomach!"), null, 5) playsound(get_true_location(loc), 'sound/voice/alien_drool2.ogg', 50, 1) if (stuns) victim.adjust_effect(2, STUN) else - to_chat(src, SPAN_WARNING("There's nothing in your belly that needs regurgitating.")) + to_chat(src, SPAN_WARNING("There's nothing in our belly that needs regurgitating.")) /mob/living/carbon/xenomorph/proc/check_alien_construction(turf/current_turf, check_blockers = TRUE, silent = FALSE, check_doors = TRUE) var/has_obstacle @@ -503,11 +507,11 @@ if(!Q || !Q.ovipositor || hive_pos == NORMAL_XENO || !Q.current_aura || Q.loc.z != loc.z) //We are no longer a leader, or the Queen attached to us has dropped from her ovi, disabled her pheromones or even died leader_aura_strength = 0 leader_current_aura = "" - to_chat(src, SPAN_XENOWARNING("Your pheromones wane. The Queen is no longer granting you her pheromones.")) + to_chat(src, SPAN_XENOWARNING("Our pheromones wane. The Queen is no longer granting us her pheromones.")) else leader_aura_strength = Q.aura_strength leader_current_aura = Q.current_aura - to_chat(src, SPAN_XENOWARNING("Your pheromones have changed. The Queen has new plans for the Hive.")) + to_chat(src, SPAN_XENOWARNING("Our pheromones have changed. The Queen has new plans for the Hive.")) hud_set_pheromone() /mob/living/carbon/xenomorph/proc/nocrit(wowave) @@ -595,7 +599,7 @@ burn_amount *= 0.5 apply_damage(burn_amount, BURN) - to_chat(src, SPAN_DANGER("Your flesh, it melts!")) + to_chat(src, SPAN_DANGER("Our flesh, it melts!")) updatehealth() return TRUE @@ -621,7 +625,7 @@ return target.xenos_tracking |= src tracked_marker = target - to_chat(src, SPAN_XENONOTICE("You start tracking the [target.mark_meaning.name] resin mark.")) + to_chat(src, SPAN_XENONOTICE("We start tracking the [target.mark_meaning.name] resin mark.")) to_chat(src, SPAN_INFO("Shift click the compass to watch the mark, alt click to stop tracking")) /mob/living/carbon/xenomorph/proc/stop_tracking_resin_mark(destroyed, silent = FALSE) //tracked_marker shouldnt be nulled outside this PROC!! >:C @@ -639,7 +643,7 @@ if(destroyed) to_chat(src, SPAN_XENONOTICE("The [tracked_marker.mark_meaning.name] resin mark has ceased to exist.")) else - to_chat(src, SPAN_XENONOTICE("You stop tracking the [tracked_marker.mark_meaning.name] resin mark.")) + to_chat(src, SPAN_XENONOTICE("We stop tracking the [tracked_marker.mark_meaning.name] resin mark.")) tracked_marker.xenos_tracking -= src tracked_marker = null @@ -712,3 +716,32 @@ /mob/living/carbon/xenomorph/lying_angle_on_lying_down(new_lying_angle) return // Do not rotate xenos around on the floor, their sprite is already top-down'ish + +/** + * Helper procedure for throwing other carbon based mobs around + * Pretty much a wrapper to [/atom/movable/proc/throw_atom] with extra handling + * + * * target - the target carbon mob that will be thrown + * * direction - the direction the target will be thrown toward, or if null, infered from relative position with target + * * distance - the total distance the throw will be made for + * * speed - throw_atom relative speed of the throw, check [SPEED_AVERAGE] for details + * * shake_camera - whether to shake the thrown mob camera on throw + * * immobilize - if TRUE the mob will be immobilized during the throw, ensuring it doesn't move and break it + */ +/mob/living/carbon/xenomorph/proc/throw_carbon(mob/living/carbon/target, direction, distance, speed = SPEED_VERY_FAST, shake_camera = TRUE, immobilize = TRUE) + if(!direction) + direction = get_dir(src, target) + var/turf/target_destination = get_ranged_target_turf(target, direction, distance) + + var/list/end_throw_callbacks + if(immobilize) + end_throw_callbacks = list(CALLBACK(src, PROC_REF(throw_carbon_end), target)) + ADD_TRAIT(target, TRAIT_IMMOBILIZED, XENO_THROW_TRAIT) + + target.throw_atom(target_destination, distance, speed, src, spin = TRUE, end_throw_callbacks = end_throw_callbacks) + if(shake_camera) + shake_camera(target, 10, 1) + +/// Handler callback to reset immobilization status after a successful [/mob/living/carbon/xenomorph/proc/throw_carbon] +/mob/living/carbon/xenomorph/proc/throw_carbon_end(mob/living/carbon/target) + REMOVE_TRAIT(target, TRAIT_IMMOBILIZED, XENO_THROW_TRAIT) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index cc0065733e21..e54383a07b9d 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -252,13 +252,9 @@ var/pounce_distance = 0 // Life reduction variables. - var/life_stun_reduction = -1.5 - var/life_knockdown_reduction = -1.5 - var/life_knockout_reduction = -1.5 var/life_daze_reduction = -1.5 var/life_slow_reduction = -1.5 - ////////////////////////////////////////////////////////////////// // // Misc. State - poorly modularized @@ -968,7 +964,7 @@ caste.aura_strength = 0 if(aura_strength == 0 && current_aura) current_aura = null - to_chat(src, SPAN_XENOWARNING("You lose your pheromones.")) + to_chat(src, SPAN_XENOWARNING("We lose our pheromones.")) // Also recalculate received pheros now for(var/capped_aura in received_phero_caps) @@ -1012,25 +1008,24 @@ return visible_message(SPAN_DANGER("[src] has successfully extinguished themselves!"), \ - SPAN_NOTICE("You extinguish yourself."), null, 5) + SPAN_NOTICE("We extinguish ourselves."), null, 5) /mob/living/carbon/xenomorph/resist_restraints() + if(!legcuffed) + return var/breakouttime = legcuffed.breakouttime - next_move = world.time + 100 - last_special = world.time + 10 + next_move = world.time + 10 SECONDS + last_special = world.time + 1 SECONDS var/displaytime = max(1, round(breakouttime / 600)) //Minutes - to_chat(src, SPAN_WARNING("You attempt to remove [legcuffed]. (This will take around [displaytime] minute(s) and you need to stand still)")) - for(var/mob/O in viewers(src)) - O.show_message(SPAN_DANGER("[usr] attempts to remove [legcuffed]!"), SHOW_MESSAGE_VISIBLE) - if(!do_after(src, breakouttime, INTERRUPT_NO_NEEDHAND^INTERRUPT_RESIST, BUSY_ICON_HOSTILE)) + visible_message(SPAN_DANGER("[src] attempts to remove [legcuffed]!"), + SPAN_WARNING("We attempt to remove [legcuffed]. (This will take around [displaytime] minute\s and we must stand still)")) + if(!do_after(src, breakouttime, INTERRUPT_NO_NEEDHAND ^ INTERRUPT_RESIST, BUSY_ICON_HOSTILE)) return if(!legcuffed || buckled) - return // time leniency for lag which also might make this whole thing pointless but the server - for(var/mob/O in viewers(src))// lags so hard that 40s isn't lenient enough - Quarxink - O.show_message(SPAN_DANGER("[src] manages to remove [legcuffed]!"), SHOW_MESSAGE_VISIBLE) - to_chat(src, SPAN_NOTICE(" You successfully remove [legcuffed].")) + return + visible_message(SPAN_DANGER("[src] manages to remove [legcuffed]!"), SPAN_NOTICE("We successfully remove [legcuffed].")) drop_inv_item_on_ground(legcuffed) /mob/living/carbon/xenomorph/IgniteMob() @@ -1088,24 +1083,19 @@ var/move_dir = get_dir(src, loc) for(var/atom/movable/atom in get_turf(current_structure)) if(atom != current_structure && atom.density && atom.BlockedPassDirs(src, move_dir)) - to_chat(src, SPAN_WARNING("[atom] prevents you from squeezing under [current_structure]!")) + to_chat(src, SPAN_WARNING("[atom] prevents us from squeezing under [current_structure]!")) return FALSE // Is it an airlock? if(istype(current_structure, /obj/structure/machinery/door/airlock)) var/obj/structure/machinery/door/airlock/current_airlock = current_structure if(current_airlock.locked || current_airlock.welded) //Can't pass through airlocks that have been bolted down or welded - to_chat(src, SPAN_WARNING("[current_airlock] is locked down tight. You can't squeeze underneath!")) + to_chat(src, SPAN_WARNING("[current_airlock] is locked down tight. We can't squeeze underneath!")) return FALSE visible_message(SPAN_WARNING("[src] scuttles underneath [current_structure]!"), \ - SPAN_WARNING("You squeeze and scuttle underneath [current_structure]."), max_distance = 5) + SPAN_WARNING("We squeeze and scuttle underneath [current_structure]."), max_distance = 5) forceMove(current_structure.loc) return TRUE -/mob/living/carbon/xenomorph/knocked_down_callback() - . = ..() - if(!resting) // !resting because we dont wanna prematurely update wounds if they're just trying to rest - update_wounds() - ///Generate a new unused nicknumber for the current hive, if hive doesn't exist return 0 /mob/living/carbon/xenomorph/proc/generate_and_set_nicknumber() if(!hive) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm index 35024d7304af..7f3d886deb3a 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm @@ -5,14 +5,14 @@ if(istype(O,/obj/item/explosive/plastic)) var/obj/item/explosive/plastic/E = O if(E.plant_target && !E.plant_target.Adjacent(src)) - to_chat(src, SPAN_WARNING("You can't reach [O].")) + to_chat(src, SPAN_WARNING("We can't reach [O].")) return else to_chat(src, SPAN_WARNING("[O] is too far away.")) return if(!isturf(loc) || HAS_TRAIT(src, TRAIT_ABILITY_BURROWED)) - to_chat(src, SPAN_WARNING("You can't melt [O] from here!")) + to_chat(src, SPAN_WARNING("We can't melt [O] from here!")) return face_atom(O) @@ -31,15 +31,10 @@ if(isobj(O)) I = O - if(istype(I, /obj/structure/window_frame)) - var/obj/structure/window_frame/WF = I - if(WF.reinforced && acid_type != /obj/effect/xenomorph/acid/strong) - to_chat(src, SPAN_WARNING("This [O.name] is too tough to be melted by your weak acid.")) - return wait_time = I.get_applying_acid_time() if(wait_time == -1) - to_chat(src, SPAN_WARNING("You cannot dissolve \the [I].")) + to_chat(src, SPAN_WARNING("We cannot dissolve \the [I].")) return //TURF CHECK @@ -54,13 +49,13 @@ var/dissolvability = T.can_be_dissolved() switch(dissolvability) if(0) - to_chat(src, SPAN_WARNING("You cannot dissolve [T].")) + to_chat(src, SPAN_WARNING("We cannot dissolve [T].")) return if(1) wait_time = 50 if(2) if(acid_type != /obj/effect/xenomorph/acid/strong) - to_chat(src, SPAN_WARNING("This [T.name] is too tough to be melted by your weak acid.")) + to_chat(src, SPAN_WARNING("This [T.name] is too tough to be melted by our weak acid.")) return wait_time = 100 else @@ -69,7 +64,7 @@ var/turf/closed/wall/W = T // Direction from wall to the mob generating acid on the wall turf - var/ambiguous_dir_msg = SPAN_XENOWARNING("You are unsure which direction to melt through [W]. Face it directly and try again.") + var/ambiguous_dir_msg = SPAN_XENOWARNING("We are unsure which direction to melt through [W]. Face it directly and try again.") var/dir_to = get_dir(src, W) switch(dir_to) if(WEST, EAST, NORTH, SOUTH) @@ -94,9 +89,9 @@ return var/acided_hole_type = W.acided_hole_dir & (EAST|WEST) ? "a hole horizontally" : "a hole vertically" - to_chat(src, SPAN_XENOWARNING("You begin generating enough acid to melt [acided_hole_type] through [W].")) + to_chat(src, SPAN_XENOWARNING("We begin generating enough acid to melt [acided_hole_type] through [W].")) else - to_chat(src, SPAN_XENOWARNING("You begin generating enough acid to melt through [T].")) + to_chat(src, SPAN_XENOWARNING("We begin generating enough acid to melt through [T].")) else to_chat(src, SPAN_WARNING("You cannot dissolve [O].")) return @@ -123,7 +118,7 @@ if(istype(O,/obj/item/explosive/plastic)) var/obj/item/explosive/plastic/E = O if(E.plant_target && !E.plant_target.Adjacent(src)) - to_chat(src, SPAN_WARNING("You can't reach [O].")) + to_chat(src, SPAN_WARNING("We can't reach [O].")) return else to_chat(src, SPAN_WARNING("[O] is too far away.")) @@ -137,7 +132,7 @@ var/obj/vehicle/multitile/R = O R.take_damage_type(40 / A.acid_delay, "acid", src) visible_message(SPAN_XENOWARNING("[src] vomits globs of vile stuff at \the [O]. It sizzles under the bubbling mess of acid!"), \ - SPAN_XENOWARNING("You vomit globs of vile stuff at [O]. It sizzles under the bubbling mess of acid!"), null, 5) + SPAN_XENOWARNING("We vomit globs of vile stuff at [O]. It sizzles under the bubbling mess of acid!"), null, 5) playsound(loc, "sound/bullets/acid_impact1.ogg", 25) QDEL_IN(A, 20) return @@ -157,7 +152,7 @@ msg_admin_attack("[src.name] ([src.ckey]) spat acid on [O] in [get_area(src)] ([src.loc.x],[src.loc.y],[src.loc.z]).", src.loc.x, src.loc.y, src.loc.z) attack_log += text("\[[time_stamp()]\] Spat acid on [O]") visible_message(SPAN_XENOWARNING("[src] vomits globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!"), \ - SPAN_XENOWARNING("You vomit globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!"), null, 5) + SPAN_XENOWARNING("We vomit globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!"), null, 5) playsound(loc, "sound/bullets/acid_impact1.ogg", 25) /proc/unroot_human(mob/living/carbon/H, trait_source) @@ -169,24 +164,7 @@ if(ishuman(H)) var/mob/living/carbon/human/T = H T.update_xeno_hostile_hud() - to_chat(H, SPAN_XENOHIGHDANGER("You can move again!")) - -/proc/xeno_throw_human(mob/living/carbon/H, mob/living/carbon/xenomorph/X, direction, distance, shake_camera = TRUE) - if (!istype(H) || !istype(X) || !direction || !distance) - return - - var/turf/T = get_turf(H) - var/turf/temp = get_turf(H) - for (var/x in 0 to distance) - temp = get_step(T, direction) - if (!temp) - break - T = temp - - H.throw_atom(T, distance, SPEED_VERY_FAST, X, TRUE) - if(!shake_camera) - return - shake_camera(H, 10, 1) + to_chat(H, SPAN_XENOHIGHDANGER("We can move again!")) /mob/living/carbon/xenomorph/proc/zoom_in() if(stat || resting) @@ -331,8 +309,8 @@ if(!check_can_transfer_plasma(target, max_range)) return - to_chat(src, SPAN_NOTICE("You start focusing your plasma towards [target].")) - to_chat(target, SPAN_NOTICE("You feel that [src] starts transferring some of their plasma to you.")) + to_chat(src, SPAN_NOTICE("We start focusing our plasma towards [target].")) + to_chat(target, SPAN_NOTICE("We feel that [src] starts transferring some of their plasma to us.")) if(!do_after(src, transfer_delay, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) return @@ -343,8 +321,8 @@ amount = plasma_stored //Just use all of it use_plasma(amount) target.gain_plasma(amount) - to_chat(target, SPAN_XENOWARNING("[src] has transfered [amount] plasma to you. You now have [target.plasma_stored].")) - to_chat(src, SPAN_XENOWARNING("You have transferred [amount] plasma to [target]. You now have [plasma_stored].")) + to_chat(target, SPAN_XENOWARNING("[src] has transfered [amount] plasma to us. We now have [target.plasma_stored].")) + to_chat(src, SPAN_XENOWARNING("We have transferred [amount] plasma to [target]. We now have [plasma_stored].")) playsound(src, "alien_drool", 25) /mob/living/carbon/xenomorph/proc/check_can_transfer_plasma(mob/living/carbon/xenomorph/target, max_range) @@ -356,19 +334,19 @@ return FALSE if(!isturf(loc)) - to_chat(src, SPAN_WARNING("You can't transfer plasma from here!")) + to_chat(src, SPAN_WARNING("We can't transfer plasma from here!")) return FALSE if(get_dist(src, target) > max_range) - to_chat(src, SPAN_WARNING("You need to be closer to [target].")) + to_chat(src, SPAN_WARNING("We need to be closer to [target].")) return FALSE if(HAS_TRAIT(target, TRAIT_ABILITY_OVIPOSITOR)) - to_chat(src, SPAN_WARNING("You can't transfer plasma to a queen mounted on her ovipositor.")) + to_chat(src, SPAN_WARNING("We can't transfer plasma to a queen mounted on her ovipositor.")) return FALSE if(HAS_TRAIT(target, TRAIT_ABILITY_NO_PLASMA_TRANSFER)) - to_chat(src, SPAN_WARNING("You can't transfer plasma to \the [target].")) + to_chat(src, SPAN_WARNING("We can't transfer plasma to \the [target].")) return FALSE if(target.plasma_max == XENO_NO_PLASMA) @@ -376,7 +354,7 @@ return FALSE if(target == src) - to_chat(src, SPAN_WARNING("You can't transfer plasma to yourself!")) + to_chat(src, SPAN_WARNING("We can't transfer plasma to ourself!")) return FALSE return TRUE diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm index 4430a1619e03..e7f72e7e013e 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_abilities.dm @@ -13,7 +13,7 @@ macro_path = /datum/action/xeno_action/verb/verb_acid_lance action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 190 + xeno_cooldown = 19 SECONDS // Config var/stack_time = 10 @@ -52,7 +52,7 @@ name = "Bombard" ability_name = "Bombard" action_icon_state = "bombard" - cooldown_message = "Your belly fills with another gas glob. You are are ready to bombard again." + cooldown_message = "Our belly fills with another gas glob. We are ready to bombard again." sound_to_play = 'sound/effects/blobattack.ogg' aim_turf = TRUE /// These are actions that will be placed on cooldown for the cooldown_duration when activates. Added acid shroud for now because it can be abused @@ -96,7 +96,7 @@ macro_path = /datum/action/xeno_action/verb/verb_boiler_trap action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 205 + xeno_cooldown = 20.5 SECONDS /// Config var/trap_ttl = 100 @@ -112,7 +112,7 @@ macro_path = /datum/action/xeno_action/verb/verb_acid_mine action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 55 + xeno_cooldown = 5.5 SECONDS var/empowered = FALSE @@ -127,7 +127,7 @@ macro_path = /datum/action/xeno_action/verb/verb_acid_shotgun action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS var/ammo_type = /datum/ammo/xeno/acid_shotgun diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm index e77d22350463..cc4e95421ab8 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/boiler/boiler_powers.dm @@ -17,7 +17,7 @@ return xeno.create_empower() - xeno.visible_message(SPAN_XENODANGER("[xeno] starts to gather its acid for a massive blast!"), SPAN_XENODANGER("You start to gather your acid for a massive blast!")) + xeno.visible_message(SPAN_XENODANGER("[xeno] starts to gather its acid for a massive blast!"), SPAN_XENODANGER("We start to gather our acid for a massive blast!")) activated_once = TRUE stack() addtimer(CALLBACK(src, PROC_REF(timeout)), max_stacks*stack_time + time_after_max_before_end) @@ -54,8 +54,8 @@ new /obj/effect/xenomorph/acid_damage_delay(turf, damage, 7, FALSE, "You are blasted with a stream of high-velocity acid!", xeno) - xeno.visible_message(SPAN_XENODANGER("[xeno] fires a massive blast of acid at [affected_atom]!"), SPAN_XENODANGER("You fire a massive blast of acid at [affected_atom]!")) - remove_stack_effects("You feel your speed return to normal!") + xeno.visible_message(SPAN_XENODANGER("[xeno] fires a massive blast of acid at [affected_atom]!"), SPAN_XENODANGER("We fire a massive blast of acid at [affected_atom]!")) + remove_stack_effects("We feel our speed return to normal!") return TRUE /datum/action/xeno_action/activable/acid_lance/proc/stack() @@ -74,7 +74,7 @@ addtimer(CALLBACK(src, PROC_REF(stack)), stack_time) return else - to_chat(xeno, SPAN_XENOHIGHDANGER("You have charged your acid lance to maximum!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We have charged our acid lance to maximum!")) return /datum/action/xeno_action/activable/acid_lance/proc/remove_stack_effects(message = null) @@ -97,7 +97,7 @@ /datum/action/xeno_action/activable/acid_lance/proc/timeout() if (activated_once) activated_once = FALSE - remove_stack_effects("You have waited too long and can no longer use your acid lance!") + remove_stack_effects("We have waited too long and can no longer use our acid lance!") /datum/action/xeno_action/activable/acid_lance/action_cooldown_check() @@ -132,7 +132,7 @@ addtimer(VARSET_CALLBACK(src, sound_play, TRUE), 2 SECONDS) if (!do_after(xeno, xeno.ammo.spit_windup/6.5, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE, numticks = 2)) /// 0.7 seconds - to_chat(xeno, SPAN_XENODANGER("You decide to cancel your gas shroud.")) + to_chat(xeno, SPAN_XENODANGER("We decide to cancel our gas shroud.")) return playsound(xeno,"acid_sizzle", 50, 1) @@ -146,7 +146,7 @@ var/datum/cause_data/cause_data = create_cause_data("acid shroud gas", owner) spicy_gas.set_up(1, 0, get_turf(xeno), null, 6, new_cause_data = cause_data) spicy_gas.start() - to_chat(xeno, SPAN_XENOHIGHDANGER("You dump your acid through your pores, creating a shroud of gas!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We dump our acid through our pores, creating a shroud of gas!")) for (var/action_type in action_types_to_cd) var/datum/action/xeno_action/xeno_action = get_xeno_action_by_type(xeno, action_type) @@ -177,7 +177,7 @@ return if (!can_see(xeno, affected_atom, TRAPPER_VIEWRANGE)) - to_chat(xeno, SPAN_XENODANGER("You cannot see that location!")) + to_chat(xeno, SPAN_XENODANGER("We cannot see that location!")) return if (!check_and_use_plasma_owner()) @@ -222,7 +222,7 @@ if(!mine.empowered) mine.empowered = TRUE mine.button.overlays += "+empowered" - to_chat(xeno, SPAN_XENODANGER("You tap in your reserves to prepare a stronger [mine.name]!")) + to_chat(xeno, SPAN_XENODANGER("We tap into our reserves to prepare a stronger [mine.name]!")) apply_cooldown() return ..() @@ -254,7 +254,7 @@ if(empowered) acid_bolt_message = "a powerful bolt of acid" - xeno.visible_message(SPAN_XENODANGER("[xeno] fires " + acid_bolt_message + " at [affected_atom]!"), SPAN_XENODANGER("You fire " + acid_bolt_message + " at [affected_atom]!")) + xeno.visible_message(SPAN_XENODANGER("[xeno] fires " + acid_bolt_message + " at [affected_atom]!"), SPAN_XENODANGER("We fire " + acid_bolt_message + " at [affected_atom]!")) new /obj/effect/xenomorph/acid_damage_delay/boiler_landmine(turf, damage, delay, empowered, "You are blasted with " + acid_bolt_message + "!", xeno) for (var/turf/target_turf in orange(1, turf)) @@ -278,7 +278,7 @@ if(!affected_atom || affected_atom.layer >= FLY_LAYER || !isturf(xeno.loc) || !xeno.check_state()) return - xeno.visible_message(SPAN_XENOWARNING("[xeno] fires a blast of acid at [affected_atom]!"), SPAN_XENOWARNING("You fire a blast of acid at [affected_atom]!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] fires a blast of acid at [affected_atom]!"), SPAN_XENOWARNING("We fire a blast of acid at [affected_atom]!")) var/turf/target_turf = locate(affected_atom.x, affected_atom.y, affected_atom.z) var/obj/projectile/proj = new(xeno.loc, create_cause_data("acid shotgun", xeno)) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/burrower/burrower_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/burrower/burrower_powers.dm index 3276705ce9b7..152115cd7c8b 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/burrower/burrower_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/burrower/burrower_powers.dm @@ -17,11 +17,11 @@ return if(istype(current_turf, /turf/open/floor/almayer/research/containment) || istype(current_turf, /turf/closed/wall/almayer/research/containment)) - to_chat(src, SPAN_XENOWARNING("You can't escape this cell!")) + to_chat(src, SPAN_XENOWARNING("We can't escape this cell!")) return if(clone) //Prevents burrowing on stairs - to_chat(src, SPAN_XENOWARNING("You can't burrow here!")) + to_chat(src, SPAN_XENOWARNING("We can't burrow here!")) return if(caste_type && GLOB.xeno_datum_list[caste_type]) @@ -29,12 +29,12 @@ used_burrow = TRUE - to_chat(src, SPAN_XENOWARNING("You begin burrowing yourself into the ground.")) + to_chat(src, SPAN_XENOWARNING("We begin burrowing ourselves into the ground.")) if(!do_after(src, 1.5 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) addtimer(CALLBACK(src, PROC_REF(do_burrow_cooldown)), (caste ? caste.burrow_cooldown : 5 SECONDS)) return // TODO Make immune to all damage here. - to_chat(src, SPAN_XENOWARNING("You burrow yourself into the ground.")) + to_chat(src, SPAN_XENOWARNING("We burrow ourselves into the ground.")) invisibility = 101 anchored = TRUE if(caste.fire_immunity == FIRE_IMMUNITY_NONE) @@ -84,7 +84,7 @@ /mob/living/carbon/xenomorph/proc/do_burrow_cooldown() used_burrow = FALSE if(HAS_TRAIT(src, TRAIT_ABILITY_BURROWED)) - to_chat(src, SPAN_NOTICE("You can now surface.")) + to_chat(src, SPAN_NOTICE("We can now surface.")) for(var/X in actions) var/datum/action/act = X act.update_button_icon() @@ -95,34 +95,34 @@ return if(!HAS_TRAIT(src, TRAIT_ABILITY_BURROWED)) - to_chat(src, SPAN_NOTICE("You must be burrowed to do this.")) + to_chat(src, SPAN_NOTICE("We must be burrowed to do this.")) return if(tunnel) tunnel = FALSE - to_chat(src, SPAN_NOTICE("You stop tunneling.")) + to_chat(src, SPAN_NOTICE("We stop tunneling.")) used_tunnel = TRUE addtimer(CALLBACK(src, PROC_REF(do_tunnel_cooldown)), (caste ? caste.tunnel_cooldown : 5 SECONDS)) return if(used_tunnel) - to_chat(src, SPAN_NOTICE("You must wait some time to do this.")) + to_chat(src, SPAN_NOTICE("We must wait some time to do this.")) return if(!T) - to_chat(src, SPAN_NOTICE("You can't tunnel there!")) + to_chat(src, SPAN_NOTICE("We can't tunnel there!")) return if(T.density) - to_chat(src, SPAN_XENOWARNING("You can't tunnel into a solid wall!")) + to_chat(src, SPAN_XENOWARNING("We can't tunnel into a solid wall!")) return if(istype(T, /turf/open/space)) - to_chat(src, SPAN_XENOWARNING("You make tunnels, not wormholes!")) + to_chat(src, SPAN_XENOWARNING("We make tunnels, not wormholes!")) return if(clone) //Prevents tunnels in Z transition areas - to_chat(src, SPAN_XENOWARNING("You make tunnels, not wormholes!")) + to_chat(src, SPAN_XENOWARNING("We make tunnels, not wormholes!")) return var/area/A = get_area(T) @@ -134,13 +134,13 @@ if(O.density) if(O.flags_atom & ON_BORDER) continue - to_chat(src, SPAN_WARNING("There's something solid there to stop you emerging.")) + to_chat(src, SPAN_WARNING("There's something solid there to stop us from emerging.")) return if(!T || T.density) - to_chat(src, SPAN_NOTICE("You cannot tunnel to there!")) + to_chat(src, SPAN_NOTICE("We cannot tunnel to there!")) tunnel = TRUE - to_chat(src, SPAN_NOTICE("You start tunneling!")) + to_chat(src, SPAN_NOTICE("We start tunneling!")) tunnel_timer = (get_dist(src, T)*10) + world.time process_tunnel(T) @@ -156,14 +156,14 @@ addtimer(CALLBACK(src, PROC_REF(process_tunnel), T), 1 SECONDS) /mob/living/carbon/xenomorph/proc/do_tunnel(turf/T) - to_chat(src, SPAN_NOTICE("You tunnel to your destination.")) + to_chat(src, SPAN_NOTICE("We tunnel to your destination.")) anchored = FALSE forceMove(T) burrow_off() /mob/living/carbon/xenomorph/proc/do_tunnel_cooldown() used_tunnel = FALSE - to_chat(src, SPAN_NOTICE("You can now tunnel while burrowed.")) + to_chat(src, SPAN_NOTICE("We can now tunnel while burrowed.")) for(var/X in actions) var/datum/action/act = X act.update_button_icon() @@ -191,14 +191,14 @@ /mob/living/carbon/xenomorph/proc/tremor() //More support focused version of crusher earthquakes. if(HAS_TRAIT(src, TRAIT_ABILITY_BURROWED) || is_ventcrawling) - to_chat(src, SPAN_XENOWARNING("You must be above ground to do this.")) + to_chat(src, SPAN_XENOWARNING("We must be above ground to do this.")) return if(!check_state()) return if(used_tremor) - to_chat(src, SPAN_XENOWARNING("Your aren't ready to cause more tremors yet!")) + to_chat(src, SPAN_XENOWARNING("We aren't ready to cause more tremors yet!")) return if(!check_plasma(100)) return @@ -206,7 +206,7 @@ use_plasma(100) playsound(loc, 'sound/effects/alien_footstep_charge3.ogg', 75, 0) visible_message(SPAN_XENODANGER("[src] digs itself into the ground and shakes the earth itself, causing violent tremors!"), \ - SPAN_XENODANGER("You dig into the ground and shake it around, causing violent tremors!")) + SPAN_XENODANGER("We dig into the ground and shake it around, causing violent tremors!")) create_stomp() //Adds the visual effect. Wom wom wom used_tremor = 1 @@ -222,7 +222,7 @@ spawn(caste.tremor_cooldown) used_tremor = 0 - to_chat(src, SPAN_NOTICE("You gather enough strength to cause tremors again.")) + to_chat(src, SPAN_NOTICE("We gather enough strength to cause tremors again.")) for(var/X in actions) var/datum/action/act = X act.update_button_icon() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/carrier/carrier_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/carrier/carrier_powers.dm index 1ee32225a40d..28d025869646 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/carrier/carrier_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/carrier/carrier_powers.dm @@ -11,5 +11,5 @@ /datum/action/xeno_action/onclick/set_hugger_reserve/use_ability(atom/Atom) var/mob/living/carbon/xenomorph/carrier/carrier = owner carrier.huggers_reserved = tgui_input_number(usr, "How many facehuggers would you like to keep safe from Observers wanting to join as facehuggers?", "How many to reserve?", 0, carrier.huggers_max, carrier.huggers_reserved) - to_chat(carrier, SPAN_XENONOTICE("You reserved [carrier.huggers_reserved] facehuggers for yourself.")) + to_chat(carrier, SPAN_XENONOTICE("We reserve [carrier.huggers_reserved] facehuggers for ourself.")) return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm index 63051a94efa9..4691d70321c3 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_abilities.dm @@ -39,7 +39,7 @@ macro_path = /datum/action/xeno_action/verb/verb_crusher_stomp action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 180 + xeno_cooldown = 18 SECONDS plasma_cost = 30 var/damage = 65 @@ -184,7 +184,7 @@ for(var/mob/living/carbon/human/Mob in Xeno.loc) if(Mob.body_position == LYING_DOWN && Mob.stat != DEAD) Xeno.visible_message(SPAN_DANGER("[Xeno] runs [Mob] over!"), - SPAN_DANGER("You run [Mob] over!") + SPAN_DANGER("We run [Mob] over!") ) var/ram_dir = pick(get_perpen_dir(Xeno.dir)) var/dist = 1 @@ -271,13 +271,13 @@ /datum/action/xeno_action/activable/tumble/proc/handle_mob_collision(mob/living/carbon/Mob) var/mob/living/carbon/xenomorph/Xeno = owner - Xeno.visible_message(SPAN_XENODANGER("[Xeno] Sweeps to the side, knocking down [Mob]!"), SPAN_XENODANGER("You knock over [Mob] as you sweep to the side!")) + Xeno.visible_message(SPAN_XENODANGER("[Xeno] Sweeps to the side, knocking down [Mob]!"), SPAN_XENODANGER("We knock over [Mob] as we sweep to the side!")) var/turf/target_turf = get_turf(Mob) playsound(Mob,'sound/weapons/alien_claw_block.ogg', 50, 1) Mob.apply_damage(15,BRUTE) if(ishuman(Mob)) var/mob/living/carbon/human/Human = Mob - xeno_throw_human(Human, Xeno, get_dir(Xeno, Human), 1) + Xeno.throw_carbon(Human, distance = 1) Human.apply_effect(1, WEAKEN) else Mob.apply_effect(1, WEAKEN) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm index 34a9a4833fec..4ac166c58c69 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/crusher/crusher_powers.dm @@ -25,10 +25,10 @@ X.emote("roar") L.apply_effect(2, WEAKEN) - X.visible_message(SPAN_XENODANGER("[X] overruns [H], brutally trampling them underfoot!"), SPAN_XENODANGER("You brutalize [H] as you crush them underfoot!")) + X.visible_message(SPAN_XENODANGER("[X] overruns [H], brutally trampling them underfoot!"), SPAN_XENODANGER("We brutalize [H] as we crush them underfoot!")) H.apply_armoured_damage(get_xeno_damage_slash(H, direct_hit_damage), ARMOR_MELEE, BRUTE) - xeno_throw_human(H, X, X.dir, 3) + X.throw_carbon(H, X.dir, 3) H.last_damage_data = create_cause_data(X.caste_type, X) return @@ -110,7 +110,7 @@ return playsound(get_turf(X), 'sound/effects/bang.ogg', 25, 0) - X.visible_message(SPAN_XENODANGER("[X] smashes into the ground!"), SPAN_XENODANGER("You smash into the ground!")) + X.visible_message(SPAN_XENODANGER("[X] smashes into the ground!"), SPAN_XENODANGER("We smash into the ground!")) X.create_stomp() for (var/mob/living/carbon/H in get_turf(X)) @@ -154,7 +154,7 @@ return playsound(get_turf(Xeno), 'sound/effects/bang.ogg', 25, 0) - Xeno.visible_message(SPAN_XENODANGER("[Xeno] smashes into the ground!"), SPAN_XENODANGER("You smash into the ground!")) + Xeno.visible_message(SPAN_XENODANGER("[Xeno] smashes into the ground!"), SPAN_XENODANGER("We smash into the ground!")) Xeno.create_stomp() for (var/mob/living/carbon/Human in get_turf(Xeno)) // MOBS ONTOP @@ -199,7 +199,7 @@ if (!check_and_use_plasma_owner()) return - xeno.visible_message(SPAN_XENOWARNING("[xeno] hunkers down and bolsters its defenses!"), SPAN_XENOHIGHDANGER("You hunker down and bolster your defenses!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] hunkers down and bolsters its defenses!"), SPAN_XENOHIGHDANGER("We hunker down and bolster our defenses!")) button.icon_state = "template_active" xeno.create_crusher_shield() @@ -223,7 +223,7 @@ xeno.explosivearmor_modifier -= 1000 xeno.recalculate_armor() - to_chat(xeno, SPAN_XENODANGER("Your immunity to explosion damage ends!")) + to_chat(xeno, SPAN_XENODANGER("Our immunity to explosion damage ends!")) /datum/action/xeno_action/onclick/crusher_shield/proc/remove_shield() var/mob/living/carbon/xenomorph/xeno = owner @@ -239,7 +239,7 @@ if (istype(found)) found.on_removal() qdel(found) - to_chat(xeno, SPAN_XENOHIGHDANGER("You feel your enhanced shield end!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We feel our enhanced shield end!")) button.icon_state = "template" xeno.overlay_shields() @@ -249,7 +249,7 @@ activated = !activated var/will_charge = "[activated ? "now" : "no longer"]" - to_chat(Xeno, SPAN_XENONOTICE("You will [will_charge] charge when moving.")) + to_chat(Xeno, SPAN_XENONOTICE("We will [will_charge] charge when moving.")) if(activated) RegisterSignal(Xeno, COMSIG_MOVABLE_MOVED, PROC_REF(handle_movement)) RegisterSignal(Xeno, COMSIG_LIVING_SET_BODY_POSITION, PROC_REF(handle_position_change)) @@ -294,7 +294,7 @@ if(!target_dir) return - Xeno.visible_message(SPAN_XENOWARNING("[Xeno] tumbles over to the side!"), SPAN_XENOHIGHDANGER("You tumble over to the side!")) + Xeno.visible_message(SPAN_XENOWARNING("[Xeno] tumbles over to the side!"), SPAN_XENOHIGHDANGER("We tumble over to the side!")) Xeno.spin(5,1) // note: This spins the sprite and DOES NOT affect directional armor var/start_charging = HAS_TRAIT(Xeno, TRAIT_CHARGING) SEND_SIGNAL(Xeno, COMSIG_XENO_STOP_MOMENTUM) @@ -302,17 +302,11 @@ playsound(Xeno,"alien_tail_swipe", 50, 1) Xeno.use_plasma(plasma_cost) - var/datum/launch_metadata/LM = new() - LM.target = get_step(get_step(Xeno, target_dir), target_dir) - LM.range = target_dist - LM.speed = SPEED_FAST - LM.thrower = Xeno - LM.spin = FALSE - LM.pass_flags = PASS_CRUSHER_CHARGE - LM.collision_callbacks = list(/mob/living/carbon/human = CALLBACK(src, PROC_REF(handle_mob_collision))) - LM.end_throw_callbacks = list(CALLBACK(src, PROC_REF(on_end_throw), start_charging)) - - Xeno.launch_towards(LM) + + var/target = get_step(get_step(Xeno, target_dir), target_dir) + var/list/collision_callbacks = list(/mob/living/carbon/human = CALLBACK(src, PROC_REF(handle_mob_collision))) + var/list/end_throw_callbacks = list(CALLBACK(src, PROC_REF(on_end_throw), start_charging)) + Xeno.throw_atom(target, target_dist, SPEED_FAST, launch_type = LOW_LAUNCH, pass_flags = PASS_CRUSHER_CHARGE, end_throw_callbacks = end_throw_callbacks, collision_callbacks = collision_callbacks) apply_cooldown() return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm index 3949e4ac9b80..22d5f4b57aa2 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_abilities.dm @@ -18,7 +18,7 @@ macro_path = /datum/action/xeno_action/verb/verb_headbutt action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 40 + xeno_cooldown = 4 SECONDS /datum/action/xeno_action/onclick/tail_sweep name = "Tail Sweep" @@ -28,7 +28,7 @@ action_type = XENO_ACTION_ACTIVATE ability_primacy = XENO_PRIMARY_ACTION_3 plasma_cost = 10 - xeno_cooldown = 110 + xeno_cooldown = 11 SECONDS /datum/action/xeno_action/activable/fortify name = "Fortify" diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_powers.dm index 0709f2b17717..0cb803e67b96 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/defender/defender_powers.dm @@ -4,7 +4,7 @@ return if(xeno.fortify) - to_chat(xeno, SPAN_XENOWARNING("You cannot use abilities while fortified.")) + to_chat(xeno, SPAN_XENOWARNING("We cannot use abilities while fortified.")) return if(!xeno.check_state()) @@ -16,14 +16,14 @@ xeno.crest_defense = !xeno.crest_defense if(xeno.crest_defense) - to_chat(xeno, SPAN_XENOWARNING("You lower your crest.")) + to_chat(xeno, SPAN_XENOWARNING("We lower our crest.")) xeno.ability_speed_modifier += speed_debuff xeno.armor_deflection_buff += armor_buff xeno.mob_size = MOB_SIZE_BIG //knockback immune button.icon_state = "template_active" xeno.update_icons() else - to_chat(xeno, SPAN_XENOWARNING("You raise your crest.")) + to_chat(xeno, SPAN_XENOWARNING("We raise our crest.")) xeno.ability_speed_modifier -= speed_debuff xeno.armor_deflection_buff -= armor_buff xeno.mob_size = MOB_SIZE_XENO //no longer knockback immune @@ -52,7 +52,7 @@ return if(fendy.fortify && !(fendy.mutation_type == DEFENDER_STEELCREST)) - to_chat(fendy, SPAN_XENOWARNING("You cannot use headbutt while fortified.")) + to_chat(fendy, SPAN_XENOWARNING("We cannot use headbutt while fortified.")) return var/mob/living/carbon/carbone = target_atom @@ -75,7 +75,7 @@ carbone.last_damage_data = create_cause_data(fendy.caste_type, fendy) fendy.visible_message(SPAN_XENOWARNING("[fendy] rams [carbone] with its armored crest!"), \ - SPAN_XENOWARNING("You ram [carbone] with your armored crest!")) + SPAN_XENOWARNING("We ram [carbone] with our armored crest!")) if(carbone.stat != DEAD && (!(carbone.status_flags & XENO_HOST) || !HAS_TRAIT(carbone, TRAIT_NESTED)) ) var/h_damage = 30 - (fendy.crest_defense * 10) @@ -116,15 +116,15 @@ return if(xeno.fortify) - to_chat(src, SPAN_XENOWARNING("You cannot use tail swipe while fortified.")) + to_chat(src, SPAN_XENOWARNING("We cannot use tail swipe while fortified.")) return if(xeno.crest_defense) - to_chat(src, SPAN_XENOWARNING("You cannot use tail swipe with your crest lowered.")) + to_chat(src, SPAN_XENOWARNING("We cannot use tail swipe with our crest lowered.")) return xeno.visible_message(SPAN_XENOWARNING("[xeno] sweeps its tail in a wide circle!"), \ - SPAN_XENOWARNING("You sweep your tail in a wide circle!")) + SPAN_XENOWARNING("We sweep our tail in a wide circle!")) if(!check_and_use_plasma_owner()) return @@ -162,11 +162,11 @@ return if(xeno.crest_defense && xeno.mutation_type == DEFENDER_STEELCREST) - to_chat(src, SPAN_XENOWARNING("You cannot fortify while your crest is already down!")) + to_chat(src, SPAN_XENOWARNING("We cannot fortify while our crest is already down!")) return if(xeno.crest_defense) - to_chat(src, SPAN_XENOWARNING("You cannot use fortify with your crest lowered.")) + to_chat(src, SPAN_XENOWARNING("We cannot use fortify with our crest lowered.")) return if(!xeno.check_state()) @@ -208,7 +208,7 @@ return if(fortify_state) - to_chat(X, SPAN_XENOWARNING("You tuck yourself into a defensive stance.")) + to_chat(X, SPAN_XENOWARNING("We tuck ourself into a defensive stance.")) if(X.mutation_type == DEFENDER_STEELCREST) X.armor_deflection_buff += 10 X.armor_explosive_buff += 60 @@ -226,7 +226,7 @@ X.update_icons() X.fortify = TRUE else - to_chat(X, SPAN_XENOWARNING("You resume your normal stance.")) + to_chat(X, SPAN_XENOWARNING("We resume our normal stance.")) REMOVE_TRAIT(X, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Fortify")) X.anchored = FALSE if(X.mutation_type == DEFENDER_STEELCREST) @@ -274,9 +274,9 @@ RegisterSignal(steelcrest, COMSIG_XENO_TAKE_DAMAGE, PROC_REF(damage_accumulate)) addtimer(CALLBACK(src, PROC_REF(stop_accumulating)), 6 SECONDS) - steelcrest.balloon_alert(steelcrest, "begins to take in oncoming damage!") + steelcrest.balloon_alert(steelcrest, "begins to tank incoming damage!") - to_chat(steelcrest, SPAN_XENONOTICE("You begin to take in oncoming damage!")) + to_chat(steelcrest, SPAN_XENONOTICE("We begin to tank incoming damage!")) steelcrest.add_filter("steelcrest_enraging", 1, list("type" = "outline", "color" = "#421313", "size" = 1)) @@ -297,14 +297,14 @@ UnregisterSignal(owner, COMSIG_XENO_TAKE_DAMAGE) damage_accumulated = 0 - to_chat(owner, SPAN_XENONOTICE("You stop taking in oncoming damage.")) + to_chat(owner, SPAN_XENONOTICE("We stop taking incoming damage.")) owner.remove_filter("steelcrest_enraging") /datum/action/xeno_action/onclick/soak/proc/enraged() owner.remove_filter("steelcrest_enraging") owner.add_filter("steelcrest_enraged", 1, list("type" = "outline", "color" = "#ad1313", "size" = 1)) - owner.visible_message(SPAN_XENOWARNING("[owner] gets enraged after being damaged enough!"), SPAN_XENOWARNING("You feel enraged after taking in oncoming damage! Your tail slam's cooldown is reset and you heal!")) + owner.visible_message(SPAN_XENOWARNING("[owner] gets enraged after being damaged enough!"), SPAN_XENOWARNING("We feel enraged after taking in oncoming damage! Our tail slam's cooldown is reset and we heal!")) var/mob/living/carbon/xenomorph/enraged_mob = owner enraged_mob.gain_health(75) // pretty reasonable amount of health recovered diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm index 91bda707ec45..ee1fed3094a7 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_abilities.dm @@ -5,7 +5,7 @@ macro_path = /datum/action/xeno_action/verb/verb_pounce action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 30 + xeno_cooldown = 3 SECONDS plasma_cost = 0 // Config options diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_powers.dm index e76cc4322bdb..054762b3c7d4 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/facehugger/facehugger_powers.dm @@ -23,6 +23,6 @@ /datum/action/xeno_action/activable/pounce/facehugger/use_ability() for(var/obj/structure/machinery/door/airlock/current_airlock in get_turf(owner)) if(current_airlock.density) //if its CLOSED YOU'RE SCUTTLING AND CANNOT POUNCE!!! - to_chat(owner, SPAN_WARNING("You cannot do that while squeezing and scuttling!")) + to_chat(owner, SPAN_WARNING("We cannot do that while squeezing and scuttling!")) return FALSE return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm index 00a7ceaba97e..460a561fa801 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm @@ -254,7 +254,7 @@ REMOVE_TRAIT(X, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Pounce")) deltimer(freeze_timer_id) freeze_timer_id = TIMER_ID_NULL - to_chat(X, SPAN_XENONOTICE("Slashing frenzies you! You feel free to move immediately!")) + to_chat(X, SPAN_XENONOTICE("Slashing frenzies us! We feel free to move immediately!")) /// Any effects to apply to the xenomorph before the windup occurs /datum/action/xeno_action/activable/pounce/proc/pre_windup_effects() @@ -304,7 +304,7 @@ xeno.zoom_out() // will call on_zoom_out() return xeno.visible_message(SPAN_NOTICE("[xeno] starts looking off into the distance."), \ - SPAN_NOTICE("You start focusing your sight to look off into the distance."), null, 5) + SPAN_NOTICE("We start focusing our sight to look off into the distance."), null, 5) if (should_delay) if(!do_after(xeno, delay, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) return if(xeno.is_zoomed) @@ -321,7 +321,7 @@ /datum/action/xeno_action/onclick/toggle_long_range/proc/on_zoom_out() var/mob/living/carbon/xenomorph/xeno = owner xeno.visible_message(SPAN_NOTICE("[xeno] stops looking off into the distance."), \ - SPAN_NOTICE("You stop looking off into the distance."), null, 5) + SPAN_NOTICE("We stop looking off into the distance."), null, 5) if(movement_slowdown) xeno.speed_modifier -= movement_slowdown xeno.recalculate_speed() @@ -394,10 +394,12 @@ /// remove hide and apply modified attack cooldown /datum/action/xeno_action/onclick/xenohide/proc/post_attack() var/mob/living/carbon/xenomorph/xeno = owner + UnregisterSignal(xeno, COMSIG_MOB_STATCHANGE) if(xeno.layer == XENO_HIDING_LAYER) xeno.layer = initial(xeno.layer) button.icon_state = "template" xeno.update_wounds() + xeno.update_layer() apply_cooldown(4) //2 second cooldown after attacking /datum/action/xeno_action/onclick/xenohide/give_to(mob/living/living_mob) @@ -422,7 +424,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_5 -/datum/action/xeno_action/activable/place_construction/queen_macro //so it doesn't screw other macros up +/datum/action/xeno_action/activable/place_construction/not_primary //so it doesn't screw other macros up ability_primacy = XENO_NOT_PRIMARY_ACTION /datum/action/xeno_action/activable/xeno_spit @@ -432,7 +434,7 @@ macro_path = /datum/action/xeno_action/verb/verb_xeno_spit action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - cooldown_message = "You feel your neurotoxin glands swell with ichor. You can spit again." + cooldown_message = "We feel our neurotoxin glands swell with ichor. We can spit again." xeno_cooldown = 60 SECONDS /// Var that keeps track of in-progress wind-up spits like Bombard to prevent spitting multiple spits at the same time diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index 74a46a30e9ba..f57bd7990293 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -15,11 +15,11 @@ var/turf/turf = xeno.loc if(!istype(turf)) - to_chat(xeno, SPAN_WARNING("You can't do that here.")) + to_chat(xeno, SPAN_WARNING("We can't do that here.")) return if(turf.density) - to_chat(xeno, SPAN_WARNING("You can't do that here.")) + to_chat(xeno, SPAN_WARNING("We can't do that here.")) return var/is_weedable = turf.is_weedable() @@ -37,7 +37,7 @@ var/obj/effect/alien/resin/trap/resin_trap = locate() in turf if(resin_trap) - to_chat(xeno, SPAN_WARNING("You can't weed on top of a trap!")) + to_chat(xeno, SPAN_WARNING("We can't weed on top of a trap!")) return var/obj/effect/alien/weeds/weed = node || locate() in turf @@ -47,7 +47,7 @@ for(var/obj/structure/struct in turf) if(struct.density && !(struct.flags_atom & ON_BORDER)) // Not sure exactly if we need to test against ON_BORDER though - to_chat(xeno, SPAN_WARNING("You can't do that here.")) + to_chat(xeno, SPAN_WARNING("We can't do that here.")) return var/area/area = get_area(turf) @@ -66,7 +66,7 @@ to_convert = node.children.Copy() xeno.visible_message(SPAN_XENONOTICE("\The [xeno] regurgitates a pulsating node and plants it on the ground!"), \ - SPAN_XENONOTICE("You regurgitate a pulsating node and plant it on the ground!"), null, 5) + SPAN_XENONOTICE("We regurgitate a pulsating node and plant it on the ground!"), null, 5) var/obj/effect/alien/weeds/node/new_node = new node_type(xeno.loc, src, xeno) if(to_convert) @@ -86,15 +86,15 @@ return if(fortify) - to_chat(src, SPAN_WARNING("You cannot rest while fortified!")) + to_chat(src, SPAN_WARNING("We cannot rest while fortified!")) return if(HAS_TRAIT(src, TRAIT_ABILITY_BURROWED)) - to_chat(src, SPAN_WARNING("You cannot rest while burrowed!")) + to_chat(src, SPAN_WARNING("We cannot rest while burrowed!")) return if(crest_defense) - to_chat(src, SPAN_WARNING("You cannot rest while your crest is down!")) + to_chat(src, SPAN_WARNING("We cannot rest while our crest is down!")) return return ..() @@ -117,7 +117,7 @@ else X.ammo = GLOB.ammo_list[X.caste.spit_types[i+1]] break - to_chat(X, SPAN_NOTICE("You will now spit [X.ammo.name] ([X.ammo.spit_cost] plasma).")) + to_chat(X, SPAN_NOTICE("We will now spit [X.ammo.name] ([X.ammo.spit_cost] plasma).")) button.overlays.Cut() button.overlays += image('icons/mob/hud/actions_xeno.dmi', button, "shift_spit_[X.ammo.icon_state]") return ..() @@ -128,7 +128,7 @@ return if(!isturf(X.loc)) - to_chat(X, SPAN_WARNING("You cannot regurgitate here.")) + to_chat(X, SPAN_WARNING("We cannot regurgitate here.")) return if(X.stomach_contents.len) @@ -223,7 +223,7 @@ return var/datum/resin_construction/resin_construction = GLOB.resin_constructions_list[selected_type] if(to_chat) - to_chat(usr, SPAN_NOTICE("You will now build [resin_construction.construction_name]\s when secreting resin.")) + to_chat(usr, SPAN_NOTICE("We will now build [resin_construction.construction_name]\s when secreting resin.")) button.overlays.Cut() button.overlays += image('icons/mob/hud/actions_xeno.dmi', button, resin_construction.construction_name) @@ -265,7 +265,7 @@ return FALSE if(ismob(A)) //anticheese : if they click a mob, it will cancel. - to_chat(X, SPAN_XENOWARNING("You can't place resin markers on living things!")) + to_chat(X, SPAN_XENOWARNING("We can't place resin markers on living things!")) return FALSE //this is because xenos have thermal vision and can see mobs through walls - which would negate not being able to place them through walls if(isstorage(A.loc) || X.contains(A) || istype(A, /atom/movable/screen)) return FALSE @@ -275,7 +275,7 @@ to_chat(X, SPAN_XENOWARNING("This area is too far away to affect!")) return if(!X.hive.living_xeno_queen || X.hive.living_xeno_queen.z != X.z) - to_chat(X, SPAN_XENOWARNING("You have no queen, the psychic link is gone!")) + to_chat(X, SPAN_XENOWARNING("We have no queen, the psychic link is gone!")) return var/tally = 0 @@ -284,7 +284,7 @@ if(MRK.createdby == X.nicknumber) tally++ if(tally >= max_markers) - to_chat(X, SPAN_XENOWARNING("You have reached the maximum number of resin marks.")) + to_chat(X, SPAN_XENOWARNING("We have reached the maximum number of resin marks.")) var/list/promptlist = list("Yes", "No") var/obj/effect/alien/resin/marker/Goober = null var/promptuser = null @@ -326,16 +326,16 @@ if(!check_state(TRUE)) return if(!(locate(/datum/action/xeno_action/onclick/emit_pheromones) in actions)) - to_chat(src, SPAN_XENOWARNING("You are incapable of emitting pheromones!")) + to_chat(src, SPAN_XENOWARNING("We are incapable of emitting pheromones!")) return if(!pheromone) if(current_aura) current_aura = null visible_message(SPAN_XENOWARNING("\The [src] stops emitting pheromones."), \ - SPAN_XENOWARNING("You stop emitting pheromones."), null, 5) + SPAN_XENOWARNING("We stop emitting pheromones."), null, 5) else if(!check_plasma(emit_cost)) - to_chat(src, SPAN_XENOWARNING("You do not have enough plasma!")) + to_chat(src, SPAN_XENOWARNING("We do not have enough plasma!")) return if(client.prefs && client.prefs.no_radials_preference) pheromone = tgui_input_list(src, "Choose a pheromone", "Pheromone Menu", caste.aura_allowed + "help" + "cancel", theme="hive_status") @@ -354,15 +354,15 @@ return if(pheromone) if(pheromone == current_aura) - to_chat(src, SPAN_XENOWARNING("You are already emitting [pheromone] pheromones!")) + to_chat(src, SPAN_XENOWARNING("We are already emitting [pheromone] pheromones!")) return if(!check_plasma(emit_cost)) - to_chat(src, SPAN_XENOWARNING("You do not have enough plasma!")) + to_chat(src, SPAN_XENOWARNING("We do not have enough plasma!")) return use_plasma(emit_cost) current_aura = pheromone visible_message(SPAN_XENOWARNING("\The [src] begins to emit strange-smelling pheromones."), \ - SPAN_XENOWARNING("You begin to emit '[pheromone]' pheromones."), null, 5) + SPAN_XENOWARNING("We begin to emit '[pheromone]' pheromones."), null, 5) playsound(loc, "alien_drool", 25) if(isqueen(src) && hive && hive.xeno_leader_list.len && anchored) @@ -382,14 +382,14 @@ return if(!isturf(X.loc)) - to_chat(X, SPAN_XENOWARNING("You can't [ability_name] from here!")) + to_chat(X, SPAN_XENOWARNING("We can't [ability_name] from here!")) return if(!X.check_state()) return if(X.legcuffed) - to_chat(X, SPAN_XENODANGER("You can't [ability_name] with that thing on your leg!")) + to_chat(X, SPAN_XENODANGER("We can't [ability_name] with that thing on our leg!")) return if(!check_and_use_plasma_owner()) @@ -416,7 +416,7 @@ pre_windup_effects() if (!do_after(X, windup_duration, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) - to_chat(X, SPAN_XENODANGER("You cancel your [ability_name]!")) + to_chat(X, SPAN_XENODANGER("We cancel our [ability_name]!")) if (!windup_interruptable) REMOVE_TRAIT(X, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Pounce")) X.anchored = FALSE @@ -428,23 +428,12 @@ X.anchored = FALSE post_windup_effects() - X.visible_message(SPAN_XENOWARNING("\The [X] [ability_name][findtext(ability_name, "e", -1) || findtext(ability_name, "p", -1) ? "s" : "es"] at [A]!"), SPAN_XENOWARNING("You [ability_name] at [A]!")) + X.visible_message(SPAN_XENOWARNING("\The [X] [ability_name][findtext(ability_name, "e", -1) || findtext(ability_name, "p", -1) ? "s" : "es"] at [A]!"), SPAN_XENOWARNING("We [ability_name] at [A]!")) pre_pounce_effects() X.pounce_distance = get_dist(X, A) - - var/datum/launch_metadata/LM = new() - LM.target = A - LM.range = distance - LM.speed = throw_speed - LM.thrower = X - LM.spin = FALSE - LM.pass_flags = pounce_pass_flags - LM.collision_callbacks = pounce_callbacks - - X.launch_towards(LM) - + X.throw_atom(A, distance, throw_speed, X, launch_type = LOW_LAUNCH, pass_flags = pounce_pass_flags, collision_callbacks = pounce_callbacks) X.update_icons() additional_effects_always() @@ -465,7 +454,7 @@ return if(!isturf(X.loc)) - to_chat(X, SPAN_XENOWARNING("You can't [ability_name] from here!")) + to_chat(X, SPAN_XENOWARNING("We can't [ability_name] from here!")) return if(!X.check_state() || X.action_busy) @@ -473,7 +462,7 @@ if (activation_delay) if(!do_after(X, activation_delay_length, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) - to_chat(X, SPAN_XENOWARNING("You decide to cancel your acid spray.")) + to_chat(X, SPAN_XENOWARNING("We decide to cancel our acid spray.")) end_cooldown() return @@ -486,7 +475,7 @@ return playsound(get_turf(X), 'sound/effects/refill.ogg', 25, 1) - X.visible_message(SPAN_XENOWARNING("[X] vomits a flood of acid!"), SPAN_XENOWARNING("You vomit a flood of acid!"), null, 5) + X.visible_message(SPAN_XENOWARNING("[X] vomits a flood of acid!"), SPAN_XENOWARNING("We vomit a flood of acid!"), null, 5) apply_cooldown() @@ -509,16 +498,23 @@ return if(xeno.layer != XENO_HIDING_LAYER) xeno.layer = XENO_HIDING_LAYER - to_chat(xeno, SPAN_NOTICE("You are now hiding.")) + to_chat(xeno, SPAN_NOTICE("We are now hiding.")) button.icon_state = "template_active" + RegisterSignal(xeno, COMSIG_MOB_STATCHANGE, PROC_REF(unhide_on_stat)) else xeno.layer = initial(xeno.layer) - to_chat(xeno, SPAN_NOTICE("You have stopped hiding.")) + to_chat(xeno, SPAN_NOTICE("We have stopped hiding.")) button.icon_state = "template" + UnregisterSignal(xeno, COMSIG_MOB_STATCHANGE) xeno.update_wounds() apply_cooldown() return ..() +/datum/action/xeno_action/onclick/xenohide/proc/unhide_on_stat(mob/living/carbon/xenomorph/source, new_stat, old_stat) + SIGNAL_HANDLER + if(new_stat >= UNCONSCIOUS && old_stat <= UNCONSCIOUS) + post_attack() + /datum/action/xeno_action/onclick/place_trap/use_ability(atom/A) var/mob/living/carbon/xenomorph/X = owner if(!X.check_state()) @@ -531,17 +527,17 @@ var/turf/T = get_turf(X) if(!istype(T)) - to_chat(X, SPAN_XENOWARNING("You can't do that here.")) + to_chat(X, SPAN_XENOWARNING("We can't do that here.")) return var/area/AR = get_area(T) if(istype(AR,/area/shuttle/drop1/lz1) || istype(AR,/area/shuttle/drop2/lz2) || SSinterior.in_interior(owner)) - to_chat(X, SPAN_WARNING("You sense this is not a suitable area for creating a resin hole.")) + to_chat(X, SPAN_WARNING("We sense this is not a suitable area for creating a resin hole.")) return var/obj/effect/alien/weeds/alien_weeds = T.check_xeno_trap_placement(X) if(!alien_weeds) return if(istype(alien_weeds, /obj/effect/alien/weeds/node)) - to_chat(X, SPAN_NOTICE("You start uprooting the node so you can put the resin hole in its place...")) + to_chat(X, SPAN_NOTICE("We start uprooting the node so we can put the resin hole in its place...")) if(!do_after(X, 1 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC, target, INTERRUPT_ALL)) return if(!T.check_xeno_trap_placement(X)) @@ -557,28 +553,28 @@ X.use_plasma(plasma_cost) playsound(X.loc, "alien_resin_build", 25) new /obj/effect/alien/resin/trap(T, X) - to_chat(X, SPAN_XENONOTICE("You place a resin hole on the weeds, it still needs a sister to fill it with acid.")) + to_chat(X, SPAN_XENONOTICE("We place a resin hole on the weeds, it still needs a sister to fill it with acid.")) return ..() /turf/proc/check_xeno_trap_placement(mob/living/carbon/xenomorph/X) if(is_weedable() < FULLY_WEEDABLE || !can_xeno_build(src)) - to_chat(X, SPAN_XENOWARNING("You can't do that here.")) + to_chat(X, SPAN_XENOWARNING("We can't do that here.")) return FALSE var/obj/effect/alien/weeds/alien_weeds = locate() in src if(!alien_weeds) - to_chat(X, SPAN_XENOWARNING("You can only shape on weeds. Find some resin before you start building!")) + to_chat(X, SPAN_XENOWARNING("We can only shape on weeds. We must find some resin before we start building!")) return FALSE // This snowflake check exists because stairs specifically are indestructable, tile-covering, and cannot be moved, which allows resin holes to be // planted under them without any possible counterplay. In the future if resin holes stop being able to be hidden under objects, remove this check. var/obj/structure/stairs/staircase = locate() in src if(staircase) - to_chat(X, SPAN_XENOWARNING("You cannot make a hole beneath a staircase!")) + to_chat(X, SPAN_XENOWARNING("We cannot make a hole beneath a staircase!")) return FALSE if(alien_weeds.linked_hive.hivenumber != X.hivenumber) - to_chat(X, SPAN_XENOWARNING("These weeds don't belong to your hive!")) + to_chat(X, SPAN_XENOWARNING("These weeds don't belong to our hive!")) return FALSE if(!X.check_alien_construction(src, check_doors = TRUE)) @@ -638,13 +634,14 @@ to_chat(X, SPAN_WARNING("The weeds are still recovering from the death of the hive core, wait until the weeds have recovered!")) return FALSE if(X.hive.has_structure(XENO_STRUCTURE_CORE) || !X.hive.can_build_structure(XENO_STRUCTURE_CORE)) - choice = tgui_input_list(X, "Choose a structure to build", "Build structure", X.hive.hive_structure_types + "help", theme="hive_status") + choice = tgui_input_list(X, "Choose a structure to build", "Build structure", X.hive.hive_structure_types + "help", theme = "hive_status") if(!choice) return if(choice == "help") - var/message = "
Placing a construction node creates a template for special structures that can benefit the hive, which require the insertion of [MATERIAL_CRYSTAL] to construct the following:
" + var/message = "Placing a construction node creates a template for special structures that can benefit the hive, which require the insertion of [MATERIAL_CRYSTAL] to construct the following:
" for(var/structure_name in X.hive.hive_structure_types) - message += "[get_xeno_structure_desc(structure_name)]
" + var/datum/construction_template/xenomorph/structure_type = X.hive.hive_structure_types[structure_name] + message += "[capitalize_first_letters(structure_name)] - [initial(structure_type.description)]
" to_chat(X, SPAN_NOTICE(message)) return TRUE if(!X.check_state(TRUE) || !X.check_plasma(400)) @@ -652,39 +649,35 @@ var/structure_type = X.hive.hive_structure_types[choice] var/datum/construction_template/xenomorph/structure_template = new structure_type() - if(!spacecheck(X,T,structure_template)) + if(!spacecheck(X, T, structure_template)) return FALSE if(!do_after(X, XENO_STRUCTURE_BUILD_TIME, INTERRUPT_NO_NEEDHAND|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) return FALSE - if(!spacecheck(X,T,structure_template)) //doublechecking + if(!spacecheck(X, T, structure_template)) //doublechecking return FALSE if((choice == XENO_STRUCTURE_CORE) && isqueen(X) && X.hive.has_structure(XENO_STRUCTURE_CORE)) if(X.hive.hive_location.hardcore || world.time > XENOMORPH_PRE_SETUP_CUTOFF) - to_chat(X, SPAN_WARNING("You can't rebuild this structure!")) - return - if(alert(X, "Are you sure that you want to move the hive and destroy the old hive core?", , "Yes", "No") != "Yes") - return + to_chat(X, SPAN_WARNING("We can't rebuild this structure!")) + return FALSE + if(alert(X, "Are we sure that we want to move the hive and destroy the old hive core?", , "Yes", "No") != "Yes") + return FALSE qdel(X.hive.hive_location) else if(!X.hive.can_build_structure(choice)) - to_chat(X, SPAN_WARNING("You can't build any more [choice]s for the hive.")) - return FALSE - - if(!X.hive.can_build_structure(structure_template.name) && !(choice == XENO_STRUCTURE_CORE)) - to_chat(X, SPAN_WARNING("You cannot build any more [structure_template.name]!")) + to_chat(X, SPAN_WARNING("We can't build any more [choice]s for the hive.")) qdel(structure_template) return FALSE - if (QDELETED(T)) - to_chat(X, SPAN_WARNING("You cannot build here!")) + if(QDELETED(T)) + to_chat(X, SPAN_WARNING("We cannot build here!")) qdel(structure_template) return FALSE var/queen_on_zlevel = !X.hive.living_xeno_queen || X.hive.living_xeno_queen.z == T.z if(!queen_on_zlevel) - to_chat(X, SPAN_WARNING("Your link to the Queen is too weak here. She is on another world.")) + to_chat(X, SPAN_WARNING("Our link to the Queen is too weak here. She is on another world.")) qdel(structure_template) return FALSE @@ -715,21 +708,21 @@ if(tem.block_range) for(var/turf/TA in range(T, tem.block_range)) if(!X.check_alien_construction(TA, FALSE, TRUE)) - to_chat(X, SPAN_WARNING("You need more open space to build here.")) + to_chat(X, SPAN_WARNING("We need more open space to build here.")) qdel(tem) return FALSE if(!X.check_alien_construction(T)) - to_chat(X, SPAN_WARNING("You need more open space to build here.")) + to_chat(X, SPAN_WARNING("We need more open space to build here.")) qdel(tem) return FALSE var/obj/effect/alien/weeds/alien_weeds = locate() in T if(!alien_weeds || alien_weeds.weed_strength < WEED_LEVEL_HIVE || alien_weeds.linked_hive.hivenumber != X.hivenumber) - to_chat(X, SPAN_WARNING("You can only shape on [lowertext(GLOB.hive_datum[X.hivenumber].prefix)]hive weeds. Find a hive node or core before you start building!")) + to_chat(X, SPAN_WARNING("We can only shape on [lowertext(GLOB.hive_datum[X.hivenumber].prefix)]hive weeds. We must find a hive node or core before we start building!")) qdel(tem) return FALSE if(T.density) qdel(tem) - to_chat(X, SPAN_WARNING("You need an empty space to build this.")) + to_chat(X, SPAN_WARNING("We need empty space to build this.")) return FALSE return TRUE @@ -740,15 +733,15 @@ return if(spitting) - to_chat(src, SPAN_WARNING("You are already preparing a spit!")) + to_chat(src, SPAN_WARNING("We are already preparing a spit!")) return if(!isturf(xeno.loc)) - to_chat(src, SPAN_WARNING("You can't spit from here!")) + to_chat(src, SPAN_WARNING("We can't spit from here!")) return if(!action_cooldown_check()) - to_chat(src, SPAN_WARNING("You must wait for your spit glands to refill.")) + to_chat(src, SPAN_WARNING("We must wait for our spit glands to refill.")) return var/turf/current_turf = get_turf(xeno) @@ -763,11 +756,11 @@ spitting = TRUE if(xeno.ammo.pre_spit_warn) playsound(xeno.loc,"alien_drool", 55, 1) - to_chat(xeno, SPAN_WARNING("You begin to prepare a large spit!")) + to_chat(xeno, SPAN_WARNING("We begin to prepare a large spit!")) xeno.visible_message(SPAN_WARNING("[xeno] prepares to spit a massive glob!"),\ - SPAN_WARNING("You begin to spit [xeno.ammo.name]!")) + SPAN_WARNING("We begin to spit [xeno.ammo.name]!")) if (!do_after(xeno, xeno.ammo.spit_windup, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE)) - to_chat(xeno, SPAN_XENODANGER("You decide to cancel your spit.")) + to_chat(xeno, SPAN_XENODANGER("We decide to cancel our spit.")) spitting = FALSE return plasma_cost = xeno.ammo.spit_cost @@ -779,7 +772,7 @@ xeno_cooldown = xeno.caste.spit_delay + xeno.ammo.added_spit_delay xeno.visible_message(SPAN_XENOWARNING("[xeno] spits at [atom]!"), \ - SPAN_XENOWARNING("You spit a [xeno.ammo.name] at [atom]!") ) + SPAN_XENOWARNING("We spit [xeno.ammo.name] at [atom]!") ) playsound(xeno.loc, sound_to_play, 25, 1) var/obj/projectile/proj = new (current_turf, create_cause_data(xeno.ammo.name, xeno)) @@ -804,7 +797,7 @@ var/turf/T = get_turf(A) if(isnull(T) || istype(T, /turf/closed) || !T.can_bombard(owner)) - to_chat(X, SPAN_XENODANGER("You can't bombard that!")) + to_chat(X, SPAN_XENODANGER("We can't bombard that!")) return FALSE if (!check_plasma_owner()) @@ -818,9 +811,9 @@ if (!X.can_bombard_turf(T, range, bombard_source)) return FALSE - X.visible_message(SPAN_XENODANGER("[X] digs itself into place!"), SPAN_XENODANGER("You dig yourself into place!")) + X.visible_message(SPAN_XENODANGER("[X] digs itself into place!"), SPAN_XENODANGER("We dig ourself into place!")) if (!do_after(X, activation_delay, interrupt_flags, BUSY_ICON_HOSTILE)) - to_chat(X, SPAN_XENODANGER("You decide to cancel your bombard.")) + to_chat(X, SPAN_XENODANGER("We decide to cancel our bombard.")) return FALSE if (!X.can_bombard_turf(T, range, bombard_source)) //Second check in case something changed during the do_after. @@ -913,7 +906,7 @@ var/mob/living/carbon/xenomorph/stabbing_xeno = owner if(HAS_TRAIT(stabbing_xeno, TRAIT_ABILITY_BURROWED) || stabbing_xeno.is_ventcrawling) - to_chat(stabbing_xeno, SPAN_XENOWARNING("You must be above ground to do this.")) + to_chat(stabbing_xeno, SPAN_XENOWARNING("We must be above ground to do this.")) return if(!stabbing_xeno.check_state()) @@ -937,18 +930,18 @@ var/list/turf/path = getline2(stabbing_xeno, targetted_atom, include_from_atom = FALSE) for(var/turf/path_turf as anything in path) if(path_turf.density) - to_chat(stabbing_xeno, SPAN_WARNING("There's something blocking your strike!")) + to_chat(stabbing_xeno, SPAN_WARNING("There's something blocking our strike!")) return FALSE for(var/obj/path_contents in path_turf.contents) if(path_contents != targetted_atom && path_contents.density && !path_contents.throwpass) - to_chat(stabbing_xeno, SPAN_WARNING("There's something blocking your strike!")) + to_chat(stabbing_xeno, SPAN_WARNING("There's something blocking our strike!")) return FALSE var/atom/barrier = path_turf.handle_barriers(stabbing_xeno, null, (PASS_MOB_THRU_XENO|PASS_OVER_THROW_MOB|PASS_TYPE_CRAWLER)) if(barrier != path_turf) var/tail_stab_cooldown_multiplier = barrier.handle_tail_stab(stabbing_xeno) if(!tail_stab_cooldown_multiplier) - to_chat(stabbing_xeno, SPAN_WARNING("There's something blocking your strike!")) + to_chat(stabbing_xeno, SPAN_WARNING("There's something blocking our strike!")) else apply_cooldown(cooldown_modifier = tail_stab_cooldown_multiplier) xeno_attack_delay(stabbing_xeno) @@ -962,7 +955,7 @@ return ..() if(!isxeno_human(targetted_atom)) - stabbing_xeno.visible_message(SPAN_XENOWARNING("\The [stabbing_xeno] swipes their tail through the air!"), SPAN_XENOWARNING("You swipe your tail through the air!")) + stabbing_xeno.visible_message(SPAN_XENOWARNING("\The [stabbing_xeno] swipes their tail through the air!"), SPAN_XENOWARNING("We swipe our tail through the air!")) apply_cooldown(cooldown_modifier = 0.1) xeno_attack_delay(stabbing_xeno) playsound(stabbing_xeno, "alien_tail_swipe", 50, TRUE) @@ -1006,7 +999,7 @@ var/stab_overlay if(blunt_stab) - stabbing_xeno.visible_message(SPAN_XENOWARNING("\The [stabbing_xeno] swipes its tail into [target]'s [limb ? limb.display_name : "chest"], bashing it!"), SPAN_XENOWARNING("You swipe your tail into [target]'s [limb? limb.display_name : "chest"], bashing it!")) + stabbing_xeno.visible_message(SPAN_XENOWARNING("\The [stabbing_xeno] swipes its tail into [target]'s [limb ? limb.display_name : "chest"], bashing it!"), SPAN_XENOWARNING("We swipe our tail into [target]'s [limb? limb.display_name : "chest"], bashing it!")) if(prob(1)) playsound(target, 'sound/effects/comical_bonk.ogg', 50, TRUE) else @@ -1015,7 +1008,7 @@ stab_direction = turn(stabbing_xeno.dir, pick(90, -90)) stab_overlay = "slam" else - stabbing_xeno.visible_message(SPAN_XENOWARNING("\The [stabbing_xeno] skewers [target] through the [limb ? limb.display_name : "chest"] with its razor sharp tail!"), SPAN_XENOWARNING("You skewer [target] through the [limb? limb.display_name : "chest"] with your razor sharp tail!")) + stabbing_xeno.visible_message(SPAN_XENOWARNING("\The [stabbing_xeno] skewers [target] through the [limb ? limb.display_name : "chest"] with its razor sharp tail!"), SPAN_XENOWARNING("We skewer [target] through the [limb? limb.display_name : "chest"] with our razor sharp tail!")) playsound(target, "alien_bite", 50, TRUE) // The xeno flips around for a second to impale the target with their tail. These look awsome. stab_direction = turn(get_dir(stabbing_xeno, target), 180) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_abilities.dm index 02e7fd814453..ea5f32694c99 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_abilities.dm @@ -12,8 +12,8 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_4 - action_start_message = "You become one with the resin. You feel the urge to run!" - action_end_message = "You feel less in tune with the resin." + action_start_message = "We become one with the resin. We feel the urge to run!" + action_end_message = "We feel less in tune with the resin." plasma_use_per_tick = 30 /datum/action/xeno_action/active_toggle/toggle_speed/can_use_action() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_powers.dm index a0a442854eec..e4e889280793 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/hivelord/hivelord_powers.dm @@ -20,11 +20,11 @@ if(!check_and_use_plasma_owner(plasma_cost)) to_chat(xeno, SPAN_WARNING("Not enough plasma!")) return - to_chat(xeno, SPAN_NOTICE("You become one with the resin. You feel the urge to run!")) + to_chat(xeno, SPAN_NOTICE("We become one with the resin. We feel the urge to run!")) button.icon_state = "template_active" action_active = TRUE else - to_chat(xeno, SPAN_WARNING("You feel less in tune with the resin.")) + to_chat(xeno, SPAN_WARNING("We feel less in tune with the resin.")) button.icon_state = "template" action_active = FALSE return diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_powers.dm index 515efea23d53..3c6b39f146be 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lesser_drone/lesser_drone_powers.dm @@ -1,6 +1,6 @@ /datum/action/xeno_action/onclick/plant_weeds/lesser/use_ability(atom/A) if(!(locate(/obj/effect/alien/weeds/node) in orange(4, owner))) - to_chat(owner, SPAN_XENONOTICE("You can only plant resin nodes near other resin nodes!")) + to_chat(owner, SPAN_XENONOTICE("We can only plant resin nodes near other resin nodes!")) return . = ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm index 2facee1edc9d..fd525701b12d 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_abilities.dm @@ -2,7 +2,7 @@ macro_path = /datum/action/xeno_action/verb/verb_pounce action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 60 + xeno_cooldown = 6 SECONDS plasma_cost = 20 // Config options @@ -70,7 +70,7 @@ macro_path = /datum/action/xeno_action/verb/verb_crippling_strike ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_ACTIVATE - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 20 var/buff_duration = 50 diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm index 0c2b226cb268..4ec301a17819 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/lurker/lurker_powers.dm @@ -38,7 +38,7 @@ var/mob/living/carbon/xenomorph/xeno = owner if (istype(xeno)) animate(xeno, alpha = initial(xeno.alpha), time = 0.1 SECONDS, easing = QUAD_EASING) - to_chat(xeno, SPAN_XENOHIGHDANGER("You feel your invisibility end!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We feel our invisibility end!")) xeno.update_icons() @@ -51,7 +51,7 @@ behavior.on_invisibility_off() /datum/action/xeno_action/onclick/lurker_invisibility/ability_cooldown_over() - to_chat(owner, SPAN_XENOHIGHDANGER("You are ready to use your invisibility again!")) + to_chat(owner, SPAN_XENOHIGHDANGER("We are ready to use our invisibility again!")) ..() /datum/action/xeno_action/onclick/lurker_assassinate/use_ability(atom/targeted_atom) @@ -73,7 +73,7 @@ if (istype(behavior)) behavior.next_slash_buffed = TRUE - to_chat(xeno, SPAN_XENOHIGHDANGER("Your next slash will deal increased damage!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("Our next slash will deal increased damage!")) addtimer(CALLBACK(src, PROC_REF(unbuff_slash)), buff_duration) xeno.next_move = world.time + 1 // Autoattack reset @@ -92,7 +92,7 @@ return behavior.next_slash_buffed = FALSE - to_chat(xeno, SPAN_XENODANGER("You have waited too long, your slash will no longer deal increased damage!")) + to_chat(xeno, SPAN_XENODANGER("We have waited too long, our slash will no longer deal increased damage!")) // VAMPIRE LURKER @@ -119,7 +119,7 @@ return xeno.visible_message(SPAN_DANGER("[xeno] drags its claws in a wide area in front of it!"), \ - SPAN_XENOWARNING("You unleash a barrage of slashes!")) + SPAN_XENOWARNING("We unleash a barrage of slashes!")) playsound(xeno, 'sound/effects/alien_tail_swipe2.ogg', 30) apply_cooldown() @@ -161,7 +161,7 @@ continue xeno.visible_message(SPAN_DANGER("[xeno] slashes [target]!"), \ - SPAN_XENOWARNING("You slash [target] multiple times!")) + SPAN_XENOWARNING("We slash [target] multiple times!")) xeno.flick_attack_overlay(target, "slash") target.last_damage_data = create_cause_data(xeno.caste_type, xeno) log_attack("[key_name(xeno)] attacked [key_name(target)] with Flurry") @@ -192,11 +192,11 @@ var/list/turf/path = getline2(xeno, hit_target, include_from_atom = FALSE) for(var/turf/path_turf as anything in path) if(path_turf.density) - to_chat(xeno, SPAN_WARNING("There's something blocking you from striking!")) + to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) return var/atom/barrier = path_turf.handle_barriers(A = xeno , pass_flags = (PASS_MOB_THRU_XENO|PASS_OVER_THROW_MOB|PASS_TYPE_CRAWLER)) if(barrier != path_turf) - to_chat(xeno, SPAN_WARNING("There's something blocking you from striking!")) + to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) return for(var/obj/structure/current_structure in path_turf) if(istype(current_structure, /obj/structure/window/framed)) @@ -205,15 +205,15 @@ return playsound(get_turf(target_window),'sound/effects/glassbreak3.ogg', 30, TRUE) target_window.shatter_window(TRUE) - xeno.visible_message(SPAN_XENOWARNING("\The [xeno] strikes the window with their tail!"), SPAN_XENOWARNING("You strike the window with your tail!")) + xeno.visible_message(SPAN_XENOWARNING("\The [xeno] strikes the window with their tail!"), SPAN_XENOWARNING("We strike the window with our tail!")) apply_cooldown(cooldown_modifier = 0.5) return - if(current_structure.density) - to_chat(xeno, SPAN_WARNING("There's something blocking you from striking!")) + if(current_structure.density && !current_structure.throwpass) + to_chat(xeno, SPAN_WARNING("There's something blocking us from striking!")) return if(!isxeno_human(hit_target) || xeno.can_not_harm(hit_target) || hit_target.stat == DEAD) - xeno.visible_message(SPAN_XENOWARNING("\The [xeno] swipes their tail through the air!"), SPAN_XENOWARNING("You swipe your tail through the air!")) + xeno.visible_message(SPAN_XENOWARNING("\The [xeno] swipes their tail through the air!"), SPAN_XENOWARNING("We swipe our tail through the air!")) apply_cooldown(cooldown_modifier = 0.2) playsound(xeno, 'sound/effects/alien_tail_swipe1.ogg', 50, TRUE) return @@ -221,7 +221,7 @@ // FX var/stab_direction - to_chat(xeno, SPAN_XENOHIGHDANGER("You directly slam [hit_target] with your tail, throwing it back after impaling it on your tail!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We directly slam [hit_target] with our tail, throwing it back after impaling it on our tail!")) playsound(hit_target,'sound/weapons/alien_tail_attack.ogg', 50, TRUE) stab_direction = turn(get_dir(xeno, hit_target), 180) @@ -269,11 +269,11 @@ return if(!(HAS_TRAIT(target_carbon, TRAIT_KNOCKEDOUT) || target_carbon.stat == UNCONSCIOUS)) //called knocked out because for some reason .stat seems to have a delay . - to_chat(xeno, SPAN_XENOHIGHDANGER("You can only headbite an unconscious, adjacent target!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We can only headbite an unconscious, adjacent target!")) return if(!xeno.Adjacent(target_carbon)) - to_chat(xeno, SPAN_XENOHIGHDANGER("You can only headbite an unconscious, adjacent target!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We can only headbite an unconscious, adjacent target!")) return if(xeno.stat == UNCONSCIOUS) @@ -286,21 +286,21 @@ return xeno.visible_message(SPAN_DANGER("[xeno] grabs [target_carbon]’s head aggressively."), \ - SPAN_XENOWARNING("You grab [target_carbon]’s head aggressively.")) + SPAN_XENOWARNING("We grab [target_carbon]’s head aggressively.")) if(!do_after(xeno, 0.8 SECONDS, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE, numticks = 2)) // would be 0.75 but that doesn't really work with numticks return // To make sure that the headbite does nothing if the target is moved away. if(!xeno.Adjacent(target_carbon)) - to_chat(xeno, SPAN_XENOHIGHDANGER("You missed! Your target was moved away before you could finish headbiting them!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We missed! Our target was moved away before we could finish headbiting them!")) return if(target_carbon.stat == DEAD) to_chat(xeno, SPAN_XENODANGER("They died before you could finish headbiting them! Be more careful next time!")) return - to_chat(xeno, SPAN_XENOHIGHDANGER("You pierce [target_carbon]’s head with your inner jaw!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We pierce [target_carbon]’s head with our inner jaw!")) playsound(target_carbon,'sound/weapons/alien_bite2.ogg', 50, TRUE) xeno.visible_message(SPAN_DANGER("[xeno] pierces [target_carbon]’s head with its inner jaw!")) xeno.flick_attack_overlay(target_carbon, "headbite") diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm index f876c2c50669..c2fbd6b9d8c4 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm @@ -25,7 +25,7 @@ macro_path = /datum/action/xeno_action/verb/verb_dash action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 110 + xeno_cooldown = 11 SECONDS plasma_cost = 50 // Config options @@ -36,7 +36,7 @@ var/buff_duration = 12 var/damage = 40 - var/shield_regen_threshold = 2 + var/shield_regen_threshold = 1 var/activated_once = FALSE var/time_until_timeout = 20 @@ -51,11 +51,11 @@ macro_path = /datum/action/xeno_action/verb/verb_cleave ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_CLICK - xeno_cooldown = 120 + xeno_cooldown = 12 SECONDS // Root config - var/root_duration_unbuffed = 5 - var/root_duration_buffed = 12.5 + var/root_duration_unbuffed = 1 SECONDS + var/root_duration_buffed = 1.8 SECONDS // Fling config var/fling_dist_unbuffed = 3 @@ -97,10 +97,10 @@ var/action_icon_result if (cAction.root_toggle) action_icon_result = "prae_cleave_root" - to_chat(X, SPAN_WARNING("You will now root marines with your cleave.")) + to_chat(X, SPAN_WARNING("We will now root marines with our cleave.")) else action_icon_result = "prae_cleave_fling" // TODO: update - to_chat(X, SPAN_WARNING("You will now throw marines with your cleave.")) + to_chat(X, SPAN_WARNING("We will now throw marines with our cleave.")) button.overlays.Cut() button.overlays += image('icons/mob/hud/actions_xeno.dmi', button, action_icon_result) @@ -138,7 +138,7 @@ macro_path = /datum/action/xeno_action/verb/verb_oppressor_punch action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 55 // Configurables @@ -164,7 +164,7 @@ macro_path = /datum/action/xeno_action/verb/verb_crush ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_CLICK - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS plasma_cost = 80 // Config @@ -180,7 +180,7 @@ macro_path = /datum/action/xeno_action/verb/verb_prae_impale ability_primacy = XENO_PRIMARY_ACTION_1 action_type = XENO_ACTION_CLICK - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS plasma_cost = 80 /datum/action/xeno_action/onclick/prae_dodge @@ -191,7 +191,7 @@ ability_primacy = XENO_PRIMARY_ACTION_2 action_type = XENO_ACTION_CLICK plasma_cost = 200 - xeno_cooldown = 190 + xeno_cooldown = 19 SECONDS // Config var/duration = 70 @@ -204,7 +204,7 @@ macro_path = /datum/action/xeno_action/verb/verb_prae_tail_trip ability_primacy = XENO_PRIMARY_ACTION_3 action_type = XENO_ACTION_CLICK - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS plasma_cost = 30 // Config @@ -224,7 +224,7 @@ macro_path = /datum/action/xeno_action/verb/verb_dash action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 40 // Config options @@ -255,7 +255,7 @@ ability_primacy = XENO_PRIMARY_ACTION_4 plasma_cost = 80 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS // Configurable options spray_type = ACID_SPRAY_LINE @@ -270,7 +270,7 @@ /datum/action/xeno_action/activable/spray_acid/prae_warden ability_primacy = XENO_PRIMARY_ACTION_2 plasma_cost = 130 - xeno_cooldown = 130 + xeno_cooldown = 13 SECONDS // Configurable options @@ -288,7 +288,7 @@ // todo: macro action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS plasma_cost = 100 // Config @@ -335,12 +335,12 @@ if (WH.curr_effect_type == WARDEN_HEAL_HP) action_icon_result = "warden_rejuvenate" WH.curr_effect_type = WARDEN_HEAL_DEBUFFS - to_chat(X, SPAN_XENOWARNING("You will now aid your allies by curing their ailments!")) + to_chat(X, SPAN_XENOWARNING("We will now aid our sisters by curing their ailments!")) else action_icon_result = "warden_heal" WH.curr_effect_type = WARDEN_HEAL_HP - to_chat(X, SPAN_XENOWARNING("You will now aid your allies by healing them!")) + to_chat(X, SPAN_XENOWARNING("We will now aid our sisters by healing them!")) button.overlays.Cut() button.overlays += image('icons/mob/hud/actions_xeno.dmi', button, action_icon_result) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm index 1a0205862480..a6e79401c9bd 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm @@ -52,7 +52,7 @@ if(!(mob_to_act in target_mobs)) target_mobs += mob_to_act - source_xeno.visible_message(SPAN_XENODANGER("[source_xeno] slashes its tail through the area in front of it!"), SPAN_XENODANGER("You slash your tail through the area in front of you!")) + source_xeno.visible_message(SPAN_XENODANGER("[source_xeno] slashes its claws through the area in front of it!"), SPAN_XENODANGER("We slash our claws through the area in front of us!")) source_xeno.animation_attack_on(targetted_atom, 15) source_xeno.emote("roar") @@ -67,6 +67,7 @@ current_mob.flick_attack_overlay(current_mob, "slash") current_mob.apply_armoured_damage(get_xeno_damage_slash(current_mob, damage), ARMOR_MELEE, BRUTE, null, 20) + playsound(current_mob, 'sound/weapons/alien_tail_attack.ogg', 30, TRUE) if (target_mobs.len >= shield_regen_threshold) if (source_xeno.mutation_type == PRAETORIAN_VANGUARD) @@ -118,7 +119,7 @@ if (!(H in target_mobs)) target_mobs += H - X.visible_message(SPAN_XENODANGER("[X] slashes its claws through the area around it!"), SPAN_XENODANGER("You slash your claws through the area around you!")) + X.visible_message(SPAN_XENODANGER("[X] slashes its claws through the area around it!"), SPAN_XENODANGER("We slash our claws through the area around us!")) X.spin_circle() for (var/mob/living/carbon/H in target_mobs) @@ -151,17 +152,17 @@ return if (!isxeno_human(target_atom) || vanguard_user.can_not_harm(target_atom)) - to_chat(vanguard_user, SPAN_XENODANGER("You must target a hostile!")) + to_chat(vanguard_user, SPAN_XENODANGER("We must target a hostile!")) return var/mob/living/carbon/target_carbon = target_atom if (!vanguard_user.Adjacent(target_carbon)) - to_chat(vanguard_user, SPAN_XENOWARNING("You must be adjacent to your target!")) + to_chat(vanguard_user, SPAN_XENOWARNING("We must be adjacent to our target!")) return if (target_carbon.stat == DEAD) - to_chat(vanguard_user, SPAN_XENODANGER("[target_carbon] is dead, why would you want to touch it?")) + to_chat(vanguard_user, SPAN_XENODANGER("[target_carbon] is dead, why would we want to touch it?")) return // Flick overlay and play sound @@ -173,7 +174,7 @@ if (root_toggle) var/root_duration = buffed ? root_duration_buffed : root_duration_unbuffed - vanguard_user.visible_message(SPAN_XENODANGER("[vanguard_user] slams [target_atom] into the ground!"), SPAN_XENOHIGHDANGER("You slam [target_atom] into the ground!")) + vanguard_user.visible_message(SPAN_XENODANGER("[vanguard_user] slams [target_atom] into the ground!"), SPAN_XENOHIGHDANGER("We slam [target_atom] into the ground!")) ADD_TRAIT(target_carbon, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Cleave")) if (ishuman(target_carbon)) @@ -189,9 +190,9 @@ if(target_carbon.mob_size >= MOB_SIZE_BIG) fling_distance *= 0.1 - vanguard_user.visible_message(SPAN_XENODANGER("[vanguard_user] deals [target_atom] a massive blow, sending them flying!"), SPAN_XENOHIGHDANGER("You deal [target_atom] a massive blow, sending them flying!")) + vanguard_user.visible_message(SPAN_XENODANGER("[vanguard_user] deals [target_atom] a massive blow, sending them flying!"), SPAN_XENOHIGHDANGER("We deal [target_atom] a massive blow, sending them flying!")) vanguard_user.flick_attack_overlay(target_carbon, "slam") - xeno_throw_human(target_carbon, vanguard_user, get_dir(vanguard_user, target_atom), fling_distance) + vanguard_user.throw_carbon(target_atom, null, fling_distance) apply_cooldown() return ..() @@ -216,7 +217,7 @@ if(!check_and_use_plasma_owner()) return FALSE - stabbing_xeno.visible_message(SPAN_XENODANGER("\The [stabbing_xeno] uncoils and wildly throws out its tail!"), SPAN_XENODANGER("You uncoil your tail wildly in front of you!")) + stabbing_xeno.visible_message(SPAN_XENODANGER("\The [stabbing_xeno] uncoils and wildly throws out its tail!"), SPAN_XENODANGER("We uncoil our tail wildly in front of us!")) var/obj/projectile/hook_projectile = new /obj/projectile(stabbing_xeno.loc, create_cause_data(initial(stabbing_xeno.caste_type), stabbing_xeno)) @@ -279,13 +280,13 @@ turflist += turf facing = get_dir(turf, atom) - telegraph_atom_list += new /obj/effect/xenomorph/xeno_telegraph/brown/abduct_hook(turf, windup) + telegraph_atom_list += new /obj/effect/xenomorph/xeno_telegraph/abduct_hook(turf, windup) if(!length(turflist)) - to_chat(xeno, SPAN_XENOWARNING("You don't have any room to do your abduction!")) + to_chat(xeno, SPAN_XENOWARNING("We don't have any room to do our abduction!")) return - xeno.visible_message(SPAN_XENODANGER("\The [xeno]'s segmented tail starts coiling..."), SPAN_XENODANGER("You begin coiling your tail, aiming towards \the [atom]...")) + xeno.visible_message(SPAN_XENODANGER("\The [xeno]'s segmented tail starts coiling..."), SPAN_XENODANGER("We begin coiling our tail, aiming towards \the [atom]...")) xeno.emote("roar") var/throw_target_turf = get_step(xeno.loc, facing) @@ -309,7 +310,7 @@ REMOVE_TRAIT(xeno, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Abduct")) playsound(get_turf(xeno), 'sound/effects/bang.ogg', 25, 0) - xeno.visible_message(SPAN_XENODANGER("\The [xeno] suddenly uncoils its tail, firing it towards [atom]!"), SPAN_XENODANGER("You uncoil your tail, sending it out towards \the [atom]!")) + xeno.visible_message(SPAN_XENODANGER("\The [xeno] suddenly uncoils its tail, firing it towards [atom]!"), SPAN_XENODANGER("We uncoil our tail, sending it out towards \the [atom]!")) var/list/targets = list() for (var/turf/target_turf in turflist) @@ -319,14 +320,14 @@ targets += target if (LAZYLEN(targets) == 1) - xeno.balloon_alert(xeno, "your tail catches and slows one target!", text_color = "#51a16c") + xeno.balloon_alert(xeno, "our tail catches and slows one target!", text_color = "#51a16c") else if (LAZYLEN(targets) == 2) - xeno.balloon_alert(xeno, "your tail catches and roots two targets!", text_color = "#51a16c") + xeno.balloon_alert(xeno, "our tail catches and roots two targets!", text_color = "#51a16c") else if (LAZYLEN(targets) >= 3) - xeno.balloon_alert(xeno, "your tail catches and stuns [LAZYLEN(targets)] targets!", text_color = "#51a16c") + xeno.balloon_alert(xeno, "our tail catches and stuns [LAZYLEN(targets)] targets!", text_color = "#51a16c") for (var/mob/living/carbon/target in targets) - xeno.visible_message(SPAN_XENODANGER("\The [xeno]'s hooked tail coils itself around [target]!"), SPAN_XENODANGER("Your hooked tail coils itself around [target]!")) + xeno.visible_message(SPAN_XENODANGER("\The [xeno]'s hooked tail coils itself around [target]!"), SPAN_XENODANGER("Our hooked tail coils itself around [target]!")) target.apply_effect(0.2, WEAKEN) @@ -394,7 +395,7 @@ target_carbon.last_damage_data = create_cause_data(oppressor_user.caste_type, oppressor_user) oppressor_user.visible_message(SPAN_XENOWARNING("\The [oppressor_user] hits [target_carbon] in the [target_limb? target_limb.display_name : "chest"] with a devastatingly powerful punch!"), \ - SPAN_XENOWARNING("You hit [target_carbon] in the [target_limb ? target_limb.display_name : "chest"] with a devastatingly powerful punch!")) + SPAN_XENOWARNING("We hit [target_carbon] in the [target_limb ? target_limb.display_name : "chest"] with a devastatingly powerful punch!")) var/hitsound = pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg') playsound(target_carbon,hitsound, 50, 1) @@ -467,21 +468,21 @@ continue target_turfs += T - telegraph_atom_list += new /obj/effect/xenomorph/xeno_telegraph/brown/lash(T, windup) + telegraph_atom_list += new /obj/effect/xenomorph/xeno_telegraph/lash(T, windup) var/turf/next_turf = get_step(T, facing) if (!istype(next_turf) || next_turf.density) continue target_turfs += next_turf - telegraph_atom_list += new /obj/effect/xenomorph/xeno_telegraph/brown/lash(next_turf, windup) + telegraph_atom_list += new /obj/effect/xenomorph/xeno_telegraph/lash(next_turf, windup) if(!length(target_turfs)) - to_chat(X, SPAN_XENOWARNING("You don't have any room to do your tail lash!")) + to_chat(X, SPAN_XENOWARNING("We don't have any room to do our tail lash!")) return if(!do_after(X, windup, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) - to_chat(X, SPAN_XENOWARNING("You cancel your tail lash.")) + to_chat(X, SPAN_XENOWARNING("We cancel our tail lash.")) for(var/obj/effect/xenomorph/xeno_telegraph/XT in telegraph_atom_list) telegraph_atom_list -= XT @@ -493,7 +494,7 @@ apply_cooldown() - X.visible_message(SPAN_XENODANGER("[X] lashes its tail furiously, hitting everything in front of it!"), SPAN_XENODANGER("You lash your tail furiously, hitting everything in front of you!")) + X.visible_message(SPAN_XENODANGER("[X] lashes its tail furiously, hitting everything in front of it!"), SPAN_XENODANGER("We lash our tail furiously, hitting everything in front of us!")) X.spin_circle() X.emote("tail") @@ -508,7 +509,7 @@ if(H.mob_size >= MOB_SIZE_BIG) continue - xeno_throw_human(H, X, facing, fling_dist) + X.throw_carbon(H, facing, fling_dist) H.apply_effect(get_xeno_stun_duration(H, 0.5), WEAKEN) new /datum/effects/xeno_slow(H, X, ttl = get_xeno_stun_duration(H, 25)) @@ -527,17 +528,17 @@ return if (!isxeno_human(target_atom) || dancer_user.can_not_harm(target_atom)) - to_chat(dancer_user, SPAN_XENODANGER("You must target a hostile!")) + to_chat(dancer_user, SPAN_XENODANGER("We must target a hostile!")) return if (!dancer_user.Adjacent(target_atom)) - to_chat(dancer_user, SPAN_XENODANGER("You must be adjacent to [target_atom]!")) + to_chat(dancer_user, SPAN_XENODANGER("We must be adjacent to [target_atom]!")) return var/mob/living/carbon/target_carbon = target_atom if (target_carbon.stat == DEAD) - to_chat(dancer_user, SPAN_XENOWARNING("[target_atom] is dead, why would you want to attack it?")) + to_chat(dancer_user, SPAN_XENOWARNING("[target_atom] is dead, why would we want to attack it?")) return if (!check_and_use_plasma_owner()) @@ -564,7 +565,7 @@ var/damage = get_xeno_damage_slash(target_carbon, rand(dancer_user.melee_damage_lower, dancer_user.melee_damage_upper)) dancer_user.visible_message(SPAN_DANGER("\The [dancer_user] violently slices [target_atom] with its tail[buffed?" twice":""]!"), \ - SPAN_DANGER("You slice [target_atom] with your tail[buffed?" twice":""]!")) + SPAN_DANGER("We slice [target_atom] with our tail[buffed?" twice":""]!")) if(buffed) // Do two attacks instead of one @@ -608,7 +609,7 @@ behavior.dodge_activated = TRUE button.icon_state = "template_active" - to_chat(xeno, SPAN_XENOHIGHDANGER("You can now dodge through mobs!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We can now dodge through mobs!")) xeno.speed_modifier -= speed_buff_amount xeno.add_temp_pass_flags(PASS_MOB_THRU) xeno.recalculate_speed() @@ -637,7 +638,7 @@ xeno.speed_modifier += speed_buff_amount xeno.remove_temp_pass_flags(PASS_MOB_THRU) xeno.recalculate_speed() - to_chat(xeno, SPAN_XENOHIGHDANGER("You can no longer dodge through mobs!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We can no longer dodge through mobs!")) /datum/action/xeno_action/activable/prae_tail_trip/use_ability(atom/target_atom) var/mob/living/carbon/xenomorph/dancer_user = owner @@ -649,13 +650,13 @@ return if (!isxeno_human(target_atom) || dancer_user.can_not_harm(target_atom)) - to_chat(dancer_user, SPAN_XENODANGER("You must target a hostile!")) + to_chat(dancer_user, SPAN_XENODANGER("We must target a hostile!")) return var/mob/living/carbon/target_carbon = target_atom if (target_carbon.stat == DEAD) - to_chat(dancer_user, SPAN_XENOWARNING("[target_atom] is dead, why would you want to attack it?")) + to_chat(dancer_user, SPAN_XENOWARNING("[target_atom] is dead, why would we want to attack it?")) return if (!check_and_use_plasma_owner()) @@ -675,12 +676,12 @@ if (dist > 1) var/turf/targetTurf = get_step(dancer_user, get_dir(dancer_user, target_carbon)) if (targetTurf.density) - to_chat(dancer_user, SPAN_WARNING("You can't attack through [targetTurf]!")) + to_chat(dancer_user, SPAN_WARNING("We can't attack through [targetTurf]!")) return else for (var/atom/atom_in_turf in targetTurf) if (atom_in_turf.density && !atom_in_turf.throwpass && !istype(atom_in_turf, /obj/structure/barricade) && !istype(atom_in_turf, /mob/living)) - to_chat(dancer_user, SPAN_WARNING("You can't attack through [atom_in_turf]!")) + to_chat(dancer_user, SPAN_WARNING("We can't attack through [atom_in_turf]!")) return @@ -714,14 +715,14 @@ if(Xeno.mob_size >= MOB_SIZE_BIG) xeno_smashed = TRUE shake_camera(Xeno, 10, 1) - dancer_user.visible_message(SPAN_XENODANGER("[dancer_user] smashes [Xeno] with it's tail!"), SPAN_XENODANGER("You smash [Xeno] with your tail!")) + dancer_user.visible_message(SPAN_XENODANGER("[dancer_user] smashes [Xeno] with it's tail!"), SPAN_XENODANGER("We smash [Xeno] with your tail!")) to_chat(Xeno, SPAN_XENOHIGHDANGER("You feel dizzy as [dancer_user] smashes you with their tail!")) dancer_user.animation_attack_on(Xeno) if(!xeno_smashed) if (stun_duration > 0) target_carbon.apply_effect(stun_duration, WEAKEN) - dancer_user.visible_message(SPAN_XENODANGER("[dancer_user] trips [target_atom] with it's tail!"), SPAN_XENODANGER("You trip [target_atom] with your tail!")) + dancer_user.visible_message(SPAN_XENODANGER("[dancer_user] trips [target_atom] with it's tail!"), SPAN_XENODANGER("We trip [target_atom] with our tail!")) dancer_user.spin_circle() dancer_user.emote("tail") to_chat(target_carbon, SPAN_XENOHIGHDANGER("You are swept off your feet by [dancer_user]!")) @@ -745,7 +746,7 @@ return if (!do_after(X, activation_delay, INTERRUPT_ALL | BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE)) - to_chat(X, SPAN_XENODANGER("You cancel your acid ball.")) + to_chat(X, SPAN_XENODANGER("We cancel our acid ball.")) return if (!action_cooldown_check()) @@ -753,7 +754,7 @@ apply_cooldown() - to_chat(X, SPAN_XENOWARNING("You lob a compressed ball of acid into the air!")) + to_chat(X, SPAN_XENOWARNING("We lob a compressed ball of acid into the air!")) var/obj/item/explosive/grenade/xeno_acid_grenade/grenade = new /obj/item/explosive/grenade/xeno_acid_grenade grenade.cause_data = create_cause_data(initial(X.caste_type), X) @@ -775,11 +776,11 @@ return if (!isxeno(A) || !X.can_not_harm(A)) - to_chat(X, SPAN_XENODANGER("You must target one of your sisters!")) + to_chat(X, SPAN_XENODANGER("We must target one of our sisters!")) return if (A == X) - to_chat(X, SPAN_XENODANGER("You cannot heal yourself!")) + to_chat(X, SPAN_XENODANGER("We cannot heal ourself!")) return if (A.z != X.z) @@ -799,7 +800,7 @@ if (curr_effect_type == WARDEN_HEAL_SHIELD) if (SEND_SIGNAL(targetXeno, COMSIG_XENO_PRE_HEAL) & COMPONENT_CANCEL_XENO_HEAL) - to_chat(X, SPAN_XENOWARNING("You cannot heal bolster the defenses of this xeno!")) + to_chat(X, SPAN_XENOWARNING("We cannot bolster the defenses of this xeno!")) return var/bonus_shield = 0 @@ -819,13 +820,13 @@ var/total_shield_amount = shield_amount + bonus_shield if (X.observed_xeno != null) - to_chat(X, SPAN_XENOHIGHDANGER("You cannot shield [targetXeno] as effectively over distance!")) + to_chat(X, SPAN_XENOHIGHDANGER("We cannot shield [targetXeno] as effectively over distance!")) total_shield_amount = total_shield_amount/4 targetXeno.visible_message(SPAN_BOLDNOTICE("[targetXeno]'s exoskeleton shimmers for a fraction of a second."))//marines probably should know if a xeno gets healed else //so both visible messages don't appear at the same time targetXeno.visible_message(SPAN_BOLDNOTICE("[X] points at [targetXeno], and it shudders as its exoskeleton shimmers for a second!")) //this one is a bit less important than healing and rejuvenating - to_chat(X, SPAN_XENODANGER("You bolster the defenses of [targetXeno]!")) //but i imagine it'll be useful for predators, survivors and for battle flavor - to_chat(targetXeno, SPAN_XENOHIGHDANGER("You feel your defenses bolstered by [X]!")) + to_chat(X, SPAN_XENODANGER("We bolster the defenses of [targetXeno]!")) //but i imagine it'll be useful for predators, survivors and for battle flavor + to_chat(targetXeno, SPAN_XENOHIGHDANGER("We feel our defenses bolstered by [X]!")) targetXeno.add_xeno_shield(total_shield_amount, XENO_SHIELD_SOURCE_WARDEN_PRAE, duration = shield_duration, decay_amount_per_second = shield_decay) targetXeno.xeno_jitter(1 SECONDS) @@ -837,13 +838,13 @@ else if (curr_effect_type == WARDEN_HEAL_HP) if (!X.Adjacent(A)) - to_chat(X, SPAN_XENODANGER("You must be within touching distance of [targetXeno]!")) + to_chat(X, SPAN_XENODANGER("We must be within touching distance of [targetXeno]!")) return if (targetXeno.mutation_type == PRAETORIAN_WARDEN) - to_chat(X, SPAN_XENODANGER("You cannot heal a sister of the same strain!")) + to_chat(X, SPAN_XENODANGER("We cannot heal a sister of the same strain!")) return if (SEND_SIGNAL(targetXeno, COMSIG_XENO_PRE_HEAL) & COMPONENT_CANCEL_XENO_HEAL) - to_chat(X, SPAN_XENOWARNING("You cannot heal this xeno!")) + to_chat(X, SPAN_XENOWARNING("We cannot heal this xeno!")) return var/bonus_heal = 0 @@ -860,8 +861,8 @@ if (!BD.use_internal_hp_ability(bonus_heal)) bonus_heal = 0 - to_chat(X, SPAN_XENODANGER("You heal [targetXeno]!")) - to_chat(targetXeno, SPAN_XENOHIGHDANGER("You are healed by [X]!")) + to_chat(X, SPAN_XENODANGER("We heal [targetXeno]!")) + to_chat(targetXeno, SPAN_XENOHIGHDANGER("We are healed by [X]!")) targetXeno.gain_health(heal_amount + bonus_heal) targetXeno.visible_message(SPAN_BOLDNOTICE("[X] places its claws on [targetXeno], and its wounds are quickly sealed!")) //marines probably should know if a xeno gets healed X.gain_health(heal_amount*0.5 + bonus_heal*0.5) @@ -871,7 +872,7 @@ else if (curr_effect_type == WARDEN_HEAL_DEBUFFS) if (X.observed_xeno != null) - to_chat(X, SPAN_XENOHIGHDANGER("You cannot rejuvenate targets through overwatch!")) + to_chat(X, SPAN_XENOHIGHDANGER("We cannot rejuvenate targets through overwatch!")) return if (X.mutation_type == PRAETORIAN_WARDEN) @@ -882,8 +883,8 @@ if (!BD.use_internal_hp_ability(debuff_cost)) return - to_chat(X, SPAN_XENODANGER("You rejuvenate [targetXeno]!")) - to_chat(targetXeno, SPAN_XENOHIGHDANGER("You are rejuvenated by [X]!")) + to_chat(X, SPAN_XENODANGER("We rejuvenate [targetXeno]!")) + to_chat(targetXeno, SPAN_XENOHIGHDANGER("We are rejuvenated by [X]!")) targetXeno.visible_message(SPAN_BOLDNOTICE("[X] points at [targetXeno], and it spasms as it recuperates unnaturally quickly!")) //marines probably should know if a xeno gets rejuvenated targetXeno.xeno_jitter(1 SECONDS) //it might confuse them as to why the queen got up half a second after being AT rocketed, and give them feedback on the Praetorian rejuvenating targetXeno.flick_heal_overlay(3 SECONDS, "#F5007A") //therefore making the Praetorian a priority target @@ -910,15 +911,15 @@ return if(X.observed_xeno != null) - to_chat(X, SPAN_XENOHIGHDANGER("You cannot retrieve sisters through overwatch!")) + to_chat(X, SPAN_XENOHIGHDANGER("We cannot retrieve sisters through overwatch!")) return if(!isxeno(A) || !X.can_not_harm(A)) - to_chat(X, SPAN_XENODANGER("You must target one of your sisters!")) + to_chat(X, SPAN_XENODANGER("We must target one of our sisters!")) return if(A == X) - to_chat(X, SPAN_XENODANGER("You cannot retrieve yourself!")) + to_chat(X, SPAN_XENODANGER("We cannot retrieve ourself!")) return if(X.anchored) @@ -979,7 +980,7 @@ blocked = TRUE break if(blocked) - to_chat(X, SPAN_XENOWARNING("You can't reach [targetXeno] with your resin retrieval hook!")) + to_chat(X, SPAN_XENOWARNING("We can't reach [targetXeno] with our resin retrieval hook!")) return T = temp @@ -992,10 +993,10 @@ telegraph_atom_list += new /obj/effect/xenomorph/xeno_telegraph/green(T, windup) if(!length(turflist)) - to_chat(X, SPAN_XENOWARNING("You don't have any room to do your retrieve!")) + to_chat(X, SPAN_XENOWARNING("We don't have any room to do our retrieve!")) return - X.visible_message(SPAN_XENODANGER("[X] prepares to fire its resin retrieval hook at [A]!"), SPAN_XENODANGER("You prepare to fire your resin retrieval hook at [A]!")) + X.visible_message(SPAN_XENODANGER("[X] prepares to fire its resin retrieval hook at [A]!"), SPAN_XENODANGER("We prepare to fire our resin retrieval hook at [A]!")) X.emote("roar") var/throw_target_turf = get_step(X.loc, facing) @@ -1006,7 +1007,7 @@ ADD_TRAIT(X, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Praetorian Retrieve")) if(windup) if(!do_after(X, windup, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE, numticks = 1)) - to_chat(X, SPAN_XENOWARNING("You cancel your retrieve.")) + to_chat(X, SPAN_XENOWARNING("We cancel our retrieve.")) apply_cooldown() for (var/obj/effect/xenomorph/xeno_telegraph/XT in telegraph_atom_list) @@ -1028,18 +1029,18 @@ break if(!successful_retrieve) - to_chat(X, SPAN_XENOWARNING("You can't reach [targetXeno] with your resin retrieval hook!")) + to_chat(X, SPAN_XENOWARNING("We can't reach [targetXeno] with our resin retrieval hook!")) return - to_chat(targetXeno, SPAN_XENOBOLDNOTICE("You are pulled toward [X]!")) + to_chat(targetXeno, SPAN_XENOBOLDNOTICE("We are pulled toward [X]!")) shake_camera(targetXeno, 10, 1) var/throw_dist = get_dist(throw_target_turf, targetXeno)-1 if(throw_target_turf == behind_turf) throw_dist++ - to_chat(X, SPAN_XENOBOLDNOTICE("You fling [targetXeno] over your head with your resin hook, and they land behind you!")) + to_chat(X, SPAN_XENOBOLDNOTICE("We fling [targetXeno] over our head with our resin hook, and they land behind us!")) else - to_chat(X, SPAN_XENOBOLDNOTICE("You fling [targetXeno] towards you with your resin hook, and they in front of you!")) + to_chat(X, SPAN_XENOBOLDNOTICE("We fling [targetXeno] towards us with our resin hook, and they land in front of us!")) targetXeno.throw_atom(throw_target_turf, throw_dist, SPEED_VERY_FAST, pass_flags = PASS_MOB_THRU) apply_cooldown() return ..() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm index 3c475743c0bf..cdf0d3840084 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm @@ -104,7 +104,7 @@ return if (!isxeno_human(target) || xeno.can_not_harm(target)) - to_chat(xeno, SPAN_XENOWARNING("You must target a hostile!")) + to_chat(xeno, SPAN_XENOWARNING("We must target a hostile!")) return if (get_dist_sqrd(target, xeno) > 2) @@ -114,7 +114,7 @@ var/mob/living/carbon/carbon = target if (carbon.stat == DEAD) - to_chat(xeno, SPAN_XENOWARNING("[carbon] is dead, why would you want to touch them?")) + to_chat(xeno, SPAN_XENOWARNING("[carbon] is dead, why would we want to touch them?")) return var/datum/behavior_delegate/predalien_base/behavior = xeno.behavior_delegate @@ -136,7 +136,7 @@ xeno.anchored = TRUE if (do_after(xeno, activation_delay, INTERRUPT_ALL | BEHAVIOR_IMMOBILE, BUSY_ICON_HOSTILE)) - xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] rips open the guts of [carbon]!"), SPAN_XENOHIGHDANGER("You rip open the guts of [carbon]!")) + xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] rips open the guts of [carbon]!"), SPAN_XENOHIGHDANGER("We rip open the guts of [carbon]!")) carbon.spawn_gibs() playsound(get_turf(carbon), 'sound/effects/gibbed.ogg', 75, 1) carbon.apply_effect(get_xeno_stun_duration(carbon, 0.5), WEAKEN) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm index 65769eac9cdf..917a7b1c9af7 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/queen/queen_powers.dm @@ -115,7 +115,7 @@ remove_verb(new_xeno, /mob/living/carbon/xenomorph/verb/Deevolve) new_xeno.visible_message(SPAN_XENODANGER("A [new_xeno.caste.caste_type] emerges from the husk of \the [target_xeno]."), \ - SPAN_XENODANGER("[user_xeno] makes you regress into your previous form.")) + SPAN_XENODANGER("[user_xeno] makes us regress into your previous form.")) if(user_xeno.hive.living_xeno_queen && user_xeno.hive.living_xeno_queen.observed_xeno == target_xeno) user_xeno.hive.living_xeno_queen.overwatch(new_xeno) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm index 4f9c5f298637..3744fb7823e8 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_abilities.dm @@ -136,7 +136,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 plasma_cost = 0 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS // Config var/shard_cost = 75 @@ -150,7 +150,7 @@ action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 plasma_cost = 0 - xeno_cooldown = 300 + xeno_cooldown = 30 SECONDS // Config values var/shard_cost = 50 diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm index 457b1defc1db..c70c3cae6cd3 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ravager/ravager_powers.dm @@ -16,7 +16,7 @@ if (!check_and_use_plasma_owner()) return - xeno.visible_message(SPAN_XENODANGER("[xeno] starts empowering!"), SPAN_XENODANGER("You start empowering yourself!")) + xeno.visible_message(SPAN_XENODANGER("[xeno] starts empowering!"), SPAN_XENODANGER("We start empowering ourself!")) activated_once = TRUE button.icon_state = "template_active" get_inital_shield() @@ -32,7 +32,7 @@ activated_once = FALSE button.icon_state = "template" - xeno.visible_message(SPAN_XENOWARNING("[xeno] gets empowered by the surrounding enemies!"), SPAN_XENOWARNING("You feel a rush of power from the surrounding enemies!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] gets empowered by the surrounding enemies!"), SPAN_XENOWARNING("We feel a rush of power from the surrounding enemies!")) xeno.create_empower() var/list/mobs_in_range = oviewers(empower_range, xeno) @@ -64,7 +64,7 @@ super_empower(xeno, empower_targets, behavior) /datum/action/xeno_action/onclick/empower/proc/super_empower(mob/living/carbon/xenomorph/xeno, empower_targets, datum/behavior_delegate/ravager_base/behavior) - xeno.visible_message(SPAN_DANGER("[xeno] glows an eerie red as it empowers further with the strength of [empower_targets] hostiles!"), SPAN_XENOHIGHDANGER("You begin to glow an eerie red, empowered by the [empower_targets] enemies!")) + xeno.visible_message(SPAN_DANGER("[xeno] glows an eerie red as it empowers further with the strength of [empower_targets] hostiles!"), SPAN_XENOHIGHDANGER("We begin to glow an eerie red, empowered by the [empower_targets] enemies!")) xeno.emote("roar") @@ -90,7 +90,7 @@ /datum/action/xeno_action/onclick/empower/proc/remove_superbuff(mob/living/carbon/xenomorph/xeno, datum/behavior_delegate/ravager_base/behavior) behavior.empower_targets = 0 - xeno.visible_message(SPAN_DANGER("[xeno]'s glow slowly dims."), SPAN_XENOHIGHDANGER("Your glow fades away, the power leaving your body!")) + xeno.visible_message(SPAN_DANGER("[xeno]'s glow slowly dims."), SPAN_XENOHIGHDANGER("Our glow fades away, the power leaving our form!")) xeno.remove_filter("empower_rage") /datum/action/xeno_action/onclick/empower/proc/get_inital_shield() @@ -127,7 +127,7 @@ var/datum/behavior_delegate/ravager_base/behavior = xeno.behavior_delegate if(behavior.empower_targets < behavior.super_empower_threshold) return - xeno.visible_message(SPAN_XENODANGER("[xeno] uses its shield to bash [human] as it charges at them!"), SPAN_XENODANGER("You use your shield to bash [human] as you charge at them!")) + xeno.visible_message(SPAN_XENODANGER("[xeno] uses its shield to bash [human] as it charges at them!"), SPAN_XENODANGER("We use our shield to bash [human] as we charge at them!")) human.apply_effect(behavior.knockdown_amount, WEAKEN) human.attack_alien(xeno, rand(xeno.melee_damage_lower, xeno.melee_damage_upper)) @@ -204,7 +204,7 @@ // Hmm today I will kill a marine while looking away from them ravager_user.face_atom(target_atom) ravager_user.emote("roar") - ravager_user.visible_message(SPAN_XENODANGER("[ravager_user] sweeps its claws through the area in front of it!"), SPAN_XENODANGER("You sweep your claws through the area in front of you!")) + ravager_user.visible_message(SPAN_XENODANGER("[ravager_user] sweeps its claws through the area in front of it!"), SPAN_XENODANGER("We sweep our claws through the area in front of us!")) // Loop through our turfs, finding any humans there and dealing damage to them for (var/turf/target_turf in target_turfs) @@ -246,7 +246,7 @@ if (istype(behavior)) behavior.next_slash_buffed = TRUE - to_chat(xeno, SPAN_XENODANGER("Your next slash will slow!")) + to_chat(xeno, SPAN_XENODANGER("Our next slash will slow!")) addtimer(CALLBACK(src, PROC_REF(unbuff_slash)), buff_duration) @@ -265,7 +265,7 @@ if (istype(xeno)) xeno.speed_modifier += speed_buff xeno.recalculate_speed() - to_chat(xeno, SPAN_XENOHIGHDANGER("You feel your speed wane!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("We feel our speed wane!")) /datum/action/xeno_action/onclick/apprehend/proc/unbuff_slash() var/mob/living/carbon/xenomorph/xeno = owner @@ -278,7 +278,7 @@ return behavior.next_slash_buffed = FALSE - to_chat(xeno, SPAN_XENODANGER("You have waited too long, your slash will no longer slow enemies!")) + to_chat(xeno, SPAN_XENODANGER("We have waited too long, our slash will no longer slow enemies!")) /datum/action/xeno_action/activable/clothesline/use_ability(atom/affected_atom) @@ -291,11 +291,11 @@ return if (!isxeno_human(affected_atom) || xeno.can_not_harm(affected_atom)) - to_chat(xeno, SPAN_XENOWARNING("You must target a hostile!")) + to_chat(xeno, SPAN_XENOWARNING("We must target a hostile!")) return if (!xeno.Adjacent(affected_atom)) - to_chat(xeno, SPAN_XENOWARNING("You must be adjacent to your target!")) + to_chat(xeno, SPAN_XENOWARNING("We must be adjacent to our target!")) return var/mob/living/carbon/carbon = affected_atom @@ -304,7 +304,7 @@ var/debilitate = TRUE // Do we apply neg. status effects to the target? if (carbon.mob_size >= MOB_SIZE_BIG) - to_chat(xeno, SPAN_XENOWARNING("This creature is too massive to target")) + to_chat(xeno, SPAN_XENOWARNING("We creature is too massive to target")) return if (carbon.stat == DEAD) @@ -318,7 +318,7 @@ behavior.decrement_rage() heal_amount += additional_healing_enraged else - to_chat(xeno, SPAN_XENOWARNING("Your rejuvenation was weaker without rage!")) + to_chat(xeno, SPAN_XENOWARNING("Our rejuvenation was weaker without rage!")) debilitate = FALSE fling_distance-- @@ -372,7 +372,7 @@ if (xeno.mutation_type == RAVAGER_BERSERKER) var/datum/behavior_delegate/ravager_berserker/behavior = xeno.behavior_delegate if (behavior.rage == 0) - to_chat(xeno, SPAN_XENODANGER("You cannot eviscerate when you have 0 rage!")) + to_chat(xeno, SPAN_XENODANGER("We cannot eviscerate when we have 0 rage!")) return damage = damage_at_rage_levels[Clamp(behavior.rage, 1, behavior.max_rage)] range = range_at_rage_levels[Clamp(behavior.rage, 1, behavior.max_rage)] @@ -382,9 +382,9 @@ apply_cooldown() if (range > 1) - xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] begins digging in for a massive strike!"), SPAN_XENOHIGHDANGER("You begin digging in for a massive strike!")) + xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] begins digging in for a massive strike!"), SPAN_XENOHIGHDANGER("We begin digging in for a massive strike!")) else - xeno.visible_message(SPAN_XENODANGER("[xeno] begins digging in for a strike!"), SPAN_XENOHIGHDANGER("You begin digging in for a strike!")) + xeno.visible_message(SPAN_XENODANGER("[xeno] begins digging in for a strike!"), SPAN_XENOHIGHDANGER("We begin digging in for a strike!")) ADD_TRAIT(xeno, TRAIT_IMMOBILIZED, TRAIT_SOURCE_ABILITY("Eviscerate")) xeno.anchored = TRUE @@ -404,12 +404,12 @@ continue if (range > 1) - xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] rips open the guts of [human]!"), SPAN_XENOHIGHDANGER("You rip open the guts of [human]!")) + xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] rips open the guts of [human]!"), SPAN_XENOHIGHDANGER("We rip open the guts of [human]!")) human.spawn_gibs() playsound(get_turf(human), 'sound/effects/gibbed.ogg', 30, 1) human.apply_effect(get_xeno_stun_duration(human, 1), WEAKEN) else - xeno.visible_message(SPAN_XENODANGER("[xeno] claws [human]!"), SPAN_XENODANGER("You claw [human]!")) + xeno.visible_message(SPAN_XENODANGER("[xeno] claws [human]!"), SPAN_XENODANGER("We claw [human]!")) playsound(get_turf(human), "alien_claw_flesh", 30, 1) human.apply_armoured_damage(get_xeno_damage_slash(human, damage), ARMOR_MELEE, BRUTE, "chest", 20) @@ -450,11 +450,11 @@ if (xeno.mutation_type == RAVAGER_HEDGEHOG) var/datum/behavior_delegate/ravager_hedgehog/behavior = xeno.behavior_delegate if (!behavior.check_shards(shard_cost)) - to_chat(xeno, SPAN_DANGER("Not enough shards! You need [shard_cost - behavior.shards] more!")) + to_chat(xeno, SPAN_DANGER("Not enough shards! We need [shard_cost - behavior.shards] more!")) return behavior.use_shards(shard_cost) - xeno.visible_message(SPAN_XENODANGER("[xeno] ruffles its bone-shard quills, forming a defensive shell!"), SPAN_XENODANGER("You ruffle your bone-shard quills, forming a defensive shell!")) + xeno.visible_message(SPAN_XENODANGER("[xeno] ruffles its bone-shard quills, forming a defensive shell!"), SPAN_XENODANGER("We ruffle our bone-shard quills, forming a defensive shell!")) // Add our shield var/datum/xeno_shield/hedgehog_shield/shield = xeno.add_xeno_shield(shield_amount, XENO_SHIELD_SOURCE_HEDGE_RAV, /datum/xeno_shield/hedgehog_shield) @@ -497,7 +497,7 @@ qdel(shield) break - to_chat(xeno, SPAN_XENODANGER("You feel your shard shield dissipate!")) + to_chat(xeno, SPAN_XENODANGER("We feel our shard shield dissipate!")) xeno.overlay_shields() return @@ -513,11 +513,11 @@ if (xeno.mutation_type == RAVAGER_HEDGEHOG) var/datum/behavior_delegate/ravager_hedgehog/behavior = xeno.behavior_delegate if (!behavior.check_shards(shard_cost)) - to_chat(xeno, SPAN_DANGER("Not enough shards! You need [shard_cost - behavior.shards] more!")) + to_chat(xeno, SPAN_DANGER("Not enough shards! We need [shard_cost - behavior.shards] more!")) return behavior.use_shards(shard_cost) - xeno.visible_message(SPAN_XENOWARNING("[xeno] fires their spikes at [affected_atom]!"), SPAN_XENOWARNING("You fire your spikes at [affected_atom]!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] fires their spikes at [affected_atom]!"), SPAN_XENOWARNING("We fire our spikes at [affected_atom]!")) var/turf/target = locate(affected_atom.x, affected_atom.y, affected_atom.z) var/obj/projectile/projectile = new /obj/projectile(xeno.loc, create_cause_data(initial(xeno.caste_type), xeno)) @@ -559,12 +559,12 @@ if (xeno.mutation_type == RAVAGER_HEDGEHOG) var/datum/behavior_delegate/ravager_hedgehog/behavior = xeno.behavior_delegate if (!behavior.check_shards(shard_cost)) - to_chat(xeno, SPAN_DANGER("Not enough shards! You need [shard_cost - behavior.shards] more!")) + to_chat(xeno, SPAN_DANGER("Not enough shards! We need [shard_cost - behavior.shards] more!")) return behavior.use_shards(shard_cost) behavior.lock_shards() - xeno.visible_message(SPAN_XENOWARNING("[xeno] sheds their spikes, firing them in all directions!"), SPAN_XENOWARNING("You shed your spikes, firing them in all directions!!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] sheds their spikes, firing them in all directions!"), SPAN_XENOWARNING("We shed our spikes, firing them in all directions!!")) xeno.spin_circle() create_shrapnel(get_turf(xeno), shrapnel_amount, null, null, ammo_type, create_cause_data(initial(xeno.caste_type), owner), TRUE) playsound(xeno, 'sound/effects/spike_spray.ogg', 25, 1) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm index 510f161d8a86..2880dd15eb5a 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_abilities.dm @@ -5,7 +5,7 @@ macro_path = /datum/action/xeno_action/verb/verb_pounce action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 30 + xeno_cooldown = 3 SECONDS plasma_cost = 0 // Config options @@ -28,7 +28,7 @@ macro_path = /datum/action/xeno_action/verb/verb_runner_bonespurs action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 110 + xeno_cooldown = 11 SECONDS plasma_cost = 0 var/ammo_type = /datum/ammo/xeno/bone_chips/spread/runner_skillshot diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm index 06bf3e0e2e0a..b907a382dda1 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm @@ -12,7 +12,7 @@ if (!check_and_use_plasma_owner()) return - xeno.visible_message(SPAN_XENOWARNING("[xeno] fires a burst of bone chips at [affected_atom]!"), SPAN_XENOWARNING("You fire a burst of bone chips at [affected_atom]!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] fires a burst of bone chips at [affected_atom]!"), SPAN_XENOWARNING("We fire a burst of bone chips at [affected_atom]!")) var/turf/target = locate(affected_atom.x, affected_atom.y, affected_atom.z) var/obj/projectile/projectile = new /obj/projectile(xeno.loc, create_cause_data(initial(xeno.caste_type), xeno)) @@ -51,14 +51,14 @@ if(istype(affected_atom,/obj/item/explosive/plastic)) var/obj/item/explosive/plastic/plastic_explosive = affected_atom if(plastic_explosive.plant_target && !plastic_explosive.plant_target.Adjacent(src)) - to_chat(src, SPAN_WARNING("You can't reach [affected_atom].")) + to_chat(src, SPAN_WARNING("We can't reach [affected_atom].")) return else to_chat(src, SPAN_WARNING("[affected_atom] is too far away.")) return if(!isturf(loc) || HAS_TRAIT(src, TRAIT_ABILITY_BURROWED)) - to_chat(src, SPAN_WARNING("You can't melt [affected_atom] from here!")) + to_chat(src, SPAN_WARNING("We can't melt [affected_atom] from here!")) return face_atom(affected_atom) @@ -77,18 +77,12 @@ if(isobj(affected_atom)) object = affected_atom - if(istype(object, /obj/structure/window_frame)) - var/obj/structure/window_frame/window_frame = object - if(window_frame.reinforced && acid_type != /obj/effect/xenomorph/acid/strong) - to_chat(src, SPAN_WARNING("This [object.name] is too tough to be melted by your weak acid.")) - return - wait_time = object.get_applying_acid_time() if(wait_time == -1) - to_chat(src, SPAN_WARNING("You cannot dissolve [object].")) + to_chat(src, SPAN_WARNING("We cannot dissolve [object].")) return else - to_chat(src, SPAN_WARNING("You cannot dissolve [affected_atom].")) + to_chat(src, SPAN_WARNING("We cannot dissolve [affected_atom].")) return wait_time = wait_time / 4 if(!do_after(src, wait_time, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) @@ -110,7 +104,7 @@ if(istype(affected_atom, /obj/item/explosive/plastic)) var/obj/item/explosive/plastic/plastic_explosive = affected_atom if(plastic_explosive.plant_target && !plastic_explosive.plant_target.Adjacent(src)) - to_chat(src, SPAN_WARNING("You can't reach [affected_atom].")) + to_chat(src, SPAN_WARNING("We can't reach [affected_atom].")) return else to_chat(src, SPAN_WARNING("[affected_atom] is too far away.")) @@ -131,7 +125,7 @@ var/obj/vehicle/multitile/multitile_vehicle = affected_atom multitile_vehicle.take_damage_type(20 / acid.acid_delay, "acid", src) visible_message(SPAN_XENOWARNING("[src] vomits globs of vile stuff at [multitile_vehicle]. It sizzles under the bubbling mess of acid!"), \ - SPAN_XENOWARNING("You vomit globs of vile stuff at [multitile_vehicle]. It sizzles under the bubbling mess of acid!"), null, 5) + SPAN_XENOWARNING("We vomit globs of vile stuff at [multitile_vehicle]. It sizzles under the bubbling mess of acid!"), null, 5) playsound(loc, "sound/bullets/acid_impact1.ogg", 25) QDEL_IN(acid, 20) return @@ -140,7 +134,7 @@ acid.name += " ([affected_atom])" visible_message(SPAN_XENOWARNING("[src] vomits globs of vile stuff all over [affected_atom]. It begins to sizzle and melt under the bubbling mess of acid!"), \ - SPAN_XENOWARNING("You vomit globs of vile stuff all over [affected_atom]. It begins to sizzle and melt under the bubbling mess of acid!"), null, 5) + SPAN_XENOWARNING("We vomit globs of vile stuff all over [affected_atom]. It begins to sizzle and melt under the bubbling mess of acid!"), null, 5) playsound(loc, "sound/bullets/acid_impact1.ogg", 25) @@ -156,7 +150,7 @@ var/area/xeno_area = get_area(xeno) if(xeno_area.flags_area & AREA_CONTAINMENT) - to_chat(xeno, SPAN_XENOWARNING("You can't activate this here!")) + to_chat(xeno, SPAN_XENOWARNING("We can't activate this here!")) return if(!xeno.check_state()) @@ -182,7 +176,7 @@ notify_ghosts(header = "For the Hive!", message = "[xeno] is going to explode for the Hive!", source = xeno, action = NOTIFY_ORBIT) - to_chat(xeno, SPAN_XENOWARNING("Your stomach starts turning and twisting, getting ready to compress the built up acid.")) + to_chat(xeno, SPAN_XENOWARNING("Our stomach starts turning and twisting, getting ready to compress the built up acid.")) xeno.color = "#22FF22" xeno.set_light_color("#22FF22") xeno.set_light_range(3) @@ -213,4 +207,4 @@ // -Original amount set - (time exploding + timer inaccuracy) * how much gets removed per tick / 2 xeno.adjust_effect(behavior_delegate.caboom_timer * -2 - (behavior_delegate.caboom_timer - behavior_delegate.caboom_left + 2) * xeno.life_slow_reduction * 0.5, SUPERSLOW) - to_chat(xeno, SPAN_XENOWARNING("You remove all your explosive acid before it combusted.")) + to_chat(xeno, SPAN_XENOWARNING("We remove all our explosive acid before it combusted.")) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm index b058756d3ef8..1ddec771d075 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/sentinel/sentinel_powers.dm @@ -4,7 +4,7 @@ return if(!action_cooldown_check()) - to_chat(src, SPAN_WARNING("You must wait for your spit glands to refill.")) + to_chat(src, SPAN_WARNING("We must wait for our spit glands to refill.")) return var/turf/current_turf = get_turf(xeno) @@ -39,7 +39,7 @@ return if(!action_cooldown_check()) - to_chat(src, SPAN_WARNING("You must wait for your spit glands to refill.")) + to_chat(src, SPAN_WARNING("We must wait for your spit glands to refill.")) return var/turf/current_turf = get_turf(xeno) @@ -84,7 +84,7 @@ if (istype(behavior)) behavior.next_slash_buffed = TRUE - to_chat(xeno, SPAN_XENOHIGHDANGER("Your next slash will apply neurotoxin!")) + to_chat(xeno, SPAN_XENOHIGHDANGER("Our next slash will apply neurotoxin!")) button.icon_state = "template_active" addtimer(CALLBACK(src, PROC_REF(unbuff_slash)), buff_duration) @@ -103,5 +103,5 @@ return behavior.next_slash_buffed = FALSE - to_chat(xeno, SPAN_XENODANGER("You have waited too long, your slash will no longer apply neurotoxin!")) + to_chat(xeno, SPAN_XENODANGER("We have waited too long, our slash will no longer apply neurotoxin!")) button.icon_state = "template" diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm index 7643b0bfa05e..20febc22c4a4 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_abilities.dm @@ -8,7 +8,7 @@ macro_path = /datum/action/xeno_action/verb/verb_xeno_spit action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - cooldown_message = "You feel your corrosive glands swell with acid. You can spit again." + cooldown_message = "We feel our corrosive glands swell with acid. We can spit again." //xeno_cooldown = 60 SECONDS useless var. funny shitcode /datum/action/xeno_action/onclick/charge_spit @@ -34,7 +34,7 @@ action_type = XENO_ACTION_CLICK plasma_cost = 50 - xeno_cooldown = 80 + xeno_cooldown = 8 SECONDS // Configurable options spray_type = ACID_SPRAY_LINE // Enum for the shape of spray to do diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_powers.dm index ec8dfd9b7cd9..1385eb1cf668 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/spitter/spitter_powers.dm @@ -8,16 +8,16 @@ return if (buffs_active) - to_chat(zenomorf, SPAN_XENOHIGHDANGER("You cannot stack this!")) + to_chat(zenomorf, SPAN_XENOHIGHDANGER("We cannot stack this!")) return if (!check_and_use_plasma_owner()) return - to_chat(zenomorf, SPAN_XENOHIGHDANGER("You accumulate acid in your glands. Your next spit will be stronger but shorter-ranged.")) - to_chat(zenomorf, SPAN_XENOWARNING("Additionally, you are slightly faster and more armored for a small amount of time.")) + to_chat(zenomorf, SPAN_XENOHIGHDANGER("We accumulate acid in your glands. Our next spit will be stronger but shorter-ranged.")) + to_chat(zenomorf, SPAN_XENOWARNING("Additionally, we are slightly faster and more armored for a small amount of time.")) zenomorf.create_custom_empower(icolor = "#93ec78", ialpha = 200, small_xeno = TRUE) - zenomorf.balloon_alert(zenomorf, "your next spit will be stronger", text_color = "#93ec78") + zenomorf.balloon_alert(zenomorf, "our next spit will be stronger", text_color = "#93ec78") buffs_active = TRUE zenomorf.ammo = GLOB.ammo_list[/datum/ammo/xeno/acid/spatter] // shitcode is my city zenomorf.speed_modifier -= speed_buff_amount @@ -36,8 +36,8 @@ SIGNAL_HANDLER var/mob/living/carbon/xenomorph/zenomorf = owner if(zenomorf.ammo == GLOB.ammo_list[/datum/ammo/xeno/acid/spatter]) - to_chat(zenomorf, SPAN_XENOWARNING("Your acid glands empty out and return back to normal. You will once more fire long-ranged weak spits.")) - zenomorf.balloon_alert(zenomorf, "your spits are back to normal", text_color = "#93ec78") + to_chat(zenomorf, SPAN_XENOWARNING("Our acid glands empty out and return back to normal. We will once more fire long-ranged weak spits.")) + zenomorf.balloon_alert(zenomorf, "our spits are back to normal", text_color = "#93ec78") zenomorf.ammo = GLOB.ammo_list[/datum/ammo/xeno/acid] // el codigo de mierda es mi ciudad UnregisterSignal(zenomorf, COMSIG_XENO_POST_SPIT) @@ -50,7 +50,7 @@ zenomorf.speed_modifier += speed_buff_amount zenomorf.armor_modifier -= armor_buff_amount zenomorf.recalculate_speed() - to_chat(zenomorf, SPAN_XENOHIGHDANGER("You feel your movement speed slow down!")) + to_chat(zenomorf, SPAN_XENOHIGHDANGER("We feel our movement speed slow down!")) disable_spatter() buffs_active = FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm index 5127ca6fe4ed..4f40e1914540 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_abilities.dm @@ -6,11 +6,11 @@ macro_path = /datum/action/xeno_action/verb/verb_fling action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_3 - xeno_cooldown = 60 + xeno_cooldown = 6 SECONDS // Configurables var/fling_distance = 4 - var/stun_power = 0 + var/stun_power = 0.5 var/weaken_power = 0.5 var/slowdown = 2 @@ -22,7 +22,7 @@ macro_path = /datum/action/xeno_action/verb/verb_lunge action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_2 - xeno_cooldown = 100 + xeno_cooldown = 10 SECONDS // Configurables var/grab_range = 4 @@ -36,7 +36,7 @@ macro_path = /datum/action/xeno_action/verb/verb_punch action_type = XENO_ACTION_CLICK ability_primacy = XENO_PRIMARY_ACTION_1 - xeno_cooldown = 45 + xeno_cooldown = 4.5 SECONDS // Configurables var/base_damage = 25 diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm index cde2e3432e7b..be550e50f0e2 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/warrior/warrior_powers.dm @@ -3,7 +3,7 @@ if (!action_cooldown_check()) if(twitch_message_cooldown < world.time ) - xeno.visible_message(SPAN_XENOWARNING("[xeno]'s claws twitch."), SPAN_XENOWARNING("Your claws twitch as you try to lunge but lack the strength. Wait a moment to try again.")) + xeno.visible_message(SPAN_XENOWARNING("[xeno]'s claws twitch."), SPAN_XENOWARNING("Our claws twitch as we try to lunge but lack the strength. Wait a moment to try again.")) twitch_message_cooldown = world.time + 5 SECONDS return //this gives a little feedback on why your lunge didn't hit other than the lunge button going grey. Plus, it might spook marines that almost got lunged if they know why the message appeared, and extra spookiness is always good. @@ -11,7 +11,7 @@ return if (!isturf(xeno.loc)) - to_chat(xeno, SPAN_XENOWARNING("You can't lunge from here!")) + to_chat(xeno, SPAN_XENOWARNING("We can't lunge from here!")) return if (!xeno.check_state() || xeno.agility) @@ -31,14 +31,16 @@ apply_cooldown() ..() - xeno.visible_message(SPAN_XENOWARNING("[xeno] lunges towards [carbon]!"), SPAN_XENOWARNING("You lunge at [carbon]!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] lunges towards [carbon]!"), SPAN_XENOWARNING("We lunge at [carbon]!")) xeno.throw_atom(get_step_towards(affected_atom, xeno), grab_range, SPEED_FAST, xeno) if (xeno.Adjacent(carbon)) xeno.start_pulling(carbon,1) + if(ishuman(carbon)) + INVOKE_ASYNC(carbon, TYPE_PROC_REF(/mob, emote), "scream") else - xeno.visible_message(SPAN_XENOWARNING("[xeno]'s claws twitch."), SPAN_XENOWARNING("Your claws twitch as you lunge but are unable to grab onto your target. Wait a moment to try again.")) + xeno.visible_message(SPAN_XENOWARNING("[xeno]'s claws twitch."), SPAN_XENOWARNING("Our claws twitch as we lunge but are unable to grab onto our target. Wait a moment to try again.")) return TRUE @@ -68,18 +70,18 @@ xeno.stop_pulling() if(carbon.mob_size >= MOB_SIZE_BIG) - to_chat(xeno, SPAN_XENOWARNING("[carbon] is too big for you to fling!")) + to_chat(xeno, SPAN_XENOWARNING("[carbon] is too big for us to fling!")) return if (!check_and_use_plasma_owner()) return - xeno.visible_message(SPAN_XENOWARNING("[xeno] effortlessly flings [carbon] to the side!"), SPAN_XENOWARNING("You effortlessly fling [carbon] to the side!")) + xeno.visible_message(SPAN_XENOWARNING("[xeno] effortlessly flings [carbon] to the side!"), SPAN_XENOWARNING("We effortlessly fling [carbon] to the side!")) playsound(carbon,'sound/weapons/alien_claw_block.ogg', 75, 1) if(stun_power) - carbon.apply_effect(get_xeno_stun_duration(carbon, stun_power), STUN) + carbon.Stun(get_xeno_stun_duration(carbon, stun_power)) if(weaken_power) - carbon.apply_effect(weaken_power, WEAKEN) + carbon.KnockDown(get_xeno_stun_duration(carbon, weaken_power)) if(slowdown) if(carbon.slowed < slowdown) carbon.apply_effect(slowdown, SLOW) @@ -143,7 +145,7 @@ carbon.last_damage_data = create_cause_data(initial(xeno.caste_type), xeno) xeno.visible_message(SPAN_XENOWARNING("[xeno] hits [carbon] in the [target_limb ? target_limb.display_name : "chest"] with a devastatingly powerful punch!"), \ - SPAN_XENOWARNING("You hit [carbon] in the [target_limb ? target_limb.display_name : "chest"] with a devastatingly powerful punch!")) + SPAN_XENOWARNING("We hit [carbon] in the [target_limb ? target_limb.display_name : "chest"] with a devastatingly powerful punch!")) var/sound = pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg') playsound(carbon, sound, 50, 1) do_base_warrior_punch(carbon, target_limb) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm b/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm index 11b8f0db0075..0ed15debb963 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/xeno_action.dm @@ -343,11 +343,11 @@ if(cooldown_message) to_chat(owner, SPAN_XENODANGER("[cooldown_message]")) else - to_chat(owner, SPAN_XENODANGER("You feel your strength return! You can use [name] again!")) + to_chat(owner, SPAN_XENODANGER("We feel our strength return! We can use [name] again!")) /datum/action/xeno_action/proc/start_charging_ability() charge_timer_id = addtimer(CALLBACK(src, PROC_REF(finish_charging_ability)), charge_time, TIMER_UNIQUE|TIMER_STOPPABLE) - to_chat(owner, SPAN_XENOWARNING("You start charging up your [name]!")) + to_chat(owner, SPAN_XENOWARNING("We start charging up our [name]!")) /datum/action/xeno_action/proc/finish_charging_ability() charge_timer_id = TIMER_ID_NULL diff --git a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm index f9474472e620..d57df232cda4 100644 --- a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm +++ b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm @@ -25,7 +25,7 @@ extinguish_mob(M) else M.visible_message(SPAN_NOTICE("[M] caresses [src] with its claws."), \ - SPAN_NOTICE("You caress [src] with your claws."), null, 5, CHAT_TYPE_XENO_FLUFF) + SPAN_NOTICE("We caress [src] with our claws."), null, 5, CHAT_TYPE_XENO_FLUFF) if(INTENT_GRAB) if(M == src || anchored || buckled) @@ -33,7 +33,7 @@ if(check_shields(0, M.name)) // Blocking check M.visible_message(SPAN_DANGER("[M]'s grab is blocked by [src]'s shield!"), \ - SPAN_DANGER("Your grab was blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("Our grab was blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback return XENO_ATTACK_ACTION @@ -44,26 +44,26 @@ if(M.can_not_harm(src)) M.animation_attack_on(src) M.visible_message(SPAN_NOTICE("[M] nibbles [src]"), \ - SPAN_XENONOTICE("You nibble [src]")) + SPAN_XENONOTICE("We nibble [src]")) return XENO_ATTACK_ACTION if(M.behavior_delegate && M.behavior_delegate.handle_slash(src)) return XENO_NO_DELAY_ACTION if(stat == DEAD) - to_chat(M, SPAN_WARNING("[src] is dead, why would you want to touch it?")) + to_chat(M, SPAN_WARNING("[src] is dead, why would we want to touch it?")) return XENO_NO_DELAY_ACTION if(M.caste && !M.caste.is_intelligent) if(HAS_TRAIT(src, TRAIT_NESTED) && (status_flags & XENO_HOST)) for(var/obj/item/alien_embryo/embryo in src) if(HIVE_ALLIED_TO_HIVE(M.hivenumber, embryo.hivenumber)) - to_chat(M, SPAN_WARNING("You should not harm this host! It has a sister inside.")) + to_chat(M, SPAN_WARNING("We should not harm this host! It has a sister inside.")) return XENO_NO_DELAY_ACTION if(check_shields(0, M.name)) // Blocking check M.visible_message(SPAN_DANGER("[M]'s slash is blocked by [src]'s shield!"), \ - SPAN_DANGER("Your slash is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("Our slash is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback return XENO_ATTACK_ACTION @@ -87,7 +87,7 @@ playsound(M.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) M.animation_attack_on(src) M.visible_message(SPAN_DANGER("[M] lunges at [src]!"), \ - SPAN_DANGER("You lunge at [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We lunge at [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION M.flick_attack_overlay(src, "slash") @@ -111,7 +111,7 @@ if(prob(knock_chance)) playsound(loc, "alien_claw_metal", 25, 1) M.visible_message(SPAN_DANGER("[M] smashes off [src]'s [wear_mask.name]!"), \ - SPAN_DANGER("You smash off [src]'s [wear_mask.name]!"), null, 5) + SPAN_DANGER("We smash off [src]'s [wear_mask.name]!"), null, 5) drop_inv_item_on_ground(wear_mask) if(isyautja(src)) emote("roar") @@ -138,7 +138,7 @@ //The normal attack proceeds playsound(loc, slash_noise, 25, TRUE) M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, null, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, null, CHAT_TYPE_XENO_COMBAT) handle_blood_splatter(get_dir(M.loc, src.loc)) @@ -183,13 +183,13 @@ if(INTENT_DISARM) if(M.legcuffed && isyautja(src)) - to_chat(M, SPAN_XENODANGER("You don't have the dexterity to tackle the headhunter with that thing on your leg!")) + to_chat(M, SPAN_XENODANGER("We don't have the dexterity to tackle the headhunter with that thing on our leg!")) return XENO_NO_DELAY_ACTION M.animation_attack_on(src) if(check_shields(0, M.name)) // Blocking check M.visible_message(SPAN_DANGER("[M]'s tackle is blocked by [src]'s shield!"), \ - SPAN_DANGER("Your tackle is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We tackle is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback return XENO_ATTACK_ACTION M.flick_attack_overlay(src, "disarm") @@ -204,17 +204,19 @@ if(M.attempt_tackle(src, tackle_mult, tackle_min_offset, tackle_max_offset)) playsound(loc, 'sound/weapons/alien_knockdown.ogg', 25, 1) - apply_effect(rand(M.tacklestrength_min, M.tacklestrength_max), WEAKEN) + var/strength = rand(M.tacklestrength_min, M.tacklestrength_max) + Stun(strength) + KnockDown(strength) // Purely for knockdown visuals. All the heavy lifting is done by Stun M.visible_message(SPAN_DANGER("[M] tackles down [src]!"), \ - SPAN_DANGER("You tackle down [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We tackle down [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) else playsound(loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) - if (HAS_TRAIT(src, TRAIT_FLOORED)) + if (body_position == LYING_DOWN) M.visible_message(SPAN_DANGER("[M] tries to tackle [src], but they are already down!"), \ - SPAN_DANGER("You try to tackle [src], but they are already down!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We try to tackle [src], but they are already down!"), null, 5, CHAT_TYPE_XENO_COMBAT) else M.visible_message(SPAN_DANGER("[M] tries to tackle [src]"), \ - SPAN_DANGER("You try to tackle [src]"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We try to tackle [src]"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION @@ -226,7 +228,7 @@ switch(M.a_intent) if(INTENT_HELP) M.visible_message(SPAN_NOTICE("[M] caresses [src] with its claws."), \ - SPAN_NOTICE("You caress [src] with your claws."), null, 5, CHAT_TYPE_XENO_FLUFF) + SPAN_NOTICE("We caress [src] with our claws."), null, 5, CHAT_TYPE_XENO_FLUFF) if(INTENT_GRAB) if(M == src || anchored || buckled) @@ -240,7 +242,7 @@ var/mob/living/carbon/xenomorph/X = src if(!X.banished) M.visible_message(SPAN_WARNING("[M] nibbles [src]."), \ - SPAN_WARNING("You nibble [src]."), null, 5, CHAT_TYPE_XENO_FLUFF) + SPAN_WARNING("We nibble [src]."), null, 5, CHAT_TYPE_XENO_FLUFF) return XENO_ATTACK_ACTION // copypasted from attack_alien.dm @@ -257,12 +259,12 @@ playsound(M.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) M.animation_attack_on(src) M.visible_message(SPAN_DANGER("[M] lunges at [src]!"), \ - SPAN_DANGER("You lunge at [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We lunge at [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION last_damage_data = create_cause_data(initial(M.name), M) M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) attack_log += text("\[[time_stamp()]\] was [M.slash_verb]ed by [key_name(M)]") M.attack_log += text("\[[time_stamp()]\] [M.slash_verb]ed [key_name(src)]") log_attack("[key_name(M)] [M.slash_verb]ed [key_name(src)]") @@ -277,14 +279,14 @@ playsound(loc, 'sound/weapons/alien_knockdown.ogg', 25, 1) M.visible_message(SPAN_WARNING("[M] shoves [src]!"), \ - SPAN_WARNING("You shove [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_WARNING("We shove [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) if(ismonkey(src)) apply_effect(8, WEAKEN) return XENO_ATTACK_ACTION /mob/living/attack_larva(mob/living/carbon/xenomorph/larva/M) M.visible_message(SPAN_DANGER("[M] nudges its head against [src]."), \ - SPAN_DANGER("You nudge your head against [src]."), null, 5, CHAT_TYPE_XENO_FLUFF) + SPAN_DANGER("We nudge our head against [src]."), null, 5, CHAT_TYPE_XENO_FLUFF) /mob/living/proc/is_xeno_grabbable() if(stat == DEAD) @@ -324,11 +326,11 @@ health -= rand(M.melee_damage_lower, M.melee_damage_upper) if(health <= 0) M.visible_message(SPAN_DANGER("[M] slices [src] apart!"), \ - SPAN_DANGER("You slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) deconstruct(FALSE) else M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION //Breaking barricades @@ -339,13 +341,13 @@ playsound(src, barricade_hitsound, 25, 1) if(health <= 0) M.visible_message(SPAN_DANGER("[M] slices [src] apart!"), \ - SPAN_DANGER("You slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) else M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) if(is_wired) M.visible_message(SPAN_DANGER("The barbed wire slices into [M]!"), - SPAN_DANGER("The barbed wire slices into you!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("The barbed wire slices into us!"), null, 5, CHAT_TYPE_XENO_COMBAT) M.apply_damage(10) return XENO_ATTACK_ACTION @@ -354,11 +356,11 @@ if(barricade_hitsound) playsound(src, barricade_hitsound, 25, 1) if(health <= 0) - xeno.visible_message(SPAN_DANGER("[xeno] stabs \the [src] apart!"), SPAN_DANGER("You stab \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + xeno.visible_message(SPAN_DANGER("[xeno] stabs \the [src] apart!"), SPAN_DANGER("We stab \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) else - xeno.visible_message(SPAN_DANGER("[xeno] stabs \the [src] with its razor sharp tail!"), SPAN_DANGER("You stab \the [src] with your razor sharp tail!"), null, 5, CHAT_TYPE_XENO_COMBAT) + xeno.visible_message(SPAN_DANGER("[xeno] stabs \the [src] with its razor sharp tail!"), SPAN_DANGER("We stab \the [src] with our razor sharp tail!"), null, 5, CHAT_TYPE_XENO_COMBAT) if(is_wired) - xeno.visible_message(SPAN_DANGER("The barbed wire slices into \the [xeno]'s tail!"), SPAN_DANGER("The barbed wire slices into your tail!"), null, 5, CHAT_TYPE_XENO_COMBAT) + xeno.visible_message(SPAN_DANGER("The barbed wire slices into \the [xeno]'s tail!"), SPAN_DANGER("The barbed wire slices into our tail!"), null, 5, CHAT_TYPE_XENO_COMBAT) xeno.apply_damage(5) return TAILSTAB_COOLDOWN_NORMAL @@ -366,7 +368,7 @@ M.animation_attack_on(src) playsound(src, 'sound/effects/metalhit.ogg', 25, 1) M.visible_message(SPAN_DANGER("[M] slices [src] apart!"), \ - SPAN_DANGER("You slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) deconstruct(FALSE) return XENO_ATTACK_ACTION @@ -375,7 +377,7 @@ /obj/structure/attack_alien(mob/living/carbon/xenomorph/M) // fuck off dont destroy my unslashables if(unslashable || health <= 0) - to_chat(M, SPAN_WARNING("You stare at \the [src] cluelessly.")) + to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION @@ -387,7 +389,7 @@ M.animation_attack_on(src) playsound(src, hit_bed_sound, 25, 1) M.visible_message(SPAN_DANGER("[M] slices [src] apart!"), - SPAN_DANGER("You slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) unbuckle() deconstruct(FALSE) return XENO_ATTACK_ACTION @@ -412,7 +414,7 @@ return FALSE M.animation_attack_on(src) M.visible_message(SPAN_DANGER("[M] smashes [src]!"), \ - SPAN_DANGER("You smash [src]!"), null, 5) + SPAN_DANGER("We smash [src]!"), null, 5) broken() //Smashola! return XENO_ATTACK_ACTION @@ -421,7 +423,7 @@ if(M.a_intent == INTENT_HELP) playsound(loc, 'sound/effects/glassknock.ogg', 25, 1) M.visible_message(SPAN_WARNING("[M] creepily taps on [src] with its huge claw."), \ - SPAN_WARNING("You creepily tap on [src]."), \ + SPAN_WARNING("We creepily tap on [src]."), \ SPAN_WARNING("You hear a glass tapping sound."), 5, CHAT_TYPE_XENO_COMBAT) else attack_generic(M, M.melee_damage_lower) @@ -433,10 +435,10 @@ health -= rand(15, 30) if(health <= 0) M.visible_message(SPAN_DANGER("[M] slices [src] apart!"), \ - SPAN_DANGER("You slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) else M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, "alien_claw_metal", 25, 1) if(prob(10)) new /obj/effect/decal/cleanable/blood/oil(loc) @@ -447,7 +449,7 @@ /obj/structure/machinery/camera/attack_alien(mob/living/carbon/xenomorph/M) if(status) M.visible_message(SPAN_DANGER("[M] slices [src] apart!"), \ - SPAN_DANGER("You slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, "alien_claw_metal", 25, 1) wires = 0 //wires all cut light_disabled = 0 @@ -459,7 +461,7 @@ M.animation_attack_on(src) playsound(loc, 'sound/effects/Glasshit.ogg', 25, 1) M.visible_message(SPAN_DANGER("[M] smashes against [src]!"), \ - SPAN_DANGER("You smash against [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We smash against [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) var/damage = 25 if(M.mob_size >= MOB_SIZE_BIG) damage = 40 @@ -472,8 +474,8 @@ playsound(loc, 'sound/effects/grillehit.ogg', 25, 1) var/damage_dealt = 5 M.visible_message(SPAN_DANGER("[M] mangles [src]!"), \ - SPAN_DANGER("You mangle [src]!"), \ - SPAN_DANGER("You hear twisting metal!"), 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We mangle [src]!"), \ + SPAN_DANGER("We hear twisting metal!"), 5, CHAT_TYPE_XENO_COMBAT) if(shock(M, 70)) M.visible_message(SPAN_DANGER("ZAP! [M] spazzes wildly amongst a smell of burnt ozone."), \ @@ -490,8 +492,8 @@ M.animation_attack_on(src) var/damage_dealt = 5 M.visible_message(SPAN_DANGER("[M] mangles [src]!"), \ - SPAN_DANGER("You mangle [src]!"), \ - SPAN_DANGER("You hear twisting metal!"), 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We mangle [src]!"), \ + SPAN_DANGER("We hear twisting metal!"), 5, CHAT_TYPE_XENO_COMBAT) health -= damage_dealt healthcheck() @@ -506,11 +508,11 @@ if(M.a_intent == INTENT_HELP) M.visible_message(SPAN_WARNING("[M] ogles its own reflection in [src]."), \ - SPAN_WARNING("You ogle your own reflection in [src]."), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_WARNING("We ogle our own reflection in [src]."), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_NONCOMBAT_ACTION else M.visible_message(SPAN_DANGER("[M] smashes [src]!"), \ - SPAN_DANGER("You smash [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We smash [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) shatter() return XENO_ATTACK_ACTION @@ -568,7 +570,7 @@ playsound(loc, "alien_doorpry", 25, TRUE) M.visible_message(SPAN_WARNING("[M] digs into [src] and begins to pry it open."), \ - SPAN_WARNING("You dig into [src] and begin to pry it open."), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_WARNING("We dig into [src] and begin to pry it open."), null, 5, CHAT_TYPE_XENO_COMBAT) xeno_attack_delay(M) if(do_after(M, delay, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) @@ -586,7 +588,7 @@ spawn(0) open(1) M.visible_message(SPAN_DANGER("[M] pries [src] open."), \ - SPAN_DANGER("You pry [src] open."), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We pry [src] open."), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_NO_DELAY_ACTION /obj/structure/machinery/door/airlock/attack_larva(mob/living/carbon/xenomorph/larva/M) @@ -606,7 +608,7 @@ playsound(loc, 'sound/effects/metal_creaking.ogg', 25, 1) M.visible_message(SPAN_WARNING("[M] digs into [src] and begins to pry it open."), \ - SPAN_WARNING("You dig into [src] and begin to pry it open."), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_WARNING("We dig into [src] and begin to pry it open."), null, 5, CHAT_TYPE_XENO_COMBAT) xeno_attack_delay(M) if(do_after(M, 30, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) @@ -619,7 +621,7 @@ spawn(0) open(1) M.visible_message(SPAN_DANGER("[M] pries [src] open."), \ - SPAN_DANGER("You pry [src] open."), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We pry [src] open."), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_NO_DELAY_ACTION /obj/structure/mineral_door/resin/attack_larva(mob/living/carbon/xenomorph/larva/M) @@ -642,7 +644,7 @@ return else M.visible_message(SPAN_XENONOTICE("[M] claws [src]!"), \ - SPAN_XENONOTICE("You claw [src]."), null, null, CHAT_TYPE_XENO_COMBAT) + SPAN_XENONOTICE("We claw [src]."), null, null, CHAT_TYPE_XENO_COMBAT) playsound(loc, "alien_resin_break", 25) M.animation_attack_on(src) @@ -658,7 +660,7 @@ //Exception is Queen and shuttles, because plot power /obj/structure/machinery/attack_alien(mob/living/carbon/xenomorph/M) if(unslashable || health <= 0) - to_chat(M, SPAN_WARNING("You stare at \the [src] cluelessly.")) + to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION M.animation_attack_on(src) @@ -666,18 +668,18 @@ update_health(rand(M.melee_damage_lower, M.melee_damage_upper)) if(health <= 0) M.visible_message(SPAN_DANGER("[M] slices \the [src] apart!"), \ - SPAN_DANGER("You slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) if(!unacidable) qdel(src) else M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] \the [src]!"), \ - SPAN_DANGER("You [M.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION // Destroying reagent dispensers /obj/structure/reagent_dispensers/attack_alien(mob/living/carbon/xenomorph/M) if(unslashable || health <= 0) - to_chat(M, SPAN_WARNING("You stare at \the [src] cluelessly.")) + to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION M.animation_attack_on(src) @@ -685,18 +687,18 @@ update_health(rand(M.melee_damage_lower, M.melee_damage_upper)) if(health <= 0) M.visible_message(SPAN_DANGER("[M] slices \the [src] apart!"), \ - SPAN_DANGER("You slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) if(!unacidable) qdel(src) else M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] \the [src]!"), \ - SPAN_DANGER("You [M.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION // Destroying filing cabinets /obj/structure/filingcabinet/attack_alien(mob/living/carbon/xenomorph/M) if(unslashable || health <= 0) - to_chat(M, SPAN_WARNING("You stare at \the [src] cluelessly.")) + to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION M.animation_attack_on(src) @@ -704,18 +706,18 @@ update_health(rand(M.melee_damage_lower, M.melee_damage_upper)) if(health <= 0) M.visible_message(SPAN_DANGER("[M] slices \the [src] apart!"), \ - SPAN_DANGER("You slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) if(!unacidable) qdel(src) else M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] \the [src]!"), \ - SPAN_DANGER("You [M.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION // Destroying morgues & crematoriums /obj/structure/morgue/attack_alien(mob/living/carbon/xenomorph/alien) if(unslashable) - to_chat(alien, SPAN_WARNING("You stare at \the [src] cluelessly.")) + to_chat(alien, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION var destroyloc = loc @@ -724,17 +726,17 @@ update_health(rand(alien.melee_damage_lower, alien.melee_damage_upper)) if(health <= 0) alien.visible_message(SPAN_DANGER("[alien] slices \the [src] apart!"), \ - SPAN_DANGER("You slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) new /obj/item/stack/sheet/metal(destroyloc, 2) else alien.visible_message(SPAN_DANGER("[alien] [alien.slashes_verb] \the [src]!"), \ - SPAN_DANGER("You [alien.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [alien.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION // Destroying hydroponics trays /obj/structure/machinery/portable_atmospherics/hydroponics/attack_alien(mob/living/carbon/xenomorph/alien) if(unslashable) - to_chat(alien, SPAN_WARNING("You stare at \the [src] cluelessly.")) + to_chat(alien, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION alien.animation_attack_on(src) @@ -742,18 +744,18 @@ update_health(rand(alien.melee_damage_lower, alien.melee_damage_upper)) if(health <= 0) alien.visible_message(SPAN_DANGER("[alien] slices \the [src] apart!"), \ - SPAN_DANGER("You slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice \the [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) if(!unacidable) qdel(src) else alien.visible_message(SPAN_DANGER("[alien] [alien.slashes_verb] \the [src]!"), \ - SPAN_DANGER("You [alien.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [alien.slash_verb] \the [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION /datum/shuttle/ferry/marine/proc/hijack(mob/living/carbon/xenomorph/M, shuttle_tag) if(!queen_locked) //we have not hijacked it yet if(world.time < SHUTTLE_LOCK_TIME_LOCK) - to_chat(M, SPAN_XENODANGER("You can't mobilize the strength to hijack the shuttle yet. Please wait another [time_left_until(SHUTTLE_LOCK_TIME_LOCK, world.time, 1 MINUTES)] minutes before trying again.")) + to_chat(M, SPAN_XENODANGER("We can't mobilize the strength to hijack the shuttle yet. Please wait another [time_left_until(SHUTTLE_LOCK_TIME_LOCK, world.time, 1 MINUTES)] minutes before trying again.")) return var/message @@ -764,7 +766,7 @@ if(!GLOB.resin_lz_allowed) set_lz_resin_allowed(TRUE) - to_chat(M, SPAN_XENONOTICE("You interact with the machine and disable remote control.")) + to_chat(M, SPAN_XENONOTICE("We interact with the machine and disable remote control.")) xeno_message(SPAN_XENOANNOUNCE("[message]"),3,M.hivenumber) last_locked = world.time if(GLOB.almayer_orbital_cannon) @@ -774,7 +776,7 @@ /datum/shuttle/ferry/marine/proc/door_override(mob/living/carbon/xenomorph/M, shuttle_tag) if(!door_override) - to_chat(M, SPAN_XENONOTICE("You override the doors.")) + to_chat(M, SPAN_XENONOTICE("We override the doors.")) xeno_message(SPAN_XENOANNOUNCE("The doors of the metal bird have been overridden! Rejoice!"),3,M.hivenumber) last_door_override = world.time door_override = 1 @@ -806,11 +808,11 @@ to_chat(M, SPAN_XENONOTICE("[src] is already broken!")) return XENO_NO_DELAY_ACTION else if(beenhit >= XENO_HITS_TO_CUT_WIRES && M.mob_size < MOB_SIZE_BIG) - to_chat(M, SPAN_XENONOTICE("You aren't big enough to further damage [src].")) + to_chat(M, SPAN_XENONOTICE("We aren't big enough to further damage [src].")) return XENO_NO_DELAY_ACTION M.animation_attack_on(src) M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, 5) playsound(loc, "alien_claw_metal", 25, 1) if (beenhit >= XENO_HITS_TO_CUT_WIRES) set_broken() @@ -845,7 +847,7 @@ to_chat(M, "It's already damaged.") return XENO_NO_DELAY_ACTION M.animation_attack_on(src) - M.visible_message("[M] slashes away at [src]!","You slash and claw at the bright light!", max_distance = 5, message_flags = CHAT_TYPE_XENO_COMBAT) + M.visible_message("[M] slashes away at [src]!","We slash and claw at the bright light!", max_distance = 5, message_flags = CHAT_TYPE_XENO_COMBAT) health = max(health - rand(M.melee_damage_lower, M.melee_damage_upper), 0) if(!health) playsound(src, "glassbreak", 70, 1) @@ -858,7 +860,7 @@ return XENO_ATTACK_ACTION /obj/structure/machinery/colony_floodlight/attack_larva(mob/living/carbon/xenomorph/larva/M) - M.visible_message("[M] starts biting [src]!","In a rage, you start biting [src], but with no effect!", null, 5, CHAT_TYPE_XENO_COMBAT) + M.visible_message("[M] starts biting [src]!","In a rage, we start biting [src], but with no effect!", null, 5, CHAT_TYPE_XENO_COMBAT) @@ -869,7 +871,7 @@ if(M.a_intent == INTENT_HELP || !bleed_layer) return ..() - M.visible_message(SPAN_NOTICE("[M] starts clearing out \the [src]..."), SPAN_NOTICE("You start \the clearing out [src]..."), null, 5, CHAT_TYPE_XENO_COMBAT) + M.visible_message(SPAN_NOTICE("[M] starts clearing out \the [src]..."), SPAN_NOTICE("We start \the clearing out [src]..."), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(M.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) while(bleed_layer > 0) @@ -901,26 +903,26 @@ if(prob(difficulty)) break_open() M.visible_message(SPAN_DANGER("[M] smashes \the [src] open!"), \ - SPAN_DANGER("You smash \the [src] open!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We smash \the [src] open!"), null, 5, CHAT_TYPE_XENO_COMBAT) else M.visible_message(SPAN_DANGER("[M] smashes [src]!"), \ - SPAN_DANGER("You smash [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We smash [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION /obj/structure/girder/attack_alien(mob/living/carbon/xenomorph/M) if((M.caste && M.caste.tier < 2 && !isqueen(M)) || unacidable) - to_chat(M, SPAN_WARNING("Your claws aren't sharp enough to damage [src].")) + to_chat(M, SPAN_WARNING("Our claws aren't sharp enough to damage [src].")) return XENO_NO_DELAY_ACTION M.animation_attack_on(src) health -= round(rand(M.melee_damage_lower, M.melee_damage_upper) * 0.5) if(health <= 0) M.visible_message(SPAN_DANGER("[M] smashes [src] apart!"), \ - SPAN_DANGER("You slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We slice [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/effects/metalhit.ogg', 25, TRUE) dismantle() else M.visible_message(SPAN_DANGER("[M] smashes [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/effects/metalhit.ogg', 25, TRUE) return XENO_ATTACK_ACTION @@ -934,18 +936,18 @@ if(prob(M.melee_damage_lower)) playsound(loc, 'sound/effects/metalhit.ogg', 25, 1) M.visible_message(SPAN_DANGER("[M] smashes [src] beyond recognition!"), \ - SPAN_DANGER("You enter a frenzy and smash [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We enter a frenzy and smash [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) malfunction() else M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("You [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We [M.slash_verb] [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/effects/metalhit.ogg', 25, 1) return XENO_ATTACK_ACTION if(M.action_busy) return XENO_NO_DELAY_ACTION M.visible_message(SPAN_WARNING("[M] begins to lean against [src]."), \ - SPAN_WARNING("You begin to lean against [src]."), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_WARNING("We begin to lean against [src]."), null, 5, CHAT_TYPE_XENO_COMBAT) var/shove_time = 100 if(M.mob_size >= MOB_SIZE_BIG) shove_time = 50 @@ -957,7 +959,7 @@ if(do_after(M, shove_time, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) M.animation_attack_on(src) M.visible_message(SPAN_DANGER("[M] knocks [src] down!"), \ - SPAN_DANGER("You knock [src] down!"), null, 5, CHAT_TYPE_XENO_COMBAT) + SPAN_DANGER("We knock [src] down!"), null, 5, CHAT_TYPE_XENO_COMBAT) tip_over() return XENO_NO_DELAY_ACTION @@ -987,7 +989,7 @@ /obj/structure/prop/invuln/joey/attack_alien(mob/living/carbon/xenomorph/alien) alien.animation_attack_on(src) alien.visible_message(SPAN_DANGER("[alien] [alien.slashes_verb] [src]!"), \ - SPAN_DANGER("You [alien.slash_verb] [src]!"), null, 5) + SPAN_DANGER("We [alien.slash_verb] [src]!"), null, 5) playsound(loc, "alien_claw_metal", 25, 1) attacked() return XENO_ATTACK_ACTION diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Boiler.dm b/code/modules/mob/living/carbon/xenomorph/castes/Boiler.dm index 37dc3048408a..074af92d69fa 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Boiler.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Boiler.dm @@ -58,6 +58,10 @@ icon_xeno = 'icons/mob/xenos/boiler.dmi' icon_xenonid = 'icons/mob/xenonids/boiler.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Boiler_1","Boiler_2","Boiler_3") + weed_food_states_flipped = list("Boiler_1","Boiler_2","Boiler_3") + var/datum/effect_system/smoke_spread/xeno_acid/smoke base_actions = list( diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm b/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm index ee882bc14fdf..69a498184fa3 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Burrower.dm @@ -80,6 +80,10 @@ icon_xeno = 'icons/mob/xenos/burrower.dmi' icon_xenonid = 'icons/mob/xenonids/burrower.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Burrower_1","Burrower_2","Burrower_3") + weed_food_states_flipped = list("Burrower_1","Burrower_2","Burrower_3") + /mob/living/carbon/xenomorph/burrower/Initialize(mapload, mob/living/carbon/xenomorph/oldxeno, h_number) . = ..() sight |= SEE_TURFS diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm b/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm index 07f161f4c6f7..cf3acb890e4d 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Carrier.dm @@ -80,6 +80,10 @@ icon_xenonid = 'icons/mob/xenonids/carrier.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Carrier_1","Carrier_2","Carrier_3") + weed_food_states_flipped = list("Carrier_1","Carrier_2","Carrier_3") + var/list/hugger_image_index = list() var/mutable_appearance/hugger_overlays_icon var/mutable_appearance/eggsac_overlays_icon @@ -218,13 +222,13 @@ if(huggers_max > 0 && huggers_cur < huggers_max) if(F.stat != DEAD && !F.sterile) huggers_cur++ - to_chat(src, SPAN_NOTICE("You store the facehugger and carry it for safekeeping. Now sheltering: [huggers_cur] / [huggers_max].")) + to_chat(src, SPAN_NOTICE("We store the facehugger and carry it for safekeeping. Now sheltering: [huggers_cur] / [huggers_max].")) update_icons() qdel(F) else to_chat(src, SPAN_WARNING("This [F.name] looks too unhealthy.")) else - to_chat(src, SPAN_WARNING("You can't carry more facehuggers on you.")) + to_chat(src, SPAN_WARNING("We can't carry more facehuggers on us.")) /mob/living/carbon/xenomorph/carrier/proc/store_huggers_from_egg_morpher(obj/effect/alien/resin/special/eggmorph/morpher) if(morpher.linked_hive && (morpher.linked_hive.hivenumber != hivenumber)) @@ -240,12 +244,12 @@ huggers_cur += huggers_to_transfer morpher.stored_huggers -= huggers_to_transfer if(huggers_to_transfer == 1) - to_chat(src, SPAN_NOTICE("You store one facehugger and carry it for safekeeping. Now sheltering: [huggers_cur] / [huggers_max].")) + to_chat(src, SPAN_NOTICE("We store one facehugger and carry it for safekeeping. Now sheltering: [huggers_cur] / [huggers_max].")) else - to_chat(src, SPAN_NOTICE("You store [huggers_to_transfer] facehuggers and carry them for safekeeping. Now sheltering: [huggers_cur] / [huggers_max].")) + to_chat(src, SPAN_NOTICE("We store [huggers_to_transfer] facehuggers and carry them for safekeeping. Now sheltering: [huggers_cur] / [huggers_max].")) update_icons() else - to_chat(src, SPAN_WARNING("You can't carry more facehuggers on you.")) + to_chat(src, SPAN_WARNING("We can't carry more facehuggers on you.")) /mob/living/carbon/xenomorph/carrier/proc/throw_hugger(atom/T) @@ -286,22 +290,22 @@ if(!F) //empty active hand //if no hugger in active hand, we take one from our storage if(huggers_cur <= 0) - to_chat(src, SPAN_WARNING("You don't have any facehuggers to use!")) + to_chat(src, SPAN_WARNING("We don't have any facehuggers to use!")) return if(on_fire) - to_chat(src, SPAN_WARNING("Retrieving a stored facehugger while you're on fire would burn it!")) + to_chat(src, SPAN_WARNING("Retrieving a stored facehugger while we're on fire would burn it!")) return F = new(src, hivenumber) huggers_cur-- put_in_active_hand(F) - to_chat(src, SPAN_XENONOTICE("You grab one of the facehugger in your storage. Now sheltering: [huggers_cur] / [huggers_max].")) + to_chat(src, SPAN_XENONOTICE("We grab one of the facehugger in our storage. Now sheltering: [huggers_cur] / [huggers_max].")) update_icons() return if(!istype(F)) //something else in our hand - to_chat(src, SPAN_WARNING("You need a facehugger in your hand to throw one!")) + to_chat(src, SPAN_WARNING("We need a facehugger in our hand to throw one!")) return if(!threw_a_hugger) @@ -312,7 +316,7 @@ drop_inv_item_on_ground(F) F.throw_atom(T, 4, caste.throwspeed) visible_message(SPAN_XENOWARNING("\The [src] throws something towards \the [T]!"), \ - SPAN_XENOWARNING("You throw a facehugger towards \the [T]!")) + SPAN_XENOWARNING("We throw a facehugger towards \the [T]!")) spawn(caste.hugger_delay) threw_a_hugger = 0 for(var/X in actions) @@ -327,12 +331,12 @@ if(stat == CONSCIOUS) eggs_cur++ update_icons() - to_chat(src, SPAN_NOTICE("You store the egg and carry it for safekeeping. Now sheltering: [eggs_cur] / [eggs_max].")) + to_chat(src, SPAN_NOTICE("We store the egg and carry it for safekeeping. Now sheltering: [eggs_cur] / [eggs_max].")) qdel(E) else to_chat(src, SPAN_WARNING("This [E.name] looks too unhealthy.")) else - to_chat(src, SPAN_WARNING("You can't carry more eggs on you.")) + to_chat(src, SPAN_WARNING("We can't carry more eggs on ourselves.")) /mob/living/carbon/xenomorph/carrier/proc/retrieve_egg(atom/T) if(!T) return @@ -357,17 +361,17 @@ if(!E) //empty active hand //if no hugger in active hand, we take one from our storage if(eggs_cur <= 0) - to_chat(src, SPAN_WARNING("You don't have any egg to use!")) + to_chat(src, SPAN_WARNING("We don't have any egg to use!")) return E = new(src, hivenumber) eggs_cur-- update_icons() put_in_active_hand(E) - to_chat(src, SPAN_XENONOTICE("You grab one of the eggs in your storage. Now sheltering: [eggs_cur] / [eggs_max].")) + to_chat(src, SPAN_XENONOTICE("We grab one of the eggs in our storage. Now sheltering: [eggs_cur] / [eggs_max].")) return if(!istype(E)) //something else in our hand - to_chat(src, SPAN_WARNING("You need an empty hand to grab one of your stored eggs!")) + to_chat(src, SPAN_WARNING("We need an empty hand to grab one of our stored eggs!")) return /mob/living/carbon/xenomorph/carrier/attack_ghost(mob/dead/observer/user) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm b/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm index bf1702598250..d2c0b0e40e59 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Crusher.dm @@ -69,6 +69,10 @@ icon_xeno = 'icons/mob/xenos/crusher.dmi' icon_xenonid = 'icons/mob/xenonids/crusher.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Crusher_1","Crusher_2","Crusher_3") + weed_food_states_flipped = list("Crusher_1","Crusher_2","Crusher_3") + // Refactored to handle all of crusher's interactions with object during charge. /mob/living/carbon/xenomorph/proc/handle_collision(atom/target) if(!target) @@ -77,21 +81,21 @@ //Barricade collision else if (istype(target, /obj/structure/barricade)) var/obj/structure/barricade/B = target - visible_message(SPAN_DANGER("[src] rams into [B] and skids to a halt!"), SPAN_XENOWARNING("You ram into [B] and skid to a halt!")) + visible_message(SPAN_DANGER("[src] rams into [B] and skids to a halt!"), SPAN_XENOWARNING("We ram into [B] and skid to a halt!")) B.Collided(src) . = FALSE else if (istype(target, /obj/vehicle/multitile)) var/obj/vehicle/multitile/M = target - visible_message(SPAN_DANGER("[src] rams into [M] and skids to a halt!"), SPAN_XENOWARNING("You ram into [M] and skid to a halt!")) + visible_message(SPAN_DANGER("[src] rams into [M] and skids to a halt!"), SPAN_XENOWARNING("We ram into [M] and skid to a halt!")) M.Collided(src) . = FALSE else if (istype(target, /obj/structure/machinery/m56d_hmg)) var/obj/structure/machinery/m56d_hmg/HMG = target - visible_message(SPAN_DANGER("[src] rams [HMG]!"), SPAN_XENODANGER("You ram [HMG]!")) + visible_message(SPAN_DANGER("[src] rams [HMG]!"), SPAN_XENODANGER("We ram [HMG]!")) playsound(loc, "punch", 25, 1) HMG.CrusherImpact() . = FALSE @@ -128,7 +132,7 @@ else if (istype(target, /obj/structure/machinery/defenses)) var/obj/structure/machinery/defenses/DF = target - visible_message(SPAN_DANGER("[src] rams [DF]!"), SPAN_XENODANGER("You ram [DF]!")) + visible_message(SPAN_DANGER("[src] rams [DF]!"), SPAN_XENODANGER("We ram [DF]!")) if (!DF.unacidable) playsound(loc, "punch", 25, 1) @@ -144,7 +148,7 @@ if (V.unslashable) . = FALSE else - visible_message(SPAN_DANGER("[src] smashes straight into [V]!"), SPAN_XENODANGER("You smash straight into [V]!")) + visible_message(SPAN_DANGER("[src] smashes straight into [V]!"), SPAN_XENODANGER("We smash straight into [V]!")) playsound(loc, "punch", 25, 1) V.tip_over() @@ -161,7 +165,7 @@ if (V.unslashable) . = FALSE else - visible_message(SPAN_DANGER("[src] smashes straight into [V]!"), SPAN_XENODANGER("You smash straight into [V]!")) + visible_message(SPAN_DANGER("[src] smashes straight into [V]!"), SPAN_XENODANGER("We smash straight into [V]!")) playsound(loc, "punch", 25, 1) V.tip_over() @@ -180,7 +184,7 @@ if (O.unacidable) . = FALSE else if (O.anchored) - visible_message(SPAN_DANGER("[src] crushes [O]!"), SPAN_XENODANGER("You crush [O]!")) + visible_message(SPAN_DANGER("[src] crushes [O]!"), SPAN_XENODANGER("We crush [O]!")) if(O.contents.len) //Hopefully won't auto-delete things inside crushed stuff. var/turf/T = get_turf(src) for(var/atom/movable/S in T.contents) S.forceMove(T) @@ -191,7 +195,7 @@ else if(O.buckled_mob) O.unbuckle() - visible_message(SPAN_WARNING("[src] knocks [O] aside!"), SPAN_XENOWARNING("You knock [O] aside.")) //Canisters, crates etc. go flying. + visible_message(SPAN_WARNING("[src] knocks [O] aside!"), SPAN_XENOWARNING("We knock [O] aside.")) //Canisters, crates etc. go flying. playsound(loc, "punch", 25, 1) var/impact_range = 2 diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Defender.dm b/code/modules/mob/living/carbon/xenomorph/castes/Defender.dm index 8c05fa53660e..8ec53d51046e 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Defender.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Defender.dm @@ -38,6 +38,7 @@ pixel_x = -16 old_x = -16 tier = 1 + base_actions = list( /datum/action/xeno_action/onclick/xeno_resting, /datum/action/xeno_action/onclick/regurgitate, @@ -49,11 +50,17 @@ /datum/action/xeno_action/activable/fortify, /datum/action/xeno_action/onclick/tacmap, ) + mutation_icon_state = DEFENDER_NORMAL mutation_type = DEFENDER_NORMAL + icon_xeno = 'icons/mob/xenos/defender.dmi' icon_xenonid = 'icons/mob/xenonids/defender.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Defender_1","Defender_2","Defender_3") + weed_food_states_flipped = list("Defender_1","Defender_2","Defender_3") + /mob/living/carbon/xenomorph/defender/handle_special_state() if(fortify) return TRUE diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Drone.dm b/code/modules/mob/living/carbon/xenomorph/castes/Drone.dm index dbdb03bb94ca..77992b33a52b 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Drone.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Drone.dm @@ -74,3 +74,7 @@ icon_xeno = 'icons/mob/xenos/drone.dmi' icon_xenonid = 'icons/mob/xenonids/drone.dmi' + + weed_food_icon = 'icons/mob/xenos/weeds_48x48.dmi' + weed_food_states = list("Drone_1","Drone_2","Drone_3") + weed_food_states_flipped = list("Drone_1","Drone_2","Drone_3") diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm index 3e01cc2af139..25212718527b 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Facehugger.dm @@ -60,6 +60,10 @@ icon_xeno = 'icons/mob/xenos/facehugger.dmi' icon_xenonid = 'icons/mob/xenonids/facehugger.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_48x48.dmi' + weed_food_states = list("Facehugger_1","Facehugger_2","Facehugger_3") + weed_food_states_flipped = list("Facehugger_1","Facehugger_2","Facehugger_3") + /mob/living/carbon/xenomorph/facehugger/initialize_pass_flags(datum/pass_flags_container/PF) ..() if (PF) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm b/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm index a44fee5645ac..6868fd5ac589 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Hellhound.dm @@ -69,6 +69,10 @@ icon_xeno = 'icons/mob/xenos/hellhound.dmi' icon_xenonid = 'icons/mob/xenos/hellhound.dmi' + weed_food_icon = 'icons/mob/xenos/weeds.dmi' + weed_food_states = list("Hellhound_1","Hellhound_2","Hellhound_3") + weed_food_states_flipped = list("Hellhound_1","Hellhound_2","Hellhound_3") + /mob/living/carbon/xenomorph/hellhound/Initialize(mapload, mob/living/carbon/xenomorph/oldXeno, h_number) . = ..(mapload, oldXeno, h_number || XENO_HIVE_YAUTJA) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm b/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm index 23f8ffc8acd6..9c062bf779fd 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Hivelord.dm @@ -55,6 +55,7 @@ mob_size = MOB_SIZE_BIG drag_delay = 6 //pulling a big dead xeno is hard tier = 2 + base_actions = list( /datum/action/xeno_action/onclick/xeno_resting, /datum/action/xeno_action/onclick/regurgitate, @@ -75,11 +76,16 @@ /mob/living/carbon/xenomorph/proc/rename_tunnel, /mob/living/carbon/xenomorph/proc/set_hugger_reserve_for_morpher, ) + mutation_type = HIVELORD_NORMAL icon_xeno = 'icons/mob/xenos/hivelord.dmi' icon_xenonid = 'icons/mob/xenonids/hivelord.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Hivelord_1","Hivelord_2","Hivelord_3") + weed_food_states_flipped = list("Hivelord_1","Hivelord_2","Hivelord_3") + /datum/behavior_delegate/hivelord_base name = "Base Hivelord Behavior Delegate" diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm b/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm index a34913b2ff5c..469b9a78d063 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Lurker.dm @@ -59,6 +59,10 @@ icon_xeno = 'icons/mob/xenos/lurker.dmi' icon_xenonid = 'icons/mob/xenonids/lurker.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_48x48.dmi' + weed_food_states = list("Drone_1","Drone_2","Drone_3") + weed_food_states_flipped = list("Drone_1","Drone_2","Drone_3") + /datum/behavior_delegate/lurker_base name = "Base Lurker Behavior Delegate" @@ -78,7 +82,7 @@ return original_damage if (next_slash_buffed) - to_chat(bound_xeno, SPAN_XENOHIGHDANGER("You significantly strengthen your attack, slowing [target_carbon]!")) + to_chat(bound_xeno, SPAN_XENOHIGHDANGER("We significantly strengthen our attack, slowing [target_carbon]!")) to_chat(target_carbon, SPAN_XENOHIGHDANGER("You feel a sharp pain as [bound_xeno] slashes you, slowing you down!")) original_damage *= buffed_slash_damage_ratio target_carbon.set_effect(get_xeno_stun_duration(target_carbon, 3), SUPERSLOW) @@ -179,5 +183,5 @@ if(HAS_TRAIT(bumped_into, TRAIT_CLOAKED)) //ignore invisible scouts and preds return - to_chat(bound_xeno, SPAN_XENOHIGHDANGER("You bumped into someone and lost your invisibility!")) + to_chat(bound_xeno, SPAN_XENOHIGHDANGER("We bumped into someone and lost our invisibility!")) lurker_invisibility_action.invisibility_off() diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm b/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm index 344e1e21f302..9536ef1553e9 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Praetorian.dm @@ -64,6 +64,10 @@ icon_xeno = 'icons/mob/xenos/praetorian.dmi' icon_xenonid = 'icons/mob/xenonids/praetorian.dmi' + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Praetorian_1","Praetorian_2","Praetorian_3") + weed_food_states_flipped = list("Praetorian_1","Praetorian_2","Praetorian_3") + /datum/behavior_delegate/praetorian_base name = "Base Praetorian Behavior Delegate" ///reward for hitting shots instead of spamming acid ball diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm b/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm index 14aa31b1f1e8..bcf47386fefc 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Predalien.dm @@ -62,8 +62,13 @@ /datum/action/xeno_action/activable/devastate, /datum/action/xeno_action/onclick/tacmap, ) + mutation_type = "Normal" + weed_food_icon = 'icons/mob/xenos/weeds_64x64.dmi' + weed_food_states = list("Predalien_1","Predalien_2","Predalien_3") + weed_food_states_flipped = list("Predalien_1","Predalien_2","Predalien_3") + var/butcher_time = 6 SECONDS @@ -147,7 +152,7 @@ Your health meter will not regenerate normally, so kill and die for the hive!= max_lifesteal) bound_xeno.add_filter("empower_rage", 1, list("type" = "outline", "color" = color, "size" = 1, "alpha" = 90)) - bound_xeno.visible_message(SPAN_DANGER("[bound_xeno.name] glows as it heals even more from its injuries!."), SPAN_XENODANGER("You glow as you heal even more from your injuries!")) + bound_xeno.visible_message(SPAN_DANGER("[bound_xeno.name] glows as it heals even more from its injuries!."), SPAN_XENODANGER("We glow as we heal even more from our injuries!")) bound_xeno.flick_heal_overlay(2 SECONDS, "#00B800") if(istype(bound_xeno) && world.time > emote_cooldown && bound_xeno) bound_xeno.emote("roar") @@ -183,11 +191,11 @@ var/obj/limb/limb = human.get_limb(check_zone(zone_selected)) if(can_not_harm(human)) - to_chat(src, SPAN_XENOWARNING("You can't harm this host!")) + to_chat(src, SPAN_XENOWARNING("We can't harm this host!")) return if(!limb || limb.body_part == BODY_FLAG_CHEST || limb.body_part == BODY_FLAG_GROIN || (limb.status & LIMB_DESTROYED)) //Only limbs and head. - to_chat(src, SPAN_XENOWARNING("You can't rip off that limb.")) + to_chat(src, SPAN_XENOWARNING("We can't rip off that limb.")) return FALSE var/limb_time = rand(40,60) @@ -195,12 +203,12 @@ limb_time = rand(90,110) visible_message(SPAN_XENOWARNING("[src] begins pulling on [mob]'s [limb.display_name] with incredible strength!"), \ - SPAN_XENOWARNING("You begin to pull on [mob]'s [limb.display_name] with incredible strength!")) + SPAN_XENOWARNING("We begin to pull on [mob]'s [limb.display_name] with incredible strength!")) if(!do_after(src, limb_time, INTERRUPT_ALL|INTERRUPT_DIFF_SELECT_ZONE, BUSY_ICON_HOSTILE) || mob.stat == DEAD || mob.status_flags & XENO_HOST) - to_chat(src, SPAN_NOTICE("You stop ripping off the limb.")) + to_chat(src, SPAN_NOTICE("We stop ripping off the limb.")) if(mob.status_flags & XENO_HOST) - to_chat(src, SPAN_NOTICE("You detect an embryo inside [mob] which overwhelms your instinct to rip.")) + to_chat(src, SPAN_NOTICE("We detect an embryo inside [mob] which overwhelms our instinct to rip.")) return FALSE if(limb.status & LIMB_DESTROYED) @@ -211,7 +219,7 @@ visible_message(SPAN_XENOWARNING("You hear [mob]'s [limb.display_name] being pulled beyond its load limits!"), \ SPAN_XENOWARNING("[mob]'s [limb.display_name] begins to tear apart!")) else - visible_message(SPAN_XENOWARNING("You hear the bones in [mob]'s [limb.display_name] snap with a sickening crunch!"), \ + visible_message(SPAN_XENOWARNING("We hear the bones in [mob]'s [limb.display_name] snap with a sickening crunch!"), \ SPAN_XENOWARNING("[mob]'s [limb.display_name] bones snap with a satisfying crunch!")) limb.take_damage(rand(15,25), 0, 0) limb.fracture(100) @@ -221,7 +229,7 @@ log_attack("[src.name] ([src.ckey]) ripped the [limb.display_name] off of [mob.name] ([mob.ckey]) 1/2 progress") if(!do_after(src, limb_time, INTERRUPT_ALL|INTERRUPT_DIFF_SELECT_ZONE, BUSY_ICON_HOSTILE) || mob.stat == DEAD || iszombie(mob)) - to_chat(src, SPAN_NOTICE("You stop ripping off the limb.")) + to_chat(src, SPAN_NOTICE("We stop ripping off the limb.")) return FALSE if(limb.status & LIMB_DESTROYED) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm b/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm index 9ca4cdc52474..8a1908efb230 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm @@ -80,6 +80,10 @@ icon_xeno = 'icons/mob/xenos/lesser_drone.dmi' icon_xenonid = 'icons/mob/xenonids/lesser_drone.dmi' + weed_food_icon = 'icons/mob/xenos/weeds.dmi' + weed_food_states = list("Lesser_Drone_1","Lesser_Drone_2","Lesser_Drone_3") + weed_food_states_flipped = list("Lesser_Drone_1","Lesser_Drone_2","Lesser_Drone_3") + /mob/living/carbon/xenomorph/lesser_drone/age_xeno() if(stat == DEAD || !caste || QDELETED(src) || !client) return diff --git a/code/modules/mob/living/carbon/xenomorph/damage_procs.dm b/code/modules/mob/living/carbon/xenomorph/damage_procs.dm index b6ceb2043458..e372b03e68d9 100644 --- a/code/modules/mob/living/carbon/xenomorph/damage_procs.dm +++ b/code/modules/mob/living/carbon/xenomorph/damage_procs.dm @@ -81,6 +81,7 @@ powerfactor_value = min(powerfactor_value,20) if(powerfactor_value > 0 && small_explosives_stun) KnockDown(powerfactor_value/5) + Stun(powerfactor_value/5) // Due to legacy knockdown being considered an impairement if(mob_size < MOB_SIZE_BIG) Slow(powerfactor_value) Superslow(powerfactor_value/2) diff --git a/code/modules/mob/living/carbon/xenomorph/death.dm b/code/modules/mob/living/carbon/xenomorph/death.dm index 1f7d02f98c7d..ea1e674a1faf 100644 --- a/code/modules/mob/living/carbon/xenomorph/death.dm +++ b/code/modules/mob/living/carbon/xenomorph/death.dm @@ -109,8 +109,8 @@ if(hardcore) QDEL_IN(src, 3 SECONDS) - //else if(!gibbed) // At the moment we only support humans - //AddComponent(/datum/component/weed_food) + else if(!gibbed) + AddComponent(/datum/component/weed_food) if(hive) hive.remove_xeno(src) @@ -132,6 +132,7 @@ notify_ghosts(header = "Last Xenomorph", message = "There is only one Xenomorph left: [X.name].", source = X, action = NOTIFY_ORBIT) SEND_GLOBAL_SIGNAL(COMSIG_GLOB_XENO_DEATH, src, gibbed) + give_action(src, /datum/action/ghost/xeno) /mob/living/carbon/xenomorph/gib(datum/cause_data/cause = create_cause_data("gibbing", src)) var/obj/effect/decal/remains/xeno/remains = new(get_turf(src)) diff --git a/code/modules/mob/living/carbon/xenomorph/hive_status.dm b/code/modules/mob/living/carbon/xenomorph/hive_status.dm index 67f19c8d07cb..c7326937c4cd 100644 --- a/code/modules/mob/living/carbon/xenomorph/hive_status.dm +++ b/code/modules/mob/living/carbon/xenomorph/hive_status.dm @@ -79,9 +79,7 @@ var/list/hive_structures_limit = list( XENO_STRUCTURE_CORE = 1, XENO_STRUCTURE_CLUSTER = 8, - XENO_STRUCTURE_POOL = 1, XENO_STRUCTURE_EGGMORPH = 6, - XENO_STRUCTURE_EVOPOD = 2, XENO_STRUCTURE_RECOVERY = 6, XENO_STRUCTURE_PYLON = 2, ) @@ -627,15 +625,13 @@ /datum/hive_status/proc/can_build_structure(structure_name) if(!structure_name || !hive_structures_limit[structure_name]) return FALSE - var/total_count = 0 - if(hive_structures[structure_name]) - total_count += hive_structures[structure_name].len - if(hive_constructions[structure_name]) - total_count += hive_constructions[structure_name].len - if(total_count >= hive_structures_limit[structure_name]) + if(get_structure_count(structure_name) >= hive_structures_limit[structure_name]) return FALSE return TRUE +/datum/hive_status/proc/get_structure_count(structure_name) + return length(hive_structures[structure_name]) + length(hive_constructions[structure_name]) + /datum/hive_status/proc/has_structure(structure_name) if(!structure_name) return FALSE @@ -1107,7 +1103,6 @@ /datum/hive_status/corrupted/tamed/New() . = ..() hive_structures_limit[XENO_STRUCTURE_EGGMORPH] = 0 - hive_structures_limit[XENO_STRUCTURE_EVOPOD] = 0 /datum/hive_status/corrupted/tamed/proc/make_leader(mob/living/carbon/human/H) if(!istype(H)) @@ -1168,7 +1163,6 @@ /datum/hive_status/corrupted/renegade/New() . = ..() hive_structures_limit[XENO_STRUCTURE_EGGMORPH] = 0 - hive_structures_limit[XENO_STRUCTURE_EVOPOD] = 0 for(var/faction in FACTION_LIST_HUMANOID) //renegades allied to all humanoids, but it mostly affects structures. Their ability to attack humanoids and other xenos (including of the same hive) depends on iff settings allies[faction] = TRUE @@ -1351,6 +1345,3 @@ name = "Attack" desc = "Attack the enemy here!" icon_state = "attack" - - - diff --git a/code/modules/mob/living/carbon/xenomorph/life.dm b/code/modules/mob/living/carbon/xenomorph/life.dm index f794c051dbff..07efb5be2ff8 100644 --- a/code/modules/mob/living/carbon/xenomorph/life.dm +++ b/code/modules/mob/living/carbon/xenomorph/life.dm @@ -61,7 +61,7 @@ evolution_stored += progress_amount /mob/living/carbon/xenomorph/proc/evolve_message() - to_chat(src, SPAN_XENODANGER("Your carapace crackles and your tendons strengthen. You are ready to evolve!")) //Makes this bold so the Xeno doesn't miss it + to_chat(src, SPAN_XENODANGER("Our carapace crackles and our tendons strengthen. We are ready to evolve!")) //Makes this bold so the Xeno doesn't miss it playsound_client(client, sound('sound/effects/xeno_evolveready.ogg')) var/datum/action/xeno_action/onclick/evolve/evolve_action = new() @@ -224,7 +224,7 @@ for(var/atom/movable/M in stomach_contents) if(ishuman(M)) if(world.time > devour_timer - 50 && world.time < devour_timer - 30) - to_chat(src, SPAN_WARNING("You're about to regurgitate [M]...")) + to_chat(src, SPAN_WARNING("We're about to regurgitate [M]...")) playsound(loc, 'sound/voice/alien_drool1.ogg', 50, 1) var/mob/living/carbon/human/H = M if(world.time > devour_timer || (H.stat == DEAD && !H.chestburst)) @@ -232,7 +232,7 @@ M.acid_damage++ if(M.acid_damage > 300) - to_chat(src, SPAN_XENODANGER("\The [M] is dissolved in your gut with a gurgle.")) + to_chat(src, SPAN_XENODANGER("\The [M] is dissolved in our gut with a gurgle.")) stomach_contents.Remove(M) qdel(M) @@ -380,7 +380,7 @@ Make sure their actual health updates immediately.*/ plasma_stored = 0 if(current_aura) current_aura = null - to_chat(src, SPAN_WARNING("You have run out of pheromones and stopped emitting pheromones.")) + to_chat(src, SPAN_WARNING("We have run out of plasma and stopped emitting pheromones.")) for(var/X in actions) var/datum/action/A = X @@ -516,25 +516,24 @@ Make sure their actual health updates immediately.*/ else if(world.time > next_grace_time && stat == CONSCIOUS) var/grace_time = crit_grace_time > 0 ? crit_grace_time + (1 SECONDS * max(round(warding_aura - 1), 0)) : 0 if(grace_time) - sound_environment_override = SOUND_ENVIRONMENT_PSYCHOTIC addtimer(CALLBACK(src, PROC_REF(handle_crit)), grace_time) else handle_crit() next_grace_time = world.time + grace_time + blinded = stat == UNCONSCIOUS // Xenos do not go blind from other sources - still, replace that by a status_effect or trait when able if(!gibbing) med_hud_set_health() /mob/living/carbon/xenomorph/proc/handle_crit() - if(stat == DEAD || gibbing) - return + if(stat <= CONSCIOUS && !gibbing) + set_stat(UNCONSCIOUS) - sound_environment_override = SOUND_ENVIRONMENT_NONE - set_stat(UNCONSCIOUS) - blinded = TRUE - see_in_dark = 5 - if(layer != initial(layer)) //Unhide - layer = initial(layer) - recalculate_move_delay = TRUE +/mob/living/carbon/xenomorph/set_stat(new_stat) + . = ..() + // Temporarily force triggering HUD updates so they apply immediately rather than on Life tick. + // Remove this once effects have been ported to trait signals (blinded, dazed, etc) + if(stat != .) + handle_regular_hud_updates() /mob/living/carbon/xenomorph/proc/handle_luminosity() var/new_luminosity = 0 @@ -548,12 +547,15 @@ Make sure their actual health updates immediately.*/ else set_light_on(FALSE) -/mob/living/carbon/xenomorph/handle_stunned() - if(stunned) - adjust_effect(life_stun_reduction, STUN, EFFECT_FLAG_LIFE) - stun_callback_check() - - return stunned +/mob/living/carbon/xenomorph/GetStunDuration(amount) + amount *= 2 / 3 + return ..() +/mob/living/carbon/xenomorph/GetKnockDownDuration(amount) + amount *= 2 / 3 + return ..() +/mob/living/carbon/xenomorph/GetKnockOutDuration(amount) + amount *= 2 / 3 + return ..() /mob/living/carbon/xenomorph/proc/handle_interference() if(interference) @@ -579,16 +581,6 @@ Make sure their actual health updates immediately.*/ adjust_effect(life_slow_reduction, SUPERSLOW, EFFECT_FLAG_LIFE) return superslowed -/mob/living/carbon/xenomorph/handle_knocked_down() - if(HAS_TRAIT(src, TRAIT_FLOORED)) - adjust_effect(life_knockdown_reduction, WEAKEN, EFFECT_FLAG_LIFE) - knocked_down_callback_check() - -/mob/living/carbon/xenomorph/handle_knocked_out() - if(HAS_TRAIT(src, TRAIT_KNOCKEDOUT)) - adjust_effect(life_knockout_reduction, PARALYZE, EFFECT_FLAG_LIFE) - knocked_out_callback_check() - //Returns TRUE if xeno is on weeds //Returns TRUE if xeno is off weeds AND doesn't need weeds for healing AND is not on Almayer UNLESS Queen is also on Almayer (aka - no solo Lurker Almayer hero) /mob/living/carbon/xenomorph/proc/check_weeds_for_healing() @@ -603,24 +595,3 @@ Make sure their actual health updates immediately.*/ if(hive && hive.living_xeno_queen && !is_mainship_level(hive.living_xeno_queen.loc.z) && is_mainship_level(loc.z)) return FALSE //We are on the ship, but the Queen isn't return TRUE //we have off-weed healing, and either we're on Almayer with the Queen, or we're on non-Almayer, or the Queen is dead, good enough! - - -#define XENO_TIMER_TO_EFFECT_CONVERSION (0.075) // (1.5/20) //once per 2 seconds, with 1.5 effect per that once - -// This is here because sometimes our stun comes too early and tick is about to start, so we need to compensate -// this is the best place to do it, tho name might be a bit misleading I guess -/mob/living/carbon/xenomorph/stun_clock_adjustment() - var/shift_left = (SSxeno.next_fire - world.time) * XENO_TIMER_TO_EFFECT_CONVERSION - if(stunned > shift_left) - stunned += SSxeno.wait * XENO_TIMER_TO_EFFECT_CONVERSION - shift_left - -/mob/living/carbon/xenomorph/knockdown_clock_adjustment() - var/shift_left = (SSxeno.next_fire - world.time) * XENO_TIMER_TO_EFFECT_CONVERSION - if(knocked_down > shift_left) - knocked_down += SSxeno.wait * XENO_TIMER_TO_EFFECT_CONVERSION - shift_left - -/mob/living/carbon/xenomorph/knockout_clock_adjustment() - var/shift_left = (SSxeno.next_fire - world.time) * XENO_TIMER_TO_EFFECT_CONVERSION - if(knocked_out > shift_left) - knocked_out += SSxeno.wait * XENO_TIMER_TO_EFFECT_CONVERSION - shift_left - diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/gardener.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/gardener.dm index c11f0e11f399..4d47ac333a23 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/gardener.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/gardener.dm @@ -76,7 +76,7 @@ var/turf/target_turf = xeno.loc if(!istype(target_turf)) - to_chat(xeno, SPAN_WARNING("You cannot plant a fruit without a weed garden.")) + to_chat(xeno, SPAN_WARNING("We cannot plant a fruit without a weed garden.")) return var/obj/effect/alien/weeds/target_weeds = locate(/obj/effect/alien/weeds) in target_turf @@ -85,7 +85,7 @@ return if(target_weeds.hivenumber != xeno.hivenumber) - to_chat(xeno, SPAN_WARNING("These weeds do not belong to your hive; they reject your fruit.")) + to_chat(xeno, SPAN_WARNING("These weeds do not belong to our hive; they reject our fruit.")) return if(locate(/obj/effect/alien/resin/trap) in range(1, target_turf)) @@ -98,13 +98,13 @@ if (check_and_use_plasma_owner()) if(length(xeno.current_fruits) >= xeno.max_placeable) - to_chat(xeno, SPAN_XENOWARNING("You cannot sustain another fruit, one will wither away to allow this one to live!")) + to_chat(xeno, SPAN_XENOWARNING("We cannot sustain another fruit, one will wither away to allow this one to live!")) var/obj/effect/alien/resin/fruit/old_fruit = xeno.current_fruits[1] xeno.current_fruits.Remove(old_fruit) qdel(old_fruit) xeno.visible_message(SPAN_XENONOTICE("\The [xeno] secretes fluids and shape it into a fruit!"), \ - SPAN_XENONOTICE("You secrete a portion of your vital fluids and shape them into a fruit!"), null, 5) + SPAN_XENONOTICE("We secrete a portion of our vital fluids and shape them into a fruit!"), null, 5) var/obj/effect/alien/resin/fruit/fruit = new xeno.selected_fruit(target_weeds.loc, target_weeds, xeno) if(!fruit) @@ -209,7 +209,7 @@ return var/obj/effect/alien/resin/fruit/fruit = selected_type - to_chat(xeno, SPAN_NOTICE("You will now build [initial(fruit.name)]\s when secreting resin.")) + to_chat(xeno, SPAN_NOTICE("We will now build [initial(fruit.name)]\s when secreting resin.")) //update the button's overlay with new choice xeno.update_icons() button.overlays.Cut() @@ -252,7 +252,7 @@ if(ismob(target_atom)) // to prevent using thermal vision to bypass clickcatcher if(!can_see(xeno, target_atom, max_range)) - to_chat(xeno, SPAN_XENODANGER("You cannot see that location!")) + to_chat(xeno, SPAN_XENODANGER("We cannot see that location!")) return else if(get_dist(xeno, target_atom) > max_range) @@ -287,9 +287,9 @@ if(!buff_already_present) new /datum/effects/xeno_structure_reinforcement(structure_to_buff, xeno, ttl = 15 SECONDS) xeno.visible_message(SPAN_XENODANGER("\The [xeno] surges the resin around [structure_to_buff], making it temporarily nigh unbreakable!"), \ - SPAN_XENONOTICE("You surge the resin around [structure_to_buff], making it temporarily nigh unbreakable!"), null, 5) + SPAN_XENONOTICE("We surge the resin around [structure_to_buff], making it temporarily nigh unbreakable!"), null, 5) else - to_chat(xeno, SPAN_XENONOTICE("You haplessly try to surge resin around [structure_to_buff], but it's already reinforced. It'll take a moment for you to recover.")) + to_chat(xeno, SPAN_XENONOTICE("We haplessly try to surge resin around [structure_to_buff], but it's already reinforced. It'll take a moment for us to recover.")) xeno_cooldown = xeno_cooldown * 0.5 else if(F && F.hivenumber == xeno.hivenumber) @@ -297,12 +297,12 @@ to_chat(xeno, SPAN_XENONOTICE("The [F] is already mature. The [src.name] does nothing.")) xeno_cooldown = xeno_cooldown * 0.5 else - to_chat(xeno, SPAN_XENONOTICE("You surge the resin around the [F], speeding its growth somewhat!")) + to_chat(xeno, SPAN_XENONOTICE("We surge the resin around the [F], speeding its growth somewhat!")) F.reduce_timer(5 SECONDS) else if(target_weeds && istype(target_turf, /turf/open) && target_weeds.hivenumber == xeno.hivenumber) xeno.visible_message(SPAN_XENODANGER("\The [xeno] surges the resin, creating an unstable wall!"), \ - SPAN_XENONOTICE("You surge the resin, creating an unstable wall!"), null, 5) + SPAN_XENONOTICE("We surge the resin, creating an unstable wall!"), null, 5) target_turf.PlaceOnTop(/turf/closed/wall/resin/weak) var/turf/closed/wall/resin/weak_wall = target_turf weak_wall.hivenumber = xeno.hivenumber @@ -317,7 +317,7 @@ return channel_in_progress = FALSE xeno.visible_message(SPAN_XENODANGER("\The [xeno] surges deep resin, creating an unstable sticky resin patch!"), \ - SPAN_XENONOTICE("You surge the deep resin, creating an unstable sticky resin patch!"), null, 5) + SPAN_XENONOTICE("We surge the deep resin, creating an unstable sticky resin patch!"), null, 5) for (var/turf/targetTurf in orange(1, target_turf)) if(!locate(/obj/effect/alien/resin/sticky) in targetTurf) new /obj/effect/alien/resin/sticky/thin/weak(targetTurf, xeno.hivenumber) diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm index 2e562ceac6a9..86f50b47e080 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/drone/healer.dm @@ -9,11 +9,16 @@ /datum/action/xeno_action/activable/secrete_resin, /datum/action/xeno_action/onclick/choose_resin, /datum/action/xeno_action/activable/transfer_plasma, + /datum/action/xeno_action/activable/place_construction, // so it doesn't use fifth macro + /datum/action/xeno_action/onclick/plant_weeds, // so it doesn't break order ) mutator_actions_to_add = list( + /datum/action/xeno_action/activable/place_construction/not_primary, // so it doesn't use fifth macro + /datum/action/xeno_action/onclick/plant_weeds, // so it doesn't break order /datum/action/xeno_action/onclick/plant_resin_fruit, // Second macro. Resin fruits belong to Gardener, but Healer has a minor variant. /datum/action/xeno_action/activable/apply_salve, //Third macro, heal over time ability. /datum/action/xeno_action/activable/transfer_plasma/healer, //Fourth macro, an improved plasma transfer. + /datum/action/xeno_action/activable/healer_sacrifice, //Fifth macro, the ultimate ability to sacrifice yourself ) keystone = TRUE behavior_delegate_type = /datum/behavior_delegate/drone_healer @@ -88,26 +93,26 @@ return if(target_xeno == src) - to_chat(src, SPAN_XENOWARNING("You can't heal yourself with your own resin salve!")) + to_chat(src, SPAN_XENOWARNING("We can't heal ourself with our own resin salve!")) return if(!check_state()) return if(SEND_SIGNAL(target_xeno, COMSIG_XENO_PRE_HEAL) & COMPONENT_CANCEL_XENO_HEAL) - to_chat(src, SPAN_XENOWARNING("Extinguish [target_xeno] first or the flames will burn your resin salve away!")) + to_chat(src, SPAN_XENOWARNING("Extinguish [target_xeno] first or the flames will burn our resin salve away!")) return if(!can_not_harm(target_xeno)) //We don't wanna heal hostile hives, but we do want to heal our allies! - to_chat(src, SPAN_XENOWARNING("[target_xeno] is hostile to your hive! Go find one of your sisters or allies!")) + to_chat(src, SPAN_XENOWARNING("[target_xeno] is hostile to our hive!")) return if(!isturf(loc)) - to_chat(src, SPAN_XENOWARNING("You can't apply your resin salve from here!")) + to_chat(src, SPAN_XENOWARNING("We can't apply our resin salve from here!")) return if(get_dist(src, target_xeno) > max_range) - to_chat(src, SPAN_XENOWARNING("You need to be closer to [target_xeno] to apply your resin salve!")) + to_chat(src, SPAN_XENOWARNING("We need to be closer to [target_xeno] to apply our resin salve!")) return if(target_xeno.stat == DEAD) @@ -134,11 +139,13 @@ new /datum/effects/heal_over_time(target_xeno, amount, 10, 1) target_xeno.xeno_jitter(1 SECONDS) target_xeno.flick_heal_overlay(10 SECONDS, "#00be6f") - to_chat(target_xeno, SPAN_XENOWARNING("[src] covers your wounds with a regenerative resin salve. You feel reinvigorated!")) - to_chat(src, SPAN_XENOWARNING("You regurgitate your vital fluids and some plasma to create a regenerative resin salve and apply it to [target_xeno]'s wounds. You feel weakened...")) + to_chat(target_xeno, SPAN_XENOWARNING("[src] covers our wounds with a regenerative resin salve. We feel reinvigorated!")) + to_chat(src, SPAN_XENOWARNING("We regurgitate our vital fluids and some plasma to create a regenerative resin salve and apply it to [target_xeno]'s wounds. We feel weakened...")) playsound(src, "alien_drool", 25) - var/datum/behavior_delegate/drone_healer/healer_delegate = src.behavior_delegate + var/datum/behavior_delegate/drone_healer/healer_delegate = behavior_delegate healer_delegate.salve_applied_recently = TRUE + if(target_xeno.mutation_type != DRONE_HEALER && !isfacehugger(target_xeno)) // no cheap grinding + healer_delegate.modify_transferred(amount * damage_taken_mod) update_icons() addtimer(CALLBACK(healer_delegate, /datum/behavior_delegate/drone_healer/proc/un_salve), 10 SECONDS, TIMER_OVERRIDE|TIMER_UNIQUE) @@ -148,6 +155,9 @@ var/salve_applied_recently = FALSE var/mutable_appearance/salve_applied_icon + var/transferred_amount = 0 + var/required_transferred_amount = 7500 + /datum/behavior_delegate/drone_healer/on_update_icons() if(!salve_applied_icon) salve_applied_icon = mutable_appearance('icons/mob/xenos/drone_strain_overlays.dmi',"Healer Drone Walking") @@ -173,3 +183,122 @@ /datum/behavior_delegate/drone_healer/proc/un_salve() salve_applied_recently = FALSE bound_xeno.update_icons() + +/* + SACRIFICE +*/ + +/datum/behavior_delegate/drone_healer/proc/modify_transferred(amount) + transferred_amount += amount + +/datum/behavior_delegate/drone_healer/append_to_stat() + . = list() + . += "Transferred health amount: [transferred_amount]/[required_transferred_amount]" + if(transferred_amount >= required_transferred_amount) + . += "Sacrifice will grant you new life." + +/datum/behavior_delegate/drone_healer/on_life() + if(!bound_xeno) + return + if(bound_xeno.stat == DEAD) + return + var/image/holder = bound_xeno.hud_list[PLASMA_HUD] + holder.overlays.Cut() + var/percentage_transferred = min(round((transferred_amount / required_transferred_amount) * 100, 10), 100) + if(percentage_transferred) + holder.overlays += image('icons/mob/hud/hud.dmi', "xenoenergy[percentage_transferred]") + +/datum/behavior_delegate/drone_healer/handle_death(mob/M) + var/image/holder = bound_xeno.hud_list[PLASMA_HUD] + holder.overlays.Cut() + +/datum/action/xeno_action/activable/healer_sacrifice + name = "Sacrifice" + action_icon_state = "screech" + ability_name = "sacrifice" + var/max_range = 1 + var/transfer_mod = 0.75 // only transfers 75% of current healer's health + macro_path = /datum/action/xeno_action/verb/verb_healer_sacrifice + action_type = XENO_ACTION_CLICK + ability_primacy = XENO_PRIMARY_ACTION_5 + +/datum/action/xeno_action/verb/verb_healer_sacrifice() + set category = "Alien" + set name = "Sacrifice" + set hidden = TRUE + var/action_name = "Sacrifice" + handle_xeno_macro(src, action_name) + +/datum/action/xeno_action/activable/healer_sacrifice/use_ability(atom/atom) + var/mob/living/carbon/xenomorph/xeno = owner + var/mob/living/carbon/xenomorph/target = atom + + if(!istype(target)) + return + + if(target == xeno) + to_chat(xeno, "We can't heal ourself!") + return + + if(isfacehugger(target) || islesserdrone(target)) + to_chat(xeno, "It would be a waste...") + return + + if(!xeno.check_state()) + return + + if(!xeno.can_not_harm(target)) //so we can heal only allies + to_chat(xeno, SPAN_WARNING("[target] is an enemy of our hive!")) + return + + if(target.stat == DEAD) + to_chat(xeno, SPAN_WARNING("[target] is already dead!")) + return + + if(target.health >= target.maxHealth) + to_chat(xeno, SPAN_WARNING("[target] is already at max health!")) + return + + if(!isturf(xeno.loc)) + to_chat(xeno, SPAN_WARNING("We cannot transfer health from here!")) + return + + if(get_dist(xeno, target) > max_range) + to_chat(xeno, SPAN_WARNING("We need to be closer to [target].")) + return + + xeno.say(";MY LIFE FOR THE QUEEN!!!") + + target.gain_health(xeno.health * transfer_mod) + target.updatehealth() + + target.xeno_jitter(1 SECONDS) + target.flick_heal_overlay(3 SECONDS, "#44253d") + + target.visible_message(SPAN_XENONOTICE("[xeno] explodes in a deluge of regenerative resin salve, covering [target] in it!")) + xeno_message(SPAN_XENOANNOUNCE("[xeno] sacrifices itself to heal [target]!"), 2, target.hive.hivenumber) + + var/datum/behavior_delegate/drone_healer/behavior_delegate = xeno.behavior_delegate + if(istype(behavior_delegate) && behavior_delegate.transferred_amount >= behavior_delegate.required_transferred_amount && xeno.client && xeno.hive) + var/datum/hive_status/hive_status = xeno.hive + var/turf/spawning_turf = get_turf(xeno) + if(!hive_status.hive_location) + addtimer(CALLBACK(xeno.hive, TYPE_PROC_REF(/datum/hive_status, respawn_on_turf), xeno.client, spawning_turf), 0.5 SECONDS) + else + addtimer(CALLBACK(xeno.hive, TYPE_PROC_REF(/datum/hive_status, free_respawn), xeno.client), 5 SECONDS) + + xeno.gib(create_cause_data("sacrificing itself", src)) + +/datum/action/xeno_action/activable/healer_sacrifice/action_activate() + ..() + var/mob/living/carbon/xenomorph/xeno = owner + if(xeno.selected_ability != src) + return + var/datum/behavior_delegate/drone_healer/behavior_delegate = xeno.behavior_delegate + if(!istype(behavior_delegate)) + return + if(behavior_delegate.transferred_amount < behavior_delegate.required_transferred_amount) + to_chat(xeno, SPAN_HIGHDANGER("Warning: [name] is a last measure skill. Using it will kill us.")) + else + to_chat(xeno, SPAN_HIGHDANGER("Warning: [name] is a last measure skill. Using it will kill us, but new life will be granted for our hard work for the hive.")) + diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/hivelord/resin_whisperer.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/hivelord/resin_whisperer.dm index 3200fd0da4a1..3653209b78f2 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/hivelord/resin_whisperer.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/hivelord/resin_whisperer.dm @@ -90,9 +90,9 @@ var/obj/structure/mineral_door/resin/resin_door = target_atom resin_door.TryToSwitchState(owner) if(resin_door.state) - to_chat(owner, SPAN_XENONOTICE("You focus your connection to the resin and remotely close the resin door.")) + to_chat(owner, SPAN_XENONOTICE("We focus our connection to the resin and remotely close the resin door.")) else - to_chat(owner, SPAN_XENONOTICE("You focus your connection to the resin and remotely open the resin door.")) + to_chat(owner, SPAN_XENONOTICE("We focus our connection to the resin and remotely open the resin door.")) return // since actions are instanced per hivelord, and only one construction can be made at a time, tweaking the datum on the fly here is fine. you're going to have to figure something out if these conditions change, though @@ -111,7 +111,7 @@ var/datum/resin_construction/resing_construction = GLOB.resin_constructions_list[hivelord.selected_resin] target_turf.visible_message(SPAN_XENONOTICE("The weeds begin pulsating wildly and secrete resin in the shape of \a [resing_construction.construction_name]!"), null, 5) - to_chat(owner, SPAN_XENONOTICE("You focus your plasma into the weeds below you and force the weeds to secrete resin in the shape of \a [resing_construction.construction_name].")) + to_chat(owner, SPAN_XENONOTICE("We focus our plasma into the weeds below us and force the weeds to secrete resin in the shape of \a [resing_construction.construction_name].")) playsound(target_turf, "alien_resin_build", 25) return TRUE diff --git a/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/berserker.dm b/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/berserker.dm index 3694a201afdc..7881c9aa75f1 100644 --- a/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/berserker.dm +++ b/code/modules/mob/living/carbon/xenomorph/mutators/strains/ravager/berserker.dm @@ -81,7 +81,7 @@ if (rage == max_rage) bound_xeno.add_filter("berserker_rage", 1, list("type" = "outline", "color" = "#000000ff", "size" = 1)) rage_lock() - to_chat(bound_xeno, SPAN_XENOHIGHDANGER("You feel a euphoric rush as you reach max rage! You are LOCKED at max Rage!")) + to_chat(bound_xeno, SPAN_XENOHIGHDANGER("We feel a euphoric rush as we reach max rage! We are LOCKED at max Rage!")) // HP vamp bound_xeno.gain_health((0.05*rage + hp_vamp_ratio)*((bound_xeno.melee_damage_upper - bound_xeno.melee_damage_lower)/2 + bound_xeno.melee_damage_lower)) @@ -131,7 +131,7 @@ rage_cooldown_start_time = world.time decrement_rage(rage) bound_xeno.remove_filter("berserker_rage") - to_chat(bound_xeno, SPAN_XENOWARNING("Your adrenal glands spasm. You cannot gain any rage for [rage_cooldown_duration/10] seconds.")) + to_chat(bound_xeno, SPAN_XENOWARNING("Our adrenal glands spasm. We cannot gain any rage for [rage_cooldown_duration/10] seconds.")) addtimer(CALLBACK(src, PROC_REF(rage_cooldown_callback)), rage_cooldown_duration) bound_xeno.add_filter("berserker_lockdown", 1, list("type" = "outline", "color" = "#fcfcfcff", "size" = 1)) @@ -145,7 +145,7 @@ return original_damage if (next_slash_buffed) - to_chat(bound_xeno, SPAN_XENOHIGHDANGER("You significantly strengthen your attack, slowing [A]!")) + to_chat(bound_xeno, SPAN_XENOHIGHDANGER("We significantly strengthen our attack, slowing [A]!")) to_chat(A, SPAN_XENOHIGHDANGER("You feel a sharp pain as [bound_xeno] slashes you, slowing you down!")) A.apply_effect(get_xeno_stun_duration(A, slash_slow_duration), SLOW) next_slash_buffed = FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/update_icons.dm b/code/modules/mob/living/carbon/xenomorph/update_icons.dm index e576b23e2855..7b048bdf2f58 100644 --- a/code/modules/mob/living/carbon/xenomorph/update_icons.dm +++ b/code/modules/mob/living/carbon/xenomorph/update_icons.dm @@ -99,19 +99,32 @@ . = ..() if(. != new_value) update_icons() // Snowflake handler for xeno resting icons + update_wounds() /mob/living/carbon/xenomorph/on_floored_start() . = ..() update_icons() + update_wounds() /mob/living/carbon/xenomorph/on_floored_end() . = ..() update_icons() + update_wounds() /mob/living/carbon/xenomorph/on_incapacitated_trait_gain() . = ..() update_icons() + update_wounds() /mob/living/carbon/xenomorph/on_incapacitated_trait_loss() . = ..() update_icons() + update_wounds() +/mob/living/carbon/xenomorph/on_knockedout_trait_gain() + . = ..() + update_icons() + update_wounds() +/mob/living/carbon/xenomorph/on_knockedout_trait_loss() + . = ..() + update_icons() + update_wounds() /* ^^^^^^^^^^^^^^ End Icon updates */ diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm index 9fade66e44c6..7c4eff0e2c15 100644 --- a/code/modules/mob/living/damage_procs.dm +++ b/code/modules/mob/living/damage_procs.dm @@ -65,14 +65,13 @@ //#define EFFECT_FLAG_XENOMORPH //#define EFFECT_FLAG_CHEMICAL +/// Legacy wrapper for effects, DO NOT USE and migrate all code to USING THE STATUS PROCS DIRECTLY /mob/proc/apply_effect() return FALSE +// Legacy wrapper for effects, DO NOT USE and migrate all code to USING THE BELOW PROCS DIRECTLY /mob/living/apply_effect(effect = 0, effect_type = STUN, effect_flags = EFFECT_FLAG_DEFAULT) - if(SEND_SIGNAL(src, COMSIG_LIVING_APPLY_EFFECT, effect, effect_type, effect_flags) & COMPONENT_CANCEL_EFFECT) - return - if(!effect) return FALSE @@ -106,9 +105,6 @@ /mob/living/adjust_effect(effect = 0, effect_type = STUN, effect_flags = EFFECT_FLAG_DEFAULT) - if(SEND_SIGNAL(src, COMSIG_LIVING_ADJUST_EFFECT, effect, effect_type, effect_flags) & COMPONENT_CANCEL_EFFECT) - return - if(!effect) return FALSE @@ -142,9 +138,6 @@ /mob/living/set_effect(effect = 0, effect_type = STUN, effect_flags = EFFECT_FLAG_DEFAULT) - if(SEND_SIGNAL(src, COMSIG_LIVING_SET_EFFECT, effect, effect_type, effect_flags) & COMPONENT_CANCEL_EFFECT) - return - switch(effect_type) if(STUN) SetStun(effect) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6205c4f919a4..64c851310823 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -24,6 +24,7 @@ /mob/living/Destroy() GLOB.living_mob_list -= src + cleanup_status_effects() pipes_shown = null . = ..() @@ -33,6 +34,17 @@ QDEL_NULL(pain) QDEL_NULL(stamina) QDEL_NULL(hallucinations) + status_effects = null + +/// Clear all running status effects assuming deletion +/mob/living/proc/cleanup_status_effects() + PROTECTED_PROC(TRUE) + if(length(status_effects)) + for(var/datum/status_effect/S as anything in status_effects) + if(S?.on_remove_on_mob_delete) //the status effect calls on_remove when its mob is deleted + qdel(S) + else + S?.be_replaced() /mob/living/proc/initialize_pain() pain = new /datum/pain(src) @@ -473,10 +485,12 @@ if(CONSCIOUS) if(stat >= UNCONSCIOUS) ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) + sound_environment_override = SOUND_ENVIRONMENT_PSYCHOTIC add_traits(list(/*TRAIT_HANDS_BLOCKED, */ TRAIT_INCAPACITATED, TRAIT_FLOORED), STAT_TRAIT) if(UNCONSCIOUS) if(stat >= UNCONSCIOUS) ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) //adding trait sources should come before removing to avoid unnecessary updates + sound_environment_override = SOUND_ENVIRONMENT_PSYCHOTIC if(DEAD) SEND_SIGNAL(src, COMSIG_MOB_STAT_SET_ALIVE) // remove_from_dead_mob_list() @@ -486,15 +500,18 @@ if(CONSCIOUS) if(. >= UNCONSCIOUS) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) + sound_environment_override = SOUND_ENVIRONMENT_NONE remove_traits(list(/*TRAIT_HANDS_BLOCKED, */ TRAIT_INCAPACITATED, TRAIT_FLOORED, /*TRAIT_CRITICAL_CONDITION*/), STAT_TRAIT) if(UNCONSCIOUS) if(. >= UNCONSCIOUS) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) + sound_environment_override = SOUND_ENVIRONMENT_NONE if(DEAD) SEND_SIGNAL(src, COMSIG_MOB_STAT_SET_DEAD) // REMOVE_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) // remove_from_alive_mob_list() // add_to_dead_mob_list() + update_layer() // Force update layers so that lying down works as intended upon death. This is redundant otherwise. Replace this by trait signals /** * Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions. @@ -577,12 +594,16 @@ drop_l_hand() drop_r_hand() add_temp_pass_flags(PASS_MOB_THRU) + update_layer() + +/// Updates the layer the mob is on based on its current status. This can result in redundant updates. Replace by trait signals eventually +/mob/living/proc/update_layer() //so mob lying always appear behind standing mobs, but dead ones appear behind living ones if(pulledby && pulledby.grab_level == GRAB_CARRY) layer = ABOVE_MOB_LAYER - else if (stat == DEAD) + else if (body_position == LYING_DOWN && stat == DEAD) layer = LYING_DEAD_MOB_LAYER // Dead mobs should layer under living ones - else if(layer == initial(layer)) //to avoid things like hiding larvas. + else if(body_position == LYING_DOWN && layer == initial(layer)) //to avoid things like hiding larvas. //i have no idea what this means layer = LYING_LIVING_MOB_LAYER /// Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment. diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index ce4634a102fc..88bd8e09c386 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -14,15 +14,14 @@ var/brainloss = 0 //'Retardation' damage caused by someone hitting you in the head with a bible or being infected with brainrot. var/halloss = 0 //Hallucination damage. 'Fake' damage obtained through hallucinating or the holodeck. Sleeping should cause it to wear off. - // please don't use these - VAR_PROTECTED/knocked_out = 0 - VAR_PROTECTED/knocked_down = 0 - VAR_PROTECTED/stunned = 0 + // please don't use these directly, use the procs var/dazed = 0 var/slowed = 0 // X_SLOW_AMOUNT var/superslowed = 0 // X_SUPERSLOW_AMOUNT var/sleeping = 0 + ///a list of all status effects the mob has + var/list/status_effects /// Cooldown for manually toggling resting to avoid spamming COOLDOWN_DECLARE(rest_cooldown) @@ -134,3 +133,10 @@ /// Flags that determine the potential of a mob to perform certain actions. Do not change this directly. var/mobility_flags = MOBILITY_FLAGS_DEFAULT + /// icon for weed_food states + var/weed_food_icon = 'icons/mob/xenos/weeds.dmi' + /// icon_states for weed_food (needs to be the same length as weed_food_states_flipped) + var/list/weed_food_states = list("human_1","human_2","human_3","human_4","human_5") + /// flipped icon_states for weed_food (needs to be the same length as weed_food_states) + var/list/weed_food_states_flipped = list("human_1_f","human_2_f","human_3_f","human_4_f","human_5_f") + diff --git a/code/modules/mob/living/living_health_procs.dm b/code/modules/mob/living/living_health_procs.dm index e4c9659db827..50e59622f132 100644 --- a/code/modules/mob/living/living_health_procs.dm +++ b/code/modules/mob/living/living_health_procs.dm @@ -81,55 +81,51 @@ /mob/living/proc/setMaxHealth(newMaxHealth) maxHealth = newMaxHealth - -/mob/living - VAR_PROTECTED/stun_timer = TIMER_ID_NULL - -/mob/living/proc/stun_callback() - REMOVE_TRAIT(src, TRAIT_INCAPACITATED, STUNNED_TRAIT) - stunned = 0 - handle_regular_status_updates(FALSE) - if(stun_timer != TIMER_ID_NULL) - deltimer(stun_timer) - stun_timer = TIMER_ID_NULL - -/mob/living/proc/stun_callback_check() - if(stunned) - ADD_TRAIT(src, TRAIT_INCAPACITATED, STUNNED_TRAIT) - if(stunned && stunned < recovery_constant) - stun_timer = addtimer(CALLBACK(src, PROC_REF(stun_callback)), (stunned/recovery_constant) * 2 SECONDS, TIMER_OVERRIDE|TIMER_UNIQUE|TIMER_STOPPABLE) +/* STUN (Incapacitation) */ +/// Overridable handler to adjust the numerical value of status effects. Expand as needed +/mob/living/proc/GetStunDuration(amount) + return amount * GLOBAL_STATUS_MULTIPLIER +/mob/living/proc/IsStun() //If we're stunned + return has_status_effect(/datum/status_effect/incapacitating/stun) +/mob/living/proc/AmountStun() //How much time remain in our stun - scaled by GLOBAL_STATUS_MULTIPLIER (normally in multiples of legacy 2 seconds) + var/datum/status_effect/incapacitating/stun/S = IsStun() + if(S) + return S.get_duration_left() / GLOBAL_STATUS_MULTIPLIER + return 0 +/mob/living/proc/Stun(amount) + if(!(status_flags & CANSTUN)) return - if(!stunned) // Force reset since the timer wasn't called - stun_callback() + amount = GetStunDuration(amount) + var/datum/status_effect/incapacitating/stun/S = IsStun() + if(S) + S.update_duration(amount, increment = TRUE) + else if(amount > 0) + S = apply_status_effect(/datum/status_effect/incapacitating/stun, amount) + return S +/mob/living/proc/SetStun(amount, ignore_canstun = FALSE) //Sets remaining duration + if(!(status_flags & CANSTUN)) return - - if(stun_timer != TIMER_ID_NULL) - deltimer(stun_timer) - stun_timer = TIMER_ID_NULL - -// adjust stun if needed, do not call it in adjust stunned -/mob/living/proc/stun_clock_adjustment() - return - -/mob/living/proc/Stun(amount) - if(status_flags & CANSTUN) - stunned = max(max(stunned,amount),0) //can't go below 0, getting a low amount of stun doesn't lower your current stun - stun_clock_adjustment() - stun_callback_check() - return - -/mob/living/proc/SetStun(amount) //if you REALLY need to set stun to a set amount without the whole "can't go below current stunned" - if(status_flags & CANSTUN) - stunned = max(amount,0) - stun_clock_adjustment() - stun_callback_check() - return - -/mob/living/proc/AdjustStun(amount) - if(status_flags & CANSTUN) - stunned = max(stunned + amount,0) - stun_callback_check() - return + amount = GetStunDuration(amount) + var/datum/status_effect/incapacitating/stun/S = IsStun() + if(amount <= 0) + if(S) + qdel(S) + else + if(S) + S.update_duration(amount) + else + S = apply_status_effect(/datum/status_effect/incapacitating/stun, amount) + return S +/mob/living/proc/AdjustStun(amount, ignore_canstun = FALSE) //Adds to remaining duration + if(!(status_flags & CANSTUN)) + return + amount = GetStunDuration(amount) + var/datum/status_effect/incapacitating/stun/S = IsStun() + if(S) + S.adjust_duration(amount) + else if(amount > 0) + S = apply_status_effect(/datum/status_effect/incapacitating/stun, amount) + return S /mob/living/proc/Daze(amount) if(status_flags & CANDAZE) @@ -174,103 +170,113 @@ SetSuperslow(superslowed + amount) return -/mob/living - VAR_PRIVATE/knocked_down_timer +/* KnockDown (Flooring) */ +/// Overridable handler to adjust the numerical value of status effects. Expand as needed +/mob/living/proc/GetKnockDownDuration(amount) + return amount * GLOBAL_STATUS_MULTIPLIER -/mob/living/proc/knocked_down_callback() - remove_traits(list(TRAIT_FLOORED, TRAIT_INCAPACITATED), KNOCKEDDOWN_TRAIT) - knocked_down = 0 - handle_regular_status_updates(FALSE) - knocked_down_timer = null +/mob/living/proc/IsKnockDown() + return has_status_effect(/datum/status_effect/incapacitating/knockdown) -/mob/living/proc/knocked_down_callback_check() - if(knocked_down) - add_traits(list(TRAIT_FLOORED, TRAIT_INCAPACITATED), KNOCKEDDOWN_TRAIT) +///How much time remains - scaled by GLOBAL_STATUS_MULTIPLIER (normally in multiples of legacy 2 seconds) +/mob/living/proc/AmountKnockDown() + var/datum/status_effect/incapacitating/knockdown/S = IsKnockDown() + if(S) + return S.get_duration_left() / GLOBAL_STATUS_MULTIPLIER + return 0 - if(knocked_down && knocked_down < recovery_constant) - knocked_down_timer = addtimer(CALLBACK(src, PROC_REF(knocked_down_callback)), (knocked_down/recovery_constant) * 2 SECONDS, TIMER_OVERRIDE|TIMER_UNIQUE|TIMER_STOPPABLE) // times whatever amount we have per tick +/mob/living/proc/KnockDown(amount) + if(!(status_flags & CANKNOCKDOWN)) return - - if(!knocked_down) // Force reset since the timer wasn't called - knocked_down_callback() + amount = GetKnockDownDuration(amount) + var/datum/status_effect/incapacitating/knockdown/S = IsKnockDown() + if(S) + S.update_duration(amount, increment = TRUE) + else if(amount > 0) + S = apply_status_effect(/datum/status_effect/incapacitating/knockdown, amount) + return S + +///Sets exact remaining KnockDown duration +/mob/living/proc/SetKnockDown(amount, ignore_canstun = FALSE) + if(!(status_flags & CANKNOCKDOWN)) return - - if(knocked_down_timer) - deltimer(knocked_down_timer) - knocked_down_timer = null - -/mob/living - VAR_PRIVATE/knocked_out_timer - -/mob/living/proc/knocked_out_start() - return - -/mob/living/proc/knocked_out_callback() - REMOVE_TRAIT(src, TRAIT_KNOCKEDOUT, KNOCKEDOUT_TRAIT) - knocked_out = 0 - handle_regular_status_updates(FALSE) - knocked_out_timer = null - -/mob/living/proc/knocked_out_callback_check() - if(knocked_out) - ADD_TRAIT(src, TRAIT_KNOCKEDOUT, KNOCKEDOUT_TRAIT) - if(knocked_out && knocked_out < recovery_constant) - knocked_out_timer = addtimer(CALLBACK(src, PROC_REF(knocked_out_callback)), (knocked_out/recovery_constant) * 2 SECONDS, TIMER_OVERRIDE|TIMER_UNIQUE|TIMER_STOPPABLE) // times whatever amount we have per tick + amount = GetKnockDownDuration(amount) + var/datum/status_effect/incapacitating/knockdown/S = IsKnockDown() + if(amount <= 0) + if(S) + qdel(S) + else + if(S) + S.update_duration(amount) + else + S = apply_status_effect(/datum/status_effect/incapacitating/knockdown, amount) + return S + +///Adds to remaining Knockdown duration +/mob/living/proc/AdjustKnockDown(amount, ignore_canstun = FALSE) + if(!(status_flags & CANKNOCKDOWN)) return - else if(!knocked_out) - //It's been called, and we're probably inconscious, so fix that. - knocked_out_callback() - - if(knocked_out_timer) - deltimer(knocked_out_timer) - knocked_out_timer = null - -// adjust knockdown if needed, do not call it in adjust knockdown -/mob/living/proc/knockdown_clock_adjustment() - return - -/mob/living/proc/KnockDown(amount, force) - if((status_flags & CANKNOCKDOWN) || force) - knocked_down = max(max(knocked_down,amount),0) - knockdown_clock_adjustment() - knocked_down_callback_check() - return - -/mob/living/proc/SetKnockDown(amount) - if(status_flags & CANKNOCKDOWN) - knocked_down = max(amount,0) - knockdown_clock_adjustment() - knocked_down_callback_check() - return - -/mob/living/proc/AdjustKnockDown(amount) - if(status_flags & CANKNOCKDOWN) - knocked_down = max(knocked_down + amount,0) - knocked_down_callback_check() - return - -/mob/living/proc/knockout_clock_adjustment() - return - + amount = GetKnockDownDuration(amount) + var/datum/status_effect/incapacitating/knockdown/S = IsKnockDown() + if(S) + S.adjust_duration(amount) + else if(amount > 0) + S = apply_status_effect(/datum/status_effect/incapacitating/knockdown, amount) + return S + +/* KnockOut (Unconscious) */ +/// Overridable handler to adjust the numerical value of status effects. Expand as needed +/mob/living/proc/GetKnockOutDuration(amount) + return amount * GLOBAL_STATUS_MULTIPLIER + +/mob/living/proc/IsKnockOut() + return has_status_effect(/datum/status_effect/incapacitating/unconscious) + +/mob/living/proc/AmountKnockOut() //How much time remains - scaled by GLOBAL_STATUS_MULTIPLIER (normally in multiples of legacy 2 seconds) + var/datum/status_effect/incapacitating/unconscious/S = IsKnockOut() + if(S) + return S.get_duration_left() / GLOBAL_STATUS_MULTIPLIER + return 0 + +/// Sets Knockout duration to at least the amount provided /mob/living/proc/KnockOut(amount) - if(status_flags & CANKNOCKOUT) - knocked_out = max(max(knocked_out,amount),0) - knockout_clock_adjustment() - knocked_out_callback_check() - return - -/mob/living/proc/SetKnockOut(amount) - if(status_flags & CANKNOCKOUT) - knocked_out = max(amount,0) - knockout_clock_adjustment() - knocked_out_callback_check() - return - -/mob/living/proc/AdjustKnockOut(amount) - if(status_flags & CANKNOCKOUT) - knocked_out = max(knocked_out + amount,0) - knocked_out_callback_check() - return + if(!(status_flags & CANKNOCKOUT)) + return + amount = GetKnockOutDuration(amount) + var/datum/status_effect/incapacitating/unconscious/S = IsKnockOut() + if(S) + S.update_duration(amount, increment = TRUE) + else if(amount > 0) + S = apply_status_effect(/datum/status_effect/incapacitating/unconscious, amount) + return S + +/// Sets exact remaining Knockout duration +/mob/living/proc/SetKnockOut(amount, ignore_canstun = FALSE) + if(!(status_flags & CANKNOCKOUT)) + return + amount = GetKnockOutDuration(amount) + var/datum/status_effect/incapacitating/unconscious/S = IsKnockOut() + if(amount <= 0) + if(S) + qdel(S) + else + if(S) + S.update_duration(amount) + else + S = apply_status_effect(/datum/status_effect/incapacitating/unconscious, amount) + return S + +/// Adds to remaining Knockout duration +/mob/living/proc/AdjustKnockOut(amount, ignore_canstun = FALSE) + if(!(status_flags & CANKNOCKOUT)) + return + amount = GetKnockOutDuration(amount) + var/datum/status_effect/incapacitating/unconscious/S = IsKnockOut() + if(S) + S.adjust_duration(amount) + else if(amount > 0) + S = apply_status_effect(/datum/status_effect/incapacitating/unconscious, amount) + return S /mob/living/proc/Sleeping(amount) sleeping = max(max(sleeping,amount),0) @@ -416,8 +422,6 @@ /mob/living/proc/rejuvenate() heal_all_damage() - SEND_SIGNAL(src, COMSIG_LIVING_REJUVENATED) - // shut down ongoing problems status_flags &= ~PERMANENTLY_DEAD nutrition = NUTRITION_NORMAL @@ -458,6 +462,8 @@ set_stat(CONSCIOUS) regenerate_all_icons() + SEND_SIGNAL(src, COMSIG_LIVING_REJUVENATED) + /mob/living/proc/heal_all_damage() // shut down various types of badness @@ -503,11 +509,3 @@ return face_dir(direction) return ..() - -// Transition handlers. do NOT use this. I mean seriously don't. It's broken. Players love their broken behaviors. -/mob/living/proc/GetStunValueNotADurationDoNotUse() - return stunned -/mob/living/proc/GetKnockDownValueNotADurationDoNotUse() - return knocked_down -/mob/living/proc/GetKnockOutValueNotADurationDoNotUse() - return knocked_out diff --git a/code/modules/mob/living/living_verbs.dm b/code/modules/mob/living/living_verbs.dm index 88167feda3c0..1d51e43fd71d 100644 --- a/code/modules/mob/living/living_verbs.dm +++ b/code/modules/mob/living/living_verbs.dm @@ -1,3 +1,10 @@ +/mob/living/can_resist() + if(next_move > world.time) + return FALSE + if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) + return FALSE + return TRUE + /mob/living/verb/resist() set name = "Resist" set category = "IC" @@ -163,25 +170,16 @@ return //breaking out of handcuffs & putting out fires - if(!is_mob_incapacitated(TRUE)) + if(mobility_flags & MOBILITY_MOVE) if(on_fire) resist_fire() - - var/on_acid = FALSE - for(var/datum/effects/acid/A in effects_list) - on_acid = TRUE - break - if(on_acid) + if(locate(/datum/effects/acid) in effects_list) resist_acid() + if(last_special <= world.time) + resist_restraints() SEND_SIGNAL(src, COMSIG_MOB_RESISTED) - if(!iscarbon(src)) - return - var/mob/living/carbon/C = src - if((C.handcuffed || C.legcuffed) && (C.mobility_flags & MOBILITY_MOVE) && (C.last_special <= world.time)) - resist_restraints() - /mob/living/proc/resist_buckle() buckled.manual_unbuckle(src) diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 5b190143f5bc..7b0ee6869e80 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -34,9 +34,6 @@ // Gain Power apply_damage(-1, OXY) - // Handle EMP-stun - handle_stunned() - //stage = 1 //if (isRemoteControlling(src)) // Are we not sure what we are? var/blind = 0 diff --git a/code/modules/mob/living/silicon/decoy/decoy.dm b/code/modules/mob/living/silicon/decoy/decoy.dm index bc7271554352..3c2d65bd4180 100644 --- a/code/modules/mob/living/silicon/decoy/decoy.dm +++ b/code/modules/mob/living/silicon/decoy/decoy.dm @@ -47,6 +47,9 @@ /mob/living/silicon/decoy/death(cause, gibbed, deathmessage = "sparks up and falls silent...") if(stat == DEAD) return FALSE + + //ARES sends out last messages + ares_final_words() icon_state = "hydra-off" var/datum/cause_data/cause_data = create_cause_data("rapid unscheduled disassembly", src, src) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(explosion), loc, -1, 0, 8, 12, TRUE, FALSE, 0, cause_data), 2 SECONDS) diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index b4a6e59e52e2..ac031e74e11f 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -22,7 +22,7 @@ /mob/living/silicon/robot/proc/clamp_values() // set_effect(min(stunned, 30), STUN) - set_effect(min(knocked_out, 30), PARALYZE) +// set_effect(min(knocked_out, 30), PARALYZE) // set_effect(min(knocked_down, 20), WEAKEN) sleeping = 0 apply_damage(0, BRUTE) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 13d7c6d9b2ca..a1ef9032e435 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -93,10 +93,6 @@ if(health > maxHealth) health = maxHealth - handle_stunned() - handle_knocked_down(TRUE) - handle_knocked_out(TRUE) - //Movement if(!client && !stop_automated_movement && wander && !anchored) if(isturf(src.loc) && !resting && !buckled && (mobility_flags & MOBILITY_MOVE)) //This is so it only moves if it's not inside a closet, gentics machine, etc. diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c256f05e74b4..2ed1ee5e126c 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -833,10 +833,11 @@ note dizziness decrements automatically in the mob's Life() proc. selection.forceMove(get_turf(src)) return TRUE +///Can this mob resist (default FALSE) +/mob/proc/can_resist() + return FALSE + /mob/living/proc/handle_statuses() - handle_stunned() - handle_knocked_down() - handle_knocked_out() handle_stuttering() handle_silent() handle_drugged() @@ -845,11 +846,6 @@ note dizziness decrements automatically in the mob's Life() proc. handle_slowed() handle_superslowed() -/mob/living/proc/handle_stunned() - if(stunned) - adjust_effect(-1, STUN) - return stunned - /mob/living/proc/handle_dazed() if(dazed) adjust_effect(-1, DAZE) @@ -865,19 +861,6 @@ note dizziness decrements automatically in the mob's Life() proc. adjust_effect(-1, SUPERSLOW) return superslowed - -/mob/living/proc/handle_knocked_down(bypass_client_check = FALSE) - if(knocked_down && (bypass_client_check || client)) - knocked_down = max(knocked_down-1,0) - knocked_down_callback_check() - return knocked_down - -/mob/living/proc/handle_knocked_out(bypass_client_check = FALSE) - if(knocked_out && (bypass_client_check || client)) - knocked_out = max(knocked_out-1,0) - knocked_out_callback_check() - return knocked_out - /mob/living/proc/handle_stuttering() if(stuttering) stuttering = max(stuttering-1, 0) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index 071728195e3f..e918a00b0984 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -126,10 +126,10 @@ to_chat(src, "You start to devour [pulled] but realize \he is already dead.") return */ if(user.action_busy) - to_chat(xeno, SPAN_WARNING("You are already busy with something.")) + to_chat(xeno, SPAN_WARNING("We are already busy with something.")) return xeno.visible_message(SPAN_DANGER("[xeno] starts to devour [pulled]!"), \ - SPAN_DANGER("You start to devour [pulled]!"), null, 5) + SPAN_DANGER("We start to devour [pulled]!"), null, 5) if(HAS_TRAIT(xeno, TRAIT_CLOAKED)) //cloaked don't show the visible message, so we gotta work around to_chat(pulled, FONT_SIZE_HUGE(SPAN_DANGER("[xeno] is trying to devour you!"))) if(do_after(xeno, 50, INTERRUPT_NO_NEEDHAND, BUSY_ICON_HOSTILE)) @@ -141,7 +141,7 @@ return FALSE xeno.visible_message(SPAN_WARNING("[xeno] devours [pulled]!"), \ - SPAN_WARNING("You devour [pulled]!"), null, 5) + SPAN_WARNING("We devour [pulled]!"), null, 5) if(ishuman(pulled)) var/mob/living/carbon/human/pulled_human = pulled @@ -153,5 +153,5 @@ pulled.forceMove(xeno) return TRUE if(!(pulled in xeno.stomach_contents)) - to_chat(xeno, SPAN_WARNING("You stop devouring \the [pulled]. \He probably tasted gross anyways.")) + to_chat(xeno, SPAN_WARNING("We stop devouring [pulled]. They probably tasted gross anyways.")) return 0 diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 5d1baac3a534..6abe12eee9b1 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -313,9 +313,8 @@ GLOBAL_LIST_INIT(limb_types_by_name, list( /// Returns if the mob is incapacitated and unable to perform general actions /mob/proc/is_mob_incapacitated(ignore_restrained) - // note that stat includes knockout via unconscious - // TODO: re-re-re-figure out if we need TRAIT_FLOORED here or using TRAIT_INCAPACITATED only is acceptable deviance from legacy behavior return (stat || (!ignore_restrained && is_mob_restrained()) || (status_flags & FAKEDEATH) || HAS_TRAIT(src, TRAIT_INCAPACITATED)) + /mob/proc/get_eye_protection() return EYE_PROTECTION_NONE diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 65489944211a..8e9a513fdc88 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -182,10 +182,12 @@ move_delay += MOVE_REDUCTION_DIRECTION_LOCKED // by Geeves mob.cur_speed = Clamp(10/(move_delay + 0.5), MIN_SPEED, MAX_SPEED) - //We are now going to move - moving = TRUE - mob.move_intentionally = TRUE + next_movement = world.time + MINIMAL_MOVEMENT_INTERVAL // We pre-set this now for the crawling case. If crawling do_after fails, next_movement would be set after the attempt end instead of now. + + //Try to crawl first if(living_mob && living_mob.body_position == LYING_DOWN) + if(mob.crawling) + return // Already doing it. //check for them not being a limbless blob (only humans have limbs) if(ishuman(mob)) var/mob/living/carbon/human/human = mob @@ -194,19 +196,17 @@ if(!(human.get_limb(zone))) extremities.Remove(zone) if(extremities.len < 4) - next_movement = world.time + MINIMAL_MOVEMENT_INTERVAL - mob.move_intentionally = FALSE - moving = FALSE return //now crawl mob.crawling = TRUE if(!do_after(mob, 1 SECONDS, INTERRUPT_MOVED|INTERRUPT_UNCONSCIOUS|INTERRUPT_STUNNED|INTERRUPT_RESIST|INTERRUPT_CHANGED_LYING, NO_BUSY_ICON)) mob.crawling = FALSE - next_movement = world.time + MINIMAL_MOVEMENT_INTERVAL - mob.move_intentionally = FALSE - moving = FALSE return + if(!mob.crawling) + return // Crawling interrupted by a "real" move. Do nothing. In theory INTERRUPT_MOVED|INTERRUPT_CHANGED_LYING catches this in do_after. mob.crawling = FALSE + mob.move_intentionally = TRUE + moving = TRUE if(mob.confused) mob.Move(get_step(mob, pick(GLOB.cardinals))) else diff --git a/code/modules/movement/launching/launching.dm b/code/modules/movement/launching/launching.dm index 96db667fe2ff..f72a7c773490 100644 --- a/code/modules/movement/launching/launching.dm +++ b/code/modules/movement/launching/launching.dm @@ -120,7 +120,7 @@ return TRUE // Proc for throwing items (should only really be used for throw) -/atom/movable/proc/throw_atom(atom/target, range, speed = 0, atom/thrower, spin, launch_type = NORMAL_LAUNCH, pass_flags = NO_FLAGS) +/atom/movable/proc/throw_atom(atom/target, range, speed = 0, atom/thrower, spin, launch_type = NORMAL_LAUNCH, pass_flags = NO_FLAGS, list/end_throw_callbacks, list/collision_callbacks) var/temp_pass_flags = pass_flags switch (launch_type) if (NORMAL_LAUNCH) @@ -135,6 +135,10 @@ LM.speed = speed LM.thrower = thrower LM.spin = spin + if(end_throw_callbacks) + LM.end_throw_callbacks = end_throw_callbacks + if(collision_callbacks) + LM.collision_callbacks = collision_callbacks if(SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_LAUNCH, LM) & COMPONENT_LAUNCH_CANCEL) return diff --git a/code/modules/projectiles/guns/specialist/sniper.dm b/code/modules/projectiles/guns/specialist/sniper.dm index 0cd9d8dd16c8..673de1a59602 100644 --- a/code/modules/projectiles/guns/specialist/sniper.dm +++ b/code/modules/projectiles/guns/specialist/sniper.dm @@ -453,7 +453,8 @@ if(PMC_sniper.body_position == STANDING_UP && !istype(PMC_sniper.wear_suit,/obj/item/clothing/suit/storage/marine/smartgunner/veteran/pmc) && !istype(PMC_sniper.wear_suit,/obj/item/clothing/suit/storage/marine/veteran)) PMC_sniper.visible_message(SPAN_WARNING("[PMC_sniper] is blown backwards from the recoil of the [src.name]!"),SPAN_HIGHDANGER("You are knocked prone by the blowback!")) step(PMC_sniper,turn(PMC_sniper.dir,180)) - PMC_sniper.apply_effect(5, WEAKEN) + PMC_sniper.KnockDown(5) + PMC_sniper.Stun(5) //Type 88 //Based on the actual Dragunov DMR rifle. diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index ef265e0b8095..38ee9c55b2a8 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -96,7 +96,10 @@ starting = null permutated = null path = null + vis_source = null + process_start_turf = null weapon_cause_data = null + bullet_traits = null firer = null QDEL_NULL(bound_beam) SSprojectiles.stop_projectile(src) @@ -243,20 +246,9 @@ vis_source_pixel_x = process_start_pixel_x vis_source_pixel_y = process_start_pixel_y - angle = 0 // Stolen from Get_Angle() basically var/dx = p_x + aim_turf.x * 32 - source_turf.x * 32 // todo account for firer offsets var/dy = p_y + aim_turf.y * 32 - source_turf.y * 32 - if(!dy) - if(dx >= 0) - angle = 90 - else - angle = 280 - else - angle = arctan(dx/dy) - if(dy < 0) - angle += 180 - else if(dx < 0) - angle += 360 + angle = delta_to_angle(dx, dy) /obj/projectile/process(delta_time) . = PROC_RETURN_SLEEP @@ -298,7 +290,7 @@ //Change the bullet angle to its visual path - var/vis_angle = get_pixel_angle(x = pixel_x_target - pixel_x_source, y = pixel_y_target - pixel_y_source) //naming vars because the proc takes y then x and that's WEIRD + var/vis_angle = delta_to_angle(pixel_x_target - pixel_x_source, pixel_y_target - pixel_y_source) var/matrix/rotate = matrix() rotate.Turn(vis_angle) apply_transform(rotate) diff --git a/code/modules/reagents/chemistry_reagents/drink.dm b/code/modules/reagents/chemistry_reagents/drink.dm index 66ce0844556b..9739687dec20 100644 --- a/code/modules/reagents/chemistry_reagents/drink.dm +++ b/code/modules/reagents/chemistry_reagents/drink.dm @@ -555,8 +555,7 @@ /datum/reagent/neurotoxin/on_mob_life(mob/living/carbon/M) . = ..() if(!.) return - if(!HAS_TRAIT(src, TRAIT_FLOORED)) - M.apply_effect(5, WEAKEN) + M.KnockDown(5) if(!data) data = 1 data++ M.dizziness +=6 diff --git a/code/modules/reagents/chemistry_reagents/toxin.dm b/code/modules/reagents/chemistry_reagents/toxin.dm index d9be565a85b2..445918ef284d 100644 --- a/code/modules/reagents/chemistry_reagents/toxin.dm +++ b/code/modules/reagents/chemistry_reagents/toxin.dm @@ -115,7 +115,8 @@ M.status_flags |= FAKEDEATH ADD_TRAIT(M, TRAIT_IMMOBILIZED, FAKEDEATH_TRAIT) M.apply_damage(0.5*REM, OXY) - M.apply_effect(2, WEAKEN) + M.KnockDown(2) + M.Stun(2) M.silent = max(M.silent, 10) /datum/reagent/toxin/zombiepowder/on_delete() diff --git a/code/modules/shuttle/computers/dropship_computer.dm b/code/modules/shuttle/computers/dropship_computer.dm index 67d3a20d969e..86c0c86abfc2 100644 --- a/code/modules/shuttle/computers/dropship_computer.dm +++ b/code/modules/shuttle/computers/dropship_computer.dm @@ -192,7 +192,7 @@ to_chat(xeno, SPAN_WARNING("The metal bird can not land here. It might be currently occupied!")) return to_chat(xeno, SPAN_NOTICE("You command the metal bird to come down. Clever girl.")) - xeno_announcement(SPAN_XENOANNOUNCE("Your Queen has commanded the metal bird to the hive at [linked_lz]."), xeno.hivenumber, XENO_GENERAL_ANNOUNCE) + xeno_announcement(SPAN_XENOANNOUNCE("Our Queen has commanded the metal bird to the hive at [linked_lz]."), xeno.hivenumber, XENO_GENERAL_ANNOUNCE) log_ares_flight("Unknown", "Remote launch signal for [shuttle.name] received. Authentication garbled.") log_ares_security("Security Alert", "Remote launch signal for [shuttle.name] received. Authentication garbled.") return @@ -211,21 +211,31 @@ /obj/structure/machinery/computer/shuttle/dropship/flight/attack_alien(mob/living/carbon/xenomorph/xeno) - if(!is_ground_level(z)) - to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but you can't comprehend their meaning.")) - playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, 1) - return + var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttleId) + // If the attacking xeno isn't the queen. if(xeno.hive_pos != XENO_QUEEN) + // If the 'about to launch' alarm is playing, a xeno can whack the computer to stop it. + if(dropship.playing_launch_announcement_alarm) + stop_playing_launch_announcement_alarm() + xeno.animation_attack_on(src) + to_chat(xeno, SPAN_XENONOTICE("We slash at [src], silencing its squawking!")) + playsound(loc, 'sound/machines/terminal_shutdown.ogg', 20) + else + to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but we can't comprehend their meaning.")) + playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, TRUE) + return XENO_NONCOMBAT_ACTION + + if(!is_ground_level(z)) + // "you" rather than "we" for this one since non-queen castes will have returned above. to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but you can't comprehend their meaning.")) - playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, 1) - return + playsound(loc, 'sound/machines/terminal_error.ogg', KEYBOARD_SOUND_VOLUME, TRUE) + return XENO_NONCOMBAT_ACTION if(is_remote) groundside_alien_action(xeno) return - var/obj/docking_port/mobile/marine_dropship/dropship = SSshuttle.getShuttle(shuttleId) if(dropship.is_hijacked) return @@ -239,6 +249,7 @@ addtimer(CALLBACK(GLOB.almayer_orbital_cannon, TYPE_PROC_REF(/obj/structure/orbital_cannon, enable)), 10 MINUTES, TIMER_UNIQUE) if(!GLOB.resin_lz_allowed) set_lz_resin_allowed(TRUE) + stop_playing_launch_announcement_alarm() to_chat(xeno, SPAN_XENONOTICE("You override the doors.")) xeno_message(SPAN_XENOANNOUNCE("The doors of the metal bird have been overridden! Rejoice!"), 3, xeno.hivenumber) @@ -287,9 +298,6 @@ hijack.fire() GLOB.alt_ctrl_disabled = TRUE - dropship.alarm_sound_loop.stop() - dropship.playing_launch_announcement_alarm = FALSE - marine_announcement("Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.", "Dropship Alert", 'sound/AI/hijack.ogg', logging = ARES_LOG_SECURITY) log_ares_flight("Unknown", "Unscheduled dropship departure detected from operational area. Hijack likely. Shutting down autopilot.") @@ -411,7 +419,7 @@ update_equipment(is_optimised, FALSE) var/list/local_data = ui_data(user) var/found = FALSE - playsound(loc, get_sfx("terminal_button"), KEYBOARD_SOUND_VOLUME, 1) + playsound(loc, get_sfx("terminal_button"), 5, 1) for(var/destination in local_data["destinations"]) if(destination["id"] == dock_id) found = TRUE diff --git a/code/modules/shuttle/computers/escape_pod_computer.dm b/code/modules/shuttle/computers/escape_pod_computer.dm index ec523747e18d..c45ac7d56102 100644 --- a/code/modules/shuttle/computers/escape_pod_computer.dm +++ b/code/modules/shuttle/computers/escape_pod_computer.dm @@ -97,14 +97,19 @@ unslashable = TRUE unacidable = TRUE time_till_despawn = 6000000 //near infinite so despawn never occurs. + /// The name of the mob who injected the occupant into the pod. If it does not match the occupant, the occupant can leave. + var/injector_name var/being_forced = 0 //Simple variable to prevent sound spam. var/dock_state = STATE_IDLE /obj/structure/machinery/cryopod/evacuation/ex_act(severity) return FALSE -/obj/structure/machinery/cryopod/evacuation/attackby(obj/item/grab/G, mob/user) - if(istype(G)) +/obj/structure/machinery/cryopod/evacuation/attackby(obj/item/grab/the_grab, mob/user) + if(istype(the_grab)) + if(user.is_mob_incapacitated() || !(ishuman(user))) + return FALSE + if(being_forced) to_chat(user, SPAN_WARNING("There's something forcing it open!")) return FALSE @@ -117,16 +122,20 @@ to_chat(user, SPAN_WARNING("The cryo pod is not responding to commands!")) return FALSE - var/mob/living/carbon/human/M = G.grabbed_thing - if(!istype(M)) + var/mob/living/carbon/human/grabbed_mob = the_grab.grabbed_thing + if(!istype(grabbed_mob)) + return FALSE + if(grabbed_mob.stat == DEAD) //This mob is dead + to_chat(user, SPAN_WARNING("[src] immediately rejects [grabbed_mob]. \He passed away!")) return FALSE - visible_message(SPAN_WARNING("[user] starts putting [M.name] into the cryo pod."), null, null, 3) + visible_message(SPAN_WARNING("[user] starts putting [grabbed_mob.name] into the cryo pod."), null, null, 3) if(do_after(user, 20, INTERRUPT_ALL, BUSY_ICON_GENERIC)) - if(!M || !G || !G.grabbed_thing || !G.grabbed_thing.loc || G.grabbed_thing != M) + if(!grabbed_mob || !the_grab || !the_grab.grabbed_thing || !the_grab.grabbed_thing.loc || the_grab.grabbed_thing != grabbed_mob) return FALSE - move_mob_inside(M) + move_mob_inside(grabbed_mob) + injector_name = user.real_name /obj/structure/machinery/cryopod/evacuation/eject() set name = "Eject Pod" @@ -136,17 +145,24 @@ if(!occupant || !usr.stat || usr.is_mob_restrained()) return FALSE - if(occupant) //Once you're in, you cannot exit, and outside forces cannot eject you. - //The occupant is actually automatically ejected once the evac is canceled. - if(occupant != usr) to_chat(usr, SPAN_WARNING("You are unable to eject the occupant unless the evacuation is canceled.")) - add_fingerprint(usr) + //Once you're in, you cannot exit, and outside forces cannot eject you. + //The occupant is actually automatically ejected once the evac is canceled. + if(occupant != usr) + to_chat(usr, SPAN_WARNING("You are unable to eject the occupant unless the evacuation is canceled.")) + return FALSE + if(occupant.real_name != injector_name) + go_out() + else + to_chat(usr, SPAN_WARNING("You are unable to leave the [src] until evacuation completes, or is cancelled!.")) + return FALSE /obj/structure/machinery/cryopod/evacuation/go_out() //When the system ejects the occupant. if(occupant) occupant.forceMove(get_turf(src)) occupant.in_stasis = FALSE occupant = null + injector_name = null icon_state = orient_right ? "body_scanner_open-r" : "body_scanner_open" /obj/structure/machinery/cryopod/evacuation/move_inside() @@ -176,6 +192,7 @@ if(do_after(user, 20, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) user.stop_pulling() move_mob_inside(user) + injector_name = user.real_name /obj/structure/machinery/cryopod/evacuation/attack_alien(mob/living/carbon/xenomorph/user) if(being_forced) diff --git a/code/modules/shuttle/dropship_hijack.dm b/code/modules/shuttle/dropship_hijack.dm index c87dff348b3c..c01445be5b5b 100644 --- a/code/modules/shuttle/dropship_hijack.dm +++ b/code/modules/shuttle/dropship_hijack.dm @@ -51,6 +51,7 @@ // Break the ultra-reinforced windows. // Break the briefing windows. SEND_GLOBAL_SIGNAL(COMSIG_GLOB_HIJACK_IMPACTED) + RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_LANDED, PROC_REF(finish_landing)) // Sleep while the explosions do their job var/explosion_alive = TRUE @@ -62,6 +63,7 @@ break sleep(10) +/datum/dropship_hijack/almayer/proc/finish_landing() SShijack.announce_status_on_crash() SSticker.hijack_ocurred() @@ -210,7 +212,7 @@ turfs += get_area_turfs(/area/almayer/squads/req) if("Lower deck Aftship") turfs += get_area_turfs(/area/almayer/living/cryo_cells) - turfs += get_area_turfs(/area/almayer/engineering/engineering_workshop) + turfs += get_area_turfs(/area/almayer/engineering/lower/workshop) else CRASH("Crash site [ship_section] unknown.") return pick(turfs) diff --git a/code/modules/shuttle/helpers.dm b/code/modules/shuttle/helpers.dm index 6ab5d88da1b7..6b29f155582e 100644 --- a/code/modules/shuttle/helpers.dm +++ b/code/modules/shuttle/helpers.dm @@ -124,14 +124,13 @@ lockdown_door(air) /datum/door_controller/single/proc/bump_at_turf(turf/door_turf) - for(var/mob/blocking_mob in door_turf) - if(isliving(blocking_mob)) - to_chat(blocking_mob, SPAN_HIGHDANGER("You get thrown back as the [label] doors slam shut!")) - blocking_mob.apply_effect(4, WEAKEN) - for(var/turf/target_turf in orange(1, door_turf)) // Forcemove to a non shuttle turf - if(!istype(target_turf, /turf/open/shuttle) && !istype(target_turf, /turf/closed/shuttle)) - blocking_mob.forceMove(target_turf) - break + for(var/mob/living/blocking_mob in door_turf) + to_chat(blocking_mob, SPAN_HIGHDANGER("You get thrown back as the [label] doors slam shut!")) + blocking_mob.KnockDown(4) + for(var/turf/target_turf in orange(1, door_turf)) // Forcemove to a non shuttle turf + if(!istype(target_turf, /turf/open/shuttle) && !istype(target_turf, /turf/closed/shuttle)) + blocking_mob.forceMove(target_turf) + break /datum/door_controller/proc/lockdown_door(obj/structure/machinery/door/target) if(istype(target, /obj/structure/machinery/door/airlock)) diff --git a/code/modules/shuttle/shuttles/dropship.dm b/code/modules/shuttle/shuttles/dropship.dm index ee91c9b9e5d4..f741df301bbb 100644 --- a/code/modules/shuttle/shuttles/dropship.dm +++ b/code/modules/shuttle/shuttles/dropship.dm @@ -30,6 +30,7 @@ var/automated_delay var/automated_timer + /obj/docking_port/mobile/marine_dropship/Initialize(mapload) . = ..() door_control = new() @@ -43,15 +44,28 @@ if("aft_door") door_control.add_door(air, "aft") + RegisterSignal(src, COMSIG_DROPSHIP_ADD_EQUIPMENT, PROC_REF(add_equipment)) + RegisterSignal(src, COMSIG_DROPSHIP_REMOVE_EQUIPMENT, PROC_REF(remove_equipment)) + /obj/docking_port/mobile/marine_dropship/Destroy(force) . = ..() qdel(door_control) + UnregisterSignal(src, COMSIG_DROPSHIP_ADD_EQUIPMENT) + UnregisterSignal(src, COMSIG_DROPSHIP_REMOVE_EQUIPMENT) /obj/docking_port/mobile/marine_dropship/proc/send_for_flyby() in_flyby = TRUE var/obj/docking_port/stationary/dockedAt = get_docked() SSshuttle.moveShuttle(src.id, dockedAt.id, TRUE) +/obj/docking_port/mobile/marine_dropship/proc/add_equipment(obj/docking_port/mobile/marine_dropship/dropship, obj/structure/dropship_equipment/equipment) + SIGNAL_HANDLER + equipments += equipment + +/obj/docking_port/mobile/marine_dropship/proc/remove_equipment(obj/docking_port/mobile/marine_dropship/dropship, obj/structure/dropship_equipment/equipment) + SIGNAL_HANDLER + equipments -= equipment + /obj/docking_port/mobile/marine_dropship/proc/get_door_data() return door_control.get_data() @@ -107,10 +121,12 @@ /obj/docking_port/mobile/marine_dropship/alamo name = "Alamo" id = DROPSHIP_ALAMO + preferred_direction = SOUTH /obj/docking_port/mobile/marine_dropship/normandy name = "Normandy" id = DROPSHIP_NORMANDY + preferred_direction = SOUTH /obj/docking_port/mobile/marine_dropship/check() . = ..() @@ -284,6 +300,7 @@ affected_mob.apply_effect(3, WEAKEN) SEND_GLOBAL_SIGNAL(COMSIG_GLOB_GROUNDSIDE_FORSAKEN_HANDLING) + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_HIJACK_LANDED) /datum/map_template/shuttle/alamo name = "Alamo" diff --git a/code/modules/shuttle/shuttles/ert.dm b/code/modules/shuttle/shuttles/ert.dm index 1760caf3d87c..b619645c501c 100644 --- a/code/modules/shuttle/shuttles/ert.dm +++ b/code/modules/shuttle/shuttles/ert.dm @@ -61,14 +61,13 @@ INVOKE_ASYNC(src, PROC_REF(lockdown_door_launch), door) /obj/docking_port/mobile/emergency_response/proc/lockdown_door_launch(obj/structure/machinery/door/airlock/air) - for(var/mob/blocking_mob in air.loc) // Bump all mobs outta the way for outside airlocks of shuttles - if(isliving(blocking_mob)) - to_chat(blocking_mob, SPAN_HIGHDANGER("You get thrown back as the dropship doors slam shut!")) - blocking_mob.apply_effect(4, WEAKEN) - for(var/turf/target_turf in orange(1, air)) // Forcemove to a non shuttle turf - if(!istype(target_turf, /turf/open/shuttle) && !istype(target_turf, /turf/closed/shuttle)) - blocking_mob.forceMove(target_turf) - break + for(var/mob/living/blocking_mob in air.loc) // Bump all mobs outta the way for outside airlocks of shuttles + to_chat(blocking_mob, SPAN_HIGHDANGER("You get thrown back as the dropship doors slam shut!")) + blocking_mob.KnockDown(4) + for(var/turf/target_turf in orange(1, air)) // Forcemove to a non shuttle turf + if(!istype(target_turf, /turf/open/shuttle) && !istype(target_turf, /turf/closed/shuttle)) + blocking_mob.forceMove(target_turf) + break lockdown_door(air) /obj/docking_port/mobile/emergency_response/proc/lockdown_door(obj/structure/machinery/door/airlock/air) diff --git a/code/modules/shuttles/marine_ferry.dm b/code/modules/shuttles/marine_ferry.dm index 364d74824099..82c5b8e4403d 100644 --- a/code/modules/shuttles/marine_ferry.dm +++ b/code/modules/shuttles/marine_ferry.dm @@ -590,14 +590,13 @@ /datum/shuttle/ferry/marine/force_close_launch(obj/structure/machinery/door/AL) if(!iselevator) - for(var/mob/M in AL.loc) // Bump all mobs outta the way for outside airlocks of shuttles - if(isliving(M)) - to_chat(M, SPAN_HIGHDANGER("You get thrown back as the dropship doors slam shut!")) - M.apply_effect(4, WEAKEN) - for(var/turf/T in orange(1, AL)) // Forcemove to a non shuttle turf - if(!istype(T, /turf/open/shuttle) && !istype(T, /turf/closed/shuttle)) - M.forceMove(T) - break + for(var/mob/living/M in AL.loc) // Bump all mobs outta the way for outside airlocks of shuttles + to_chat(M, SPAN_HIGHDANGER("You get thrown back as the dropship doors slam shut!")) + M.KnockDown(4) + for(var/turf/T in orange(1, AL)) // Forcemove to a non shuttle turf + if(!istype(T, /turf/open/shuttle) && !istype(T, /turf/closed/shuttle)) + M.forceMove(T) + break return ..() // Sleeps /datum/shuttle/ferry/marine/open_doors(list/L) diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index a5911d18b3a2..dc6f3a682b24 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -29,8 +29,6 @@ var/iselevator = 0 //Used to remove some shuttle related procs and texts to make it compatible with elevators var/almayerelevator = 0 //elevators on the almayer without limitations - var/list/last_passangers = list() //list of living creatures that were our last passengers - var/require_link = FALSE var/linked = FALSE var/ambience_muffle = MUFFLE_HIGH @@ -202,9 +200,7 @@ origin.move_contents_to(destination, direction=direction) - last_passangers.Cut() - for(var/mob/M in destination) - last_passangers += M + for(var/mob/living/M in destination) if(M.client) spawn(0) if(M.buckled && !iselevator) @@ -215,17 +211,18 @@ shake_camera(M, iselevator? 2 : 10, 1) if(istype(M, /mob/living/carbon) && !iselevator) if(!M.buckled) - M.apply_effect(3, WEAKEN) + M.Stun(3) + M.KnockDown(3) for(var/turf/T in origin) // WOW so hacky - who cares. Abby if(iselevator) if(istype(T,/turf/open/space)) if(is_mainship_level(T.z)) - new /turf/open/floor/almayer/empty(T) + T.ChangeTurf(/turf/open/floor/almayer/empty) else - new /turf/open/gm/empty(T) + T.ChangeTurf(/turf/open/gm/empty) else if(istype(T,/turf/open/space)) - new /turf/open/floor/plating(T) + T.ChangeTurf(/turf/open/floor/plating) return diff --git a/code/modules/surgery/surgery_steps.dm b/code/modules/surgery/surgery_steps.dm index b58c62b57f68..9e1450868d1c 100644 --- a/code/modules/surgery/surgery_steps.dm +++ b/code/modules/surgery/surgery_steps.dm @@ -92,6 +92,7 @@ affected_limb, or location vars. Also, in that case there may be a wait between var/self_surgery var/tool_modifier var/surface_modifier + var/failure_penalties = 0 //Skill speed modifier. step_duration *= user.get_skill_duration_multiplier(SKILL_SURGERY) @@ -134,16 +135,22 @@ affected_limb, or location vars. Also, in that case there may be a wait between message += "this tool is[pick("n't ideal", " not the best")]" if(SURGERY_TOOL_MULT_SUBSTITUTE) message += "this tool is[pick("n't suitable", " a bad fit", " difficult to use")]" - if(SURGERY_TOOL_MULT_BAD_SUBSTITUTE, SURGERY_TOOL_MULT_AWFUL) + if(SURGERY_TOOL_MULT_BAD_SUBSTITUTE) message += "this tool is [pick("awful", "barely usable")]" + failure_penalties += 1 + if(SURGERY_TOOL_MULT_AWFUL) + message += "this tool is [pick("awful", "barely usable")]" + failure_penalties += 2 switch(surface_modifier) if(SURGERY_SURFACE_MULT_ADEQUATE) message += "[pick("it isn't easy, working", "it's tricky to perform complex surgeries", "this would be quicker if you weren't working")] [pick("in the field", "under these conditions", "without a proper surgical theatre")]" if(SURGERY_SURFACE_MULT_UNSUITED) message += "[pick("it's difficult to work", "it's slow going, working", "you need to take your time")] in these [pick("primitive", "rough", "crude")] conditions" + failure_penalties += 1 if(SURGERY_SURFACE_MULT_AWFUL) message += "[pick("you need to work slowly and carefully", "you need to be very careful", "this is delicate work, especially")] [pick("in these", "under such")] [pick("terrible", "awful", "utterly unsuitable")] conditions" + failure_penalties += 2 if(length(message)) to_chat(user, SPAN_WARNING("[capitalize(english_list(message, final_comma_text = ","))].")) @@ -151,6 +158,20 @@ affected_limb, or location vars. Also, in that case there may be a wait between var/advance //Whether to continue to the next step afterwards. var/pain_failure_chance = max(0, (target.pain?.feels_pain ? surgery.pain_reduction_required - target.pain.reduction_pain : 0) * 2 - human_modifiers["pain_reduction"]) //Each extra pain unit increases the chance by 2 + // Skill compensation for difficult conditions/tools + if(skillcheck(user, SKILL_SURGERY, SKILL_SURGERY_EXPERT)) + failure_penalties -= 2 // will ultimately be -3 + if(skillcheck(user, SKILL_SURGERY, SKILL_SURGERY_TRAINED)) + failure_penalties -= 1 + + var/surgery_failure_chance = SURGERY_FAILURE_IMPOSSIBLE + if(failure_penalties == 1) + surgery_failure_chance = SURGERY_FAILURE_UNLIKELY + else if(failure_penalties == 2) + surgery_failure_chance = SURGERY_FAILURE_POSSIBLE + else if(failure_penalties > 2) + surgery_failure_chance = SURGERY_FAILURE_LIKELY + play_preop_sound(user, target, target_zone, tool, surgery) if(tool?.flags_item & ANIMATED_SURGICAL_TOOL) //If we have an animated tool sprite, run it while we do any do_afters. @@ -171,6 +192,17 @@ affected_limb, or location vars. Also, in that case there may be a wait between target.emote("pain") play_failure_sound(user, target, target_zone, tool, surgery) + else if(prob(surgery_failure_chance)) + do_after(user, max(rand(step_duration * 0.1, step_duration * 0.5), 0.5), INTERRUPT_ALL|INTERRUPT_DIFF_INTENT, + BUSY_ICON_FRIENDLY, target, INTERRUPT_MOVED, BUSY_ICON_MEDICAL) //Brief do_after so that the interrupt doesn't happen instantly. + user.visible_message(SPAN_DANGER("[user] is struggling to perform surgery."), + SPAN_DANGER("You are struggling to perform the surgery with these tools and conditions!")) + if(failure(user, target, target_zone, tool, tool_type, surgery)) //Failure returns TRUE if the step should complete anyway. + advance = TRUE + target.emote("pain") + play_failure_sound(user, target, target_zone, tool, surgery) + msg_admin_niche("[user] failed a [surgery] step on [target] because of [failure_penalties] failure possibility penalties ([surgery_failure_chance]%)") + else //Help intent. if(do_after(user, step_duration, INTERRUPT_ALL|INTERRUPT_DIFF_INTENT, BUSY_ICON_FRIENDLY,target,INTERRUPT_MOVED,BUSY_ICON_MEDICAL)) success(user, target, target_zone, tool, tool_type, surgery) diff --git a/code/modules/vehicles/hardpoints/hardpoint.dm b/code/modules/vehicles/hardpoints/hardpoint.dm index acdefca18fd2..21e3e4b29f89 100644 --- a/code/modules/vehicles/hardpoints/hardpoint.dm +++ b/code/modules/vehicles/hardpoints/hardpoint.dm @@ -688,7 +688,7 @@ if(muzzle_turf == target_turf) return FALSE - var/angle_diff = SIMPLIFY_DEGREES(dir2angle(dir) - get_angle(muzzle_turf, target_turf)) + var/angle_diff = SIMPLIFY_DEGREES(dir2angle(dir) - Get_Angle(muzzle_turf, target_turf)) if(angle_diff < -180) angle_diff += 360 else if(angle_diff > 180) diff --git a/code/modules/vehicles/interior/interactable/vendors.dm b/code/modules/vehicles/interior/interactable/vendors.dm index 6d98bc85e42e..d78764da4d73 100644 --- a/code/modules/vehicles/interior/interactable/vendors.dm +++ b/code/modules/vehicles/interior/interactable/vendors.dm @@ -422,11 +422,11 @@ list("ARMOR", -1, null, null), list("M10 Pattern Marine Helmet", 0, /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), - list("M3 Pattern Carrier Marine Armor", 0, /obj/item/clothing/suit/storage/marine/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", 0, /obj/item/clothing/suit/storage/marine/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", 0, /obj/item/clothing/suit/storage/marine/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", 0, /obj/item/clothing/suit/storage/marine/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", 0, /obj/item/clothing/suit/storage/marine/skull, VENDOR_ITEM_REGULAR), + list("M3 Pattern Carrier Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padded Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), + list("M3 Pattern Padless Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), + list("M3 Pattern Ridged Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), + list("M3 Pattern Skull Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), list("M3-EOD Pattern Heavy Armor", 0, /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), list("M3-L Pattern Light Armor", 0, /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), diff --git a/code/modules/vehicles/multitile/multitile_interaction.dm b/code/modules/vehicles/multitile/multitile_interaction.dm index aa2025d151b5..a93872e4e9ac 100644 --- a/code/modules/vehicles/multitile/multitile_interaction.dm +++ b/code/modules/vehicles/multitile/multitile_interaction.dm @@ -248,7 +248,7 @@ return XENO_NO_DELAY_ACTION if(X.mob_size < mob_size_required_to_hit) - to_chat(X, SPAN_XENOWARNING("You're too small to do any significant damage to this vehicle!")) + to_chat(X, SPAN_XENOWARNING("We're too small to do any significant damage to this vehicle!")) return XENO_NO_DELAY_ACTION var/damage = (X.melee_vehicle_damage + rand(-5,5)) * XENO_UNIVERSAL_VEHICLE_DAMAGEMULT @@ -269,11 +269,11 @@ if(!damage) playsound(X.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) X.visible_message(SPAN_DANGER("\The [X] swipes at \the [src] to no effect!"), \ - SPAN_DANGER("You swipe at \the [src] to no effect!")) + SPAN_DANGER("We swipe at \the [src] to no effect!")) return XENO_ATTACK_ACTION X.visible_message(SPAN_DANGER("\The [X] slashes \the [src]!"), \ - SPAN_DANGER("You slash \the [src]!")) + SPAN_DANGER("We slash \the [src]!")) playsound(X.loc, pick('sound/effects/metalhit.ogg', 'sound/weapons/alien_claw_metal1.ogg', 'sound/weapons/alien_claw_metal2.ogg', 'sound/weapons/alien_claw_metal3.ogg'), 25, 1) take_damage_type(damage * damage_mult, "slash", X) @@ -420,9 +420,9 @@ else if(!entrance_used && !isxeno(M)) return - var/enter_msg = "You start climbing into \the [src]..." + var/enter_msg = "We start climbing into \the [src]..." if(health <= 0 && isxeno(M)) - enter_msg = "You start prying away loose plates, squeezing into \the [src]..." + enter_msg = "We start prying away loose plates, squeezing into \the [src]..." // Check if drag anything var/atom/dragged_atom diff --git a/colonialmarines.dme b/colonialmarines.dme index 27acc51dc015..ca8e80ef5067 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -31,6 +31,7 @@ #include "code\__DEFINES\_tick.dm" #include "code\__DEFINES\access.dm" #include "code\__DEFINES\admin.dm" +#include "code\__DEFINES\alerts.dm" #include "code\__DEFINES\ARES.dm" #include "code\__DEFINES\assert.dm" #include "code\__DEFINES\atmospherics.dm" @@ -98,6 +99,7 @@ #include "code\__DEFINES\speech_channels.dm" #include "code\__DEFINES\stamina.dm" #include "code\__DEFINES\stats.dm" +#include "code\__DEFINES\status_effects.dm" #include "code\__DEFINES\STUI.dm" #include "code\__DEFINES\subsystems.dm" #include "code\__DEFINES\supply.dm" @@ -307,10 +309,12 @@ #include "code\controllers\subsystem\init\lobby_art.dm" #include "code\controllers\subsystem\processing\defprocess.dm" #include "code\controllers\subsystem\processing\effects.dm" +#include "code\controllers\subsystem\processing\fasteffects.dm" #include "code\controllers\subsystem\processing\fastobj.dm" #include "code\controllers\subsystem\processing\hive_status.dm" #include "code\controllers\subsystem\processing\obj_tab_items.dm" #include "code\controllers\subsystem\processing\objects.dm" +#include "code\controllers\subsystem\processing\oldeffects.dm" #include "code\controllers\subsystem\processing\processing.dm" #include "code\controllers\subsystem\processing\shield_pillar.dm" #include "code\controllers\subsystem\processing\slowobj.dm" @@ -634,6 +638,12 @@ #include "code\datums\statistics\random_facts\kills_fact.dm" #include "code\datums\statistics\random_facts\random_fact.dm" #include "code\datums\statistics\random_facts\revives_fact.dm" +#include "code\datums\status_effects\_status_effect.dm" +#include "code\datums\status_effects\_status_effect_helpers.dm" +#include "code\datums\status_effects\grouped_effect.dm" +#include "code\datums\status_effects\limited_effect.dm" +#include "code\datums\status_effects\stacking_effect.dm" +#include "code\datums\status_effects\debuffs\debuffs.dm" #include "code\datums\supply_packs\_supply_packs.dm" #include "code\datums\supply_packs\ammo.dm" #include "code\datums\supply_packs\attachments.dm" @@ -713,6 +723,7 @@ #include "code\game\area\techtree.dm" #include "code\game\area\varadero.dm" #include "code\game\area\WhiskeyOutpost.dm" +#include "code\game\camera_manager\camera_manager.dm" #include "code\game\cas_manager\datums\cas_fire_envelope.dm" #include "code\game\cas_manager\datums\cas_fire_mission.dm" #include "code\game\cas_manager\datums\cas_iff_group.dm" diff --git a/html/changelogs/AutoChangeLog-pr-5065.yml b/html/changelogs/AutoChangeLog-pr-5065.yml deleted file mode 100644 index 57607839f13b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5065.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "blackdragonTOW" -delete-after: True -changes: - - balance: "GAU RoF doubled" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5100.yml b/html/changelogs/AutoChangeLog-pr-5100.yml deleted file mode 100644 index 9c309184127a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5100.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - rscadd: "Added a new almayer hull type (heavy reinforced) which is indestructible by normal means until after hijack collision." - - rscadd: "Added a new subtype of shutter that automatically opens or closes depending on security level." - - maptweak: "Maps both of the above around the engineering storeroom. Also adds the walls between the firing ranges and around uniform vendors." - - maptweak: "Manual control button for shutters over engineering storage in the CEs office." - - code_imp: "Changes hijack structural changes (walls/windows/windoors/ladders) to use signals." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5157.yml b/html/changelogs/AutoChangeLog-pr-5157.yml deleted file mode 100644 index 6686ba2e90bd..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5157.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "harryob" -delete-after: True -changes: - - rscadd: "added a historical medal viewer" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5172.yml b/html/changelogs/AutoChangeLog-pr-5172.yml deleted file mode 100644 index 58d8dead5196..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5172.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BadAtThisGame302" -delete-after: True -changes: - - bugfix: "fixed Engie not showing up an Engie Area on tacmap on LV-624" - - bugfix: "Fixed Research not showing up as a Research Area on tacmap on LV-624" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5176.yml b/html/changelogs/AutoChangeLog-pr-5176.yml deleted file mode 100644 index 7256cfe6bc08..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5176.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Birdtalon" -delete-after: True -changes: - - bugfix: "Fixes a missing area on Almayer" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5186.yml b/html/changelogs/AutoChangeLog-pr-5186.yml deleted file mode 100644 index 77123edd3e5d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5186.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - ui: "Shuttle manipulator UI is now slightly wider on initial startup." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5191.yml b/html/changelogs/AutoChangeLog-pr-5191.yml deleted file mode 100644 index 575c7d388452..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5191.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "NessiePendragon" -delete-after: True -changes: - - rscadd: "Adds a new braid hairstyle." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5196.yml b/html/changelogs/AutoChangeLog-pr-5196.yml deleted file mode 100644 index 7fa365945dec..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5196.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "NateDross" -delete-after: True -changes: - - spellcheck: "Edited 'M56 Battery' to 'M56 DV9 Battery' in requisitions munition vendor" \ No newline at end of file diff --git a/html/changelogs/archive/2023-12.yml b/html/changelogs/archive/2023-12.yml index 7c0abbcc29ac..eb93ac1733a5 100644 --- a/html/changelogs/archive/2023-12.yml +++ b/html/changelogs/archive/2023-12.yml @@ -212,3 +212,287 @@ 2023-12-12: InsaneRed: - bugfix: M44 Heavy bullets no longer display a "4" when you get hit by them +2023-12-13: + BadAtThisGame302: + - bugfix: fixed Engie not showing up an Engie Area on tacmap on LV-624 + - bugfix: Fixed Research not showing up as a Research Area on tacmap on LV-624 + Birdtalon: + - bugfix: Fixes a missing area on Almayer + NateDross: + - spellcheck: Edited 'M56 Battery' to 'M56 DV9 Battery' in requisitions munition + vendor + NessiePendragon: + - rscadd: Adds a new braid hairstyle. + blackdragonTOW: + - balance: GAU RoF doubled + harryob: + - rscadd: added a historical medal viewer + realforest2001: + - rscadd: Added a new almayer hull type (heavy reinforced) which is indestructible + by normal means until after hijack collision. + - rscadd: Added a new subtype of shutter that automatically opens or closes depending + on security level. + - maptweak: Maps both of the above around the engineering storeroom. Also adds the + walls between the firing ranges and around uniform vendors. + - maptweak: Manual control button for shutters over engineering storage in the CEs + office. + - code_imp: Changes hijack structural changes (walls/windows/windoors/ladders) to + use signals. + - ui: Shuttle manipulator UI is now slightly wider on initial startup. +2023-12-14: + Contrabang: + - rscadd: The compass headgear will now tell you what direction you're facing when + on a planet. + - code_imp: Added a new ground environmental trait for a ground level in space. + InsaneRed: + - balance: Vanguard dash now restores your shield if you hit ANYONE instead of 2 + people. + - balance: Vanguard buffed root now roots you for 2.5 seconds, unbuffed for 1 second + - qol: Vanguard's pierce has now a hit sound for better feedback + Nanu308: + - balance: Adjusted how much light is given by standard marine armor. + - balance: Light Armor remains the same range & power, Medium armor now gives a + bit more light, Leader B12 armor gives a bit more light & range, M4 (rto) gives + a bit more light, and Heavy armor give the most light and range compared to + before. + - code_imp: Changed inheritance for medium armor as the different sprite versions + were laid directly under the parent type instead of the medium one and so forth. + NateDross: + - bugfix: fixed hardhat action item icon + fira: + - bugfix: Some Xeno throws now immobilize their targets, ensuring they do not walk + out of the toss mid-flight. + realforest2001: + - bugfix: M56D can no longer be used by the dead. +2023-12-15: + BeagleGaming1: + - imageadd: New sprite for Santa hats + Drathek: + - bugfix: Fix dead nested mobs disappearing when weeded + LTNTS: + - maptweak: remapped brig to be more concise, more interconnected, and easier to + navigate. And added more cells for when needed. + - qol: adds RiotTech (SecTech but for Riot Control with Rubber Bullets - obvs Code + Blue+ only) + - qol: CMP's locker requires Armory access to open now + - qol: suspects are now colored nardo gray in security list + NateDross: + - bugfix: Fixed hard hat user inventory head icon + SabreML: + - bugfix: Fixed camera sprites changing to their mapping helper after being EMPed. + Triiodine: + - rscadd: randomized barrels for mappers. You can instance the straps on and off! + - imageadd: 'Resprited the following: traffic cone, goldschlager bottle, cream carton, + oj carton, lime juice carton, tomato juice carton, pineapple juice carton, tequila + bottle, kahlua bottle, bottle of nothing, cognac bottle, critter crate (now + lore accurate), secgear crate, cm barrels, phoron crate, riot shield inhands,' + - imageadd: 'Added unique sprites for the following: vodka bottle, gin bottle,' + - imageadd: Fixed stray pixels on fridgeopen, open_plastic + - imagedel: Removed some unused legacy icons. + - bugfix: Hotdogs and burritos now properly appear when worn in a helmet in packaged + and unpackaged states. + - imageadd: The ME3 hand welder and industrial welder now have unique sprites and + inhands. + - imageadd: Differentiates synth graft and surgical line, color coded now to represent + the damage they fix. +2023-12-16: + Birdtalon: + - rscadd: Xenomorph telegraph effects can now be any rgb colour. + GoldenAlpharex: + - bugfix: Chat highlights now escape special RegEx characters from non-RegEx highlights. + - bugfix: Broken RegEx expressions no longer cause the chat to bluescreen, allowing + you to properly fix them. + InsaneRed: + - spellcheck: Xenomorph text is now WE/OUR instead of YOU/YOUR + blackdragonTOW: + - rscadd: Added Radio Keys to the CL's briefcase +2023-12-17: + BadAtThisGame302: + - rscadd: Added a LV-624 Corporate Liaison Survivor. + - rscadd: Added a Flight Control Operator Survivor to Solaris Ridge (for now, might + be added to more maps soon!). + - qol: made survivor.dm easier to use by moving the basic security surv with the + engineer/scientist/doctor which it wierdly enough it wasn't with. + - balance: rebalanced CL a lockable satchel. + - bugfix: fixed the survivor.dm comments falsely saying that some surv types are + not used anywhere when they are. + - spellcheck: fixed the LV-624 announcement text, made it roll off the tongue easier. + - code_imp: changed CL and ICC survs shoes from centcom? To laceup. + Drathek: + - rscadd: Implemented xeno corpse weed merging + - imageadd: Added 48 sprites, 3 stages per caste silhouette, for xeno weeded corpses + - bugfix: Fixes ghosts not displaying their name on hover if weeded and weird behavior + when orbited via ctrl+click + Huffie56: + - balance: For SG,IO,medic,comtech standartize the binoculars section as fallow + (Binoculars=5, Range Finder =10, Laser Designator=15). + - balance: reduce the number of stages from 5 to 3. each stage take 6 min or 360s. + - balance: rework the logic that handle the disease progress + - balance: A-Set stage_prob to zero to prevent random stage increase. + - balance: B-add a stage_level variable that when is at-least 360 make an increase + of the disease stage... + - balance: C-add an infection_rate variable that handle how fast the stage_level + increase passively. + - balance: D-infection_rate is quadruple when the host is dead. + - balance: E-I also added that the goo messages (you feel warm ....) give a boost + to stage_level to add some randomness to the infection progress. + SpartanBobby, LCMS1: + - maptweak: Numerous Fixes for new brig + cuberound: + - balance: DS doorgun can shoot over cades +2023-12-18: + Huffie56: + - bugfix: added landing zone camera on trijent. + - bugfix: fixed landing zone camera on all map in rotation. + sleepynecrons: + - imageadd: marine snow uniforms and armors given a new look +2023-12-19: + Drathek: + - balance: Added the possibility of surgery steps failing based on tool and surface + suitability compensated by surgery skill. + Huffie56: + - bugfix: fix a nightmare insert that had a wall and a door on same tile. + NateDross: + - bugfix: Requisitions elevator lighting fix + NessiePendragon: + - rscadd: Added new sprites for Warrior. + PurpleCIoud: + - imageadd: added chocolate bar new sprite + - imagedel: deleted old chocolate bar sprite + SabreML: + - rscadd: Updated the 'help' message for xeno special structure construction. + - qol: Added a 'remaining' counter when constructing special structures to let players + know how many can still be built. + - qol: Added a 'Ghost' button for dead xenomorphs. + realforest2001: + - rscadd: Added a proc for comparing the registered name of an ID, to the real name + of a mob. Also checks registered_ref if one exists. + - rscadd: Evacuation can no longer be cancelled without passing above check. + - rscadd: People forced into escape-pod stasis bays against their wishes can now + eject themselves. + - bugfix: Xenos can no longer force humans into escape-pod stasis bays. + - bugfix: Escape-pod stasis bays no longer accept corpses. + stalkerino: + - balance: fixes the balance of the game by making hair gradient trait free +2023-12-20: + Birdtalon, Fira: + - bugfix: Fixes hive UI crash upon pylon giving new larva. + Contrabang: + - bugfix: Matches now do burn damage instead of brute, when you accidently burn + your own hand. + InsaneRed: + - spellcheck: Converted more "YOU" to "WE" for xenomorphs. + LTNTS: + - qol: makes suspect nardo gray + fira: + - rscadd: Added Buckled, Handcuffed and Legcuffed screen alerts + - code_imp: Ported /tg/ status effects backend, modified with timers to let effects + end at appropriate time + - code_imp: Stun, Knockdown and Knockout now use the new effects backend + - balance: Due to backend change, all KO/KD/Stuns may behave differently timing + wise. This is of course subject to adjustments. + - balance: Endurance is now set at 8% effect duration reduction per level above + 1. However it now compounds with species bonus. Feel free to adjust. + - balance: Knockdowns are not inherently incapacitating anymore and many sources + of it have been updated to also stun to make up for it. + - bugfix: KO/KD/Stuns do not artificially and randomly ''stack'' due to incorrect + timer offset calculation anymore. + - bugfix: Stuns now correctly apply Stun reduction values instead of Knockdown reductions. + - bugfix: Crawling can now be interrupted by a normal move, if you are fit enough + to do so. + realforest2001: + - maptweak: Various doors around the Almayer will now close their opposites for + better security. +2023-12-21: + Birdtalon: + - bugfix: Lurker can tail jab over ledges and window frames. + Drathek: + - imageadd: Update weeded warrior sprites to be compatible with knight strain sprite +2023-12-22: + Ben10083: + - rscdel: ' Working Joes can no longer drink' + Cthulhu80: + - ui: tacmap ui tweaks + Doubleumc: + - bugfix: Fixed security tuner not dispalying direction to room's APC + - refactor: Refactored code handling angles + InsaneRed: + - code_imp: Converts xenomorph cooldowns into SECONDS + SabreML: + - bugfix: Fixed being able to remove multiple stacks of fire by spamming resist. + Steelpoint: + - rscadd: Factions are now properly separated in the observe menu as a ghost. + cuberound: + - bugfix: bad DS doorgun placement + fira: + - bugfix: Fix Xmas helmets getting overriden by map camouflage. + realforest2001: + - bugfix: Hijack should no longer end the round immediately. + - rscadd: Ghosts can now toggle hearing listening devices or not. This is dependant + on hearing radios and will not function to allow hearing devices without also + hearing radios. +2023-12-23: + BadAtThisGame302: + - balance: rebalanced goon skillset to include construction 1 + - spellcheck: fixed Liason area typos to Liaison + - spellcheck: fixed the ICC Liason to ICC Liaison typo + fira: + - bugfix: Fixed X-mas barricade wiring not applying properly. + private-tristan: + - balance: xenos can now acid all window frames. +2023-12-24: + BadAtThisGame302: + - rscadd: Added a windbreaker to the Flight Control Operator surv. + - rscadd: Added W-Y Flight Control access to the Flight Control Operator surv. + - bugfix: fixed the Flight Control Operator path. + Cthulhu80: + - rscadd: human mobs now scream whenever they get lunged at by a warrior. + - soundadd: added a new scream sound and put it into the existing scream list. + Drathek: + - bugfix: Fix crusher charge and tumble abilities going over unwired cades + Huffie56: + - bugfix: removed an extra light in bravo cryo room(to do just saw it) + - maptweak: added more areas (stern_point_defense, Lower Deck Stern Hull, Upper + Deck port Hallway Upper Deck starboard Hallway) + SabreML: + - rscdel: Removed the green overlay from camera consoles. + - rscadd: Allowed Xenomorphs to turn off the dropship's launch alarm by hitting + the nav computer. + - spellcheck: Made the `xenoboldnotice` span class bold rather than italic. + cuberound: + - bugfix: DS doorgun no longer drops the gun when destroyed + ihatethisengine: + - balance: "New healer drone ability \u2014 sacrifice. Healer drone can instantly\ + \ transfer 75% of its current health, but for the great cost of the healer\u2019\ + s own life." +2023-12-25: + InsaneRed: + - balance: Tweaks down the buffed root of vanguard down to 1.8 from 2.5 +2023-12-26: + Ben10083: + - rscadd: If ARES is destroyed, systems such as bioscan also shut down, this will + be expanded in the future + - rscadd: ARES plays an announcement when destroyed + - code_imp: Procs to check for APOLLO processor and if ARES is alive added + - refactor: ARES subsystems modified to utilize new procs + - admin: Prompt to force a Marine Bioscan only shows when ARES is unable to perform + the bioscan. + Drathek: + - bugfix: Fix queen death not fully readmitting any banished xenos + - bugfix: Fixed resisting acid + SabreML: + - code_imp: Made the Tech Tree subsystem initialise faster. + Steelpoint: + - rscadd: The Executive Officer now has a personal weapons vendor. It includes the + ability to acquire a full suite of combat and support gear, giving the XO more + agency in customizing their loadout. + - rscadd: Adds a new set of belts to the Executive Officer's uniform vendor. + mullenpaul: + - ui: tgui dropship weapons console + - refactor: added MFD panel + - refactor: creates datum component to manage camera code + - qol: CAS weapons operator can see camera in UI + - rscadd: CAS can offset in X and Y coordinates + - refactor: CAS can offset in different direction to attack vector + realforest2001: + - bugfix: Yautja bracer lock can now properly unlock thrall bracers. diff --git a/icons/mob/hud/actions.dmi b/icons/mob/hud/actions.dmi index 9021db895eb7..843d38a67b86 100644 Binary files a/icons/mob/hud/actions.dmi and b/icons/mob/hud/actions.dmi differ diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi index 8fc07bc410fb..5e3d1e030661 100644 Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ diff --git a/icons/mob/humans/onmob/head_0.dmi b/icons/mob/humans/onmob/head_0.dmi index 51cad85586e7..f1d6a2c6e665 100644 Binary files a/icons/mob/humans/onmob/head_0.dmi and b/icons/mob/humans/onmob/head_0.dmi differ diff --git a/icons/mob/humans/onmob/helmet_garb.dmi b/icons/mob/humans/onmob/helmet_garb.dmi index d8b49e8f4516..9876dd8629ad 100644 Binary files a/icons/mob/humans/onmob/helmet_garb.dmi and b/icons/mob/humans/onmob/helmet_garb.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_0.dmi b/icons/mob/humans/onmob/items_lefthand_0.dmi index a040ddb7a65e..b3adba7e980e 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_0.dmi and b/icons/mob/humans/onmob/items_lefthand_0.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index b67106a1f831..357a94f60cf7 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_0.dmi b/icons/mob/humans/onmob/items_righthand_0.dmi index a09244c30139..485e270510d8 100644 Binary files a/icons/mob/humans/onmob/items_righthand_0.dmi and b/icons/mob/humans/onmob/items_righthand_0.dmi differ diff --git a/icons/mob/humans/onmob/suit_1.dmi b/icons/mob/humans/onmob/suit_1.dmi index 636bbf8b9df0..a230aa7e4300 100644 Binary files a/icons/mob/humans/onmob/suit_1.dmi and b/icons/mob/humans/onmob/suit_1.dmi differ diff --git a/icons/mob/humans/onmob/uniform_0.dmi b/icons/mob/humans/onmob/uniform_0.dmi index 40305b9413b0..a140c4db6d8b 100644 Binary files a/icons/mob/humans/onmob/uniform_0.dmi and b/icons/mob/humans/onmob/uniform_0.dmi differ diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index af61a47aa885..21cc40876fbc 100644 Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ diff --git a/icons/mob/xenos/effects.dmi b/icons/mob/xenos/effects.dmi index 80cc35fde5ba..132c5f78b0d7 100644 Binary files a/icons/mob/xenos/effects.dmi and b/icons/mob/xenos/effects.dmi differ diff --git a/icons/mob/xenos/warrior.dmi b/icons/mob/xenos/warrior.dmi index 1211da5ac188..e871f7749145 100644 Binary files a/icons/mob/xenos/warrior.dmi and b/icons/mob/xenos/warrior.dmi differ diff --git a/icons/mob/xenos/weeds.dmi b/icons/mob/xenos/weeds.dmi index 0b9403058109..0b79525544bd 100644 Binary files a/icons/mob/xenos/weeds.dmi and b/icons/mob/xenos/weeds.dmi differ diff --git a/icons/mob/xenos/weeds_48x48.dmi b/icons/mob/xenos/weeds_48x48.dmi new file mode 100644 index 000000000000..198340955eba Binary files /dev/null and b/icons/mob/xenos/weeds_48x48.dmi differ diff --git a/icons/mob/xenos/weeds_64x64.dmi b/icons/mob/xenos/weeds_64x64.dmi new file mode 100644 index 000000000000..26a31eb0fc60 Binary files /dev/null and b/icons/mob/xenos/weeds_64x64.dmi differ diff --git a/icons/obj/items/clothing/cm_suits.dmi b/icons/obj/items/clothing/cm_suits.dmi index 162d66a2f085..7db2158ee5bf 100644 Binary files a/icons/obj/items/clothing/cm_suits.dmi and b/icons/obj/items/clothing/cm_suits.dmi differ diff --git a/icons/obj/items/clothing/hats.dmi b/icons/obj/items/clothing/hats.dmi index a6a0e6fb9099..de6673d07b51 100644 Binary files a/icons/obj/items/clothing/hats.dmi and b/icons/obj/items/clothing/hats.dmi differ diff --git a/icons/obj/items/clothing/uniforms.dmi b/icons/obj/items/clothing/uniforms.dmi index f05eb3671f91..8eb3d03d68c7 100644 Binary files a/icons/obj/items/clothing/uniforms.dmi and b/icons/obj/items/clothing/uniforms.dmi differ diff --git a/icons/obj/items/drinks.dmi b/icons/obj/items/drinks.dmi index 2823407a429c..7623a980e435 100644 Binary files a/icons/obj/items/drinks.dmi and b/icons/obj/items/drinks.dmi differ diff --git a/icons/obj/items/food.dmi b/icons/obj/items/food.dmi index 54de858ffc9c..9e746bb62656 100644 Binary files a/icons/obj/items/food.dmi and b/icons/obj/items/food.dmi differ diff --git a/icons/obj/items/items.dmi b/icons/obj/items/items.dmi index 52b53208e226..80daeefc21d5 100644 Binary files a/icons/obj/items/items.dmi and b/icons/obj/items/items.dmi differ diff --git a/icons/obj/items/surgery_tools.dmi b/icons/obj/items/surgery_tools.dmi index 89c9ebf62869..a5df6761d289 100644 Binary files a/icons/obj/items/surgery_tools.dmi and b/icons/obj/items/surgery_tools.dmi differ diff --git a/icons/obj/items/weapons/weapons.dmi b/icons/obj/items/weapons/weapons.dmi index 40e489df90c2..aa99545cb577 100644 Binary files a/icons/obj/items/weapons/weapons.dmi and b/icons/obj/items/weapons/weapons.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 3c18f1a60f4b..5989745e26eb 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/structures/closet.dmi b/icons/obj/structures/closet.dmi index 40d6b1d26deb..e0e50ab9ae09 100644 Binary files a/icons/obj/structures/closet.dmi and b/icons/obj/structures/closet.dmi differ diff --git a/icons/obj/structures/crates.dmi b/icons/obj/structures/crates.dmi index a1a494d90da2..07ccce5f0abb 100644 Binary files a/icons/obj/structures/crates.dmi and b/icons/obj/structures/crates.dmi differ diff --git a/icons/rebase_icons.dmi b/icons/rebase_icons.dmi index 14c19d8b27e6..3d9234f3f9f9 100644 Binary files a/icons/rebase_icons.dmi and b/icons/rebase_icons.dmi differ diff --git a/maps/bigredv2.json b/maps/bigredv2.json index 0a6db01cd498..ac519f37fa84 100644 --- a/maps/bigredv2.json +++ b/maps/bigredv2.json @@ -13,6 +13,7 @@ "/datum/equipment_preset/survivor/security/solaris", "/datum/equipment_preset/survivor/colonial_marshal/solaris", "/datum/equipment_preset/survivor/corporate/solaris", + "/datum/equipment_preset/survivor/flight_control_operator", "/datum/equipment_preset/survivor/clf", "/datum/equipment_preset/survivor/civilian" ], diff --git a/maps/corsat.json b/maps/corsat.json index e8192644054a..87a41e840d61 100644 --- a/maps/corsat.json +++ b/maps/corsat.json @@ -4,7 +4,8 @@ "map_file": "Corsat.dmm", "environment_traits": { "Lockdown": true, - "COLD": true + "COLD": true, + "InSpace": true }, "survivor_types": [ "/datum/equipment_preset/survivor/scientist/corsat", @@ -12,7 +13,7 @@ "/datum/equipment_preset/survivor/goon", "/datum/equipment_preset/survivor/doctor/corsat", "/datum/equipment_preset/survivor/security/corsat", - "/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/corsat", + "/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/corsat", "/datum/equipment_preset/survivor/engineer/corsat", "/datum/equipment_preset/survivor/clf", "/datum/equipment_preset/survivor/civilian" diff --git a/maps/desert_dam.json b/maps/desert_dam.json index b4e535e893d6..6df419583cd3 100644 --- a/maps/desert_dam.json +++ b/maps/desert_dam.json @@ -7,7 +7,7 @@ "/datum/equipment_preset/survivor/doctor/trijent", "/datum/equipment_preset/survivor/roughneck", "/datum/equipment_preset/survivor/chaplain/trijent", - "/datum/equipment_preset/survivor/interstellar_commerce_commission_liason", + "/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison", "/datum/equipment_preset/survivor/colonial_marshal", "/datum/equipment_preset/survivor/engineer/trijent", "/datum/equipment_preset/survivor/engineer/trijent/hydro", diff --git a/maps/fiorina_sciannex.json b/maps/fiorina_sciannex.json index dfc73655414d..89997cc9d668 100644 --- a/maps/fiorina_sciannex.json +++ b/maps/fiorina_sciannex.json @@ -26,6 +26,7 @@ "survivor_message": "You are a survivor of the attack on Fiorina Orbital Penitentiary. You worked or lived on the prison station, and managed to avoid the alien attacks... until now.", "map_item_type": "/obj/item/map/FOP_map_v3", "announce_text": "An automated distress signal has been received from maximum-security prison \"Fiorina Orbital Penitentiary\". A response team from the ###SHIPNAME### will be dispatched shortly to investigate.", + "environment_traits": { "InSpace": true }, "traits": [{ "Ground": true }], "nightmare_path": "maps/Nightmare/maps/FOP_v3_Sciannex/", "xvx_hives": { diff --git a/maps/lv624.json b/maps/lv624.json index bec99892a347..76b00753db24 100644 --- a/maps/lv624.json +++ b/maps/lv624.json @@ -9,7 +9,7 @@ "/datum/equipment_preset/survivor/doctor/lv", "/datum/equipment_preset/survivor/chaplain/lv", "/datum/equipment_preset/survivor/engineer/lv", - "/datum/equipment_preset/survivor/corporate", + "/datum/equipment_preset/survivor/corporate/lv", "/datum/equipment_preset/survivor/trucker/lv", "/datum/equipment_preset/survivor/security/lv", "/datum/equipment_preset/survivor/goon", @@ -17,7 +17,7 @@ "/datum/equipment_preset/survivor/civilian" ], "map_item_type": "/obj/item/map/lazarus_landing_map", - "announce_text": "An automated distress signal has been received from archaeology site Lazarus Landing, on border world LV-624. A response team from the ###SHIPNAME### will be dispatched shortly to investigate.", + "announce_text": "An automated distress signal has been received from the archaeological site of Lazarus Landing, on the border world of LV-624. A response team from the ###SHIPNAME### will be dispatched shortly to investigate.", "monkey_types": [ "farwa", "monkey", diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm index 6a90f35e4de3..48f7f9089399 100644 --- a/maps/map_files/BigRed/BigRed.dmm +++ b/maps/map_files/BigRed/BigRed.dmm @@ -45482,8 +45482,7 @@ aae aaf aai aah -aah -aah +aaF aah aah aah @@ -45501,6 +45500,7 @@ aah aah aah aah +aaF aah aeh aaf @@ -45700,7 +45700,6 @@ aaf aaj aah aah -aaF aah aah aah @@ -45716,7 +45715,8 @@ aah aah aah aah -aaF +aah +aah aah aah aei @@ -46884,7 +46884,7 @@ aSB bgX bhu bie -bie +bje bie bie bie @@ -46902,7 +46902,7 @@ bie bie bie bie -bie +bje bie bsb eWd @@ -47102,7 +47102,7 @@ bgX bhv bie bie -bje +bie bie bie bie @@ -47118,7 +47118,7 @@ bie bie bjo bie -bje +bie bie bie bsc @@ -47436,7 +47436,6 @@ aaf aaj aah aah -aaF aah aah aah @@ -47452,7 +47451,8 @@ aah aah aah aah -aaF +aah +aah aah aah aei @@ -47652,8 +47652,7 @@ aae aaf aak aah -aah -aah +aaF aah aah aah @@ -47671,6 +47670,7 @@ aah aah aah aah +aaF aah aej aaf @@ -48838,7 +48838,6 @@ eWd bhv bie bie -bje bie bie bie @@ -48854,7 +48853,8 @@ bie bie bie bie -bje +bie +bie bie bie bsc @@ -49054,7 +49054,7 @@ aSB bgX bhw bie -bie +bje bie bie bie @@ -49072,7 +49072,7 @@ bie bie bie bie -bie +bje bie bsd eWd diff --git a/maps/map_files/DesertDam/Desert_Dam.dmm b/maps/map_files/DesertDam/Desert_Dam.dmm index 4bf4d0e7a88c..66684b33731c 100644 --- a/maps/map_files/DesertDam/Desert_Dam.dmm +++ b/maps/map_files/DesertDam/Desert_Dam.dmm @@ -64577,6 +64577,10 @@ /obj/structure/desertdam/decals/road_edge, /turf/open/asphalt, /area/desert_dam/exterior/valley/valley_labs) +"tcB" = ( +/obj/structure/machinery/camera/autoname/lz_camera, +/turf/open/floor/plating, +/area/desert_dam/exterior/landing_pad_two) "tdf" = ( /obj/structure/surface/table, /obj/item/folder/yellow, @@ -65007,6 +65011,10 @@ icon_state = "dirt2" }, /area/desert_dam/exterior/valley/valley_crashsite) +"uHT" = ( +/obj/structure/machinery/camera/autoname/lz_camera, +/turf/open/floor/plating, +/area/desert_dam/exterior/landing_pad_one) "uKo" = ( /obj/structure/platform/mineral/sandstone/runed{ dir = 4 @@ -70120,6 +70128,7 @@ dTs cDb cDK cDY +tcB cDY cDY cDY @@ -70128,6 +70137,7 @@ cDY cDY cDY cDY +tcB cDY cDY cDY @@ -70136,9 +70146,7 @@ cDY cDY cDY cDY -cDY -cDY -cDY +tcB cDY cMD cBS @@ -72460,6 +72468,7 @@ cDc cDb cDV cDY +tcB cDY cDY cDY @@ -72468,6 +72477,7 @@ cDY cDY cDY cDY +tcB cDY cDY cDY @@ -72476,9 +72486,7 @@ cDY cDY cDY cDY -cDY -cDY -cDY +tcB cDY cNb cBS @@ -72982,6 +72990,7 @@ aUD aVj acI aWh +uHT aWh aWh aWh @@ -72990,6 +72999,7 @@ aWh aWh aWh aWh +uHT aWh aWh aWh @@ -72998,9 +73008,7 @@ aWh aWh aWh aWh -aWh -aWh -aWh +uHT aWh bAF aVi @@ -75322,6 +75330,7 @@ aUD aVg acJ aWh +uHT aWh aWh aWh @@ -75330,6 +75339,7 @@ aWh aWh aWh aWh +uHT aWh aWh aWh @@ -75338,9 +75348,7 @@ aWh aWh aWh aWh -aWh -aWh -aWh +uHT aWh bFg aVi diff --git a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm index bffe3f990722..b37d42f1a55f 100644 --- a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm +++ b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm @@ -73029,7 +73029,7 @@ nZB nZB iTt wQN -wSm +xnU wSm wSm wSm @@ -73047,7 +73047,7 @@ wSm wSm wSm wSm -wSm +xnU wQN eAM wSm @@ -73242,7 +73242,6 @@ nZB gBe wSm wSm -xnU wSm wSm wSm @@ -73258,7 +73257,8 @@ wSm wSm wSm wSm -xnU +wSm +wSm wSm wSm eSF @@ -74938,7 +74938,6 @@ nZB gBe wSm wSm -xnU wSm wSm wSm @@ -74954,7 +74953,8 @@ wSm wSm wSm wSm -xnU +wSm +wSm wSm wSm eSF @@ -75149,7 +75149,7 @@ nZB nZB bne wQN -wSm +xnU wSm wSm wSm @@ -75167,7 +75167,7 @@ wSm wSm wSm wSm -wSm +xnU wQN xrH wSm @@ -88846,7 +88846,7 @@ qaL nGZ uNs iOa -xeO +cCx xeO xeO xeO @@ -88864,7 +88864,7 @@ xeO xeO xeO xeO -xeO +cCx iOa eLB uYi @@ -89059,7 +89059,6 @@ pYD ehy xeO xeO -cCx xeO xeO xeO @@ -89075,7 +89074,8 @@ xeO xeO xeO xeO -cCx +xeO +xeO xeO xeO oGR @@ -90755,7 +90755,6 @@ pqY ehy doA xeO -cCx xeO xeO xeO @@ -90771,7 +90770,8 @@ xeO xeO xeO xeO -cCx +xeO +xeO xeO xeO kIh @@ -90966,7 +90966,7 @@ qaL nGZ aTe iOa -xeO +cCx xeO xeO xeO @@ -90984,7 +90984,7 @@ xeO xeO xeO xeO -xeO +cCx iOa rrD uYi diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm index 2e1ebb3ea204..d178ca9faddf 100644 --- a/maps/map_files/Kutjevo/Kutjevo.dmm +++ b/maps/map_files/Kutjevo/Kutjevo.dmm @@ -20100,10 +20100,10 @@ wGH cWV exI nbV -nbV umo nbV nbV +nbV lAI lAI lAI @@ -21172,10 +21172,10 @@ sVF xBm wvX hzN -hzN wqk hzN hzN +hzN ppX ppX ppX @@ -21770,10 +21770,10 @@ wGH cWV uhO bbc -nbV umo nbV nbV +nbV lAI lAI lAI @@ -22842,10 +22842,10 @@ oJE xBm saK hzN -hzN wqk hzN hzN +hzN ppX ppX ppX diff --git a/maps/map_files/Kutjevo/sprinkles/35.communications.dmm b/maps/map_files/Kutjevo/sprinkles/35.communications.dmm index bc89cfab0105..d172399ca564 100644 --- a/maps/map_files/Kutjevo/sprinkles/35.communications.dmm +++ b/maps/map_files/Kutjevo/sprinkles/35.communications.dmm @@ -306,7 +306,7 @@ dir = 1; req_one_access = null }, -/turf/closed/wall/kutjevo/colony, +/turf/open/floor/plating/kutjevo, /area/template_noop) "LG" = ( /obj/structure/fence, diff --git a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm index 5a4fa0fbdf91..f4b3d26d3e93 100644 --- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm +++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm @@ -6324,7 +6324,7 @@ }, /area/lv522/outdoors/colony_streets/central_streets) "dbi" = ( -/obj/item/clothing/suit/storage/marine/leader, +/obj/item/clothing/suit/storage/marine/medium/leader, /obj/item/clothing/head/helmet/marine/leader{ pixel_x = 9; pixel_y = 14 @@ -28075,7 +28075,7 @@ /obj/structure/barricade/deployable{ dir = 8 }, -/obj/item/clothing/suit/storage/marine/rto, +/obj/item/clothing/suit/storage/marine/medium/rto, /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/corsat{ @@ -54589,7 +54589,7 @@ }, /area/lv522/indoors/a_block/corpo/glass) "uQi" = ( -/obj/item/clothing/suit/storage/marine/smooth, +/obj/item/clothing/suit/storage/marine/medium/smooth, /turf/open/floor/corsat{ icon_state = "plate" }, @@ -62142,7 +62142,7 @@ /area/lv522/indoors/c_block/casino) "xHz" = ( /obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Corporate Liason Office " + name = "\improper Corporate Liaison Office " }, /turf/open/floor/corsat{ icon_state = "marked" diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm index 9c84577bbbdd..becac81a1897 100644 --- a/maps/map_files/LV624/LV624.dmm +++ b/maps/map_files/LV624/LV624.dmm @@ -12485,7 +12485,7 @@ "bnz" = ( /obj/structure/machinery/door/airlock/almayer/generic{ dir = 1; - name = "\improper Corporate Liason" + name = "\improper Corporate Liaison" }, /turf/open/floor{ icon_state = "white" @@ -20011,7 +20011,7 @@ "pQn" = ( /obj/structure/machinery/door/airlock/almayer/generic{ locked = 1; - name = "\improper Corporate Liason" + name = "\improper Corporate Liaison" }, /turf/open/floor{ icon_state = "white" @@ -31401,7 +31401,7 @@ aZP aOB oOB aRg -aRg +aCi aRg aRg aRg @@ -31419,7 +31419,7 @@ aRg aRg aRg aRg -aRg +aCi aRg odw aRg @@ -31631,7 +31631,6 @@ aTv aRg aRg aRg -aCi aRg aRg aRg @@ -31646,7 +31645,8 @@ aRg aRg aRg aRg -aCi +aRg +aRg aKO aRg aEw @@ -33455,7 +33455,7 @@ aTv aRg aRg aRg -aCi +aRg aRg aRg aRg @@ -33470,7 +33470,7 @@ aRg aRg aRg aRg -aCi +aRg aRg aRg aEw @@ -33681,7 +33681,7 @@ aZP aOB kvE aRg -aRg +aCi aRg aRg aRg @@ -33699,7 +33699,7 @@ aRg aRg aRg aRg -aRg +aCi aRg byK aRg @@ -58084,7 +58084,6 @@ aGz aGz aDJ ank -ank ano ank ank @@ -58093,6 +58092,7 @@ ank ank ank ank +ank ano ank ank @@ -60364,7 +60364,6 @@ btF aDi aDL ank -ank ano ank ank @@ -60373,6 +60372,7 @@ ank ank ank ank +ank ano ank ank diff --git a/maps/map_files/New_Varadero/New_Varadero.dmm b/maps/map_files/New_Varadero/New_Varadero.dmm index 656c4a7f48b1..a56328df85f0 100644 --- a/maps/map_files/New_Varadero/New_Varadero.dmm +++ b/maps/map_files/New_Varadero/New_Varadero.dmm @@ -86,10 +86,6 @@ icon_state = "multi_tiles" }, /area/varadero/interior/medical) -"ade" = ( -/obj/structure/machinery/camera/autoname/lz_camera, -/turf/open/gm/dirt, -/area/varadero/exterior/lz2_near) "adw" = ( /turf/closed/wall/r_wall, /area/varadero/interior/cargo) @@ -12292,14 +12288,6 @@ icon_state = "asteroidfloor" }, /area/varadero/interior/comms1) -"ias" = ( -/obj/structure/machinery/camera/autoname/lz_camera, -/obj/structure/machinery/landinglight/ds1/spoke{ - pixel_y = -5; - pixel_x = 13 - }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/exterior/lz2_near) "iat" = ( /obj/structure/barricade/wooden{ dir = 1 @@ -18127,6 +18115,14 @@ /obj/effect/spawner/random/attachment, /turf/open/floor/carpet, /area/varadero/interior/administration) +"lIW" = ( +/obj/structure/machinery/landinglight/ds1/spoke{ + pixel_y = -5; + pixel_x = 13 + }, +/obj/structure/machinery/camera/autoname/lz_camera, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "lJo" = ( /obj/structure/machinery/light{ dir = 8 @@ -28324,6 +28320,14 @@ }, /turf/open/floor/wood, /area/varadero/interior/beach_bar) +"sbP" = ( +/obj/structure/machinery/landinglight/ds1/spoke{ + pixel_y = -5; + pixel_x = -13 + }, +/obj/structure/machinery/camera/autoname/lz_camera, +/turf/open/auto_turf/sand_white/layer1, +/area/varadero/exterior/lz2_near) "sbX" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -36538,14 +36542,6 @@ icon_state = "blue" }, /area/varadero/interior/technical_storage) -"xpL" = ( -/obj/structure/machinery/camera/autoname/lz_camera, -/obj/structure/machinery/landinglight/ds1/spoke{ - pixel_y = -5; - pixel_x = -13 - }, -/turf/open/auto_turf/sand_white/layer1, -/area/varadero/exterior/lz2_near) "xpP" = ( /turf/closed/wall/r_wall, /area/varadero/interior/comms1) @@ -49964,8 +49960,7 @@ wMw pbp sHV bZU -bZU -bZU +rtm bZU bZU bZU @@ -49983,6 +49978,7 @@ bZU bZU bZU bZU +rtm bZU xsH mrC @@ -50148,7 +50144,7 @@ irk bZU bZU bZU -rtm +bZU bZU bZU bZU @@ -50163,7 +50159,7 @@ bZU bZU bZU qOh -rtm +bZU bZU bZU bwP @@ -51604,7 +51600,7 @@ irk bZU bZU bZU -rtm +bZU bZU bZU bZU @@ -51619,7 +51615,7 @@ qOh bZU bZU bZU -rtm +bZU bZU bZU bwP @@ -51784,8 +51780,7 @@ wMw pbp cYZ bZU -bZU -bZU +rtm bZU bZU bZU @@ -51803,6 +51798,7 @@ bZU bZU bZU bZU +rtm bZU miF mrC @@ -63426,7 +63422,7 @@ wlB lTg lTg lTg -lTg +emP pXT lTg lTg @@ -63435,16 +63431,16 @@ wlB wlB lTg lTg -lTg emP lTg +lTg wlB wlB wlB wlB wlB lTg -pXT +lIW pXT rhu wlB @@ -63610,7 +63606,7 @@ eia lTg lTg lTg -ade +wlB wlB wlB wlB @@ -63625,7 +63621,7 @@ wlB wlB wlB nFX -ias +pXT lTg wlB lTg @@ -65066,7 +65062,7 @@ lTg lTg lTg lTg -ade +wlB wlB wlB wlB @@ -65081,7 +65077,7 @@ nFX wlB wlB wlB -xpL +uHD lTg wlB lTg @@ -65246,7 +65242,7 @@ lTg lTg wlB lTg -lTg +emP uHD lTg lTg @@ -65255,16 +65251,16 @@ wlB wlB lTg lTg -lTg emP lTg +lTg wlB wlB wlB wlB wlB lTg -uHD +sbP uHD lTg lTg diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 68bb2436a93f..26c9816ca0c3 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -51,15 +51,6 @@ "aai" = ( /turf/closed/wall/almayer/outer, /area/almayer/hull/upper_hull) -"aaj" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop) "aak" = ( /obj/effect/step_trigger/teleporter/random{ affect_ghosts = 1; @@ -178,16 +169,6 @@ icon_state = "cargo" }, /area/almayer/hallways/repair_bay) -"aaw" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "aax" = ( /obj/effect/projector{ name = "Almayer_Down2"; @@ -247,16 +228,6 @@ allow_construction = 0 }, /area/almayer/stair_clone) -"aaG" = ( -/obj/effect/projector{ - name = "Almayer_Down1"; - vector_x = 19; - vector_y = -98 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/aft_hallway) "aaH" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down1"; @@ -268,34 +239,6 @@ icon_state = "plate" }, /area/almayer/stair_clone/upper) -"aaI" = ( -/obj/effect/projector{ - name = "Almayer_Down1"; - vector_x = 19; - vector_y = -98 - }, -/turf/open/floor/almayer{ - allow_construction = 0; - icon_state = "plate" - }, -/area/almayer/hallways/aft_hallway) -"aaJ" = ( -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/effect/projector{ - name = "Almayer_Down1"; - vector_x = 19; - vector_y = -98 - }, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/aft_hallway) "aaK" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -336,19 +279,6 @@ icon_state = "red" }, /area/almayer/hallways/aft_hallway) -"aaW" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/sign/safety/maint{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/aft_hallway) "aaY" = ( /obj/structure/lattice, /turf/open/space, @@ -409,16 +339,6 @@ /obj/structure/window/reinforced/toughened, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/cic) -"abl" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "abp" = ( /obj/effect/step_trigger/clone_cleaner, /turf/closed/wall/almayer, @@ -426,21 +346,6 @@ "abs" = ( /turf/closed/wall/almayer/outer, /area/almayer/lifeboat_pumps/north1) -"abt" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) -"abu" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "abw" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, @@ -463,20 +368,6 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"abC" = ( -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/obj/effect/projector{ - name = "Almayer_Down1"; - vector_x = 19; - vector_y = -98 - }, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/aft_hallway) "abE" = ( /turf/closed/wall/almayer, /area/almayer/living/basketball) @@ -518,17 +409,17 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) -"abM" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 +"abQ" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 }, +/obj/structure/machinery/cm_vending/clothing/staff_officer_armory, /turf/open/floor/almayer{ - dir = 8; - icon_state = "red" + icon_state = "redfull" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/command/cic) "abR" = ( /obj/item/tank/phoron, /turf/open/floor/almayer{ @@ -566,19 +457,19 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) -"acf" = ( -/turf/closed/wall/almayer/outer, -/area/almayer/living/starboard_garden) -"acg" = ( -/obj/effect/step_trigger/clone_cleaner, +"acd" = ( +/obj/structure/surface/rack, +/obj/item/storage/box/sprays, /obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 + icon_state = "W" }, /turf/open/floor/almayer{ - icon_state = "red" + icon_state = "orange" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/engineering/lower/workshop/hangar) +"acf" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/living/starboard_garden) "ach" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/door/airlock/almayer/maint, @@ -733,17 +624,6 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) -"act" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "acu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -762,6 +642,15 @@ "acx" = ( /turf/closed/wall/almayer, /area/almayer/lifeboat_pumps/north2) +"acy" = ( +/obj/structure/sign/safety/ladder{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "acz" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ @@ -787,12 +676,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_s) -"acE" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/lifeboat_pumps/north2) "acF" = ( /obj/structure/machinery/light{ dir = 1 @@ -802,28 +685,6 @@ icon_state = "green" }, /area/almayer/hallways/starboard_hallway) -"acG" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"acH" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "acI" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = -12 @@ -891,36 +752,20 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) -"acO" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" +"acS" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/hallways/aft_hallway) -"acP" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/sign/safety/escapepod{ - pixel_x = 8; - pixel_y = 32 +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = -29 }, /turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"acT" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "silver" }, -/area/almayer/lifeboat_pumps/north2) +/area/almayer/command/cichallway) "acU" = ( /obj/structure/closet/basketball, /turf/open/floor/almayer{ @@ -1016,12 +861,6 @@ "adg" = ( /turf/open/floor/almayer, /area/almayer/hallways/repair_bay) -"adi" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "adj" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down1"; @@ -1088,13 +927,6 @@ "adu" = ( /turf/open/floor/almayer, /area/almayer/shipboard/starboard_missiles) -"ady" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "adC" = ( /obj/structure/surface/rack, /obj/item/stock_parts/manipulator/nano{ @@ -1170,15 +1002,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) -"adQ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north2) "adR" = ( /obj/structure/machinery/door/airlock/almayer/generic{ access_modified = 1; @@ -1195,25 +1018,6 @@ icon_state = "test_floor4" }, /area/almayer/living/offices/flight) -"adT" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"adZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer, -/area/almayer/lifeboat_pumps/north2) "aea" = ( /obj/structure/machinery/light{ dir = 1 @@ -1285,18 +1089,6 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) -"aeo" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/closet/secure_closet{ - name = "secure evidence locker"; - req_access_txt = "3" - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/shipboard/brig/evidence_storage) "aep" = ( /turf/closed/wall/almayer, /area/almayer/engineering/airmix) @@ -1322,19 +1114,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/north2) -"aey" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "aez" = ( /obj/structure/bed/chair, /turf/open/floor/almayer{ @@ -1563,17 +1342,6 @@ icon_state = "redfull" }, /area/almayer/shipboard/starboard_missiles) -"afc" = ( -/obj/structure/reagent_dispensers/water_cooler/stacks{ - density = 0; - pixel_y = 17 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 - }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_s) "afd" = ( /obj/structure/largecrate/random/barrel/white, /obj/structure/sign/safety/bulkhead_door{ @@ -1631,17 +1399,6 @@ icon_state = "outerhull_dir" }, /area/space) -"afq" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "afr" = ( /turf/open/floor/almayer{ dir = 9; @@ -1907,11 +1664,6 @@ "agj" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/living/commandbunks) -"agl" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "agn" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -2054,14 +1806,6 @@ }, /turf/open/floor/engine, /area/almayer/engineering/airmix) -"agN" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/disposalpipe/down/almayer{ - dir = 1; - id = "almayerlink" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "agO" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -2280,20 +2024,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/starboard_atmos) -"ahH" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "ahJ" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -2573,6 +2303,14 @@ icon_state = "red" }, /area/almayer/living/starboard_garden) +"aiQ" = ( +/obj/structure/machinery/faxmachine, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "aiR" = ( /obj/structure/stairs{ dir = 8; @@ -2620,6 +2358,16 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) +"aiW" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "aiX" = ( /turf/closed/wall/almayer, /area/almayer/living/pilotbunks) @@ -2663,6 +2411,12 @@ "ajl" = ( /turf/closed/wall/almayer/white, /area/almayer/medical/upper_medical) +"ajm" = ( +/obj/structure/closet/secure_closet/securecom, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/command/cic) "ajp" = ( /obj/structure/surface/table/almayer, /obj/structure/dropship_equipment/fuel/cooling_system{ @@ -2683,18 +2437,6 @@ icon_state = "silver" }, /area/almayer/hallways/repair_bay) -"ajq" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - layer = 2.5; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "ajr" = ( /turf/open/floor/almayer{ dir = 1; @@ -2884,13 +2626,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/stern_hallway) -"ajS" = ( -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "ajT" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -2950,7 +2685,6 @@ /turf/open/floor/plating, /area/almayer/hull/upper_hull/u_a_s) "ake" = ( -/obj/structure/largecrate/random/barrel/white, /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ icon_state = "plate" @@ -2963,12 +2697,14 @@ icon_state = "redcorner" }, /area/almayer/shipboard/weapon_room) -"akr" = ( +"ako" = ( /obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" + dir = 4 }, -/turf/open/floor/wood/ship, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/carpet, /area/almayer/living/commandbunks) "akt" = ( /obj/structure/cable/heavyduty{ @@ -3311,6 +3047,27 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) +"alF" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 1; + name = "\improper Brig Maintenance"; + closeOtherId = "brigmaint_s" + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "perma_lockdown_2"; + name = "\improper Perma Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/perma) "alG" = ( /turf/open/floor/almayer{ dir = 4; @@ -3474,6 +3231,15 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/repair_bay) +"ams" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/atmos_alert{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "amw" = ( /turf/open/floor/almayer{ dir = 9; @@ -3504,6 +3270,15 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) +"amE" = ( +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/structure/surface/rack, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/engineering/upper_engineering) "amF" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -3706,12 +3481,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) -"anl" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) "anm" = ( /obj/structure/stairs{ icon_state = "ramptop" @@ -3732,6 +3501,47 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) +"anp" = ( +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/medical/upper_medical) +"anq" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/structure/surface/rack, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/medical/upper_medical) +"anr" = ( +/obj/structure/sign/safety/intercom{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/medical/upper_medical) "ans" = ( /turf/open/floor/almayer{ dir = 8; @@ -4443,14 +4253,6 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"apA" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/safety/rewire{ - pixel_x = 32 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "apB" = ( /obj/structure/surface/rack, /obj/item/reagent_container/food/snacks/wrapped/booniebars{ @@ -4506,27 +4308,6 @@ icon_state = "orange" }, /area/almayer/hallways/hangar) -"apM" = ( -/obj/structure/machinery/autolathe/armylathe/full, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"apO" = ( -/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"apP" = ( -/obj/structure/machinery/autolathe, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "apR" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -4564,16 +4345,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/containment) -"apT" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/airlock/almayer/engineering/reinforced/OT{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engineering_workshop/hangar) "apU" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4; @@ -4588,12 +4359,6 @@ dir = 8 }, /area/almayer/medical/containment/cell) -"apV" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "apW" = ( /obj/structure/machinery/telecomms/server/presets/common, /turf/open/floor/almayer{ @@ -4647,19 +4412,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"aqd" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/machinery/disposal/delivery{ - density = 0; - desc = "A pneumatic delivery unit. Sends items to the requisitions."; - icon_state = "delivery_engi"; - name = "Requisitions Delivery Unit"; - pixel_y = 28 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "aqe" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -4814,22 +4566,6 @@ icon_state = "test_floor4" }, /area/almayer/living/pilotbunks) -"aqD" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/door_control{ - id = "MTline"; - name = "Next button"; - pixel_x = 5; - pixel_y = 10; - req_one_access_txt = "2;7" - }, -/obj/item/paper_bin/uscm, -/obj/item/tool/pen, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "aqF" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_10" @@ -4913,19 +4649,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) -"aqT" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/hand_labeler{ - pixel_x = 7 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = -6 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "aqU" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/command/airoom) @@ -4937,14 +4660,6 @@ icon_state = "tcomms" }, /area/almayer/command/telecomms) -"aqW" = ( -/obj/structure/filingcabinet, -/obj/item/folder/yellow, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "aqY" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -4953,30 +4668,6 @@ "arb" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/morgue) -"ard" = ( -/obj/structure/filingcabinet, -/obj/item/folder/yellow, -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"are" = ( -/obj/structure/machinery/computer/demo_sim{ - dir = 4; - pixel_x = -17; - pixel_y = 8 - }, -/obj/structure/machinery/computer/working_joe{ - dir = 4; - pixel_x = -17; - pixel_y = -8 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "arf" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -5123,23 +4814,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) -"arC" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"arE" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "arF" = ( /obj/structure/machinery/light{ dir = 1 @@ -5164,16 +4838,6 @@ icon_state = "redfull" }, /area/almayer/engineering/upper_engineering) -"arJ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "arK" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -5232,13 +4896,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/chemistry) -"arZ" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "asc" = ( /turf/open/floor/almayer{ dir = 1; @@ -5263,23 +4920,6 @@ icon_state = "dark_sterile" }, /area/almayer/living/pilotbunks) -"asi" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/obj/structure/transmitter{ - dir = 8; - name = "OT Telephone"; - phone_category = "Almayer"; - phone_id = "Ordnance Tech"; - pixel_x = 14 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "asj" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -5299,12 +4939,6 @@ icon_state = "silver" }, /area/almayer/hallways/aft_hallway) -"ask" = ( -/obj/structure/surface/table/almayer, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "asl" = ( /obj/structure/machinery/light{ dir = 1 @@ -5335,12 +4969,6 @@ /obj/structure/machinery/door/poddoor/almayer/biohazard/white, /turf/open/floor/plating, /area/almayer/medical/upper_medical) -"aso" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orangecorner" - }, -/area/almayer/engineering/engineering_workshop/hangar) "asp" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -5350,23 +4978,25 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) -"ast" = ( -/obj/structure/surface/table/almayer, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"asv" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/structure/machinery/light{ +"asr" = ( +/obj/structure/bed/chair/comfy/alpha{ dir = 8 }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" }, +/area/almayer/living/briefing) +"asu" = ( +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, /turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" + icon_state = "redfull" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/medical/upper_medical) "asw" = ( /obj/structure/machinery/light{ dir = 8 @@ -5376,39 +5006,10 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"asx" = ( -/obj/structure/stairs{ - icon_state = "ramptop" - }, -/obj/effect/projector{ - name = "Almayer_Down4"; - vector_x = 19; - vector_y = -104 - }, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/aft_hallway) -"asy" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "asA" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north2) -"asB" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet/bombcloset, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop/hangar) "asD" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/door_control{ @@ -5422,9 +5023,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"asE" = ( -/turf/closed/wall/almayer/reinforced, -/area/almayer/engineering/engineering_workshop/hangar) "asF" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ access_modified = 1; @@ -5615,23 +5213,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) -"atd" = ( -/obj/structure/surface/rack, -/obj/item/storage/box/sprays, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"ate" = ( -/obj/structure/surface/rack, -/obj/item/reagent_container/glass/bucket/janibucket, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "atf" = ( /obj/structure/surface/table/almayer, /obj/item/tool/pen, @@ -5643,27 +5224,6 @@ /obj/structure/bed/sofa/vert/grey/top, /turf/open/floor/almayer, /area/almayer/command/lifeboat) -"ath" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/obj/structure/machinery/door_control{ - id = "OTStore"; - name = "Shutters"; - pixel_y = -24 - }, -/obj/structure/surface/rack, -/obj/item/reagent_container/glass/bucket/janibucket, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"ati" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "atj" = ( /obj/effect/projector{ name = "Almayer_Down3"; @@ -5764,13 +5324,12 @@ icon_state = "plating" }, /area/almayer/engineering/upper_engineering) -"atw" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +"atx" = ( +/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_shotgun, +/turf/open/floor/almayer{ + icon_state = "redfull" }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/command/cic) "aty" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ @@ -5785,16 +5344,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"atA" = ( -/obj/structure/machinery/door/airlock/almayer/maint/reinforced{ - access_modified = 1; - dir = 1; - name = "\improper Spare Bomb Suit"; - req_one_access = null; - req_one_access_txt = "35" - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "atC" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -5809,27 +5358,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"atE" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - id = "OTStore"; - name = "\improper Secure Storage"; - unacidable = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"atF" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/poddoor/shutters/almayer{ - id = "OTStore"; - name = "\improper Secure Storage"; - unacidable = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engineering_workshop/hangar) "atG" = ( /obj/structure/bed/chair/comfy/beige{ dir = 4 @@ -5852,12 +5380,6 @@ allow_construction = 0 }, /area/almayer/hallways/aft_hallway) -"atJ" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "atK" = ( /turf/open/floor/almayer{ dir = 10; @@ -5946,33 +5468,6 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) -"atY" = ( -/obj/structure/closet/emcloset, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/lifeboat) -"atZ" = ( -/obj/structure/machinery/door_control{ - id = "OTStore"; - name = "Shutters"; - pixel_y = 24 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"aua" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "aub" = ( /obj/structure/machinery/light{ dir = 1 @@ -5998,14 +5493,6 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) -"aud" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "aue" = ( /obj/effect/projector{ name = "Almayer_Up3"; @@ -6028,19 +5515,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"auh" = ( -/obj/structure/machinery/cm_vending/sorted/tech/tool_storage, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - layer = 2.5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop/hangar) "aui" = ( /obj/structure/machinery/telecomms/hub/preset, /turf/open/floor/almayer{ @@ -6124,51 +5598,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"aup" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/closet/secure_closet/freezer/industry, -/obj/item/reagent_container/glass/beaker/silver, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"aur" = ( -/obj/structure/reagent_dispensers/oxygentank{ - anchored = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"aus" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"aut" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "auu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6187,31 +5616,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"auw" = ( -/obj/structure/reagent_dispensers/pacidtank{ - anchored = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"aux" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/pipes/vents/scrubber{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "auy" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -6231,21 +5635,6 @@ icon_state = "orangecorner" }, /area/almayer/engineering/upper_engineering) -"auC" = ( -/obj/structure/reagent_dispensers/fueltank/gas/hydrogen{ - anchored = 1 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "auD" = ( /obj/structure/bed/chair{ dir = 8 @@ -6261,19 +5650,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"auE" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"auF" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "auG" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -6303,12 +5679,6 @@ icon_state = "test_floor4" }, /area/almayer/command/telecomms) -"auI" = ( -/obj/structure/reagent_dispensers/acidtank, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "auK" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_sn_full_cap" @@ -6332,22 +5702,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) -"auM" = ( -/obj/structure/reagent_dispensers/ammoniatank{ - anchored = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"auN" = ( -/obj/structure/reagent_dispensers/fueltank{ - anchored = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "auO" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -6355,12 +5709,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) -"auP" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "auQ" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -6412,14 +5760,6 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/port_point_defense) -"auY" = ( -/obj/structure/reagent_dispensers/watertank{ - anchored = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "auZ" = ( /obj/structure/machinery/light, /obj/effect/decal/cleanable/dirt, @@ -6427,32 +5767,6 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"ava" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"avb" = ( -/obj/structure/reagent_dispensers/fueltank/gas/methane{ - anchored = 1 - }, -/obj/structure/sign/safety/fire_haz{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "avc" = ( /obj/structure/stairs/perspective{ dir = 4; @@ -6470,45 +5784,11 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"ave" = ( -/obj/item/reagent_container/glass/bucket/janibucket, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/obj/item/reagent_container/glass/bucket/janibucket{ - pixel_y = 11 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - layer = 2.5 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"avi" = ( -/obj/structure/reagent_dispensers/fueltank/custom, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "avj" = ( /turf/open/floor/almayer{ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) -"avk" = ( -/obj/structure/machinery/door/airlock/almayer/maint/reinforced{ - access_modified = 1; - dir = 1; - req_one_access = null; - req_one_access_txt = "35" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engineering_workshop/hangar) "avl" = ( /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) @@ -6563,13 +5843,6 @@ }, /turf/open/floor/grass, /area/almayer/living/starboard_garden) -"avz" = ( -/obj/structure/machinery/light, -/obj/structure/machinery/vending/security, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/general_equipment) "avB" = ( /turf/open/floor/almayer{ dir = 8; @@ -6729,12 +6002,6 @@ icon_state = "red" }, /area/almayer/command/cic) -"avT" = ( -/obj/structure/bed/chair/office/dark{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "avU" = ( /obj/effect/landmark/start/crew_chief, /turf/open/floor/plating/plating_catwalk, @@ -6952,9 +6219,6 @@ icon_state = "plate" }, /area/almayer/command/cic) -"awE" = ( -/turf/closed/wall/almayer, -/area/almayer/command/corporateliason) "awF" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/living/numbertwobunks) @@ -7275,6 +6539,16 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) +"axR" = ( +/obj/structure/machinery/shower, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/structure/machinery/door/window/tinted{ + dir = 2 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/upper_engineering/port) "axV" = ( /obj/structure/machinery/telecomms/server/presets/command, /turf/open/floor/almayer{ @@ -7439,7 +6713,8 @@ name = "\improper Combat Information Center Blast Door" }, /obj/structure/machinery/door/airlock/almayer/command/reinforced{ - name = "\improper Combat Information Center" + name = "\improper Combat Information Center"; + closeOtherId = "ciclobby_n" }, /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -7507,22 +6782,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/port_hallway) -"ayG" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = -17 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) -"ayH" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "ayI" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical{ @@ -7736,6 +6995,12 @@ icon_state = "plating" }, /area/almayer/engineering/upper_engineering) +"azp" = ( +/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/engineering/upper_engineering) "azq" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -7962,15 +7227,6 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"aAb" = ( -/obj/structure/pipes/binary/pump/on{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "aAd" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -8027,7 +7283,8 @@ }, /obj/structure/machinery/door/airlock/almayer/command/reinforced{ id_tag = "cic_exterior"; - name = "\improper Combat Information Center" + name = "\improper Combat Information Center"; + closeOtherId = "ciclobby_n" }, /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -8659,11 +7916,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/medical_science) -"aCv" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/window, -/turf/open/floor/plating, -/area/almayer/command/corporateliason) "aCw" = ( /obj/structure/window/framed/almayer/white, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -8705,14 +7957,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/containment) -"aCX" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "aCZ" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -8742,14 +7986,6 @@ icon_state = "orangecorner" }, /area/almayer/command/telecomms) -"aDc" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/command/lifeboat) "aDe" = ( /obj/structure/machinery/light{ dir = 8 @@ -8972,6 +8208,16 @@ icon_state = "silver" }, /area/almayer/command/cic) +"aDM" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/lobby) "aDO" = ( /turf/open/floor/almayer{ dir = 8; @@ -8982,6 +8228,15 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/command/lifeboat) +"aDS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "aDU" = ( /obj/structure/surface/rack, /obj/item/tool/minihoe{ @@ -9058,30 +8313,6 @@ icon_state = "redfull" }, /area/almayer/living/offices/flight) -"aEk" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/secure_data{ - dir = 4; - pixel_y = 17 - }, -/obj/structure/machinery/computer/cameras/almayer_network{ - dir = 4 - }, -/obj/structure/machinery/computer/card{ - dir = 4; - pixel_y = -16 - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/sign/safety/terminal{ - pixel_x = -17; - pixel_y = 7 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) "aEm" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/working_joe{ @@ -9091,6 +8322,15 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"aEo" = ( +/obj/structure/closet/emcloset{ + pixel_x = 8 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "aEp" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -9148,17 +8388,6 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"aEJ" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "aEK" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -9252,6 +8481,16 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/containment) +"aFe" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "aFf" = ( /obj/item/reagent_container/glass/beaker/bluespace, /obj/structure/machinery/chem_dispenser/research, @@ -9281,17 +8520,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/telecomms) -"aFj" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_21" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/numbertwobunks) "aFl" = ( /obj/structure/disposalpipe/segment, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -9327,14 +8555,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) -"aFo" = ( -/obj/structure/closet/secure_closet/personal/cabinet{ - req_access = null - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/numbertwobunks) "aFp" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -9474,20 +8694,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north1) -"aFN" = ( -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/obj/structure/machinery/door/airlock/almayer/maint{ - access_modified = 1; - dir = 2; - req_one_access = list(2,34,30) - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hull/upper_hull/u_f_s) "aFV" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 1 @@ -9543,12 +8749,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_four) -"aGi" = ( -/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_mk1_rifle_ap, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/command/cic) "aGj" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 2; @@ -9592,9 +8792,14 @@ "aGr" = ( /turf/open/floor/almayer, /area/almayer/living/bridgebunks) -"aGt" = ( -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) +"aGs" = ( +/obj/structure/machinery/portable_atmospherics/hydroponics, +/obj/item/seeds/goldappleseed, +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "aGv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -9612,6 +8817,17 @@ }, /turf/open/floor/plating, /area/almayer/engineering/port_atmos) +"aGA" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "aGC" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -9660,20 +8876,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north1) -"aGR" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/machinery/status_display{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "aGS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9727,24 +8929,6 @@ "aHe" = ( /turf/closed/wall/almayer, /area/almayer/command/lifeboat) -"aHk" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/sink{ - pixel_y = 16 - }, -/obj/structure/mirror{ - pixel_y = 21 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/numbertwobunks) "aHl" = ( /obj/structure/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine, @@ -9907,12 +9091,6 @@ }, /turf/open/floor/engine, /area/almayer/engineering/airmix) -"aHT" = ( -/obj/structure/bed/chair/wood/normal, -/obj/item/bedsheet/brown, -/obj/item/toy/plush/farwa, -/turf/open/floor/wood/ship, -/area/almayer/shipboard/brig/cells) "aHU" = ( /obj/structure/platform{ dir = 1 @@ -9961,6 +9139,9 @@ icon_state = "orange" }, /area/almayer/hull/upper_hull/u_f_p) +"aId" = ( +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "aIe" = ( /turf/open/floor/almayer{ dir = 5; @@ -10139,6 +9320,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) +"aIV" = ( +/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/engineering/upper_engineering) "aIX" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -10151,15 +9338,6 @@ "aIZ" = ( /turf/open/floor/plating, /area/almayer/hull/upper_hull/u_m_s) -"aJa" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/hallways/aft_hallway) "aJc" = ( /obj/structure/machinery/door/airlock/almayer/command{ name = "\improper Commanding Officer's Mess" @@ -10180,19 +9358,6 @@ icon_state = "test_floor4" }, /area/almayer/living/captain_mess) -"aJd" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "aJf" = ( /obj/structure/machinery/floodlight, /obj/structure/machinery/floodlight, @@ -10308,19 +9473,6 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"aJz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "aJG" = ( /obj/structure/bed/chair/office/dark{ dir = 8; @@ -10401,6 +9553,11 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"aKk" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "aKn" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -10507,27 +9664,6 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"aKB" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"aKC" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "aKE" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -10581,22 +9717,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) -"aKJ" = ( -/obj/structure/stairs{ - icon_state = "ramptop" - }, -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/effect/projector{ - name = "Almayer_Down4"; - vector_x = 19; - vector_y = -104 - }, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/aft_hallway) "aKN" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/clothing/accessory/red, @@ -10660,6 +9780,19 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"aLc" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/sign/safety/stairs{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "aLd" = ( /turf/closed/wall/almayer, /area/almayer/hull/lower_hull) @@ -10692,25 +9825,6 @@ icon_state = "dark_sterile" }, /area/almayer/living/numbertwobunks) -"aLt" = ( -/obj/structure/surface/rack, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/numbertwobunks) -"aLA" = ( -/obj/item/trash/uscm_mre, -/obj/structure/bed/chair/comfy/charlie{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "aLB" = ( /turf/closed/wall/almayer, /area/almayer/hallways/starboard_hallway) @@ -10748,12 +9862,6 @@ }, /turf/open/floor/almayer, /area/almayer/command/cic) -"aLQ" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_21" - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "aLS" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -10772,17 +9880,6 @@ "aLW" = ( /turf/open/floor/almayer, /area/almayer/shipboard/starboard_point_defense) -"aLX" = ( -/obj/effect/projector{ - name = "Almayer_Down4"; - vector_x = 19; - vector_y = -104 - }, -/turf/open/floor/almayer{ - allow_construction = 0; - icon_state = "plate" - }, -/area/almayer/hallways/aft_hallway) "aLZ" = ( /obj/structure/surface/table/almayer, /obj/item/tool/pen, @@ -11052,14 +10149,6 @@ icon_state = "red" }, /area/almayer/squads/alpha) -"aNe" = ( -/obj/structure/closet/firecloset, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/lifeboat) "aNi" = ( /turf/closed/wall/almayer, /area/almayer/living/chapel) @@ -11077,6 +10166,19 @@ icon_state = "plating" }, /area/almayer/hull/lower_hull/l_f_s) +"aNk" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/obj/structure/largecrate/random/barrel/green, +/obj/structure/sign/safety/maint{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_f_s) "aNl" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -11418,16 +10520,6 @@ icon_state = "kitchen" }, /area/almayer/engineering/upper_engineering) -"aOY" = ( -/obj/structure/bed/chair, -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "aPa" = ( /obj/structure/machinery/light{ dir = 8 @@ -11577,6 +10669,24 @@ /obj/structure/sign/nosmoking_1, /turf/closed/wall/almayer, /area/almayer/squads/alpha) +"aPS" = ( +/obj/structure/machinery/power/port_gen/pacman, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) +"aPT" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) +"aPU" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "aPX" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, @@ -11599,9 +10709,7 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 }, -/turf/open/floor/almayer{ - icon_state = "silver" - }, +/turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) "aQg" = ( /obj/structure/bed/chair/office/dark{ @@ -11900,11 +11008,6 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) -"aRD" = ( -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/corporateliason) "aRE" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -12033,28 +11136,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"aSh" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/paper_bin/uscm{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = -11; - pixel_y = 5 - }, -/obj/item/tool/pen{ - pixel_x = -10; - pixel_y = -2 +"aSk" = ( +/obj/structure/machinery/power/smes/buildable, +/obj/structure/machinery/light{ + dir = 4 }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "tcomms" }, -/area/almayer/living/briefing) +/area/almayer/engineering/lower/engine_core) "aSl" = ( /obj/structure/machinery/light, /obj/structure/machinery/cm_vending/sorted/medical, @@ -12098,6 +11188,29 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/hydroponics) +"aSp" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/item/paper_bin/uscm{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = -10; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = -10; + pixel_y = -2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "aSq" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/chem_dispenser/soda, @@ -12235,18 +11348,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/operating_room_two) -"aSP" = ( -/obj/structure/filingcabinet, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"aSS" = ( -/obj/structure/sink{ - pixel_y = 24 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/perma) "aSY" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -12304,6 +11405,11 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/cichallway) +"aTl" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/command/cichallway) "aTm" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/north1) @@ -12477,12 +11583,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) -"aTV" = ( -/obj/structure/toilet{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "aTW" = ( /obj/structure/bed/chair{ dir = 8 @@ -12626,9 +11726,6 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) -"aUx" = ( -/turf/closed/wall/almayer/outer, -/area/almayer/engineering/lower_engineering) "aUC" = ( /obj/structure/machinery/light{ dir = 4 @@ -12667,12 +11764,6 @@ icon_state = "green" }, /area/almayer/living/offices) -"aUP" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) "aUY" = ( /obj/structure/machinery/light{ dir = 4 @@ -12734,9 +11825,6 @@ icon_state = "bluefull" }, /area/almayer/living/captain_mess) -"aVl" = ( -/turf/closed/wall/almayer, -/area/almayer/engineering/lower_engineering) "aVo" = ( /obj/structure/machinery/light{ dir = 1 @@ -12744,12 +11832,6 @@ /obj/structure/machinery/portable_atmospherics/canister/empty, /turf/open/floor/engine, /area/almayer/engineering/airmix) -"aVp" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) "aVr" = ( /obj/structure/closet/secure_closet/freezer/meat, /obj/structure/sign/safety/fridge{ @@ -12878,10 +11960,10 @@ pixel_x = -17 }, /obj/structure/machinery/door_control/brbutton{ - pixel_y = 26; id = "engie_store"; name = "Emergency Storage"; pixel_x = -2; + pixel_y = 26; req_one_access_txt = "6" }, /turf/open/floor/almayer{ @@ -12915,6 +11997,24 @@ icon_state = "orange" }, /area/almayer/hallways/stern_hallway) +"aWg" = ( +/obj/structure/machinery/door_control{ + id = "CMP Office Shutters"; + name = "CMP Office Shutters"; + pixel_y = 32; + req_one_access_txt = "24;31" + }, +/obj/structure/machinery/door_control{ + id = "Brig Lockdown Shutters"; + name = "Brig Lockdown Shutters"; + pixel_y = 24; + req_access_txt = "3" + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "aWk" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -12972,10 +12072,6 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"aWr" = ( -/obj/structure/window/framed/almayer/hull, -/turf/open/floor/plating, -/area/almayer/engineering/lower_engineering) "aWs" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -13019,23 +12115,6 @@ icon_state = "test_floor4" }, /area/almayer/lifeboat_pumps/south1) -"aWA" = ( -/obj/structure/toilet{ - pixel_y = 13 - }, -/obj/item/paper_bin/uscm{ - pixel_x = 9; - pixel_y = -3 - }, -/obj/structure/machinery/light/small{ - dir = 4 - }, -/obj/item/prop/magazine/dirty{ - pixel_x = -6; - pixel_y = -10 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/captain_mess) "aWD" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -13079,14 +12158,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) -"aWS" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_17"; - pixel_x = -5; - pixel_y = 10 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "aWT" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -13175,20 +12246,15 @@ icon_state = "silver" }, /area/almayer/engineering/port_atmos) +"aXD" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "aXE" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/hallways/stern_hallway) -"aXQ" = ( -/obj/structure/sign/safety/nonpress_0g{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) "aXS" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -13247,14 +12313,6 @@ icon_state = "plate" }, /area/almayer/hallways/aft_hallway) -"aYp" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/machinery/door/poddoor/shutters/almayer/cl/office/window, -/turf/open/floor/plating, -/area/almayer/command/corporateliason) "aYq" = ( /turf/open/floor/almayer{ dir = 6; @@ -13328,6 +12386,10 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) +"aYH" = ( +/obj/structure/safe/cl_office, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "aYI" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /obj/structure/disposalpipe/segment{ @@ -13529,13 +12591,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/stern_hallway) -"aZJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "aZK" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -13623,19 +12678,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/hangar) -"baa" = ( -/obj/structure/surface/table/almayer, -/obj/structure/sign/safety/terminal{ - pixel_x = -17 - }, -/obj/structure/machinery/faxmachine/corporate/liaison, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"bac" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/emails, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bad" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -13718,10 +12760,6 @@ icon_state = "silver" }, /area/almayer/hallways/aft_hallway) -"baD" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "baG" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer, @@ -13737,6 +12775,12 @@ "baI" = ( /turf/open/floor/plating, /area/almayer/hallways/hangar) +"baJ" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "baM" = ( /obj/structure/machinery/landinglight/ds2/delaythree{ dir = 8 @@ -13884,16 +12928,6 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_umbilical) -"bbp" = ( -/obj/effect/projector{ - name = "Almayer_Down4"; - vector_x = 19; - vector_y = -104 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/aft_hallway) "bbr" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -14165,6 +13199,16 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_one) +"bcM" = ( +/obj/structure/sign/safety/ladder{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "bcP" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -14271,12 +13315,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"bdo" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "bdr" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/alpha) @@ -14554,6 +13592,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"beL" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "beP" = ( /obj/item/stack/catwalk, /obj/structure/disposalpipe/segment{ @@ -14633,16 +13687,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"bfe" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/upper_engineering/port) "bfl" = ( /turf/open/floor/almayer{ dir = 5; @@ -14667,12 +13711,6 @@ icon_state = "redcorner" }, /area/almayer/living/cryo_cells) -"bfs" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orangecorner" - }, -/area/almayer/engineering/lower_engineering) "bft" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -14729,17 +13767,6 @@ icon_state = "red" }, /area/almayer/squads/alpha) -"bfA" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/toolbox/electrical, -/obj/item/storage/toolbox/electrical, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "bfC" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -14794,6 +13821,21 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"bfO" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/machinery/photocopier{ + anchored = 0 + }, +/obj/structure/sign/poster{ + desc = "A large piece of cheap printed paper. This one proudly demands that you REMEMBER IO!"; + icon_state = "poster14"; + name = "propaganda poster"; + pixel_y = 32 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "bfP" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -15106,16 +14148,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) -"bht" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) -"bhw" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) "bhx" = ( /obj/structure/bed/chair/wood/normal{ dir = 1 @@ -15124,9 +14156,6 @@ icon_state = "plate" }, /area/almayer/living/chapel) -"bhB" = ( -/turf/closed/wall/almayer/reinforced, -/area/almayer/engineering/engine_core) "bhC" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -15135,15 +14164,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"bhD" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "bhG" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -15153,6 +14173,16 @@ icon_state = "plate" }, /area/almayer/squads/alpha) +"bhI" = ( +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "bhJ" = ( /obj/structure/machinery/cm_vending/clothing/staff_officer{ density = 0; @@ -15256,6 +14286,22 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_medbay) +"biJ" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/command/lifeboat) "biL" = ( /obj/structure/platform{ dir = 4 @@ -15279,50 +14325,25 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/living/starboard_garden) -"bja" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/secure_data{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) "bjb" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_hallway) -"bjd" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orangecorner" - }, -/area/almayer/engineering/lower_engineering) -"bje" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" +"bjk" = ( +/obj/structure/machinery/door_control{ + id = "perma_lockdown_2"; + name = "Maint Lockdown Shutters"; + pixel_y = -20; + req_one_access_txt = "24;31" }, -/area/almayer/engineering/lower_engineering) -"bjg" = ( -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) -"bjl" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) -"bjn" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/obj/structure/sign/safety/bulkhead_door{ + pixel_y = -34 }, -/area/almayer/engineering/engine_core) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "bjs" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -15336,13 +14357,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"bjy" = ( -/obj/docking_port/stationary/emergency_response/port3, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) "bjA" = ( /turf/open/floor/almayer{ dir = 9; @@ -15419,6 +14433,13 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_umbilical) +"bjQ" = ( +/obj/structure/machinery/shower{ + dir = 8 + }, +/obj/structure/window/reinforced, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "bjR" = ( /obj/structure/cargo_container/arious/right, /turf/open/floor/almayer, @@ -15453,6 +14474,15 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"bko" = ( +/obj/structure/bed/chair/comfy/charlie{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "bks" = ( /obj/structure/machinery/landinglight/ds1/delaytwo{ dir = 8 @@ -15461,18 +14491,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"bkt" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 4 - }, -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bky" = ( /obj/structure/machinery/cryo_cell, /obj/structure/pipes/standard/cap/hidden, @@ -15600,9 +14618,6 @@ icon_state = "green" }, /area/almayer/hallways/starboard_hallway) -"bkZ" = ( -/turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop) "blb" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 15; @@ -15612,12 +14627,6 @@ icon_state = "mono" }, /area/almayer/hallways/stern_hallway) -"bld" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) "blf" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -15629,6 +14638,16 @@ icon_state = "plate" }, /area/almayer/living/offices) +"bli" = ( +/obj/structure/machinery/door/window/brigdoor/southright{ + id = "Cell 6"; + name = "Cell 6" + }, +/obj/structure/sign/safety/six{ + pixel_x = -17 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "blj" = ( /obj/structure/surface/table/almayer, /obj/item/tool/hand_labeler, @@ -15645,18 +14664,6 @@ icon_state = "plate" }, /area/almayer/living/offices) -"blm" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Core Hatch" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) "bln" = ( /obj/structure/sign/safety/cryo{ pixel_x = 3; @@ -15667,12 +14674,6 @@ icon_state = "plate" }, /area/almayer/living/offices) -"blo" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "blp" = ( /obj/structure/surface/table/almayer, /obj/item/clipboard, @@ -15855,6 +14856,15 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_lobby) +"bmp" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/belt/utility/full, +/obj/item/clothing/glasses/welding, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "bmr" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -15942,26 +14952,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/gym) -"bmM" = ( -/obj/structure/machinery/vending/coffee, -/obj/structure/sign/safety/coffee{ - pixel_x = -17; - pixel_y = -8 - }, -/obj/structure/sign/safety/rewire{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bmN" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) "bmO" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -15974,23 +14964,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) -"bmP" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bmR" = ( -/obj/structure/machinery/cm_vending/sorted/tech/tool_storage, -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "bmW" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -16005,23 +14978,6 @@ icon_state = "green" }, /area/almayer/living/offices) -"bnc" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 9" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bne" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "bng" = ( /obj/structure/machinery/vending/cigarette{ density = 0; @@ -16239,6 +15195,16 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) +"boc" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 2 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_p) "bof" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -16259,19 +15225,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_four) -"bop" = ( -/obj/structure/machinery/cm_vending/clothing/military_police{ - density = 0; - pixel_y = 16 - }, -/obj/structure/window/reinforced{ - dir = 4; - health = 80 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/shipboard/brig/general_equipment) "boq" = ( /obj/structure/bed/chair/comfy/alpha, /turf/open/floor/almayer{ @@ -16341,55 +15294,9 @@ /obj/structure/barricade/handrail, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_p) -"boH" = ( -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"boI" = ( -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) "boL" = ( /turf/open/floor/almayer, /area/almayer/living/starboard_garden) -"boN" = ( -/obj/structure/surface/table/almayer, -/obj/item/book/manual/engineering_particle_accelerator, -/obj/item/folder/yellow, -/obj/structure/machinery/keycard_auth{ - pixel_x = -8; - pixel_y = 25 - }, -/obj/structure/sign/safety/high_rad{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 - }, -/obj/structure/sign/safety/terminal{ - pixel_x = 14; - pixel_y = 26 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"boU" = ( -/obj/structure/platform{ - dir = 4; - layer = 2.7 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "boV" = ( /obj/structure/cargo_container/wy/left, /obj/structure/prop/almayer/minigun_crate{ @@ -16454,17 +15361,6 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"bph" = ( -/obj/structure/bed/chair/comfy/orange, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) "bpj" = ( /obj/structure/dropship_equipment/fulton_system, /turf/open/floor/almayer{ @@ -16494,6 +15390,15 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"bpw" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south1) "bpz" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -16501,6 +15406,18 @@ icon_state = "dark_sterile" }, /area/almayer/medical/chemistry) +"bpA" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper, +/obj/item/tool/pen{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/living/briefing) "bpC" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/bravo) @@ -16516,6 +15433,12 @@ icon_state = "test_floor4" }, /area/almayer/squads/bravo) +"bpI" = ( +/obj/structure/closet/secure_closet/fridge/dry/stock, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/grunt_rnr) "bpJ" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -16586,72 +15509,12 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_umbilical) -"bpX" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/plating, -/area/almayer/engineering/engineering_workshop) -"bpY" = ( -/obj/structure/surface/table/almayer, -/obj/item/frame/table, -/obj/item/frame/table, -/obj/item/clipboard, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bpZ" = ( -/obj/structure/surface/table/almayer, -/obj/item/cell/crap, -/obj/item/tool/crowbar, -/obj/structure/machinery/cell_charger, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bqa" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop) -"bqe" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) -"bqf" = ( -/obj/structure/machinery/autolathe, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "bqm" = ( /obj/structure/closet/boxinggloves, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/living/gym) -"bqo" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"bqp" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) -"bqw" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bqF" = ( /obj/structure/dropship_equipment/fuel/fuel_enhancer, /turf/open/floor/almayer{ @@ -16701,6 +15564,14 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lockerroom) +"bqP" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 5" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "bqR" = ( /turf/open/floor/almayer{ dir = 6; @@ -16733,11 +15604,37 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) +"bqY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = -28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "bqZ" = ( /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/living/briefing) +"bra" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "brb" = ( /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, @@ -16799,18 +15696,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha) -"brw" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"brx" = ( -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop) "bry" = ( /obj/structure/sign/poster{ pixel_y = 32 @@ -16833,15 +15718,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/bravo) -"brC" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/atmos_alert{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "brH" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -16853,28 +15729,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"brI" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"brJ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "brO" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -16923,17 +15777,6 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"bsc" = ( -/obj/structure/machinery/computer/skills{ - req_one_access_txt = "200" - }, -/obj/structure/surface/table/woodentable/fancy, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) -"bse" = ( -/obj/structure/machinery/computer/arcade, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bsj" = ( /obj/structure/machinery/line_nexter/med{ dir = 4 @@ -16955,6 +15798,15 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_hallway) +"bsp" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "bst" = ( /turf/closed/wall/almayer/white, /area/almayer/medical/operating_room_one) @@ -17138,14 +15990,6 @@ icon_state = "orangecorner" }, /area/almayer/hallways/starboard_hallway) -"bsZ" = ( -/obj/structure/machinery/power/monitor{ - name = "Main Power Grid Monitoring" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "btc" = ( /obj/structure/bed/chair{ dir = 8; @@ -17186,21 +16030,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"btm" = ( -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"btn" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/closet/toolcloset, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "btp" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -17230,15 +16059,6 @@ icon_state = "plate" }, /area/almayer/living/gym) -"btz" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) "btC" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -17342,18 +16162,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_one) -"buk" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/aft_hallway) "buq" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -17424,14 +16232,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) -"buK" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/lightreplacer, -/obj/item/device/radio, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "buM" = ( /obj/structure/machinery/cm_vending/clothing/smartgun/bravo, /turf/open/floor/almayer{ @@ -17457,15 +16257,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"buQ" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/working_joe{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "buS" = ( /obj/structure/machinery/cm_vending/gear/engi, /turf/open/floor/almayer{ @@ -17481,43 +16272,12 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"buW" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"buX" = ( -/obj/effect/landmark/crap_item, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "bvb" = ( /obj/structure/machinery/light{ dir = 8 }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"bvc" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/structure/sign/poster{ - desc = "Koorlander Golds, lovingly machine rolled for YOUR pleasure."; - icon_state = "poster10"; - name = "Koorlander Gold Poster"; - pixel_x = 29; - pixel_y = 6; - serial_number = 10 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bvd" = ( /obj/structure/machinery/constructable_frame, /turf/open/floor/almayer{ @@ -17537,10 +16297,6 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"bvl" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) "bvr" = ( /obj/structure/bed/chair/office/dark, /obj/effect/decal/warning_stripes{ @@ -17551,12 +16307,6 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"bvx" = ( -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "bvz" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/closet/secure_closet/surgical{ @@ -17573,41 +16323,23 @@ icon_state = "silver" }, /area/almayer/living/cryo_cells) -"bvI" = ( +"bvH" = ( /obj/structure/surface/table/almayer, -/obj/item/tool/extinguisher, -/obj/item/device/lightreplacer, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bvK" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" +/obj/structure/machinery/recharger, +/obj/item/tool/hand_labeler{ + pixel_x = -8; + pixel_y = 3 }, -/area/almayer/engineering/engineering_workshop) -"bvL" = ( /turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" + icon_state = "plate" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/shipboard/brig/general_equipment) "bvO" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"bvQ" = ( -/obj/structure/pipes/unary/outlet_injector, -/obj/structure/largecrate/random/case/double, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bvS" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -17622,19 +16354,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_umbilical) -"bvU" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 2; - name = "\improper Liasion's Bathroom" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/corporateliason) "bvV" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -17644,15 +16363,14 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_umbilical) -"bvY" = ( -/obj/structure/machinery/door_control/cl/quarter/backdoor{ - pixel_x = -25; - pixel_y = 23 - }, -/turf/open/floor/almayer{ - icon_state = "plate" +"bvX" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, -/area/almayer/hull/upper_hull/u_m_p) +/obj/structure/machinery/door/poddoor/shutters/almayer/cl/office/window, +/turf/open/floor/plating, +/area/almayer/command/corporateliaison) "bwc" = ( /obj/structure/barricade/handrail{ dir = 8 @@ -17720,16 +16438,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha) -"bwj" = ( -/obj/structure/pipes/standard/simple/visible, -/obj/structure/sign/safety/nonpress_0g{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bwl" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -17890,37 +16598,22 @@ icon_state = "redfull" }, /area/almayer/living/cryo_cells) -"bxo" = ( -/obj/structure/machinery/cm_vending/sorted/tech/comp_storage, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bxr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) -"bxs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/platform, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "bxx" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) +"bxA" = ( +/obj/structure/machinery/power/apc/almayer/hardened, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south2) "bxB" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -17957,45 +16650,12 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_hallway) -"bxE" = ( -/obj/structure/machinery/door/airlock/almayer/maint, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/lower_engineering) -"bxF" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) -"bxG" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 6 - }, -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"bxH" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"bxI" = ( -/obj/structure/pipes/binary/pump/on{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" +"bxN" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 }, -/area/almayer/engineering/lower_engineering) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/workshop) "bxX" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -18047,50 +16707,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_four) -"byg" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 9 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"byh" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 5 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"byk" = ( -/obj/structure/pipes/valve/digital/open{ - dir = 4 - }, -/obj/structure/sign/safety/fire_haz{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"byl" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 9 - }, -/obj/structure/machinery/meter, -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orangecorner" - }, -/area/almayer/engineering/lower_engineering) "bym" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -18108,19 +16724,6 @@ /obj/effect/landmark/late_join/bravo, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/bravo) -"byp" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) -"byq" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) "byr" = ( /obj/structure/largecrate/random/barrel/green, /turf/open/floor/almayer{ @@ -18163,16 +16766,6 @@ icon_state = "silver" }, /area/almayer/living/cryo_cells) -"byz" = ( -/obj/structure/machinery/vending/cigarette, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"byA" = ( -/obj/structure/machinery/alarm/almayer, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) "byC" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -18180,12 +16773,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) -"byD" = ( -/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "byF" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/disposalpipe/segment{ @@ -18206,62 +16793,6 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_hallway) -"byJ" = ( -/obj/structure/surface/table/almayer, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) -"byK" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 5 - }, -/obj/structure/machinery/light, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) -"byL" = ( -/obj/structure/machinery/meter, -/obj/structure/pipes/standard/simple/visible{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) -"byM" = ( -/obj/structure/pipes/standard/simple/hidden/universal{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"byN" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"byO" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/general_air_control/large_tank_control{ - name = "Lower Deck Waste Tank Control" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"byQ" = ( -/obj/structure/machinery/suit_storage_unit/carbon_unit, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"byR" = ( -/obj/structure/machinery/suit_storage_unit/carbon_unit, -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) "bzg" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -18271,27 +16802,12 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lockerroom) -"bzj" = ( -/obj/structure/machinery/pipedispenser, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) "bzo" = ( /obj/structure/machinery/power/apc/almayer, /turf/open/floor/almayer{ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_four) -"bzs" = ( -/obj/structure/machinery/shower{ - dir = 8 - }, -/obj/structure/machinery/door/window/westright, -/obj/structure/window/reinforced/tinted/frosted, -/obj/item/tool/soap/deluxe, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/corporateliason) "bzy" = ( /turf/closed/wall/almayer, /area/almayer/hallways/vehiclehangar) @@ -18349,15 +16865,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_hallway) -"bzP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) "bzQ" = ( /obj/structure/largecrate/random/case, /turf/open/floor/plating/plating_catwalk, @@ -18376,15 +16883,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/chemistry) -"bzU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) "bzV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -18402,21 +16900,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"bzX" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Core Hatch" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) "bzY" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -18445,18 +16928,6 @@ dir = 1 }, /area/almayer/command/lifeboat) -"bAf" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - dir = 2; - name = "\improper Atmospherics Wing" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/lower_engineering) "bAg" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -18493,10 +16964,6 @@ icon_state = "test_floor4" }, /area/almayer/command/securestorage) -"bAF" = ( -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer, -/area/almayer/hallways/aft_hallway) "bAH" = ( /obj/structure/largecrate/random/case, /turf/open/floor/almayer{ @@ -18521,18 +16988,6 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) -"bAM" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 26 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "bAN" = ( /obj/structure/machinery/light{ dir = 1 @@ -18629,16 +17084,6 @@ icon_state = "greencorner" }, /area/almayer/hallways/starboard_hallway) -"bBc" = ( -/obj/structure/closet/firecloset, -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bBd" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -18673,67 +17118,12 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"bBi" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/under/liaison_suit/formal, -/obj/item/clothing/under/liaison_suit, -/obj/item/clothing/under/liaison_suit/outing, -/obj/item/clothing/under/liaison_suit/suspenders, -/obj/item/clothing/under/blackskirt{ - desc = "A stylish skirt, in a business-black and red colour scheme."; - name = "liaison's skirt" - }, -/obj/item/clothing/under/suit_jacket/charcoal{ - desc = "A professional black suit and blue tie. A combination popular among government agents and corporate Yes-Men alike."; - name = "liaison's black suit" - }, -/obj/item/clothing/under/suit_jacket/navy{ - desc = "A navy suit and red tie, intended for the Almayer's finest. And accountants."; - name = "liaison's navy suit" - }, -/obj/item/clothing/under/suit_jacket/trainee, -/obj/item/clothing/under/liaison_suit/charcoal, -/obj/item/clothing/under/liaison_suit/outing/red, -/obj/item/clothing/under/liaison_suit/blazer, -/obj/item/clothing/suit/storage/snow_suit/liaison, -/obj/item/clothing/gloves/black, -/obj/item/clothing/gloves/marine/dress, -/obj/item/clothing/glasses/sunglasses/big, -/obj/item/clothing/accessory/blue, -/obj/item/clothing/accessory/red, -/obj/structure/machinery/status_display{ - pixel_x = -32 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bBl" = ( /obj/structure/machinery/light{ dir = 4 }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"bBm" = ( -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/engineering/lower_engineering) -"bBp" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) -"bBq" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) "bBu" = ( /obj/structure/surface/rack, /turf/open/floor/almayer{ @@ -18996,24 +17386,6 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull) -"bCI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) -"bCJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) "bCM" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ @@ -19041,13 +17413,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"bCR" = ( -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) "bCS" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -19321,12 +17686,6 @@ }, /turf/open/floor/plating, /area/almayer/squads/req) -"bEj" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bEl" = ( /obj/structure/machinery/computer/supply_drop_console/limited, /turf/closed/wall/almayer, @@ -19338,20 +17697,6 @@ }, /turf/open/floor/plating, /area/almayer/squads/req) -"bEn" = ( -/obj/structure/stairs/perspective{ - dir = 4; - icon_state = "p_stair_sn_full_cap" - }, -/obj/structure/platform{ - dir = 4; - layer = 2.7 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "bEo" = ( /obj/structure/bed/sofa/south/grey/right{ pixel_y = 12 @@ -19607,19 +17952,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lockerroom) -"bEU" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bEV" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bFa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -19632,43 +17964,6 @@ /obj/structure/foamed_metal, /turf/open/floor/plating, /area/almayer/medical/lower_medical_medbay) -"bFc" = ( -/obj/structure/closet/emcloset{ - pixel_x = 8 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bFe" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/obj/item/frame/fire_alarm, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bFf" = ( -/obj/structure/surface/table/almayer, -/obj/item/book/manual/atmospipes, -/obj/item/circuitboard/airalarm, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bFg" = ( -/obj/structure/surface/table/almayer, -/obj/item/frame/fire_alarm, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bFj" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -19753,6 +18048,19 @@ /obj/docking_port/stationary/marine_dropship/almayer_hangar_1, /turf/open/floor/plating, /area/almayer/hallways/hangar) +"bGa" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/sign/safety/maint{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/starboard) "bGb" = ( /turf/closed/wall/almayer, /area/almayer/hallways/port_hallway) @@ -19882,6 +18190,16 @@ icon_state = "green" }, /area/almayer/squads/req) +"bGz" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "green" + }, +/area/almayer/squads/req) "bGF" = ( /obj/structure/machinery/landinglight/ds2{ dir = 1 @@ -20081,57 +18399,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) -"bHu" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - name = "\improper Engineering Hallway" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/lower_engineering) -"bHv" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/power/apc/almayer{ - dir = 4 - }, -/obj/structure/machinery/cell_charger, -/obj/structure/sign/safety/high_rad{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bHy" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/belt/utility/full, -/obj/item/clothing/glasses/welding, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) -"bHz" = ( -/obj/structure/surface/table/almayer, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "bHB" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -20185,28 +18452,6 @@ "bHP" = ( /turf/open/floor/plating/almayer, /area/almayer/shipboard/weapon_room) -"bHS" = ( -/obj/structure/surface/table/almayer, -/obj/item/trash/USCMtray{ - pixel_y = 4 - }, -/obj/item/trash/USCMtray{ - pixel_y = 6 - }, -/obj/item/trash/USCMtray{ - pixel_y = 8 - }, -/obj/item/trash/USCMtray{ - pixel_y = 10 - }, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "bHT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20375,25 +18620,6 @@ }, /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/navigation) -"bIA" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 29 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/auxiliary_officer_office) "bII" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 8; @@ -20515,18 +18741,6 @@ icon_state = "orangecorner" }, /area/almayer/hallways/starboard_hallway) -"bJj" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bJk" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bJl" = ( /obj/structure/machinery/door/airlock/almayer/generic{ access_modified = 1; @@ -20585,12 +18799,6 @@ icon_state = "orangecorner" }, /area/almayer/squads/bravo) -"bJF" = ( -/obj/structure/pipes/vents/scrubber, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) "bJH" = ( /obj/structure/surface/table/almayer, /obj/item/facepaint/black{ @@ -20598,38 +18806,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/bravo) -"bJI" = ( -/obj/structure/pipes/vents/pump/on, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bJK" = ( -/obj/structure/closet/radiation, -/turf/open/floor/almayer{ - icon_state = "test_floor5" - }, -/area/almayer/engineering/engine_core) -"bJM" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) -"bJN" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) "bJO" = ( /obj/structure/machinery/light/small, /obj/structure/sign/safety/nonpress_0g{ @@ -20643,32 +18819,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/port_umbilical) -"bJP" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) -"bJQ" = ( -/obj/structure/surface/table/almayer, -/obj/item/fuelCell, -/obj/item/fuelCell, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) -"bJR" = ( -/obj/structure/surface/table/almayer, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/item/fuelCell, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "bJS" = ( /obj/structure/surface/rack, /obj/item/tool/wrench, @@ -20867,50 +19017,12 @@ /obj/effect/landmark/late_join/charlie, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) -"bKO" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/plating, -/area/almayer/engineering/engineering_workshop) "bKQ" = ( /obj/structure/bed/chair{ dir = 8 }, /turf/open/floor/wood/ship, /area/almayer/shipboard/sea_office) -"bKT" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop) -"bKU" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bKV" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bKW" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) "bKX" = ( /obj/structure/surface/table/almayer, /obj/item/storage/box/masks, @@ -20931,41 +19043,6 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_p) -"bLc" = ( -/obj/structure/machinery/light, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bLd" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engine_core) -"bLe" = ( -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bLf" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) -"bLg" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "bLh" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -21291,15 +19368,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"bMB" = ( -/obj/structure/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) "bMC" = ( /turf/open/floor/almayer{ dir = 9; @@ -21316,15 +19384,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"bMF" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_full" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "bMJ" = ( /obj/structure/machinery/light, /obj/structure/machinery/portable_atmospherics/canister/oxygen, @@ -21340,13 +19399,6 @@ /obj/structure/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine, /area/almayer/engineering/airmix) -"bMM" = ( -/turf/open/floor/almayer, -/area/almayer/engineering/engine_core) -"bMN" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) "bMO" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/prop/almayer/CICmap, @@ -21361,14 +19413,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/navigation) -"bMQ" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 1" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) "bMR" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -21412,38 +19456,6 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) -"bMV" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 7" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bMW" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 13" - }, -/obj/structure/sign/safety/rad_haz{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bMX" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "bMY" = ( /obj/structure/mirror{ pixel_x = 28 @@ -21634,10 +19646,6 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"bND" = ( -/obj/structure/bed/chair, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/perma) "bNE" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 @@ -21726,24 +19734,6 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_hallway) -"bNZ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) -"bOc" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "bOe" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -21760,68 +19750,6 @@ icon_state = "plating" }, /area/almayer/hallways/vehiclehangar) -"bOh" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 16" - }, -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bOi" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) -"bOk" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 2" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bOl" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 8" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bOm" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 14" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bOn" = ( -/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ - name = "\improper Exterior Airlock"; - req_access = null - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hull/lower_hull/l_a_s) -"bOo" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "bOq" = ( /obj/structure/prop/almayer/cannon_cables, /turf/open/floor/almayer{ @@ -21993,20 +19921,6 @@ icon_state = "emeraldcorner" }, /area/almayer/squads/charlie) -"bPd" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 3" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bPe" = ( -/obj/structure/machinery/portable_atmospherics/powered/pump, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "bPg" = ( /obj/vehicle/powerloader, /obj/structure/machinery/light{ @@ -22148,6 +20062,19 @@ icon_state = "plate" }, /area/almayer/shipboard/weapon_room) +"bPH" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "bPJ" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -22186,14 +20113,6 @@ icon_state = "logo_c" }, /area/almayer/living/briefing) -"bPR" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/engineering/engineering_workshop) "bPS" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/almayer{ @@ -22224,77 +20143,31 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"bPZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bQa" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/engineering/engineering_workshop) -"bQe" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"bQi" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orangecorner" - }, -/area/almayer/engineering/engine_core) -"bQk" = ( -/obj/structure/machinery/power/smes/buildable, -/obj/structure/machinery/status_display{ - pixel_y = 30 +"bQc" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1 }, -/obj/structure/sign/safety/high_voltage{ - pixel_x = 32; - pixel_y = -8 +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" }, -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 +/obj/structure/machinery/door/poddoor/almayer/locked{ + id = "Cell 6"; + name = "\improper Courtyard Divider" }, -/turf/open/floor/almayer{ - icon_state = "tcomms" +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, -/area/almayer/engineering/engine_core) -"bQm" = ( -/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "test_floor4" }, -/area/almayer/engineering/engine_core) +/area/almayer/shipboard/brig/cells) "bQt" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ icon_state = "red" }, /area/almayer/shipboard/weapon_room) -"bQu" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "bQz" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -22378,6 +20251,12 @@ }, /turf/closed/wall/almayer, /area/almayer/squads/req) +"bQS" = ( +/obj/structure/machinery/cm_vending/sorted/cargo_ammo/cargo/blend, +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/squads/req) "bQU" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -22432,59 +20311,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"bRi" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bRj" = ( -/obj/structure/ladder{ - height = 1; - id = "engineeringladder" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engineering_workshop) -"bRk" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bRm" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/bed/chair, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/lobby) -"bRo" = ( -/obj/effect/landmark/late_join/working_joe, -/obj/effect/landmark/start/working_joe, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/airoom) -"bRr" = ( -/obj/structure/machinery/fuelcell_recycler, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "bRs" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/sign/safety/bridge{ @@ -22498,20 +20324,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/aft_hallway) -"bRu" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - dir = 2; - name = "\improper Engineering Workshop" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engineering_workshop) "bRx" = ( /obj/structure/machinery/door/poddoor/railing{ id = "vehicle_elevator_railing_aux" @@ -22560,9 +20372,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) -"bRH" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cryo) "bRK" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -22682,34 +20491,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) -"bSk" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/engineering/engineering_workshop) -"bSl" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"bSm" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/engineering/engineering_workshop) "bSn" = ( /obj/structure/machinery/cm_vending/gear/tl{ density = 0; @@ -22721,31 +20502,9 @@ icon_state = "orange" }, /area/almayer/squads/bravo) -"bSt" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "bSv" = ( /turf/closed/wall/almayer, /area/almayer/living/tankerbunks) -"bSx" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orangecorner" - }, -/area/almayer/engineering/engine_core) -"bSy" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) "bSD" = ( /obj/item/reagent_container/glass/bucket{ pixel_x = -4; @@ -22765,12 +20524,15 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) -"bSG" = ( -/obj/structure/machinery/power/smes/buildable, +"bSH" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, /turf/open/floor/almayer{ - icon_state = "tcomms" + dir = 1; + icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower) "bSJ" = ( /turf/closed/wall/almayer, /area/almayer/squads/delta) @@ -22858,24 +20620,6 @@ }, /turf/open/space, /area/space) -"bTi" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"bTl" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 4" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) "bTn" = ( /obj/structure/machinery/cryopod/right{ layer = 3.1; @@ -22889,12 +20633,6 @@ icon_state = "cargo" }, /area/almayer/living/tankerbunks) -"bTp" = ( -/obj/structure/machinery/portable_atmospherics/powered/scrubber, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "bTq" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ name = "\improper Evacuation Airlock PL-3"; @@ -22923,12 +20661,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"bTw" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) "bTx" = ( /turf/open/floor/wood/ship, /area/almayer/shipboard/sea_office) @@ -22938,15 +20670,6 @@ icon_state = "bluecorner" }, /area/almayer/squads/delta) -"bTz" = ( -/obj/structure/machinery/cm_vending/sorted/tech/comp_storage, -/obj/structure/sign/safety/terminal{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop/hangar) "bTA" = ( /turf/open/floor/almayer, /area/almayer/squads/delta) @@ -23145,6 +20868,19 @@ icon_state = "blue" }, /area/almayer/squads/charlie_delta_shared) +"bUo" = ( +/obj/structure/sign/safety/ammunition{ + pixel_x = 15; + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_y = -32 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/squads/req) "bUp" = ( /obj/structure/surface/table/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -23232,31 +20968,6 @@ icon_state = "plate" }, /area/almayer/hallways/port_hallway) -"bUI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop) -"bUJ" = ( -/obj/structure/platform_decoration{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"bUL" = ( -/obj/structure/platform_decoration, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "bUM" = ( /turf/open/floor/almayer{ dir = 8; @@ -23302,43 +21013,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/delta) -"bUW" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 5" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bUX" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 11" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bUY" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 17" - }, -/obj/structure/sign/safety/rad_haz{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bUZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) "bVb" = ( /turf/open/floor/almayer{ icon_state = "blue" @@ -23357,13 +21031,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/medical_science) -"bVg" = ( -/obj/structure/machinery/status_display{ - pixel_x = 32; - pixel_y = 16 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "bVi" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -23397,6 +21064,16 @@ icon_state = "blue" }, /area/almayer/squads/delta) +"bVs" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) +"bVv" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/engine_core) "bVw" = ( /turf/open/floor/almayer{ dir = 4; @@ -23410,35 +21087,6 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"bVB" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 2; - name = "\improper Weyland-Yutani Office" - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/door/poddoor/shutters/almayer/cl/office/door, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/corporateliason) -"bVC" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 8; - id = "cmp_armory"; - name = "\improper Armory Shutters" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Armory" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/armory) "bVE" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ name = "\improper Medical Bay"; @@ -23480,6 +21128,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"bVN" = ( +/obj/structure/pipes/vents/scrubber, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "bVR" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -23490,11 +21144,17 @@ }, /area/almayer/hull/lower_hull/l_f_p) "bVT" = ( -/obj/structure/largecrate/random/barrel/white, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/structure/sign/safety/maint{ + pixel_x = -19; + pixel_y = -6 }, -/area/almayer/hull/upper_hull/u_f_p) +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/safety/bulkhead_door{ + pixel_x = -19; + pixel_y = 6 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_s) "bVU" = ( /turf/closed/wall/almayer/outer, /area/almayer/shipboard/port_point_defense) @@ -23590,40 +21250,6 @@ icon_state = "test_floor4" }, /area/almayer/living/chapel) -"bWs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"bWw" = ( -/obj/structure/pipes/vents/pump{ - dir = 8; - id_tag = "mining_outpost_pump" - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"bWC" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/hallways/aft_hallway) -"bWE" = ( -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "bWJ" = ( /obj/structure/machinery/shower{ dir = 4 @@ -23643,9 +21269,6 @@ icon_state = "plate" }, /area/almayer/squads/req) -"bWM" = ( -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "bWP" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -23658,16 +21281,6 @@ icon_state = "red" }, /area/almayer/hallways/aft_hallway) -"bWS" = ( -/obj/structure/surface/table/almayer, -/obj/item/reagent_container/glass/bucket/mopbucket, -/obj/item/reagent_container/glass/bucket/mopbucket{ - pixel_y = 10 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "bWT" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -23693,29 +21306,6 @@ icon_state = "orange" }, /area/almayer/hallways/port_hallway) -"bWZ" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - dir = 2; - name = "\improper Engineering Workshop" - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engineering_workshop) -"bXc" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/microwave{ - pixel_y = 9 - }, -/obj/item/reagent_container/food/snacks/packaged_burger, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "bXe" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south2) @@ -23727,42 +21317,6 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) -"bXl" = ( -/obj/structure/stairs/perspective{ - dir = 1; - icon_state = "p_stair_sn_full_cap" - }, -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"bXm" = ( -/obj/structure/stairs/perspective{ - dir = 1; - icon_state = "p_stair_full" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"bXn" = ( -/obj/structure/stairs/perspective{ - dir = 8; - icon_state = "p_stair_sn_full_cap" - }, -/obj/structure/platform{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "bXo" = ( /obj/structure/ladder{ height = 1; @@ -23776,41 +21330,12 @@ icon_state = "plate" }, /area/almayer/shipboard/navigation) -"bXr" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 6" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) "bXs" = ( /obj/structure/machinery/light{ dir = 1 }, /turf/open/floor/almayer, /area/almayer/hallways/vehiclehangar) -"bXt" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 12" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bXu" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 18" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bXv" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bXw" = ( /obj/structure/machinery/bioprinter{ stored_metal = 125 @@ -23819,16 +21344,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/operating_room_two) -"bXx" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_18"; - pixel_y = 7 - }, -/obj/structure/machinery/door_control/cl/quarter/officedoor{ - pixel_x = -25 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bXz" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating/plating_catwalk, @@ -23842,86 +21357,6 @@ icon_state = "plate" }, /area/almayer/squads/req) -"bXP" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) -"bXQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bXR" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_sn_full_cap" - }, -/obj/structure/platform{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"bXS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) -"bXU" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bXV" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bXW" = ( -/obj/structure/machinery/door_control/cl/quarter/officedoor{ - pixel_x = 25 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bXX" = ( /obj/structure/machinery/light{ dir = 8 @@ -23945,6 +21380,13 @@ /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/hallways/vehiclehangar) +"bYa" = ( +/obj/structure/machinery/cm_vending/sorted/cargo_guns/cargo/blend, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "green" + }, +/area/almayer/squads/req) "bYc" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -23982,9 +21424,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"bYj" = ( -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "bYn" = ( /turf/closed/wall/almayer/outer, /area/almayer/engineering/upper_engineering/port) @@ -24020,18 +21459,6 @@ /obj/structure/disposalpipe/junction, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"bYy" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/escapepod{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "bYz" = ( /obj/structure/sign/safety/south{ pixel_x = 32; @@ -24056,87 +21483,13 @@ icon_state = "orangecorner" }, /area/almayer/hallways/port_hallway) -"bYI" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bYK" = ( -/obj/structure/sign/safety/ladder{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"bYM" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) -"bYO" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bYP" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"bYQ" = ( +"bYF" = ( /obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"bYS" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engine_core) -"bYU" = ( -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) -"bYV" = ( -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/structure/surface/table/almayer, -/obj/item/fuelCell, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) -"bYW" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" + icon_state = "N"; + pixel_y = 1 }, -/area/almayer/engineering/engine_core) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "bYY" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -24227,50 +21580,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) -"bZA" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - name = "\improper Engineering Hallway" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/lower_engineering) -"bZD" = ( -/obj/structure/surface/table/almayer, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) -"bZE" = ( -/obj/structure/pipes/binary/pump/on{ - dir = 4 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "bZH" = ( /obj/structure/machinery/firealarm{ dir = 8; @@ -24301,14 +21610,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/vehiclehangar) -"bZN" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "Bathroom" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/chief_mp_office) "bZO" = ( /obj/structure/machinery/light{ dir = 8 @@ -24401,6 +21702,9 @@ icon_state = "cargo" }, /area/almayer/squads/req) +"cak" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/evidence_storage) "cal" = ( /turf/open/floor/almayer{ dir = 6; @@ -24413,6 +21717,18 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) +"car" = ( +/obj/structure/machinery/firealarm{ + pixel_y = -28 + }, +/obj/structure/bed/chair/comfy/delta{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "cat" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -24461,42 +21777,6 @@ icon_state = "plate" }, /area/almayer/hallways/port_umbilical) -"cay" = ( -/obj/structure/closet/emcloset{ - pixel_x = 8 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"caz" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/firstaid/toxin{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/book/manual/engineering_guide, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"caA" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/firstaid/fire, -/obj/item/device/lightreplacer, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"caB" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight, -/obj/item/storage/firstaid/rad, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "caC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24530,15 +21810,6 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_p) -"caF" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "caM" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ @@ -24703,51 +21974,12 @@ icon_state = "test_floor4" }, /area/almayer/hallways/port_hallway) -"cbG" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) -"cbH" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) "cbM" = ( /obj/structure/closet/crate, /obj/item/clothing/glasses/welding, /obj/item/circuitboard, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/north1) -"cbN" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"cbO" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/sign/safety/escapepod{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "cbQ" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -24845,31 +22077,34 @@ icon_state = "red" }, /area/almayer/living/cryo_cells) -"ccd" = ( -/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" +"ccc" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 }, -/area/almayer/living/cryo_cells) -"cce" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - dir = 2; - name = "\improper Atmospherics Wing" +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/obj/structure/machinery/door/airlock/almayer/research/reinforced{ + dir = 8; + name = "\improper Containment Airlock"; + closeOtherId = "containment_n" + }, +/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ + dir = 4 }, -/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/lower_engineering) -"ccf" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, +/area/almayer/medical/containment) +"ccd" = ( +/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, /turf/open/floor/almayer{ - icon_state = "redfull" + dir = 5; + icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/living/cryo_cells) "ccg" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -24899,15 +22134,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"ccm" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/closet/secure_closet/fridge/organic, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) "ccq" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -24953,106 +22179,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_hallway) -"ccx" = ( -/obj/structure/surface/table/almayer, -/obj/structure/largecrate/random/case/small{ - pixel_y = 5 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 8; - pixel_y = -2 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccy" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/obj/structure/machinery/suit_storage_unit/carbon_unit, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccz" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccA" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccB" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/obj/structure/machinery/computer/general_air_control/large_tank_control{ - name = "Lower Oxygen Supply Console" - }, -/obj/structure/pipes/standard/simple/hidden/universal{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccC" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/pipes/standard/simple/visible{ - dir = 4 - }, -/obj/structure/machinery/computer/general_air_control/large_tank_control{ - name = "Lower Nitrogen Control Console" - }, -/obj/structure/surface/table/almayer, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccD" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 10 - }, -/obj/structure/machinery/meter, -/obj/structure/sign/safety/terminal{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccE" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/general_air_control/large_tank_control{ - name = "Lower Mixed Air Control" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"ccF" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/bed/chair/comfy/alpha{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "ccG" = ( /obj/structure/largecrate/random/secure, /obj/effect/decal/warning_stripes{ @@ -25087,32 +22213,6 @@ /obj/effect/landmark/late_join, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/cryo_cells) -"ccR" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 6 - }, -/obj/structure/machinery/meter, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"ccS" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"ccT" = ( -/obj/structure/pipes/trinary/mixer{ - dir = 4; - name = "Gas mixer N2/O2" - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "ccU" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -25120,38 +22220,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_hallway) -"ccV" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 10 - }, -/obj/structure/machinery/meter, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"ccW" = ( -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"ccX" = ( -/obj/structure/pipes/binary/pump/high_power/on{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"ccY" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "cdb" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -25184,15 +22252,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie) -"cdk" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "cdm" = ( /obj/effect/landmark/ert_spawns/distress_cryo, /obj/effect/landmark/late_join, @@ -25227,24 +22286,6 @@ }, /turf/open/floor/plating, /area/almayer/living/cryo_cells) -"cdr" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) -"cdu" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "cdw" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, @@ -25270,6 +22311,13 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/hallways/hangar) +"cdB" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "cdE" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/drinks/cans/waterbottle{ @@ -25374,27 +22422,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha) -"ceo" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/obj/structure/closet/cabinet, -/obj/item/clipboard, -/obj/item/storage/lockbox/loyalty, -/obj/item/storage/briefcase, -/obj/item/reagent_container/spray/pepper, -/obj/item/device/eftpos{ - eftpos_name = "Weyland-Yutani EFTPOS scanner" - }, -/obj/item/device/portable_vendor/corporate, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"cer" = ( -/obj/structure/largecrate/random/case/double, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/lower_engineering) "ces" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -25652,30 +22679,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie) -"cgz" = ( -/obj/structure/sign/poster{ - desc = "Eat an EAT bar! ...Aren't they called MEAT bars?"; - icon_state = "poster7"; - name = "EAT - poster"; - pixel_x = 27 - }, -/obj/structure/surface/table/almayer, -/obj/item/paper_bin/uscm{ - pixel_x = 9; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "cgA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25705,12 +22708,6 @@ icon_state = "plate" }, /area/almayer/hallways/port_umbilical) -"cgI" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "cgJ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -25731,15 +22728,30 @@ }, /area/almayer/shipboard/brig/cic_hallway) "cgT" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/junction, /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cic_hallway) +"chb" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "chf" = ( /obj/structure/window/reinforced{ dir = 4; @@ -25794,6 +22806,10 @@ icon_state = "red" }, /area/almayer/hallways/aft_hallway) +"chv" = ( +/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "chC" = ( /obj/structure/platform_decoration, /turf/open/floor/plating/plating_catwalk, @@ -25932,12 +22948,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha) -"cij" = ( -/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/engineering/upper_engineering) "cil" = ( /obj/structure/machinery/light, /obj/structure/sign/safety/waterhazard{ @@ -26032,16 +23042,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north2) -"ciF" = ( -/obj/structure/sign/safety/cryo{ - pixel_x = 8; - pixel_y = -26 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "ciN" = ( /turf/open/floor/almayer{ dir = 6; @@ -26120,6 +23120,17 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north2) +"cjk" = ( +/obj/structure/bed, +/obj/structure/machinery/flasher{ + id = "Cell 6"; + pixel_x = -24 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/cells) "cjl" = ( /obj/structure/disposalpipe/segment, /obj/structure/machinery/door/poddoor/almayer{ @@ -26155,6 +23166,11 @@ icon_state = "red" }, /area/almayer/hallways/aft_hallway) +"cjt" = ( +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "cjw" = ( /obj/structure/disposalpipe/segment, /obj/structure/machinery/light{ @@ -26168,6 +23184,17 @@ icon_state = "red" }, /area/almayer/hallways/port_hallway) +"cjz" = ( +/obj/structure/bed/chair/bolted{ + dir = 1 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "cjA" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -26324,15 +23351,6 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_a_s) -"ckE" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north1) "ckI" = ( /obj/structure/disposalpipe/segment, /obj/item/device/radio/intercom{ @@ -26393,6 +23411,10 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/main_office) +"ckW" = ( +/obj/structure/window/framed/almayer/hull, +/turf/open/floor/plating, +/area/almayer/engineering/lower) "ckX" = ( /turf/open/floor/almayer{ dir = 1; @@ -26812,13 +23834,33 @@ icon_state = "plating" }, /area/almayer/shipboard/port_point_defense) -"cmp" = ( -/turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +"cmo" = ( +/obj/structure/surface/table/almayer, +/obj/effect/spawner/random/powercell, +/obj/effect/spawner/random/tool, +/obj/item/packageWrap, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/squads/req) "cmq" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"cmv" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_x = -30 + }, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/processing) "cmC" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ dir = 2; @@ -26871,7 +23913,8 @@ access_modified = 1; name = "\improper Astronavigational Deck"; req_access = null; - req_one_access_txt = "3;19" + req_one_access_txt = "3;19"; + closeOtherId = "astroladder_n" }, /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -26883,7 +23926,8 @@ access_modified = 1; name = "\improper Astronavigational Deck"; req_access = null; - req_one_access_txt = "3;19" + req_one_access_txt = "3;19"; + closeOtherId = "astroladder_s" }, /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -26900,6 +23944,17 @@ /obj/docking_port/stationary/escape_pod/west, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_m_p) +"cna" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "cnd" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ dir = 2; @@ -26910,6 +23965,20 @@ icon_state = "test_floor4" }, /area/almayer/powered) +"cnn" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "cno" = ( /obj/structure/stairs, /obj/effect/projector{ @@ -27140,19 +24209,27 @@ icon_state = "blue" }, /area/almayer/squads/delta) +"com" = ( +/obj/structure/largecrate/supply/weapons/pistols, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_m_s) "cop" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/living/tankerbunks) -"cos" = ( -/obj/structure/machinery/light/small, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 +"cov" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food, +/obj/structure/sign/safety/security{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/restrictedarea{ + pixel_x = 32; + pixel_y = 7 }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/upper_hull/u_f_s) +/area/almayer/shipboard/brig/general_equipment) "coB" = ( /obj/structure/bed/chair{ dir = 4 @@ -27161,12 +24238,29 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) +"coD" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_18"; + pixel_y = 12 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "coG" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"coH" = ( +/obj/structure/platform_decoration{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "coJ" = ( /obj/structure/pipes/standard/simple/hidden/supply/no_boom{ dir = 10 @@ -27274,18 +24368,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"cqn" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 2; - id = "bot_armory"; - name = "\improper Armory Shutters" - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/armory) "cqz" = ( /obj/structure/surface/table/almayer, /obj/item/facepaint/black, @@ -27346,6 +24428,16 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"crp" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/secure_data{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "crD" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ @@ -27353,13 +24445,6 @@ icon_state = "greencorner" }, /area/almayer/squads/req) -"crK" = ( -/obj/structure/pipes/vents/pump, -/obj/structure/surface/table/almayer, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/living/briefing) "crP" = ( /obj/item/tool/kitchen/utensil/pfork, /turf/open/floor/almayer{ @@ -27384,20 +24469,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) -"csG" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - pixel_x = 15 - }, -/obj/item/paper, -/obj/item/reagent_container/food/drinks/cans/waterbottle{ - pixel_x = -10; - pixel_y = 4 - }, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "csI" = ( /turf/open/floor/almayer{ dir = 8; @@ -27429,11 +24500,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/bravo) -"ctn" = ( -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/lobby) "cts" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -27476,26 +24542,22 @@ icon_state = "orange" }, /area/almayer/hallways/stern_hallway) -"cuk" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ +"ctT" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass{ + dir = 1; name = "\improper Cryogenics Bay" }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/cryo) -"cum" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/bed/chair/comfy/charlie{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) +"cuq" = ( +/obj/structure/machinery/computer/arcade, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "cus" = ( /obj/docking_port/stationary/lifeboat_dock/starboard, /turf/open/floor/almayer_hull{ @@ -27517,6 +24579,18 @@ "cuC" = ( /turf/closed/wall/almayer/outer, /area/almayer/engineering/upper_engineering/starboard) +"cuN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/escapepod{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "cuY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27537,12 +24611,18 @@ icon_state = "plate" }, /area/almayer/squads/req) -"cvj" = ( -/obj/structure/machinery/power/apc/almayer/hardened{ +"cvH" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/light{ dir = 1 }, /turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/shipboard/brig/cells) "cvZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -27552,18 +24632,6 @@ icon_state = "silver" }, /area/almayer/command/cic) -"cwd" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/machinery/status_display{ - pixel_x = -32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "cwo" = ( /obj/structure/largecrate/random/mini/chest{ pixel_x = 4 @@ -27619,13 +24687,6 @@ icon_state = "tcomms" }, /area/almayer/command/airoom) -"cxe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) "cxk" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -27641,13 +24702,6 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/main_office) -"cxZ" = ( -/obj/structure/bed/chair/comfy/delta, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "cyo" = ( /obj/structure/machinery/vending/cigarette, /turf/open/floor/almayer{ @@ -27655,6 +24709,14 @@ icon_state = "green" }, /area/almayer/squads/req) +"cyy" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "cyE" = ( /obj/structure/platform_decoration{ dir = 8 @@ -27687,18 +24749,6 @@ "czu" = ( /turf/closed/wall/almayer/outer, /area/almayer/hull/upper_hull/u_m_p) -"czB" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) -"czG" = ( -/obj/structure/machinery/recharge_station, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/airoom) "czJ" = ( /obj/structure/sign/safety/restrictedarea{ pixel_x = 8; @@ -27723,6 +24773,14 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"cAy" = ( +/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "cAF" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -27818,6 +24876,12 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha) +"cBw" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) "cBA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27858,6 +24922,42 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_hallway) +"cBZ" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/door_control{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutters"; + pixel_x = 6; + req_access_txt = "3" + }, +/obj/structure/machinery/door_control{ + id = "Brig Lockdown Shutters"; + name = "Brig Lockdown Shutters"; + pixel_x = -6; + req_access_txt = "3" + }, +/obj/structure/machinery/door_control{ + id = "courtyard window"; + name = "Courtyard Window Shutters"; + pixel_x = -6; + pixel_y = 9; + req_access_txt = "3" + }, +/obj/structure/machinery/door_control{ + id = "Cell Privacy Shutters"; + name = "Cell Privacy Shutters"; + pixel_x = 6; + pixel_y = 9; + req_access_txt = "3" + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "cCa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -27890,12 +24990,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"cDj" = ( -/obj/structure/machinery/portable_atmospherics/canister/air, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "cDn" = ( /obj/structure/surface/table/almayer, /obj/item/ashtray/glass{ @@ -27934,6 +25028,21 @@ icon_state = "test_floor4" }, /area/almayer/living/grunt_rnr) +"cDH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/computer/cameras/wooden_tv/prop{ + pixel_y = 29 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"cDN" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) "cDW" = ( /obj/structure/largecrate/supply/supplies/flares, /turf/open/floor/almayer{ @@ -27978,15 +25087,6 @@ icon_state = "plating" }, /area/almayer/command/cic) -"cEx" = ( -/obj/structure/machinery/vending/cola, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "cEC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28009,16 +25109,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie) -"cEG" = ( -/obj/structure/sign/poster{ - icon_state = "poster14"; - pixel_x = -27 - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "cEO" = ( /obj/structure/largecrate/supply/floodlights, /turf/open/floor/almayer{ @@ -28064,13 +25154,15 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"cFO" = ( -/obj/structure/disposalpipe/segment, +"cFC" = ( +/obj/structure/machinery/light{ + dir = 1 + }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" + dir = 9; + icon_state = "red" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/shipboard/brig/processing) "cFP" = ( /obj/structure/sign/safety/outpatient{ pixel_x = -17; @@ -28080,17 +25172,25 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"cFX" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" +"cGe" = ( +/obj/structure/surface/table/almayer, +/obj/item/fuelCell, +/obj/item/fuelCell, +/turf/open/floor/almayer{ + icon_state = "cargo" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) +/area/almayer/engineering/lower/engine_core) "cGr" = ( /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hallways/aft_hallway) +"cGI" = ( +/obj/structure/largecrate/random/case/double, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "cGV" = ( /turf/open/floor/almayer{ icon_state = "cargo_arrow" @@ -28125,17 +25225,11 @@ "cHu" = ( /turf/closed/wall/almayer/research/containment/wall/south, /area/almayer/medical/containment/cell/cl) -"cHA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, +"cHB" = ( /turf/open/floor/almayer{ - icon_state = "silver" + icon_state = "orangefull" }, -/area/almayer/command/cichallway) +/area/almayer/living/briefing) "cHE" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -28145,14 +25239,21 @@ icon_state = "blue" }, /area/almayer/command/cichallway) -"cHO" = ( -/obj/structure/sign/safety/nonpress_0g{ - pixel_x = 32 +"cHG" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"cHP" = ( +/obj/structure/machinery/light/small, +/obj/effect/decal/warning_stripes{ + icon_state = "N" }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/hull/upper_hull/u_f_s) "cIe" = ( /obj/structure/machinery/light{ dir = 4 @@ -28174,19 +25275,19 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) -"cIl" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "cIr" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/delta) +"cIx" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "cIG" = ( /obj/structure/closet/emcloset, /obj/item/clothing/mask/gas, @@ -28195,31 +25296,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) -"cII" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/airlock{ - pixel_x = -17; - pixel_y = 7 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = -17; - pixel_y = -8 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) -"cIK" = ( -/obj/structure/janitorialcart, -/obj/item/tool/mop, -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) "cIU" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -28237,6 +25313,15 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/starboard) +"cJh" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 8; + id = "Warden Office Shutters"; + name = "\improper Privacy Shutters" + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/cells) "cJu" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -28325,19 +25410,6 @@ icon_state = "orangecorner" }, /area/almayer/engineering/upper_engineering/port) -"cKX" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 4 - }, -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/emails{ - pixel_x = 2; - pixel_y = 5 - }, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "cKY" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -28362,19 +25434,18 @@ icon_state = "cargo_arrow" }, /area/almayer/command/airoom) -"cLp" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 +"cLq" = ( +/obj/structure/machinery/light/small{ + dir = 8 }, /obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 + icon_state = "W" }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 5; + icon_state = "plating" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/shipboard/stern_point_defense) "cLA" = ( /obj/structure/machinery/cryopod/right{ pixel_y = 6 @@ -28405,6 +25476,17 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"cMb" = ( +/obj/structure/surface/table/almayer, +/obj/item/paper_bin/uscm{ + pixel_y = 7 + }, +/obj/item/tool/pen, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "cMl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28414,6 +25496,10 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/processing) +"cMz" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "cMN" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -28476,6 +25562,29 @@ icon_state = "test_floor4" }, /area/almayer/medical/containment/cell/cl) +"cNK" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) +"cNM" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/status_display{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "cNX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28485,13 +25594,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/grunt_rnr) -"cNY" = ( -/obj/structure/machinery/computer/crew, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "cOi" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/almayer{ @@ -28532,6 +25634,18 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"cPK" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/stairs{ + pixel_x = -15 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "cQc" = ( /turf/open/floor/almayer{ dir = 1; @@ -28563,29 +25677,19 @@ "cQv" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/general_equipment) -"cQD" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/structure/mirror{ - pixel_x = -29 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/commandbunks) "cQF" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/almayer{ icon_state = "cargo" }, /area/almayer/hull/lower_hull/l_f_s) +"cQL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/lobby) "cQN" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -28595,6 +25699,16 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"cQW" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "cRb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28618,16 +25732,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) -"cRg" = ( -/obj/item/tool/weldpack{ - pixel_y = 15 - }, -/obj/structure/surface/table/almayer, -/obj/item/clothing/head/welding, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "cRi" = ( /turf/open/floor/almayer{ icon_state = "mono" @@ -28647,6 +25751,19 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"cRL" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/starboard) +"cSa" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north2) "cSk" = ( /obj/structure/machinery/door/window/southleft, /turf/open/floor/almayer{ @@ -28685,20 +25802,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"cSN" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop/hangar) "cSQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28732,16 +25835,6 @@ icon_state = "green" }, /area/almayer/living/offices) -"cUb" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop/hangar) "cUv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -28750,6 +25843,18 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_f_p) +"cVb" = ( +/obj/structure/machinery/sentry_holder/almayer, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north2) +"cVq" = ( +/obj/structure/machinery/power/apc/almayer/hardened{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) "cVs" = ( /obj/structure/platform_decoration{ dir = 8 @@ -28767,12 +25872,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"cVJ" = ( -/obj/structure/largecrate/supply, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_f_s) "cVK" = ( /obj/structure/surface/rack, /obj/structure/sign/safety/rewire{ @@ -28829,17 +25928,13 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, -/area/almayer/shipboard/brig/main_office) -"cWt" = ( /turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" + icon_state = "red" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/shipboard/brig/main_office) "cWv" = ( /turf/open/floor/almayer{ dir = 8; @@ -28859,6 +25954,16 @@ /obj/structure/largecrate/random/barrel/red, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_s) +"cWE" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/almayer/engineering/upper_engineering/port) "cWI" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -28869,25 +25974,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) -"cWN" = ( -/obj/structure/filingcabinet{ - density = 0; - pixel_x = -8; - pixel_y = 18 - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/filingcabinet/security{ - density = 0; - pixel_x = 8; - pixel_y = 18 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/shipboard/brig/chief_mp_office) "cXi" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -28967,6 +26053,14 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"cYN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "cYT" = ( /obj/structure/machinery/light{ dir = 8 @@ -28992,23 +26086,27 @@ }, /turf/open/floor/plating, /area/almayer/command/cichallway) +"cZj" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "cZm" = ( /obj/structure/machinery/light{ dir = 1 }, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) -"cZs" = ( -/turf/closed/wall/almayer/outer, -/area/almayer/shipboard/brig/chief_mp_office) -"cZJ" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - name = "\improper Core Hatch" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) "cZV" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/fancy/cigarettes/wypacket, @@ -29044,12 +26142,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) -"cZZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "dac" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -29064,15 +26156,22 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"daj" = ( -/obj/structure/machinery/iv_drip, -/turf/open/floor/almayer{ - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) "daz" = ( /turf/closed/wall/almayer/white/hull, /area/almayer/command/airoom) +"dbc" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "dbe" = ( /obj/structure/largecrate/random/case/double, /obj/structure/machinery/camera/autoname/almayer{ @@ -29148,13 +26247,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) -"dci" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "dck" = ( /obj/structure/bed/stool, /turf/open/floor/almayer{ @@ -29162,18 +26254,26 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"dco" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/cameras/almayer_network{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "dcp" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south2) -"dcP" = ( -/obj/structure/machinery/body_scanconsole{ - dir = 8 - }, +"dcy" = ( /turf/open/floor/almayer{ - icon_state = "dark_sterile" + dir = 1; + icon_state = "red" }, -/area/almayer/shipboard/brig/surgery) +/area/almayer/shipboard/brig/perma) "dcS" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -29191,50 +26291,37 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"ddj" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +"ddf" = ( +/obj/structure/machinery/portable_atmospherics/canister/air, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "ddk" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer{ icon_state = "redfull" }, /area/almayer/living/briefing) +"ddw" = ( +/obj/structure/machinery/cm_vending/sorted/tech/comp_storage, +/obj/structure/sign/safety/terminal{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop/hangar) "ddz" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/weapon_room) -"ddK" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/obj/effect/decal/cleanable/blood/oil, -/obj/effect/decal/cleanable/blood/oil/streak, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"ddN" = ( -/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/squads/req) -"deb" = ( -/obj/structure/bed, -/obj/structure/machinery/flasher{ - id = "Perma 2"; - pixel_y = -24 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/perma) +"ddM" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/almayer, +/area/almayer/engineering/lower/workshop/hangar) "deg" = ( /obj/structure/platform_decoration{ dir = 1 @@ -29307,15 +26394,9 @@ dir = 4 }, /turf/open/floor/almayer{ - icon_state = "greenfull" + icon_state = "test_floor4" }, /area/almayer/shipboard/brig/cells) -"dfp" = ( -/obj/structure/machinery/keycard_auth{ - pixel_y = 25 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/chief_mp_office) "dfC" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -29330,17 +26411,6 @@ icon_state = "dark_sterile" }, /area/almayer/shipboard/brig/surgery) -"dfP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/l42a, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "dgg" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -29364,7 +26434,23 @@ icon_state = "plate" }, /area/almayer/living/gym) +"dgq" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_f_p) "dgx" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_18"; + pixel_y = 13 + }, +/obj/structure/surface/table/almayer, /turf/open/floor/almayer{ dir = 8; icon_state = "red" @@ -29381,21 +26467,36 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"dhQ" = ( -/obj/structure/sign/safety/terminal{ - pixel_x = -17 +"dha" = ( +/turf/open/floor/almayer{ + icon_state = "plate" }, -/obj/structure/surface/table/almayer, -/obj/item/clipboard{ - pixel_x = -4 +/area/almayer/command/combat_correspondent) +"dhd" = ( +/obj/structure/window/reinforced/ultra{ + pixel_y = -12 }, -/obj/item/device/taperecorder{ - pixel_x = 3; - pixel_y = 3 +/obj/structure/machinery/light{ + dir = 1 }, -/obj/item/device/camera, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/obj/structure/bed/chair/bolted, +/turf/open/floor/almayer{ + icon_state = "plating_striped" + }, +/area/almayer/shipboard/brig/execution) +"dho" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "dhR" = ( /obj/structure/machinery/door/poddoor/shutters/almayer/open{ dir = 4; @@ -29427,16 +26528,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_umbilical) -"diw" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/bed/chair/comfy/delta, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "diz" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor{ id_tag = "Boat1-D4"; @@ -29447,21 +26538,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/port) -"diF" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 4 - }, -/obj/structure/sign/safety/fire_haz{ - pixel_y = -32 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = 14; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "diJ" = ( /obj/structure/window/reinforced{ dir = 8; @@ -29475,76 +26551,18 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha_bravo_shared) -"diM" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) -"djm" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/execution) -"djp" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/plastic{ - amount = 5 - }, -/obj/item/stack/sheet/glass{ - amount = 50; - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/item/stack/sheet/plasteel{ - amount = 30; - pixel_x = 4; - pixel_y = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"djL" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10" - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"djM" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/reagentgrinder/industrial{ - pixel_y = 8 - }, -/turf/open/floor/almayer{ - icon_state = "orange" +"diP" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 }, -/area/almayer/engineering/engineering_workshop/hangar) -"djN" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + name = "\improper Brig Lobby"; + closeOtherId = "brignorth" }, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "test_floor4" }, -/area/almayer/engineering/upper_engineering/port) +/area/almayer/shipboard/brig/lobby) "djQ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -29582,25 +26600,6 @@ icon_state = "redfull" }, /area/almayer/living/offices/flight) -"dkn" = ( -/obj/structure/machinery/cm_vending/clothing/dress{ - density = 0; - pixel_y = 16 - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/machinery/door_control{ - id = "bot_uniforms"; - name = "Uniform Vendor Lockdown"; - pixel_x = -24; - pixel_y = 18; - req_access_txt = "31" - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/cic) "dkq" = ( /obj/structure/machinery/door_control{ id = "hangarentrancenorth"; @@ -29618,15 +26617,6 @@ icon_state = "red" }, /area/almayer/living/briefing) -"dkH" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 - }, -/obj/structure/bed/chair/comfy/delta, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "dkO" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down2"; @@ -29643,17 +26633,13 @@ allow_construction = 0 }, /area/almayer/stair_clone/upper) -"dkS" = ( -/obj/structure/machinery/shower, -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/structure/machinery/door/window/tinted{ - dir = 2 +"dkX" = ( +/obj/structure/bed/chair/comfy/delta, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "bluefull" }, -/obj/item/clothing/mask/cigarette/weed, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/upper_engineering/port) +/area/almayer/living/briefing) "dll" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer{ @@ -29667,23 +26653,6 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"dls" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_x = -30 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/shipboard/brig/surgery) -"dlN" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/lifeboat_pumps/north1) "dmg" = ( /obj/structure/machinery/vending/coffee, /obj/structure/sign/safety/coffee{ @@ -29735,6 +26704,25 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) +"dmZ" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/obj/structure/machinery/door/poddoor/almayer/locked{ + id = "Cell 1"; + name = "\improper Courtyard Divider" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/cells) "dnk" = ( /obj/structure/largecrate/supply/generator, /obj/item/reagent_container/food/drinks/bottle/whiskey{ @@ -29779,22 +26767,6 @@ icon_state = "mono" }, /area/almayer/engineering/upper_engineering/starboard) -"dnJ" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22" - }, -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/command/lifeboat) "dnS" = ( /obj/structure/safe, /turf/open/floor/almayer{ @@ -29858,6 +26830,10 @@ icon_state = "cargo" }, /area/almayer/squads/req) +"doU" = ( +/obj/structure/surface/rack, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/upper_engineering/port) "dpo" = ( /obj/structure/machinery/light{ dir = 1 @@ -29894,13 +26870,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/delta) -"dpV" = ( -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "dqb" = ( /obj/structure/sign/safety/security{ pixel_x = -16 @@ -29970,34 +26939,9 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"dqQ" = ( -/obj/structure/closet/secure_closet/fridge/groceries, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) -"dqV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/vending/coffee, -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/machinery/door_control{ - id = "perma_lockdown"; - name = "\improper Perma Cells Lockdown"; - pixel_y = 24; - req_access_txt = "3" - }, -/obj/structure/sign/safety/coffee{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) +"dqZ" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/chief_mp_office) "drj" = ( /obj/structure/window/reinforced{ dir = 4; @@ -30018,18 +26962,6 @@ icon_state = "silver" }, /area/almayer/engineering/port_atmos) -"drp" = ( -/obj/structure/toilet{ - dir = 8; - layer = 2.9; - pixel_y = 8 - }, -/obj/structure/window{ - layer = 2.95; - pixel_y = -2 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/commandbunks) "drt" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -30078,21 +27010,13 @@ icon_state = "red" }, /area/almayer/hull/upper_hull/u_a_p) -"dsw" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 2 - }, +"dsA" = ( +/obj/effect/decal/cleanable/blood, /turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/cryo) -"dtv" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" + dir = 8; + icon_state = "redcorner" }, -/turf/open/floor/almayer, -/area/almayer/command/lifeboat) +/area/almayer/shipboard/brig/execution) "dtH" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -30105,12 +27029,6 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"dtN" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_f_p) "dtZ" = ( /obj/structure/platform_decoration{ dir = 4 @@ -30124,7 +27042,8 @@ }, /obj/structure/machinery/door/airlock/almayer/command/reinforced{ id_tag = "cic_exterior"; - name = "\improper Combat Information Center" + name = "\improper Combat Information Center"; + closeOtherId = "ciclobby_s" }, /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -30176,6 +27095,15 @@ icon_state = "mono" }, /area/almayer/living/starboard_garden) +"duz" = ( +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 24 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/upper_engineering/port) "duF" = ( /obj/structure/closet/secure_closet/personal, /turf/open/floor/almayer{ @@ -30232,16 +27160,6 @@ icon_state = "cargo" }, /area/almayer/living/cryo_cells) -"dvF" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/wooden_tv/ot{ - pixel_y = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"dvT" = ( -/turf/closed/wall/almayer, -/area/almayer/shipboard/brig/general_equipment) "dwl" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -30273,13 +27191,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/starboard) -"dxm" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/general_equipment) "dxu" = ( /obj/structure/sink{ dir = 1; @@ -30323,31 +27234,28 @@ icon_state = "red" }, /area/almayer/command/lifeboat) -"dxL" = ( -/obj/structure/sign/safety/fire_haz{ - pixel_x = 8; - pixel_y = -32 - }, -/obj/structure/reagent_dispensers/ethanoltank{ - anchored = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "dxT" = ( -/obj/structure/machinery/light{ - dir = 4 +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/safety/rewire{ + pixel_x = 32 }, -/obj/structure/bed/chair{ - dir = 8; - pixel_y = 3 +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) +"dya" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + dir = 2; + id = "Perma 2"; + name = "\improper cell shutter" + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 2; + name = "\improper Isolation Cell" }, /turf/open/floor/almayer{ - dir = 4; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/lobby) +/area/almayer/shipboard/brig/perma) "dyb" = ( /obj/structure/machinery/smartfridge/chemistry, /obj/item/device/radio/intercom{ @@ -30370,6 +27278,15 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"dyj" = ( +/obj/structure/closet/secure_closet/commander, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/device/whistle, +/obj/item/device/megaphone, +/obj/item/device/radio, +/obj/item/clothing/shoes/laceup, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "dyp" = ( /obj/structure/machinery/ares/cpu, /turf/open/floor/almayer/no_build{ @@ -30393,19 +27310,6 @@ icon_state = "plating" }, /area/almayer/squads/req) -"dyF" = ( -/obj/structure/pipes/vents/pump{ - dir = 8 - }, -/obj/structure/sign/safety/bathunisex{ - pixel_x = 8; - pixel_y = -32 - }, -/obj/structure/machinery/door_control/cl/quarter/backdoor{ - pixel_x = 25 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "dyK" = ( /obj/structure/machinery/light{ dir = 8 @@ -30415,6 +27319,9 @@ icon_state = "orange" }, /area/almayer/engineering/ce_room) +"dzp" = ( +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) "dzF" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 8; @@ -30426,23 +27333,18 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) +"dzG" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 26 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) "dAb" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"dAi" = ( -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/lifeboat_pumps/north1) "dAq" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/disposalpipe/segment{ @@ -30455,13 +27357,14 @@ icon_state = "test_floor4" }, /area/almayer/squads/bravo) -"dAO" = ( -/obj/structure/machinery/light{ - dir = 8 +"dAQ" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1 }, -/obj/structure/pipes/standard/simple/hidden/supply, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "redfull" }, /area/almayer/living/briefing) "dAX" = ( @@ -30509,6 +27412,28 @@ /obj/structure/window/framed/almayer/white, /turf/open/floor/plating, /area/almayer/medical/lower_medical_medbay) +"dBI" = ( +/obj/structure/surface/table/almayer, +/obj/item/trash/USCMtray{ + pixel_y = 4 + }, +/obj/item/trash/USCMtray{ + pixel_y = 6 + }, +/obj/item/trash/USCMtray{ + pixel_y = 8 + }, +/obj/item/trash/USCMtray{ + pixel_y = 10 + }, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "dBO" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -30518,6 +27443,23 @@ icon_state = "dark_sterile" }, /area/almayer/medical/operating_room_one) +"dBQ" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/chief_mp_office) +"dBS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "dCe" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -30609,15 +27551,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"dCS" = ( -/obj/structure/sign/safety/rad_shield{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) "dDp" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -30663,14 +27596,19 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"dDQ" = ( +"dDM" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/machinery/light{ + dir = 8 + }, /obj/effect/decal/warning_stripes{ icon_state = "S" }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 8; + icon_state = "orange" }, -/area/almayer/hull/upper_hull/u_f_p) +/area/almayer/engineering/lower/workshop/hangar) "dEm" = ( /obj/structure/machinery/power/apc/almayer, /obj/effect/decal/warning_stripes{ @@ -30712,6 +27650,22 @@ icon_state = "greencorner" }, /area/almayer/hallways/starboard_hallway) +"dEG" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/structure/closet/secure_closet/brig, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"dEJ" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/lifeboat_pumps/north2) "dEQ" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/condiment/hotsauce/tabasco, @@ -30726,18 +27680,22 @@ /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) +"dEX" = ( +/obj/structure/closet/secure_closet/guncabinet/riot_control, +/obj/item/weapon/shield/riot, +/obj/item/weapon/shield/riot, +/obj/item/weapon/shield/riot, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "dFk" = ( /turf/open/floor/almayer{ dir = 8; icon_state = "redcorner" }, /area/almayer/command/lifeboat) -"dFC" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cryo) "dFF" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_21" @@ -30750,6 +27708,12 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"dFU" = ( +/obj/structure/bed/chair{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) "dFV" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/cell_charger, @@ -30790,16 +27754,6 @@ icon_state = "blue" }, /area/almayer/living/pilotbunks) -"dGw" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "dGz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30818,26 +27772,17 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"dGD" = ( -/obj/structure/closet/secure_closet{ - name = "\improper Spare Restraints"; - req_one_access_txt = "3" +"dGU" = ( +/obj/structure/sign/poster/propaganda{ + pixel_x = -27 + }, +/obj/structure/bed/chair/comfy/alpha{ + dir = 1 }, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/glasses/sunglasses/blindfold, -/obj/item/clothing/glasses/sunglasses/blindfold, -/obj/item/clothing/glasses/sunglasses/blindfold, -/obj/item/clothing/glasses/sunglasses/blindfold, -/obj/item/clothing/glasses/sunglasses/blindfold, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/living/briefing) "dHd" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -30862,18 +27807,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) -"dHr" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/escapepod{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "dHu" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = 2; @@ -30886,20 +27819,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) -"dHv" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/storage/firstaid/toxin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/firstaid/adv, -/obj/item/device/defibrillator, -/obj/item/reagent_container/spray/cleaner, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) "dHV" = ( /obj/structure/machinery/light{ dir = 1 @@ -30941,6 +27860,25 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"dID" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/command/lifeboat) +"dIH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/engineering/lower/workshop) "dII" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/marine/shared/alpha_bravo, /obj/effect/decal/warning_stripes{ @@ -30963,6 +27901,32 @@ icon_state = "cargo" }, /area/almayer/hull/lower_hull/l_m_s) +"dJI" = ( +/obj/structure/bed/chair/comfy/bravo{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/arcturianstopsign{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"dKa" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/hull/upper_hull/u_f_s) +"dKc" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 9" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "dKm" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -30995,6 +27959,16 @@ dir = 4 }, /area/almayer/medical/containment/cell/cl) +"dKK" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "dKL" = ( /turf/closed/wall/almayer/outer, /area/almayer/engineering/airmix) @@ -31005,6 +27979,24 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"dLe" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/disposalpipe/junction{ + dir = 4; + icon_state = "pipe-j2" + }, +/turf/open/floor/almayer{ + icon_state = "silver" + }, +/area/almayer/command/cichallway) +"dLi" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 4" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "dLt" = ( /obj/structure/sign/safety/hazard{ pixel_x = -17; @@ -31029,6 +28021,20 @@ icon_state = "silver" }, /area/almayer/hallways/aft_hallway) +"dMf" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/photo_album{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/folder/black{ + pixel_x = 7; + pixel_y = -3 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "dMB" = ( /turf/open/floor/almayer{ dir = 8; @@ -31069,10 +28075,6 @@ }, /turf/open/floor/plating, /area/almayer/living/cryo_cells) -"dNx" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/almayer, -/area/almayer/engineering/engine_core) "dNB" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/almayer{ @@ -31098,6 +28100,18 @@ icon_state = "redfull" }, /area/almayer/command/cic) +"dOe" = ( +/obj/structure/sign/safety/fire_haz{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/structure/reagent_dispensers/ethanoltank{ + anchored = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "dOl" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/fancy/cigar, @@ -31108,10 +28122,6 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) -"dOL" = ( -/obj/structure/bed/chair/comfy/black, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/chief_mp_office) "dPm" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -31126,21 +28136,38 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/lifeboat) +"dPH" = ( +/obj/structure/closet/secure_closet/engineering_welding, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) +"dPQ" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/pen, +/obj/item/paper_bin/uscm, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) +"dPT" = ( +/obj/structure/machinery/brig_cell/cell_2{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/shipboard/brig/processing) "dPU" = ( /obj/structure/sign/safety/nonpress_ag{ pixel_x = 32 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) -"dPY" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/obj/structure/largecrate/random/barrel/green, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_f_s) "dQl" = ( /obj/structure/platform{ dir = 4 @@ -31158,6 +28185,25 @@ icon_state = "silver" }, /area/almayer/command/airoom) +"dQp" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1; + name = "Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/cells) "dQs" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -31175,6 +28221,15 @@ icon_state = "dark_sterile" }, /area/almayer/shipboard/brig/surgery) +"dQA" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower) "dQE" = ( /obj/structure/machinery/light{ dir = 1 @@ -31201,6 +28256,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/hydroponics) +"dRs" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/upper_engineering/port) "dRv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -31243,6 +28304,17 @@ icon_state = "red" }, /area/almayer/hallways/starboard_hallway) +"dRP" = ( +/obj/structure/bed/chair/comfy/orange, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "dRT" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -31256,27 +28328,6 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) -"dSc" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/main_office) -"dSn" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/shipboard/brig/cells) "dSp" = ( /obj/structure/machinery/camera/autoname/almayer{ name = "ship-grade camera" @@ -31287,19 +28338,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"dSs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/hazard{ - pixel_x = -17; - pixel_y = 7 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "dSA" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/plating/plating_catwalk, @@ -31326,23 +28364,19 @@ icon_state = "rasputin3" }, /area/almayer/powered/agent) -"dTc" = ( -/obj/structure/sign/poster{ - desc = "One of those hot, tanned babes back the beaches of good ol' Earth."; - icon_state = "poster12"; - name = "Beach Babe Pinup"; - pixel_x = -30; - pixel_y = 6; - serial_number = 12 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, +"dTn" = ( /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) +"dTr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" }, -/area/almayer/command/corporateliason) +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/workshop) "dTt" = ( /obj/structure/surface/table/almayer, /obj/item/device/camera, @@ -31358,6 +28392,21 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"dTQ" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/safety/bulkhead_door{ + pixel_x = -16 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_p) +"dTS" = ( +/obj/structure/machinery/fuelcell_recycler, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "dTZ" = ( /turf/open/floor/almayer{ icon_state = "sterile_green_side" @@ -31424,6 +28473,20 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_f_p) +"dVn" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "dVs" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -31450,34 +28513,11 @@ icon_state = "plate" }, /area/almayer/living/offices) -"dVZ" = ( -/obj/structure/machinery/pipedispenser, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "dWg" = ( /obj/effect/landmark/start/cargo, /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"dWk" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/door_control{ - id = "CMP Office Shutters"; - name = "CMP Office Shutters"; - pixel_y = 32; - req_one_access_txt = "24;31" - }, -/obj/structure/machinery/door_control{ - id = "Brig Lockdown Shutters"; - name = "Brig Lockdown Shutters"; - pixel_y = 24; - req_access_txt = "3" - }, -/obj/structure/machinery/faxmachine/uscm/brig/chief, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/chief_mp_office) "dWm" = ( /obj/structure/surface/table/almayer, /obj/item/storage/firstaid/o2, @@ -31493,16 +28533,6 @@ icon_state = "bluecorner" }, /area/almayer/living/basketball) -"dWz" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/obj/structure/machinery/door_control/cl/quarter/windows{ - pixel_x = 11; - pixel_y = 37 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "dWX" = ( /obj/structure/machinery/light{ dir = 8 @@ -31521,6 +28551,13 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) +"dXo" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/taperecorder, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "dXr" = ( /obj/structure/bed/chair{ dir = 8; @@ -31531,10 +28568,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"dXy" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) "dXG" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 @@ -31543,6 +28576,26 @@ icon_state = "plate" }, /area/almayer/squads/req) +"dXI" = ( +/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ + name = "\improper Exterior Airlock"; + req_access = null + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/stern_point_defense) +"dXO" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -19; + pixel_y = -6 + }, +/obj/structure/sign/safety/bulkhead_door{ + pixel_x = -19; + pixel_y = 6 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_p) "dXV" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = 16 @@ -31574,17 +28627,17 @@ }, /turf/open/floor/almayer, /area/almayer/living/chapel) -"dYH" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/bed/chair/comfy/alpha{ - dir = 8 +"dYC" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 }, +/obj/item/frame/fire_alarm, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "orange" }, -/area/almayer/living/briefing) +/area/almayer/engineering/lower) "dYK" = ( /obj/item/folder/red{ desc = "A red folder. The previous contents are a mystery, though the number 28 has been written on the inside of each flap numerous times. Smells faintly of cough syrup."; @@ -31638,6 +28691,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) +"dZu" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "eaf" = ( /obj/structure/machinery/cm_vending/clothing/military_police{ density = 0; @@ -31684,12 +28743,6 @@ icon_state = "plate" }, /area/almayer/shipboard/port_point_defense) -"eaX" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/upper_engineering/starboard) "ebd" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/plating_catwalk, @@ -31703,26 +28756,43 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"ebp" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/bed/chair/comfy/bravo{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "ebt" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/obj/structure/surface/table/almayer, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/structure/machinery/alarm/almayer{ + dir = 1 }, -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" +/turf/open/floor/almayer{ + icon_state = "cargo" }, -/obj/structure/closet/secure_closet/guncabinet/blue/riot_control, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) -"ebz" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/area/almayer/engineering/lower/engine_core) +"ebv" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 }, -/obj/structure/machinery/light/small{ - dir = 1 +/obj/structure/surface/table/reinforced/prison, +/obj/item/storage/firstaid/toxin{ + pixel_x = 8; + pixel_y = -2 }, -/obj/structure/closet/secure_closet/guncabinet/blue/riot_control, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) +/obj/item/storage/firstaid/regular, +/obj/item/reagent_container/spray/cleaner, +/turf/open/floor/almayer{ + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/surgery) "ebD" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -31732,14 +28802,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"ebJ" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) "ebN" = ( /turf/closed/wall/almayer/white/reinforced, /area/almayer/command/airoom) @@ -31769,61 +28831,19 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"ecq" = ( -/obj/structure/surface/table/almayer, -/obj/item/book/manual/marine_law{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/structure/machinery/status_display{ - pixel_x = 32 - }, -/obj/item/device/flashlight/lamp/green{ - pixel_x = 6 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/shipboard/brig/lobby) "ecr" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/living/captain_mess) -"ect" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop) "ecM" = ( /obj/structure/bed/chair{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) -"ecQ" = ( -/obj/structure/machinery/door_display/research_cell{ - dir = 4; - id = "Containment Cell 4"; - name = "Control Panel"; - pixel_x = -15; - req_access_txt = "200" - }, -/obj/item/storage/fancy/cigarettes/blackpack{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/structure/surface/table/woodentable/fancy, -/obj/item/storage/fancy/cigarettes/wypacket{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/tool/lighter/zippo/gold{ - pixel_x = 2 - }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) +"ecP" = ( +/obj/structure/largecrate/random/barrel/blue, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_p) "ecR" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -31846,37 +28866,47 @@ icon_state = "plate" }, /area/almayer/shipboard/navigation) -"edv" = ( -/obj/structure/bed/sofa/south/white/left, -/turf/open/floor/almayer{ - icon_state = "sterile_green" - }, -/area/almayer/medical/medical_science) -"edx" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = -32 +"edn" = ( +/obj/structure/bed/chair{ + dir = 1 }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 +/obj/structure/sign/poster{ + desc = "Koorlander Golds, lovingly machine rolled for YOUR pleasure."; + icon_state = "poster10"; + name = "Koorlander Gold Poster"; + pixel_x = 29; + pixel_y = 6; + serial_number = 10 }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"edo" = ( +/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ - icon_state = "test_floor4" + allow_construction = 0 }, -/area/almayer/command/lifeboat) -"edM" = ( -/obj/structure/closet/firecloset, +/area/almayer/shipboard/brig/processing) +"edv" = ( +/obj/structure/bed/sofa/south/white/left, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "sterile_green" }, -/area/almayer/hallways/vehiclehangar) +/area/almayer/medical/medical_science) "eed" = ( /turf/open/floor/almayer{ icon_state = "mono" }, /area/almayer/command/computerlab) +"eeh" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/microwave{ + pixel_y = 9 + }, +/obj/item/reagent_container/food/snacks/packaged_burger, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "eei" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/box/cups{ @@ -31935,51 +28965,21 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"eeN" = ( -/obj/structure/bed/chair, +"efj" = ( /turf/open/floor/almayer{ - dir = 1; + dir = 4; icon_state = "red" }, -/area/almayer/shipboard/brig/processing) -"efh" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/door_control{ - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutters"; - pixel_x = -8; - pixel_y = -6; - req_access_txt = "3" - }, -/obj/structure/machinery/door_control{ - id = "Brig Lockdown Shutters"; - name = "Brig Lockdown Shutters"; - pixel_x = -8; - pixel_y = 2; - req_access_txt = "3" - }, -/obj/structure/machinery/door_control{ - id = "courtyard window"; - name = "Courtyard Window Shutters"; - pixel_x = -8; - pixel_y = 10; - req_access_txt = "3" - }, -/obj/structure/machinery/door_control{ - id = "Cell Privacy Shutters"; - name = "Cell Privacy Shutters"; - pixel_x = 2; - pixel_y = 10; - req_access_txt = "3" - }, -/obj/structure/machinery/recharger{ - pixel_x = 6; - pixel_y = -2 +/area/almayer/hallways/upper/port) +"efC" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 }, +/obj/structure/machinery/suit_storage_unit/carbon_unit, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/engineering/lower) "efK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31991,6 +28991,15 @@ icon_state = "plate" }, /area/almayer/squads/alpha) +"efT" = ( +/obj/structure/machinery/atm{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "efU" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -32052,16 +29061,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"egR" = ( -/obj/structure/bed/chair{ - dir = 8; - pixel_y = 3 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "egS" = ( /obj/structure/closet, /obj/item/clothing/ears/earmuffs, @@ -32070,6 +29069,19 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"ehc" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "ehi" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -32097,6 +29109,24 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_hallway) +"ehL" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "ehR" = ( /obj/structure/window/reinforced{ dir = 4; @@ -32126,6 +29156,19 @@ icon_state = "plate" }, /area/almayer/living/port_emb) +"ehX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "eim" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -32161,27 +29204,6 @@ dir = 1 }, /area/almayer/medical/containment/cell) -"eiH" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/toilet{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) -"eiK" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/shipboard/brig/cic_hallway) "eiN" = ( /obj/structure/machinery/light{ dir = 1 @@ -32194,12 +29216,6 @@ icon_state = "plate" }, /area/almayer/living/port_emb) -"eiO" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "eiP" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -32258,12 +29274,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) -"ekg" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "eko" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/plating/plating_catwalk, @@ -32271,6 +29281,15 @@ "eky" = ( /turf/open/floor/almayer, /area/almayer/command/lifeboat) +"ekF" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "ekO" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -32303,15 +29322,16 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) -"elq" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" +"elv" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/sign/safety/maint{ + pixel_x = -17 }, -/area/almayer/shipboard/brig/perma) +/turf/open/floor/almayer, +/area/almayer/hallways/upper/port) +"elx" = ( +/turf/open/floor/almayer, +/area/almayer/engineering/lower) "elA" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -32330,27 +29350,20 @@ icon_state = "dark_sterile" }, /area/almayer/medical/operating_room_one) +"elM" = ( +/obj/structure/bed/chair{ + dir = 8; + pixel_y = 3 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "elR" = ( /turf/closed/wall/almayer/research/containment/wall/corner{ dir = 1 }, /area/almayer/medical/containment/cell) -"elX" = ( -/obj/structure/surface/table/almayer, -/obj/item/trash/uscm_mre, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/reagent_container/food/drinks/cans/souto/diet/grape{ - pixel_x = -7; - pixel_y = 10 - }, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "eme" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -32397,15 +29410,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"emO" = ( -/obj/structure/machinery/door/airlock/almayer/generic/corporate{ - dir = 1; - name = "Corporate Liaison's Bedroom" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/corporateliason) "ene" = ( /turf/open/floor/almayer{ dir = 4; @@ -32421,13 +29425,13 @@ }, /area/almayer/hull/lower_hull/l_m_s) "eni" = ( -/obj/structure/surface/table/almayer, -/obj/item/prop/magazine/book/spacebeast, +/obj/structure/machinery/power/monitor{ + name = "Main Power Grid Monitoring" + }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/evidence_storage) +/area/almayer/engineering/lower/workshop) "enx" = ( /obj/structure/pipes/vents/pump, /obj/structure/machinery/status_display{ @@ -32438,18 +29442,6 @@ icon_state = "green" }, /area/almayer/hallways/starboard_hallway) -"enz" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/vending/snack, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "eoG" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -32469,45 +29461,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) -"eoP" = ( -/obj/structure/bed, -/obj/structure/machinery/flasher{ - id = "Perma 1"; - pixel_y = 24 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/perma) -"eoT" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"epq" = ( -/obj/structure/sign/poster{ - desc = "One of those hot, tanned babes back the beaches of good ol' Earth."; - icon_state = "poster12"; - name = "Beach Babe Pinup"; - pixel_x = 27; - serial_number = 12 - }, -/obj/structure/bed/chair/comfy/delta{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "epu" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -32529,18 +29482,15 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) -"epK" = ( -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/smg/m39{ - pixel_y = 6 - }, -/obj/item/weapon/gun/smg/m39{ - pixel_y = -6 +"epJ" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 }, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/structure/disposalpipe/junction{ + dir = 8 }, -/area/almayer/hull/upper_hull/u_m_s) +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "eqb" = ( /obj/structure/surface/table/almayer, /obj/item/tool/stamp/denied{ @@ -32603,6 +29553,14 @@ icon_state = "red" }, /area/almayer/shipboard/port_missiles) +"eqL" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "eqN" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/living/synthcloset) @@ -32650,27 +29608,21 @@ icon_state = "test_floor4" }, /area/almayer/squads/delta) -"erx" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" +"ern" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/engine_core) +"erF" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/firstaid/toxin{ + pixel_x = 8; + pixel_y = -2 }, -/area/almayer/shipboard/brig/cryo) -"erz" = ( -/obj/structure/closet/crate, -/obj/item/ammo_box/magazine/l42a, -/obj/item/ammo_box/magazine/l42a, +/obj/item/book/manual/engineering_guide, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "orange" }, -/area/almayer/hull/upper_hull/u_m_s) +/area/almayer/engineering/lower) "erG" = ( /obj/structure/disposalpipe/junction{ dir = 2; @@ -32714,20 +29666,23 @@ icon_state = "plate" }, /area/almayer/hallways/starboard_hallway) -"esy" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"esC" = ( +/obj/structure/toilet{ + pixel_y = 13 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/paper_bin/uscm{ + pixel_x = 9; + pixel_y = -3 }, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = -29 +/obj/structure/machinery/light/small{ + dir = 4 }, -/turf/open/floor/almayer{ - icon_state = "silver" +/obj/item/prop/magazine/dirty{ + pixel_x = -6; + pixel_y = -10 }, -/area/almayer/command/cichallway) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/living/captain_mess) "esF" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -32761,6 +29716,14 @@ icon_state = "plating_striped" }, /area/almayer/command/lifeboat) +"etn" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/command/lifeboat) "ets" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -32816,33 +29779,6 @@ icon_state = "test_floor4" }, /area/almayer/living/officer_study) -"euM" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/paper_bin/uscm{ - pixel_x = -17; - pixel_y = 7 - }, -/obj/item/tool/pen/clicky{ - pixel_x = -13; - pixel_y = -1 - }, -/obj/item/tool/pen/clicky{ - pixel_x = -13; - pixel_y = 5 - }, -/obj/structure/machinery/door_control{ - id = "CO-Office"; - name = "Door Control"; - normaldoorcontrol = 1; - pixel_y = 7; - req_access_txt = "31" - }, -/obj/item/ashtray/bronze{ - pixel_x = 12; - pixel_y = 1 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) "euN" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -32874,12 +29810,15 @@ icon_state = "logo_c" }, /area/almayer/command/cic) -"euY" = ( -/obj/structure/closet/firecloset, +"euW" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/closet/secure_closet/engineering_materials, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "plate" }, -/area/almayer/engineering/upper_engineering/port) +/area/almayer/engineering/lower/workshop/hangar) "eva" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 32 @@ -32917,6 +29856,16 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) +"evR" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/toolbox/mechanical/green{ + pixel_y = 8 + }, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/general_equipment) "evX" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -32941,6 +29890,18 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cic_hallway) +"ewI" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass{ + name = "\improper Execution Room" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/execution) "ewO" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -32971,19 +29932,6 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer, /area/almayer/command/lifeboat) -"exr" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) "ext" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -33014,20 +29962,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"eyg" = ( -/obj/structure/machinery/cryopod/right{ - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/shipboard/brig/cryo) -"eyv" = ( -/obj/structure/machinery/sentry_holder/almayer, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/south1) "eyG" = ( /obj/structure/platform, /turf/open/floor/almayer{ @@ -33084,19 +30018,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"ezU" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/obj/structure/bed/chair{ - dir = 8; - pixel_y = 3 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/shipboard/brig/lobby) "ezX" = ( /obj/structure/bed/chair/wood/normal, /turf/open/floor/wood/ship, @@ -33121,6 +30042,21 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"eAF" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "silver" + }, +/area/almayer/shipboard/brig/cic_hallway) +"eAI" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower/engine_core) "eAL" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -33128,6 +30064,17 @@ icon_state = "red" }, /area/almayer/command/lifeboat) +"eAN" = ( +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"eAT" = ( +/obj/structure/machinery/door_control/cl/office/door{ + pixel_y = -20 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hallways/aft_hallway) "eAU" = ( /obj/structure/bed/chair{ dir = 8 @@ -33176,6 +30123,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_umbilical) +"eBE" = ( +/obj/structure/machinery/photocopier{ + anchored = 0 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "eBO" = ( /obj/structure/bed, /turf/open/floor/almayer{ @@ -33195,16 +30148,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) -"eBW" = ( -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/evidence_storage) "eBZ" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/firstaid/fire{ @@ -33236,14 +30179,40 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) -"eCS" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 +"eCt" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/plasteel{ + amount = 30; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/sheet/metal{ + amount = 50 + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/obj/item/stack/sheet/mineral/uranium{ + amount = 5 + }, +/obj/structure/sign/safety/fire_haz{ + pixel_x = 32 }, /turf/open/floor/almayer{ - icon_state = "bluefull" + icon_state = "cargo" }, -/area/almayer/living/briefing) +/area/almayer/engineering/lower/engine_core) +"eCI" = ( +/obj/structure/window/reinforced/ultra{ + pixel_y = -12 + }, +/obj/structure/bed/chair/bolted, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/brig/execution) "eDo" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -33254,6 +30223,16 @@ icon_state = "plating" }, /area/almayer/medical/upper_medical) +"eDt" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/cameras/almayer_network{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "eDu" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -33293,6 +30272,12 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"eEf" = ( +/obj/structure/sign/safety/bulkhead_door{ + pixel_x = -16 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_s) "eEk" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -33342,6 +30327,17 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"eFG" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/surface/table/almayer, +/obj/item/tool/hand_labeler, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/medical/chemistry) "eFH" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_s) @@ -33385,6 +30381,15 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"eFP" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/closet/secure_closet/fridge/organic, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/grunt_rnr) "eFT" = ( /obj/structure/bed/sofa/vert/grey, /obj/structure/bed/sofa/vert/grey{ @@ -33392,6 +30397,26 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"eFY" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/ashtray/bronze{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/structure/machinery/door_control/cl/office/window{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/structure/machinery/door_control/cl/office/door{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/item/spacecash/c500{ + pixel_x = -10; + pixel_y = 8 + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "eGb" = ( /obj/structure/machinery/constructable_frame{ icon_state = "box_2" @@ -33444,12 +30469,6 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/surgery) -"eGs" = ( -/obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/almayer{ - icon_state = "cargo_arrow" - }, -/area/almayer/engineering/engineering_workshop/hangar) "eGz" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 @@ -33495,12 +30514,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) -"eHj" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/corporateliason) "eHx" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/faxmachine/uscm/command, @@ -33522,6 +30535,30 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"eIT" = ( +/obj/structure/surface/table/almayer, +/obj/item/book/manual/engineering_particle_accelerator, +/obj/item/folder/yellow, +/obj/structure/machinery/keycard_auth{ + pixel_x = -8; + pixel_y = 25 + }, +/obj/structure/sign/safety/high_rad{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = 7 + }, +/obj/structure/sign/safety/terminal{ + pixel_x = 14; + pixel_y = 26 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "eJd" = ( /obj/structure/platform_decoration{ dir = 4 @@ -33560,6 +30597,17 @@ "eJX" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/ce_room) +"eKa" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + dir = 2; + name = "\improper Brig Lobby"; + closeOtherId = "briglobby" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "eKg" = ( /obj/structure/disposalpipe/segment{ layer = 5.1; @@ -33567,6 +30615,17 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"eKy" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 6 + }, +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "eKD" = ( /obj/structure/machinery/portable_atmospherics/canister/air, /turf/open/floor/almayer{ @@ -33603,22 +30662,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"eKK" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 28 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/command/corporateliason) "eKM" = ( /obj/structure/surface/rack, /obj/effect/decal/cleanable/dirt, @@ -33635,6 +30678,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) +"eKQ" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "eKT" = ( /obj/structure/surface/table/almayer, /obj/item/facepaint/black, @@ -33659,6 +30708,16 @@ icon_state = "test_floor4" }, /area/almayer/engineering/laundry) +"eMJ" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/structure/machinery/computer/crew, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "eMP" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -33682,6 +30741,17 @@ /obj/structure/largecrate/random, /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering/port) +"eNw" = ( +/obj/structure/machinery/atm{ + name = "Weyland-Yutani Automatic Teller Machine"; + pixel_y = 30 + }, +/obj/structure/surface/table/almayer, +/obj/item/spacecash/c1000/counterfeit, +/obj/item/storage/box/drinkingglasses, +/obj/item/storage/fancy/cigar, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) "eNx" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/almayer{ @@ -33706,24 +30776,13 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"eOh" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/evidence_storage) -"eOk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 - }, -/turf/open/floor/almayer{ - allow_construction = 0 +"eNR" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, -/area/almayer/shipboard/brig/lobby) +/turf/open/floor/plating, +/area/almayer/shipboard/brig/processing) "eOr" = ( /obj/structure/bed/chair{ dir = 8 @@ -33746,20 +30805,16 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"eOR" = ( -/obj/structure/machinery/light{ - dir = 4 +"eON" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 }, /turf/open/floor/almayer{ - dir = 4; + dir = 10; icon_state = "red" }, -/area/almayer/shipboard/brig/main_office) -"eOW" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/sentencing, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) +/area/almayer/hallways/upper/starboard) "ePk" = ( /obj/structure/airlock_assembly, /turf/open/floor/plating, @@ -33780,37 +30835,47 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"ePB" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/general_equipment) -"ePY" = ( -/obj/structure/pipes/vents/pump{ - dir = 8; - id_tag = "mining_outpost_pump" - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) -"eQi" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = 32 +"ePM" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 32 }, /obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 + icon_state = "SE-out"; + pixel_x = 1 }, /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; + pixel_x = 1; pixel_y = 1 }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) +"ePN" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/mineral/plastic{ + amount = 5 + }, +/obj/item/stack/sheet/glass{ + amount = 50; + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/sheet/metal{ + amount = 50 + }, +/obj/item/stack/sheet/plasteel{ + amount = 30; + pixel_x = 4; + pixel_y = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/cleanable/blood/oil, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "cargo" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/engineering/lower/workshop/hangar) "eRe" = ( /obj/structure/bed/chair/comfy/orange{ dir = 8 @@ -33819,19 +30884,18 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"eRt" = ( -/obj/structure/sign/safety/ammunition{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/structure/sign/safety/hazard{ - pixel_y = 32 +"eRi" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/black{ + pixel_y = 8 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, -/turf/open/floor/almayer{ - icon_state = "redfull" +/obj/item/folder/yellow, +/obj/item/device/flashlight/lamp/green{ + pixel_x = -16; + pixel_y = 8 }, -/area/almayer/hull/lower_hull/l_f_s) +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "eRu" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -33874,6 +30938,28 @@ icon_state = "plate" }, /area/almayer/living/starboard_garden) +"eRS" = ( +/turf/open/floor/almayer{ + icon_state = "cargo_arrow" + }, +/area/almayer/engineering/lower/workshop/hangar) +"eSk" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/airlock{ + pixel_x = -17; + pixel_y = 7 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = -17; + pixel_y = -8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "eSo" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -33899,47 +30985,6 @@ /obj/effect/landmark/crap_item, /turf/open/floor/almayer, /area/almayer/living/briefing) -"eTh" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/structure/surface/rack, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/medical/upper_medical) -"eTo" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/sign/safety/bathunisex{ - pixel_x = 8; - pixel_y = 25 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/cells) -"eTx" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) "eTO" = ( /obj/structure/sign/safety/maint{ pixel_x = -17 @@ -33996,33 +31041,15 @@ icon_state = "plate" }, /area/almayer/squads/alpha) -"eUR" = ( -/obj/structure/bed/chair/comfy/orange, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) -"eUU" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Spare Prison Uniforms" +"eUZ" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 }, -/obj/item/clothing/shoes/orange, -/obj/item/clothing/shoes/orange, -/obj/item/clothing/shoes/orange, -/obj/item/clothing/shoes/orange, -/obj/item/clothing/under/color/orange, -/obj/item/clothing/under/color/orange, -/obj/item/clothing/under/color/orange, -/obj/item/clothing/under/color/orange, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/living/briefing) "eVj" = ( /obj/structure/bed/chair/office/dark{ dir = 4 @@ -34049,12 +31076,42 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) +"eVE" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/lightreplacer, +/obj/item/device/radio, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "eVQ" = ( /obj/structure/machinery/light{ dir = 4 }, /turf/open/floor/almayer, /area/almayer/living/chapel) +"eVR" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_x = -8; + pixel_y = 18 + }, +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 8; + pixel_y = 18 + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 8 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = -17; + pixel_y = 17 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/evidence_storage) "eVT" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -34101,6 +31158,14 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"eXk" = ( +/obj/effect/landmark/late_join/working_joe, +/obj/effect/landmark/start/working_joe, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/command/airoom) "eXo" = ( /obj/structure/machinery/light/small, /turf/open/floor/plating/plating_catwalk, @@ -34112,15 +31177,32 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, /area/almayer/living/offices) -"eXU" = ( -/obj/structure/bed/chair{ - dir = 8; - pixel_y = 3 +"eXS" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 2; + pixel_y = 2 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_p) +"eYj" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/bed/chair/comfy/alpha{ + dir = 1 }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/upper_hull/u_m_s) +/area/almayer/living/briefing) +"eYn" = ( +/obj/structure/filingcabinet/security, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "eYr" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -34160,6 +31242,23 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"eYD" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) +"eYF" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "eYH" = ( /obj/structure/platform{ dir = 4 @@ -34197,10 +31296,6 @@ icon_state = "orangecorner" }, /area/almayer/engineering/upper_engineering/port) -"eYW" = ( -/obj/structure/filingcabinet/security, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "eZi" = ( /obj/effect/projector{ name = "Almayer_Up4"; @@ -34211,13 +31306,33 @@ allow_construction = 0 }, /area/almayer/hallways/port_hallway) -"eZj" = ( -/obj/structure/closet/secure_closet/guncabinet, +"eZo" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/reagent_dispensers/water_cooler/stacks{ + density = 0; + pixel_y = 17 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) +"eZp" = ( +/obj/structure/platform{ + dir = 4; + layer = 2.7 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + dir = 5; + icon_state = "plating" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/engineering/lower/engine_core) "eZz" = ( /obj/structure/sign/safety/water{ pixel_x = 8; @@ -34245,6 +31360,13 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) +"fag" = ( +/obj/effect/decal/cleanable/blood, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "fau" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /obj/structure/disposalpipe/junction{ @@ -34253,6 +31375,25 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_hallway) +"faE" = ( +/obj/structure/bookcase{ + icon_state = "book-5"; + name = "law and engineering manuals bookcase"; + opacity = 0 + }, +/obj/item/book/manual/marine_law, +/obj/item/book/manual/detective, +/obj/item/book/manual/security_space_law, +/obj/item/book/manual/engineering_guide, +/obj/item/book/manual/engineering_construction, +/obj/item/book/manual/orbital_cannon_manual, +/obj/item/book/manual/ripley_build_and_repair, +/obj/item/book/manual/engineering_hacking, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "faO" = ( /obj/item/stack/cable_coil, /turf/open/floor/plating/plating_catwalk, @@ -34299,23 +31440,16 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"fbv" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/sign/safety/security{ - pixel_x = -17; - pixel_y = 6 - }, -/obj/structure/sign/safety/reception{ - pixel_x = -17; - pixel_y = -8 +"fbu" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, +/obj/structure/platform, /turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" + dir = 5; + icon_state = "plating" }, -/area/almayer/shipboard/brig/cic_hallway) +/area/almayer/engineering/lower/engine_core) "fbw" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34338,26 +31472,28 @@ icon_state = "dark_sterile" }, /area/almayer/medical/upper_medical) -"fbY" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 2; - id = "Execution Shutters"; - name = "\improper Privacy Shutters" +"fbH" = ( +/obj/structure/surface/table/almayer, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/item/fuelCell, +/turf/open/floor/almayer{ + icon_state = "cargo" }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" +/area/almayer/engineering/lower/engine_core) +"fbR" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "perma_lockdown"; - name = "\improper Perma Lockdown Shutter" +/obj/structure/machinery/status_display{ + pixel_x = 32 }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/execution) +/area/almayer/hallways/upper/starboard) "fcf" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -34397,12 +31533,6 @@ /obj/structure/largecrate/random/case, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"fcI" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engine_core) "fcM" = ( /obj/structure/machinery/camera/autoname/almayer{ name = "ship-grade camera" @@ -34420,6 +31550,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"fcS" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "fcX" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/light{ @@ -34440,6 +31576,15 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) +"fdx" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "fdA" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -34468,6 +31613,9 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lockerroom) +"feb" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/shipboard/brig/execution) "feq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34514,33 +31662,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_two) -"ffl" = ( -/obj/structure/surface/table/almayer, -/obj/effect/landmark/map_item, -/obj/item/paper_bin/uscm{ - pixel_x = -7; - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) +"ffg" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/perma) "ffE" = ( /turf/open/floor/almayer/no_build{ icon_state = "plating" }, /area/almayer/command/airoom) -"ffV" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/crew/alt, -/obj/structure/transmitter/rotary/no_dnd{ - name = "Brig Cells Telephone"; - phone_category = "Almayer"; - phone_id = "Brig Cells"; - pixel_x = 15 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) "fgh" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -34598,13 +31728,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"fgF" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "fgR" = ( /obj/structure/machinery/door/poddoor/almayer/open{ id = "Brig Lockdown Shutters"; @@ -34648,52 +31771,47 @@ icon_state = "mono" }, /area/almayer/engineering/upper_engineering/starboard) +"fie" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop) "fiq" = ( /turf/closed/wall/almayer, /area/almayer/hull/lower_hull/l_m_p) -"fir" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/screwdriver, -/obj/item/tool/weldingtool, -/obj/item/tool/wrench, -/obj/item/tool/wirecutters, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" +"fiE" = ( +/obj/structure/machinery/computer/cameras/containment/hidden{ + dir = 4; + pixel_x = -17 }, -/area/almayer/engineering/engine_core) -"fiP" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/storage/fancy/cigar{ - layer = 3.04; - pixel_x = -2; - pixel_y = 2 +/obj/structure/surface/table/almayer, +/obj/item/storage/photo_album, +/obj/item/device/camera_film, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) +"fiI" = ( +/obj/structure/sign/safety/water{ + pixel_x = 8; + pixel_y = 32 }, -/obj/item/reagent_container/food/drinks/bottle/sake{ - pixel_x = -11; - pixel_y = 16 +/turf/open/floor/almayer{ + icon_state = "plate" }, -/obj/item/reagent_container/food/drinks/bottle/sake{ - pixel_x = -2; - pixel_y = 16 +/area/almayer/hull/lower_hull/stern) +"fiQ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/obj/item/reagent_container/food/drinks/bottle/sake{ - pixel_x = 7; - pixel_y = 16 +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/area/almayer/engineering/lower) "fjO" = ( /obj/item/tool/wet_sign, /obj/effect/decal/cleanable/blood, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"fkn" = ( -/obj/structure/machinery/photocopier, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "fkO" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ @@ -34773,20 +31891,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"fnl" = ( -/obj/structure/surface/rack, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/glasses/sunglasses/blindfold, -/obj/item/clothing/mask/muzzle, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 8; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" +"fnv" = ( +/obj/structure/machinery/light{ + dir = 4 }, -/area/almayer/shipboard/brig/execution) +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "fnx" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/door/window/eastright{ @@ -34823,23 +31933,17 @@ icon_state = "red" }, /area/almayer/shipboard/brig/main_office) +"fnH" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "fnI" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/squads/req) -"fnQ" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/structure/machinery/door/window/tinted{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/upper_engineering/port) "fnZ" = ( /obj/structure/machinery/portable_atmospherics/canister/air, /obj/structure/machinery/light/small{ @@ -34849,6 +31953,18 @@ icon_state = "cargo" }, /area/almayer/hull/upper_hull/u_a_s) +"foC" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "foL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34896,12 +32012,18 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) -"fps" = ( -/obj/structure/machinery/chem_master/industry_mixer, +"fpA" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/machinery/light{ + dir = 8 + }, /turf/open/floor/almayer{ - icon_state = "orange" + dir = 5; + icon_state = "red" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/hallways/upper/port) "fpO" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -34940,35 +32062,6 @@ icon_state = "bluefull" }, /area/almayer/command/cichallway) -"fqe" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/pen/blue/clicky{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/tool/pen/clicky{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/paper_bin/wy{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"fqg" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer, -/area/almayer/lifeboat_pumps/south2) "fqu" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/almayer, @@ -34984,6 +32077,12 @@ icon_state = "silver" }, /area/almayer/hull/upper_hull/u_m_p) +"fqC" = ( +/obj/structure/machinery/vending/cigarette, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "fqO" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -34991,6 +32090,12 @@ /obj/structure/surface/table/reinforced/black, /turf/open/floor/carpet, /area/almayer/command/cichallway) +"fqW" = ( +/obj/structure/machinery/recharge_station, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "fqZ" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -35002,6 +32107,23 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"frb" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = 9 + }, +/obj/item/reagent_container/food/snacks/sliceable/pizza/vegetablepizza{ + pixel_y = 8 + }, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "frl" = ( /turf/open/floor/almayer{ dir = 4; @@ -35038,6 +32160,30 @@ icon_state = "tcomms" }, /area/almayer/command/airoom) +"frX" = ( +/obj/structure/machinery/optable, +/obj/structure/sign/safety/medical{ + pixel_x = 8; + pixel_y = 29 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_corner" + }, +/area/almayer/shipboard/brig/surgery) +"frY" = ( +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 + }, +/obj/item/weapon/gun/rifle/l42a, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = -6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "fsd" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -35047,20 +32193,6 @@ icon_state = "plating" }, /area/almayer/hallways/vehiclehangar) -"fso" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - access_modified = 1; - name = "\improper Cryogenics Bay"; - req_access = null; - req_one_access_txt = "1;3" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/cryo) "fsp" = ( /obj/structure/barricade/handrail{ dir = 1; @@ -35071,31 +32203,6 @@ icon_state = "plate" }, /area/almayer/living/gym) -"fsz" = ( -/obj/structure/machinery/firealarm{ - dir = 1; - pixel_y = -28 - }, -/obj/structure/surface/table/almayer, -/obj/item/storage/box/flashbangs, -/obj/item/storage/box/flashbangs{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/item/storage/box/flashbangs{ - pixel_x = -8; - pixel_y = 5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/shipboard/brig/armory) "fsH" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -35105,21 +32212,13 @@ icon_state = "green" }, /area/almayer/hallways/port_hallway) -"fsT" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1; - pixel_y = -1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" +"fsR" = ( +/obj/structure/pipes/vents/pump{ + dir = 8; + id_tag = "mining_outpost_pump" }, -/area/almayer/shipboard/brig/armory) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "fsU" = ( /obj/structure/machinery/floodlight/landing{ name = "bolted floodlight" @@ -35174,21 +32273,6 @@ /obj/structure/largecrate/random/barrel/green, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) -"fuR" = ( -/obj/structure/bed/bedroll{ - desc = "A bed of cotton fabric, purposely made for a cat to comfortably sleep on."; - name = "cat bed"; - pixel_y = 0 - }, -/mob/living/simple_animal/cat/Jones{ - dir = 8 - }, -/obj/structure/machinery/firealarm{ - pixel_x = -1; - pixel_y = 28 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "fuS" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -35209,15 +32293,6 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) -"fuX" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/almayer/locked{ - dir = 8; - id = "Perma 2L"; - name = "\improper cell shutter" - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/perma) "fuY" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -35232,6 +32307,21 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"fva" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/bed/chair/comfy/bravo{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/barricade/deployable{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "fvd" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -35257,6 +32347,10 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_f_p) +"fvA" = ( +/obj/structure/closet/secure_closet/brig, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "fvB" = ( /obj/structure/closet/secure_closet/staff_officer/armory/m4a1, /turf/open/floor/almayer{ @@ -35297,18 +32391,23 @@ icon_state = "plate" }, /area/almayer/living/starboard_garden) +"fwM" = ( +/obj/structure/surface/table/almayer, +/obj/item/paper, +/obj/item/tool/pen{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/living/briefing) "fwY" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie_delta_shared) -"fxu" = ( -/obj/structure/sign/safety/hvac_old{ - pixel_x = 8 - }, -/turf/closed/wall/almayer, -/area/almayer/engineering/lower_engineering) "fxz" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -35336,6 +32435,13 @@ icon_state = "plating" }, /area/almayer/engineering/upper_engineering) +"fxJ" = ( +/obj/structure/closet/secure_closet/guncabinet/riot_control, +/obj/item/weapon/shield/riot, +/obj/item/weapon/shield/riot, +/obj/item/weapon/shield/riot, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "fxO" = ( /obj/structure/machinery/vending/coffee{ density = 0; @@ -35345,15 +32451,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"fxW" = ( -/obj/structure/platform_decoration{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "fxZ" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -35375,6 +32472,23 @@ icon_state = "plate" }, /area/almayer/shipboard/weapon_room) +"fyd" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 1" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) +"fyp" = ( +/obj/structure/machinery/cryopod{ + layer = 3.1; + pixel_y = 13 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/cryo) "fyD" = ( /obj/structure/machinery/light, /obj/structure/ladder{ @@ -35433,19 +32547,22 @@ icon_state = "red" }, /area/almayer/living/offices/flight) -"fAo" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/light, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +"fAr" = ( +/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "fAt" = ( /obj/structure/largecrate/guns/merc{ name = "\improper dodgy crate" }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"fAE" = ( +/obj/structure/closet/firecloset/full, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/main_office) "fAS" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -35453,6 +32570,19 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) +"fBd" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12 + }, +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12; + pixel_y = 12 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "fBf" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -35500,15 +32630,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/lifeboat) -"fCt" = ( -/obj/structure/bed/chair/comfy/delta{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "fCL" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -35537,12 +32658,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) -"fDn" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = -25 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/armory) "fDG" = ( /obj/structure/machinery/vending/coffee, /obj/structure/machinery/light{ @@ -35591,17 +32706,12 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"fEg" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 15" - }, -/obj/structure/machinery/light{ - dir = 8 - }, +"fEe" = ( +/obj/structure/machinery/pipedispenser, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower) "fEk" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -35649,16 +32759,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/morgue) -"fFq" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) "fFD" = ( /obj/structure/window/reinforced{ dir = 4; @@ -35694,6 +32794,16 @@ icon_state = "plate" }, /area/almayer/medical/morgue) +"fGa" = ( +/obj/structure/surface/rack, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/numbertwobunks) "fGg" = ( /obj/effect/decal/cleanable/blood/oil/streak, /turf/open/floor/almayer, @@ -35724,12 +32834,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"fGN" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_f_p) "fGY" = ( /obj/structure/machinery/door_control{ id = "panicroomback"; @@ -35758,17 +32862,6 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"fHe" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/prop/helmetgarb/helmet_nvg/cosmetic, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/living/briefing) "fHh" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -35786,16 +32879,6 @@ icon_state = "plate" }, /area/almayer/living/gym) -"fHC" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "fHF" = ( /turf/open/floor/almayer{ icon_state = "greenfull" @@ -35807,19 +32890,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) -"fHS" = ( -/obj/structure/sign/safety/rewire{ - pixel_y = -32 - }, -/obj/structure/machinery/door_control{ - id = "perma_lockdown"; - name = "\improper Perma Cells Lockdown"; - pixel_x = 6; - pixel_y = -24; - req_access_txt = "3" - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) "fIf" = ( /obj/structure/sign/safety/bulkhead_door{ pixel_x = 8; @@ -35827,12 +32897,6 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"fIx" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) "fIH" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ @@ -35937,10 +33001,20 @@ icon_state = "tcomms" }, /area/almayer/command/airoom) -"fKg" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_s) +"fKh" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/window, +/turf/open/floor/plating, +/area/almayer/command/corporateliaison) +"fKi" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "fKl" = ( /obj/structure/surface/rack, /obj/item/tool/shovel/etool{ @@ -35968,6 +33042,25 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"fKw" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/obj/structure/machinery/door/poddoor/almayer/locked{ + id = "Cell 5"; + name = "\improper Courtyard Divider" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/cells) "fKT" = ( /obj/structure/machinery/vending/coffee, /obj/structure/sign/safety/coffee{ @@ -36007,25 +33100,49 @@ icon_state = "plate" }, /area/almayer/living/grunt_rnr) -"fLn" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ +"fLu" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/obj/structure/machinery/computer/general_air_control/large_tank_control{ + name = "Lower Oxygen Supply Console" + }, +/obj/structure/pipes/standard/simple/hidden/universal{ dir = 4 }, /turf/open/floor/almayer{ - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/general_equipment) -"fLX" = ( +/area/almayer/engineering/lower) +"fLv" = ( /obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 + icon_state = "SW-out" }, -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = -32 +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/shipboard/stern_point_defense) +"fLF" = ( +/obj/structure/machinery/brig_cell/perma_2{ + pixel_x = -32 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) +"fMe" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + pixel_x = 15 + }, +/obj/item/paper, +/obj/item/reagent_container/food/drinks/cans/waterbottle{ + pixel_x = -10; + pixel_y = 4 + }, +/turf/open/floor/almayer{ + icon_state = "bluefull" + }, +/area/almayer/living/briefing) "fMl" = ( /obj/structure/machinery/door_control{ id = "ARES Operations Right"; @@ -36099,26 +33216,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"fNu" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper, -/obj/item/tool/pen{ - pixel_x = -5; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/living/briefing) -"fNA" = ( -/obj/structure/closet/fireaxecabinet{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "fNC" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /obj/structure/disposalpipe/junction{ @@ -36126,19 +33223,21 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) -"fOh" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4; - icon_state = "exposed01-supply" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/combat_correspondent) "fOk" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"fOv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "fOz" = ( /obj/structure/target{ name = "punching bag" @@ -36224,6 +33323,16 @@ /obj/structure/largecrate/random, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) +"fQn" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "fQu" = ( /obj/structure/machinery/door/poddoor/shutters/almayer/open{ id = "CMO Shutters"; @@ -36244,6 +33353,30 @@ /obj/effect/step_trigger/clone_cleaner, /turf/closed/wall/almayer, /area/almayer/hull/upper_hull/u_m_p) +"fQS" = ( +/obj/structure/bed/chair/comfy/orange, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) +"fQY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/largecrate/supply/weapons/m39{ + pixel_x = 2 + }, +/obj/structure/largecrate/supply/weapons/m41a{ + layer = 3.1; + pixel_x = 6; + pixel_y = 17 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "fRr" = ( /obj/structure/machinery/light{ dir = 1 @@ -36266,6 +33399,14 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) +"fRS" = ( +/obj/effect/landmark/start/warden, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cryo) "fSl" = ( /obj/structure/machinery/line_nexter{ id = "line2"; @@ -36283,6 +33424,15 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north1) +"fSF" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight, +/obj/item/storage/firstaid/rad, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "fSK" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /obj/structure/disposalpipe/segment{ @@ -36297,10 +33447,28 @@ icon_state = "red" }, /area/almayer/hull/upper_hull/u_a_p) +"fTj" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "fTm" = ( /obj/structure/bed/chair/office/dark, /turf/open/floor/almayer, /area/almayer/hallways/hangar) +"fTt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/processing) "fTu" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/hull/lower_hull/l_f_p) @@ -36350,6 +33518,28 @@ "fUA" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/living/briefing) +"fUB" = ( +/obj/structure/closet/secure_closet/fridge/organic/stock, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/grunt_rnr) +"fUC" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"fVo" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop) "fVz" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -36362,6 +33552,15 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"fVF" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10" + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "fVG" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -36370,19 +33569,18 @@ icon_state = "dark_sterile" }, /area/almayer/medical/chemistry) -"fWT" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - dir = 2; - name = "\improper Engineering Workshop" +"fWi" = ( +/obj/structure/toilet{ + dir = 1 }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 +/obj/structure/window/reinforced/tinted{ + dir = 8 }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/obj/structure/machinery/door/window/tinted{ + dir = 1 }, -/area/almayer/engineering/engineering_workshop) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/upper_engineering/port) "fXd" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -36398,16 +33596,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/morgue) -"fXt" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "green" - }, -/area/almayer/squads/req) "fXx" = ( /obj/structure/surface/rack, /turf/open/floor/almayer{ @@ -36428,17 +33616,40 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) -"fXM" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +"fXE" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + pixel_x = 2; + pixel_y = 5 }, -/turf/open/floor/almayer, -/area/almayer/command/lifeboat) +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "fXN" = ( /obj/effect/landmark/start/marine/delta, /obj/effect/landmark/late_join/delta, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/delta) +"fXP" = ( +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "silver" + }, +/area/almayer/command/cichallway) +"fXZ" = ( +/obj/docking_port/stationary/emergency_response/port3, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "fYb" = ( /turf/open/floor/almayer{ dir = 8; @@ -36464,40 +33675,37 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/cichallway) -"fYn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 +"fYN" = ( +/obj/structure/sign/safety/water{ + pixel_x = 8; + pixel_y = -32 }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" + icon_state = "plate" }, -/area/almayer/shipboard/brig/processing) -"fYG" = ( +/area/almayer/hull/lower_hull/stern) +"fYZ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/squads/req) +"fZl" = ( /turf/open/floor/almayer{ - dir = 10; icon_state = "orange" }, -/area/almayer/engineering/engine_core) -"fYX" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/secure_data{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" +/area/almayer/engineering/lower/engine_core) +"fZo" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 }, -/area/almayer/shipboard/brig/chief_mp_office) -"fYZ" = ( /obj/effect/decal/warning_stripes{ - icon_state = "W" + icon_state = "SE-out"; + pixel_x = 2 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/squads/req) +/area/almayer/hallways/upper/starboard) "fZq" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -36518,12 +33726,40 @@ icon_state = "plate" }, /area/almayer/hallways/port_hallway) +"fZA" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 9 + }, +/obj/structure/machinery/meter, +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower) "fZF" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_s) +"fZG" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"fZX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "fZZ" = ( /obj/effect/landmark/start/marine/medic/bravo, /obj/effect/landmark/late_join/bravo, @@ -36546,6 +33782,15 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) +"gax" = ( +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "gaJ" = ( /turf/closed/wall/almayer, /area/almayer/shipboard/brig/cryo) @@ -36625,22 +33870,23 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"gbQ" = ( -/obj/structure/toilet{ - dir = 8 +"gbw" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/corporateliason) -"gbX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +/area/almayer/shipboard/brig/processing) +"gbO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera" }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) +/obj/structure/closet/emcloset, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_p) "gcc" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -36650,25 +33896,29 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"gcw" = ( -/obj/structure/bed/chair/comfy/bravo, +"gcm" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/light, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 9; + icon_state = "red" }, -/area/almayer/living/briefing) -"gcK" = ( -/obj/structure/machinery/light/small{ - dir = 1 +/area/almayer/hallways/upper/port) +"gcq" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, -/obj/structure/prop/invuln/overhead_pipe{ - pixel_x = 12 +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 }, -/obj/structure/prop/invuln/overhead_pipe{ - pixel_x = 12; - pixel_y = 12 +/turf/open/floor/almayer{ + icon_state = "test_floor4" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/hallways/upper/starboard) "gcN" = ( /obj/structure/machinery/door/airlock/almayer/command{ access_modified = 1; @@ -36710,15 +33960,6 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"gdo" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "gdp" = ( /obj/structure/bed/chair{ dir = 4 @@ -36737,6 +33978,12 @@ icon_state = "silvercorner" }, /area/almayer/hallways/repair_bay) +"gdJ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "gdS" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -36795,20 +34042,6 @@ icon_state = "orangecorner" }, /area/almayer/hallways/stern_hallway) -"geX" = ( -/obj/structure/pipes/vents/scrubber, -/obj/structure/sign/safety/ammunition{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/structure/sign/safety/hazard{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "gfk" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -36822,6 +34055,18 @@ }, /turf/open/floor/almayer, /area/almayer/squads/delta) +"gfq" = ( +/obj/structure/closet/secure_closet/fridge/groceries, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/grunt_rnr) +"gfs" = ( +/obj/effect/landmark/yautja_teleport, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "gfu" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -36839,10 +34084,23 @@ /obj/structure/machinery/recharge_station, /turf/open/floor/plating, /area/almayer/command/airoom) -"gfK" = ( -/obj/structure/bed/chair/comfy/blue, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) +"gfG" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) +"gfN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "gfS" = ( /obj/structure/sign/safety/cryo{ pixel_y = -26 @@ -36908,13 +34166,13 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) "ghX" = ( -/obj/structure/machinery/shower{ - dir = 8 +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 14" }, -/obj/item/toy/inflatable_duck, -/obj/structure/window/reinforced, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "gio" = ( /obj/structure/closet/emcloset, /obj/structure/sign/safety/restrictedarea{ @@ -36936,9 +34194,6 @@ icon_state = "orange" }, /area/almayer/squads/bravo) -"gir" = ( -/turf/closed/wall/almayer/reinforced, -/area/almayer/engineering/engineering_workshop) "giB" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -36948,19 +34203,19 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) -"giZ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 +"giR" = ( +/obj/structure/machinery/status_display{ + pixel_y = -30 }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 4 }, -/obj/effect/landmark/start/warden, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 10; + icon_state = "silver" }, -/area/almayer/shipboard/brig/cryo) +/area/almayer/shipboard/brig/cic_hallway) "gjm" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -37051,19 +34306,16 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) +"gka" = ( +/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/hull/lower_hull/l_f_s) "gks" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"gkJ" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "gkK" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/surface/table/reinforced/almayer_B, @@ -37113,6 +34365,19 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"glH" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 2; + name = "\improper Engineering Workshop" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/workshop) "glM" = ( /obj/structure/window/reinforced{ dir = 8; @@ -37142,16 +34407,6 @@ icon_state = "plate" }, /area/almayer/shipboard/starboard_point_defense) -"gmp" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/living/briefing) "gms" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -37170,19 +34425,15 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"gnz" = ( -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 - }, -/obj/structure/sign/safety/airlock{ - pixel_x = 32; - pixel_y = -8 +"gob" = ( +/obj/structure/closet/fireaxecabinet{ + pixel_y = 32 }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "red" }, -/area/almayer/hull/lower_hull/l_a_s) +/area/almayer/shipboard/brig/main_office) "goj" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 2; @@ -37222,17 +34473,6 @@ icon_state = "test_floor4" }, /area/almayer/living/port_emb) -"goD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "goL" = ( /turf/open/floor/almayer{ dir = 10; @@ -37279,15 +34519,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) -"gqF" = ( -/obj/structure/machinery/photocopier, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) "gqK" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -37304,18 +34535,9 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) -"gqW" = ( -/obj/structure/surface/table/almayer, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) -"grl" = ( -/obj/effect/landmark/crap_item, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, +"grF" = ( +/obj/structure/pipes/vents/scrubber, +/turf/open/floor/almayer, /area/almayer/shipboard/brig/main_office) "grG" = ( /obj/structure/sign/safety/restrictedarea{ @@ -37332,15 +34554,19 @@ icon_state = "orangecorner" }, /area/almayer/living/briefing) -"grX" = ( -/obj/structure/machinery/light/small{ - dir = 4 +"gsd" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/hand_labeler{ + pixel_x = 7 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = -6 }, /turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" + dir = 1; + icon_state = "orange" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/engineering/lower/workshop/hangar) "gsg" = ( /obj/structure/pipes/vents/pump, /obj/structure/mirror{ @@ -37366,6 +34592,16 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) +"gsi" = ( +/obj/structure/sign/safety/nonpress_0g{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "gsm" = ( /obj/structure/machinery/status_display{ pixel_x = -32 @@ -37374,6 +34610,13 @@ /obj/effect/landmark/late_join, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/cryo_cells) +"gsC" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "gsH" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ dir = 1; @@ -37391,6 +34634,12 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_p) +"gsM" = ( +/obj/structure/machinery/portable_atmospherics/powered/pump, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "gsZ" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = 2; @@ -37427,6 +34676,19 @@ icon_state = "sterile_green" }, /area/almayer/medical/lockerroom) +"gtU" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 8 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = -17; + pixel_y = 17 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "guc" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 @@ -37435,16 +34697,15 @@ icon_state = "green" }, /area/almayer/hallways/port_hallway) -"guC" = ( -/obj/item/paper_bin/wy, -/obj/structure/surface/table/woodentable/fancy, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/clicky, -/obj/structure/machinery/status_display{ - pixel_x = -32 +"guo" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/lifeboat_pumps/south2) "guS" = ( /obj/structure/reagent_dispensers/fueltank/custom, /turf/open/floor/almayer{ @@ -37507,6 +34768,20 @@ icon_state = "green" }, /area/almayer/squads/req) +"gvW" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/hull/upper_hull/u_f_p) +"gwj" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "gwm" = ( /obj/structure/largecrate/random/case/small, /obj/item/device/taperecorder{ @@ -37533,15 +34808,6 @@ icon_state = "bluecorner" }, /area/almayer/living/basketball) -"gwu" = ( -/obj/structure/machinery/light, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/command/lifeboat) "gww" = ( /obj/structure/bed/chair, /obj/structure/machinery/light{ @@ -37600,12 +34866,6 @@ /obj/structure/surface/table/reinforced/black, /turf/open/floor/carpet, /area/almayer/command/cichallway) -"gwW" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "gwY" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ dir = 1; @@ -37644,6 +34904,12 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_p) +"gxn" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "gxr" = ( /obj/structure/largecrate/random/barrel/green, /obj/structure/sign/safety/maint{ @@ -37671,23 +34937,12 @@ /area/almayer/medical/containment/cell) "gxU" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/status_display{ - pixel_y = -30 - }, -/obj/structure/machinery/computer/emails{ - dir = 4 - }, +/obj/item/toy/deck, /turf/open/floor/almayer{ dir = 10; icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"gye" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer/uniform_vendors, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/cic) "gyt" = ( /obj/item/storage/firstaid/regular, /obj/structure/surface/rack, @@ -37747,6 +35002,13 @@ icon_state = "orange" }, /area/almayer/engineering/ce_room) +"gyU" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north2) "gzn" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 8 @@ -37772,17 +35034,9 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"gzr" = ( -/obj/structure/stairs/perspective{ - dir = 8; - icon_state = "p_stair_full" - }, -/obj/structure/platform, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) +"gzq" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/engine_core) "gzw" = ( /obj/structure/closet/hydrant{ pixel_x = 30 @@ -37843,6 +35097,11 @@ icon_state = "emeraldfull" }, /area/almayer/living/briefing) +"gAk" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/corporateliaison) "gAl" = ( /obj/structure/machinery/light{ dir = 8 @@ -37890,21 +35149,18 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"gBi" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "gBo" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"gBM" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "gBW" = ( /obj/structure/machinery/floodlight/landing{ name = "bolted floodlight" @@ -37940,17 +35196,19 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"gCI" = ( -/obj/structure/machinery/light{ - dir = 4 +"gCB" = ( +/obj/structure/machinery/power/apc/almayer/hardened{ + cell_type = /obj/item/cell/hyper; + dir = 1 }, -/obj/structure/machinery/cryopod/right{ - pixel_y = 6 +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 }, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "mono" }, -/area/almayer/shipboard/brig/cryo) +/area/almayer/lifeboat_pumps/north2) "gCP" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/flashlight/lamp, @@ -37959,16 +35217,43 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"gDq" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 +"gDp" = ( +/obj/structure/machinery/light{ + dir = 4 }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 2 +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) +"gDt" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/crew/alt{ + dir = 4 + }, +/obj/structure/transmitter/rotary/no_dnd{ + name = "Brig Cells Telephone"; + phone_category = "MP Dept."; + phone_id = "Brig Cells"; + pixel_x = 16 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"gDH" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 }, /turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) +/area/almayer/engineering/lower/engine_core) +"gDP" = ( +/obj/structure/closet/crate, +/obj/item/ammo_box/magazine/l42a, +/obj/item/ammo_box/magazine/l42a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "gDW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38002,32 +35287,12 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) -"gEI" = ( -/obj/item/device/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/door_control/cl/office/evac{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/structure/machinery/door_control/cl/office/divider{ - pixel_x = -5; - pixel_y = -3 - }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) -"gEK" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +"gEC" = ( +/obj/structure/machinery/suit_storage_unit/carbon_unit, +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/engineering/lower) "gFa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -38057,6 +35322,16 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"gFP" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/shipboard/stern_point_defense) +"gFR" = ( +/obj/structure/machinery/light, +/obj/structure/machinery/cm_vending/gear/commanding_officer, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/living/commandbunks) "gGf" = ( /obj/structure/machinery/light{ dir = 1 @@ -38065,38 +35340,22 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"gGl" = ( +"gGp" = ( /obj/structure/surface/table/almayer, -/obj/item/device/taperecorder, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) -"gGo" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/obj/structure/prop/holidays/string_lights{ - dir = 8; - pixel_x = 29 - }, -/obj/item/reagent_container/food/condiment/hotsauce/cholula{ - pixel_x = 10; - pixel_y = 14 +/obj/item/clothing/mask/cigarette/pipe{ + pixel_x = 8 }, -/obj/item/trash/USCMtray{ +/obj/structure/transmitter/rotary{ + name = "Reporter Telephone"; + phone_category = "Almayer"; + phone_id = "Reporter"; pixel_x = -4; - pixel_y = 4 - }, -/obj/item/reagent_container/food/snacks/hotdog{ - pixel_x = -7; - pixel_y = 5 + pixel_y = 6 }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/living/briefing) +/area/almayer/command/combat_correspondent) "gGr" = ( /obj/structure/machinery/vending/cigarette, /turf/open/floor/almayer{ @@ -38162,12 +35421,39 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"gHh" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) +"gHj" = ( +/obj/structure/machinery/light, +/obj/structure/closet/secure_closet/fridge/groceries/stock, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/grunt_rnr) +"gHl" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "gHo" = ( /obj/structure/machinery/door/airlock/almayer/marine/delta/tl, /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/squads/delta) +"gHt" = ( +/obj/structure/bed/chair/bolted, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "gHZ" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -38203,6 +35489,24 @@ /obj/structure/largecrate/random/barrel/red, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) +"gIU" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/tapes{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/storage/box/tapes{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/storage/box/tapes{ + pixel_x = 1; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/evidence_storage) "gJd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38213,28 +35517,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) -"gJq" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/box/mousetraps, -/obj/structure/sign/safety/high_rad{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) -"gJs" = ( -/obj/structure/machinery/cm_vending/sorted/cargo_ammo/cargo/blend, -/turf/open/floor/almayer{ - icon_state = "green" +"gJO" = ( +/obj/structure/surface/table/reinforced/almayer_B, +/obj/structure/machinery/door/window/southleft{ + desc = "A window, that is also a door. A windoor if you will. This one is stronger."; + health = 500; + name = "Reinforced Glass door"; + req_one_access_txt = "2;35" }, -/area/almayer/squads/req) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "gJP" = ( /obj/structure/machinery/light, /obj/structure/disposalpipe/segment{ @@ -38244,6 +35536,16 @@ icon_state = "green" }, /area/almayer/living/offices) +"gKd" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "gKB" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/structure/machinery/firealarm{ @@ -38263,13 +35565,6 @@ icon_state = "redfull" }, /area/almayer/shipboard/port_missiles) -"gKH" = ( -/obj/item/trash/uscm_mre, -/obj/structure/bed/chair/comfy/charlie, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "gKJ" = ( /obj/structure/machinery/vending/cola{ density = 0; @@ -38334,6 +35629,10 @@ icon_state = "cargo" }, /area/almayer/engineering/upper_engineering/port) +"gLD" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "gLE" = ( /obj/structure/platform{ dir = 1 @@ -38350,6 +35649,23 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"gLG" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) +"gLN" = ( +/obj/structure/machinery/light, +/obj/structure/flora/pottedplant{ + pixel_x = -1; + pixel_y = 3 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "gLZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -38374,16 +35690,15 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"gMf" = ( -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, +"gMd" = ( +/obj/structure/surface/table/almayer, +/obj/item/clipboard, +/obj/item/tool/lighter, +/obj/item/device/flashlight/lamp, /turf/open/floor/almayer{ - dir = 4; - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/engineering/lower/workshop) "gMx" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating/plating_catwalk, @@ -38439,21 +35754,6 @@ dir = 4 }, /area/almayer/living/briefing) -"gNd" = ( -/obj/structure/machinery/cm_vending/sorted/tech/comp_storage, -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) -"gNi" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "gNp" = ( /turf/open/floor/almayer{ dir = 9; @@ -38479,18 +35779,28 @@ /obj/effect/spawner/random/tool, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"gOm" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 +"gNG" = ( +/obj/structure/surface/table/almayer, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" }, -/obj/structure/bed/chair/comfy/bravo{ - dir = 4 +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) +"gNO" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "orange" }, -/area/almayer/living/briefing) +/area/almayer/engineering/lower) "gOs" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -38518,6 +35828,20 @@ icon_state = "silver" }, /area/almayer/command/airoom) +"gOC" = ( +/obj/structure/machinery/recharge_station, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/almayer/engineering/lower) +"gOR" = ( +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "gPc" = ( /obj/structure/machinery/power/terminal{ dir = 1 @@ -38551,32 +35875,14 @@ icon_state = "orange" }, /area/almayer/hallways/stern_hallway) -"gQl" = ( +"gQk" = ( /obj/structure/surface/table/almayer, -/obj/item/reagent_container/glass/bucket{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/reagent_container/glass/bucket{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/reagent_container/glass/bucket{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/reagent_container/glass/bucket{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - icon_state = "orange" +/obj/structure/sign/safety/terminal{ + pixel_x = -17 }, -/area/almayer/engineering/engineering_workshop/hangar) +/obj/structure/machinery/faxmachine/corporate/liaison, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "gQF" = ( /obj/structure/bed/chair/comfy{ buckling_y = 2; @@ -38612,14 +35918,17 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"gSi" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/almayer_network, -/obj/item/storage/box/tapes{ - pixel_x = -16 +"gSa" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "gSj" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -38647,37 +35956,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) -"gSV" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera"; - pixel_y = 6 - }, -/obj/structure/sign/safety/biolab{ - pixel_x = -17; - pixel_y = -8 - }, -/obj/structure/sign/safety/hvac_old{ - pixel_x = -17; - pixel_y = 6 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/cells) -"gTl" = ( -/obj/structure/pipes/vents/pump{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/cryo) -"gTx" = ( -/obj/structure/machinery/vending/security, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "gTH" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/computer/skills{ @@ -38701,14 +35979,15 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"gUr" = ( -/obj/item/stack/folding_barricade/three, -/obj/item/stack/folding_barricade/three, -/obj/structure/surface/rack, +"gUg" = ( +/obj/structure/machinery/vending/coffee, +/obj/structure/machinery/light{ + dir = 4 + }, /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "plate" }, -/area/almayer/hull/lower_hull/l_f_s) +/area/almayer/shipboard/brig/general_equipment) "gUv" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -38726,14 +36005,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"gUI" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/pen, -/obj/item/paper_bin/uscm, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "gUL" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -38759,6 +36030,18 @@ icon_state = "cargo_arrow" }, /area/almayer/command/airoom) +"gUS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/escapepod{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "gUV" = ( /turf/open/floor/almayer{ icon_state = "redcorner" @@ -38768,18 +36051,6 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/north2) -"gVm" = ( -/obj/structure/bed/chair/comfy/bravo{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/arcturianstopsign{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "gVq" = ( /obj/structure/machinery/light, /obj/effect/decal/warning_stripes{ @@ -38790,6 +36061,22 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/containment) +"gVu" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 4 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1 + }, +/obj/item/reagent_container/food/snacks/grown/banana{ + pixel_x = 18; + pixel_y = 5 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "gVA" = ( /obj/structure/disposalpipe/down/almayer{ dir = 8; @@ -38803,6 +36090,11 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) +"gWu" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "gWE" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/start/marine/spec/alpha, @@ -38840,19 +36132,6 @@ icon_state = "mono" }, /area/almayer/medical/upper_medical) -"gXq" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "gXs" = ( /obj/effect/step_trigger/ares_alert/terminals, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -38867,24 +36146,27 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) -"gXv" = ( -/obj/structure/sign/safety/nonpress_0g{ - pixel_x = 32 +"gXx" = ( +/obj/structure/bed/chair{ + dir = 8 }, /turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" + dir = 8; + icon_state = "silvercorner" }, -/area/almayer/hull/lower_hull/l_a_p) -"gXY" = ( -/obj/structure/machinery/light{ +/area/almayer/shipboard/brig/cic_hallway) +"gXB" = ( +/obj/structure/pipes/vents/pump, +/obj/structure/bed/chair/comfy/delta{ dir = 8 }, /turf/open/floor/almayer{ - dir = 10; - icon_state = "orange" + icon_state = "bluefull" }, -/area/almayer/engineering/lower_engineering) +/area/almayer/living/briefing) +"gXZ" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/hull/lower_hull/stern) "gYe" = ( /obj/structure/machinery/vending/sea, /turf/open/floor/almayer{ @@ -39013,6 +36295,12 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) +"haz" = ( +/obj/structure/machinery/floodlight, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "haB" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -39026,6 +36314,18 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"haD" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "haM" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/constructable_frame, @@ -39052,6 +36352,14 @@ icon_state = "green" }, /area/almayer/hallways/port_hallway) +"hbs" = ( +/obj/structure/surface/table/almayer, +/obj/item/frame/fire_alarm, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "hbu" = ( /obj/structure/bed/chair{ dir = 1 @@ -39061,19 +36369,16 @@ icon_state = "silver" }, /area/almayer/living/auxiliary_officer_office) -"hbZ" = ( -/obj/structure/surface/table/almayer, -/obj/structure/sign/safety/terminal{ - pixel_x = -17 - }, -/obj/structure/machinery/computer/working_joe{ - dir = 4 +"hbI" = ( +/obj/structure/sign/safety/ammunition{ + pixel_x = 32; + pixel_y = 7 }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, /turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" + icon_state = "redfull" }, -/area/almayer/engineering/engine_core) +/area/almayer/medical/upper_medical) "hcf" = ( /obj/item/bedsheet/brown{ layer = 3.2 @@ -39129,12 +36434,6 @@ icon_state = "plate" }, /area/almayer/living/cryo_cells) -"hcC" = ( -/obj/structure/disposalpipe/up/almayer{ - id = "almayerlink_OT_req" - }, -/turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "hcI" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -39146,21 +36445,22 @@ "hcZ" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) +"hdb" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_s) "hdd" = ( /turf/open/floor/almayer{ dir = 9; icon_state = "red" }, /area/almayer/shipboard/starboard_missiles) -"hdg" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "hdh" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -39220,19 +36520,27 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) -"heg" = ( -/obj/structure/machinery/floodlight, -/turf/open/floor/almayer{ - icon_state = "plate" +"heo" = ( +/obj/structure/machinery/power/apc/almayer{ + cell_type = /obj/item/cell/hyper; + dir = 1 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = -15; + pixel_y = 25 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -2 }, -/area/almayer/engineering/engine_core) -"hey" = ( -/obj/effect/decal/cleanable/blood/oil/streak, -/obj/structure/machinery/sentry_holder/almayer, /turf/open/floor/almayer{ - icon_state = "mono" + icon_state = "plate" }, -/area/almayer/lifeboat_pumps/south1) +/area/almayer/shipboard/brig/armory) "heK" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; @@ -39242,20 +36550,12 @@ icon_state = "test_floor4" }, /area/almayer/living/port_emb) -"heQ" = ( -/obj/structure/bed/chair, -/obj/structure/extinguisher_cabinet{ - pixel_y = 26 - }, -/obj/structure/sign/safety/cryo{ - pixel_x = 21; - pixel_y = 27 - }, +"heS" = ( +/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" + icon_state = "orange" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/engineering/lower) "heV" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -39282,41 +36582,26 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) +"hfb" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/engine_core) "hfk" = ( /obj/item/trash/crushed_cup, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"hfw" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22" - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/command/lifeboat) "hfy" = ( /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) -"hfO" = ( -/obj/structure/surface/table/almayer, -/obj/item/reagent_container/spray/cleaner, -/obj/item/frame/light_fixture, -/obj/item/frame/light_fixture, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "hfQ" = ( /obj/structure/window/framed/almayer, /turf/open/floor/almayer{ @@ -39347,12 +36632,15 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"hgt" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 4 +"hgo" = ( +/obj/structure/machinery/light{ + dir = 8 }, -/turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/turf/open/floor/almayer{ + dir = 10; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "hgB" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/intel, @@ -39361,21 +36649,21 @@ icon_state = "silvercorner" }, /area/almayer/command/computerlab) -"hgF" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 +"hgD" = ( +/obj/structure/reagent_dispensers/fueltank/gas/hydrogen{ + anchored = 1 }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera" +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/execution) +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "hgH" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 1; @@ -39393,6 +36681,17 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"hgV" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 15" + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "hgZ" = ( /obj/structure/machinery/door_control{ dir = 1; @@ -39433,12 +36732,31 @@ /obj/structure/bed/sofa/vert/grey/bot, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"hhW" = ( +/obj/structure/surface/rack, +/obj/item/storage/box/gloves{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/masks, +/turf/open/floor/almayer{ + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/surgery) "hif" = ( /obj/structure/machinery/floodlight/landing, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hallways/hangar) +"hip" = ( +/obj/item/device/multitool, +/obj/structure/platform_decoration, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "hit" = ( /obj/structure/surface/table/almayer, /obj/item/storage/bag/trash{ @@ -39449,12 +36767,14 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"hiB" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 +"hiy" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/lifeboat_pumps/north1) "hiM" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -39462,13 +36782,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) -"hiN" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer, -/area/almayer/command/lifeboat) "hiQ" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -39519,13 +36832,15 @@ icon_state = "test_floor4" }, /area/almayer/living/grunt_rnr) -"hjT" = ( -/obj/structure/bed/chair/comfy/alpha, -/obj/effect/decal/cleanable/dirt, +"hjM" = ( +/obj/structure/bed/chair/bolted{ + dir = 8 + }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 4; + icon_state = "redcorner" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/processing) "hki" = ( /obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, /turf/open/floor/almayer{ @@ -39576,12 +36891,45 @@ icon_state = "silver" }, /area/almayer/command/cic) -"hlq" = ( -/obj/structure/machinery/door_control/cl/office/door{ - pixel_y = 25 +"hkH" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/recharger, +/obj/structure/machinery/door_control{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutters"; + pixel_x = 16; + req_access_txt = "3" + }, +/obj/structure/machinery/door_control{ + id = "Brig Lockdown Shutters"; + name = "Brig Lockdown Shutters"; + pixel_x = 16; + pixel_y = 8; + req_access_txt = "3" + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"hkX" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/device/flashlight/lamp/green{ + pixel_x = -7; + pixel_y = 20 + }, +/obj/item/ashtray/bronze{ + pixel_x = 4; + pixel_y = 19 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/landmark/map_item{ + pixel_x = -1; + pixel_y = 3 }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/living/commandbunks) "hlw" = ( /obj/structure/platform_decoration{ dir = 4 @@ -39595,12 +36943,35 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) +"hlH" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "hlI" = ( /obj/structure/girder, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"hlT" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "hlU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -39651,6 +37022,30 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/hydroponics) +"hmj" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) +"hmw" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "hmy" = ( /obj/structure/machinery/light{ dir = 1 @@ -39683,6 +37078,20 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha_bravo_shared) +"hmG" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/security/glass{ + name = "\improper Brig Breakroom" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + layer = 1.9 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/main_office) "hmS" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer{ @@ -39704,17 +37113,19 @@ icon_state = "sterile_green" }, /area/almayer/medical/hydroponics) -"hnH" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/prop/magazine/boots/n117{ - pixel_x = 2; - pixel_y = 5 +"hnI" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic2{ + access_modified = 1; + name = "\improper Flight Crew Quarters"; + req_one_access_txt = "19;22" }, /turf/open/floor/almayer{ - icon_state = "bluefull" + icon_state = "test_floor4" }, -/area/almayer/living/briefing) +/area/almayer/living/pilotbunks) "hnV" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -39744,25 +37155,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) -"hpf" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10" - }, -/obj/structure/closet/secure_closet/cmdcabinet{ - pixel_y = 24; - desc = "A bulletproof cabinet containing communications equipment."; - name = "communications cabinet"; - req_access = null; - req_one_access_txt = "207;203" - }, -/obj/item/device/radio, -/obj/item/device/radio/listening_bug/radio_linked/wy, -/obj/item/device/radio/listening_bug/radio_linked/wy{ - pixel_x = 4; - pixel_y = -3 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "hpk" = ( /obj/structure/sign/safety/fire_haz{ pixel_x = 8; @@ -39798,6 +37190,11 @@ }, /turf/open/floor/almayer, /area/almayer/living/chapel) +"hqc" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "hqh" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -39819,6 +37216,31 @@ icon_state = "cargo" }, /area/almayer/hull/lower_hull/l_f_s) +"hqJ" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21" + }, +/obj/structure/sign/poster{ + desc = "A large piece of cheap printed paper. This one proudly demands that you REMEMBER IO!"; + icon_state = "poster14"; + name = "propaganda poster"; + pixel_y = 32 + }, +/obj/structure/sign/safety/escapepod{ + pixel_x = -17 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"hqU" = ( +/obj/structure/bed/chair{ + dir = 8; + pixel_y = 3 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "hqW" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ name = "\improper Medical Bay"; @@ -39875,15 +37297,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"hrX" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/obj/structure/machinery/light{ - dir = 1 +"hrO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/almayer{ - icon_state = "cargo" +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 }, -/area/almayer/engineering/engine_core) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) "hsg" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -39894,6 +37316,15 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"hsj" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "hsr" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/starboard) @@ -39902,6 +37333,9 @@ icon_state = "test_floor4" }, /area/almayer/squads/delta) +"hsy" = ( +/turf/closed/wall/almayer/reinforced, +/area/almayer/engineering/lower/engine_core) "hsW" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -39918,6 +37352,18 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/starboard) +"htG" = ( +/obj/item/tool/soap, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/engineering/upper_engineering/port) "htI" = ( /obj/structure/platform_decoration{ dir = 1 @@ -39934,6 +37380,15 @@ icon_state = "greenfull" }, /area/almayer/living/offices) +"htP" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "huK" = ( /turf/open/floor/almayer{ icon_state = "redcorner" @@ -39949,18 +37404,6 @@ icon_state = "silver" }, /area/almayer/command/computerlab) -"huR" = ( -/obj/structure/sign/prop1{ - pixel_y = 32 - }, -/obj/structure/filingcabinet/security{ - pixel_x = -8 - }, -/obj/structure/filingcabinet/medical{ - pixel_x = 8 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "huU" = ( /obj/structure/machinery/door/airlock/almayer/security{ access_modified = 1; @@ -40024,6 +37467,16 @@ /obj/effect/landmark/start/professor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) +"hwd" = ( +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/structure/surface/table/almayer, +/obj/item/fuelCell, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "hwC" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -40033,22 +37486,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) -"hwQ" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/execution) -"hwS" = ( -/obj/structure/bed/chair/comfy/black{ - dir = 1 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/chief_mp_office) "hxe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40062,20 +37499,6 @@ /obj/structure/surface/table/reinforced/black, /turf/open/floor/almayer, /area/almayer/command/cic) -"hxp" = ( -/obj/structure/surface/table/almayer, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "hxG" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -40142,21 +37565,6 @@ icon_state = "plate" }, /area/almayer/living/offices) -"hyz" = ( -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/processing) "hyE" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -40171,6 +37579,13 @@ "hyQ" = ( /turf/closed/wall/almayer, /area/almayer/living/synthcloset) +"hzb" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4; + icon_state = "exposed01-supply" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/command/combat_correspondent) "hzc" = ( /turf/closed/wall/almayer/outer, /area/almayer/engineering/upper_engineering/notunnel) @@ -40195,41 +37610,6 @@ icon_state = "cargo" }, /area/almayer/squads/delta) -"hzx" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "\improper Chief MP's Office"; - req_access = null; - req_one_access_txt = "1;3" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 4; - id = "CMP Office Shutters"; - name = "\improper Privacy Shutters" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/chief_mp_office) -"hzJ" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" - }, -/obj/structure/machinery/door/poddoor/almayer/locked{ - id = "Cell 1"; - name = "\improper Courtyard Divider" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/cells) "hzL" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -40241,7 +37621,8 @@ dir = 4 }, /obj/structure/machinery/door/airlock/almayer/command/reinforced{ - name = "\improper Combat Information Center" + name = "\improper Combat Information Center"; + closeOtherId = "ciclobby_s" }, /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -40297,6 +37678,14 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"hAY" = ( +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "hAZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -40338,6 +37727,12 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"hBL" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/command/lifeboat) "hBU" = ( /obj/structure/largecrate/random/secure, /obj/effect/decal/warning_stripes{ @@ -40347,25 +37742,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"hBW" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/device/flashlight/lamp/green{ - pixel_x = -7; - pixel_y = 20 - }, -/obj/item/ashtray/bronze{ - pixel_x = 4; - pixel_y = 19 - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/effect/landmark/map_item{ - pixel_x = -1; - pixel_y = 3 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "hCo" = ( /obj/structure/surface/table/almayer, /obj/structure/flora/pottedplant{ @@ -40405,6 +37781,14 @@ icon_state = "plate" }, /area/almayer/medical/lower_medical_medbay) +"hCV" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "hDv" = ( /obj/effect/landmark/start/reporter, /turf/open/floor/plating/plating_catwalk, @@ -40438,6 +37822,13 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) +"hDV" = ( +/obj/structure/surface/table/almayer, +/obj/effect/landmark/map_item, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "hDX" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -40453,6 +37844,12 @@ icon_state = "plate" }, /area/almayer/squads/bravo) +"hEl" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "hEt" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/glass/bucket/mopbucket{ @@ -40471,6 +37868,15 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"hEw" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 10 + }, +/obj/structure/machinery/meter, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "hEV" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -40504,29 +37910,19 @@ /obj/structure/largecrate/random/barrel/red, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) -"hFX" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/bed/chair/comfy/bravo{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) -"hGa" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) "hGD" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) +"hGG" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "hGN" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -40553,12 +37949,31 @@ icon_state = "silver" }, /area/almayer/living/briefing) +"hGV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "hGZ" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"hHe" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "hHl" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/pouch/general/large, @@ -40607,23 +38022,16 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"hIt" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/tool/kitchen/tray{ - pixel_y = 9 - }, -/obj/item/device/flashlight/lamp{ - pixel_x = 15 - }, -/obj/item/reagent_container/food/snacks/meatpizzaslice{ - pixel_x = -5; - pixel_y = 7 +"hIs" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 2 }, /turf/open/floor/almayer{ - icon_state = "emeraldfull" + icon_state = "dark_sterile" }, -/area/almayer/living/briefing) +/area/almayer/command/corporateliaison) "hII" = ( /obj/structure/machinery/cm_vending/gear/tl{ density = 0; @@ -40638,36 +38046,21 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"hIL" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - access_modified = 1; - req_access_txt = "200"; - req_one_access = null - }, -/obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/backdoor, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/corporateliason) "hJb" = ( /obj/item/tool/pen, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) -"hJh" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/emails{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/structure/machinery/light/small{ - dir = 1 +"hJg" = ( +/obj/structure/pipes/trinary/mixer{ + dir = 4; + name = "Gas mixer N2/O2" }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "orange" }, -/area/almayer/command/combat_correspondent) +/area/almayer/engineering/lower) "hJk" = ( /obj/structure/stairs/perspective{ dir = 4; @@ -40697,12 +38090,31 @@ }, /turf/closed/wall/almayer, /area/almayer/hull/lower_hull/l_f_s) +"hJI" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "hJJ" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) +"hJN" = ( +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = 7 + }, +/obj/structure/sign/safety/airlock{ + pixel_x = 32; + pixel_y = -8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "hKe" = ( /obj/structure/sign/poster/safety, /turf/closed/wall/almayer, @@ -40736,11 +38148,61 @@ icon_state = "red" }, /area/almayer/shipboard/brig/main_office) -"hKQ" = ( -/turf/open/floor/almayer{ - icon_state = "cargo_arrow" +"hLB" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 }, -/area/almayer/engineering/engineering_workshop/hangar) +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_m_s) "hLC" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer{ @@ -40752,16 +38214,6 @@ icon_state = "red" }, /area/almayer/living/cryo_cells) -"hLO" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "hLS" = ( /obj/structure/machinery/door/airlock/almayer/marine/delta{ dir = 1 @@ -40774,6 +38226,12 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) +"hMc" = ( +/obj/structure/bed/chair/comfy/orange{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/chief_mp_office) "hMi" = ( /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, @@ -40785,6 +38243,10 @@ icon_state = "green" }, /area/almayer/hallways/port_hallway) +"hMG" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer, +/area/almayer/engineering/lower) "hMI" = ( /obj/structure/surface/table/almayer, /obj/item/device/binoculars, @@ -40795,20 +38257,23 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) -"hMJ" = ( -/obj/structure/bed/chair/comfy/bravo{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "hMN" = ( /obj/structure/machinery/power/apc/almayer, /turf/open/floor/almayer{ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_three) +"hNl" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21"; + pixel_y = 16 + }, +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "hNw" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -40816,22 +38281,6 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/squads/charlie) -"hND" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Brig" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/main_office) "hNM" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/sheet/metal{ @@ -40841,19 +38290,23 @@ /obj/item/tool/shovel/etool/folded, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) -"hOe" = ( -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 +"hNP" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Core Hatch" }, -/obj/structure/sign/safety/airlock{ - pixel_x = 32; - pixel_y = -8 +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) +"hNY" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "red" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/brig/chief_mp_office) "hOR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40898,6 +38351,9 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"hPI" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/shipboard/brig/perma) "hPK" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -40935,13 +38391,19 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) -"hQh" = ( +"hQw" = ( /obj/structure/machinery/light, -/obj/structure/closet/secure_closet/fridge/groceries/stock, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 10; + icon_state = "orange" }, -/area/almayer/living/grunt_rnr) +/area/almayer/engineering/lower/engine_core) +"hQP" = ( +/obj/structure/reagent_dispensers/fueltank/custom, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "hQU" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -40987,6 +38449,21 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"hRc" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) "hRd" = ( /obj/structure/machinery/vending/coffee, /turf/open/floor/almayer{ @@ -40999,18 +38476,15 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_p) -"hRy" = ( -/obj/structure/surface/rack, -/obj/item/storage/firstaid/adv{ - pixel_x = 6; - pixel_y = 6 +"hRk" = ( +/obj/structure/machinery/cm_vending/clothing/senior_officer{ + density = 0; + pixel_y = 30 }, -/obj/item/storage/firstaid/regular, /turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" + icon_state = "plate" }, -/area/almayer/shipboard/brig/execution) +/area/almayer/living/numbertwobunks) "hRW" = ( /obj/effect/decal/warning_stripes{ icon_state = "S"; @@ -41134,17 +38608,6 @@ /obj/structure/machinery/light, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"hTy" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 2 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "hTF" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm{ isopen = 1; @@ -41200,6 +38663,29 @@ /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) +"hUk" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) +"hUz" = ( +/obj/structure/largecrate/supply/supplies/mre{ + desc = "A supply crate containing everything you need to stop a CLF uprising."; + name = "\improper USCM crate 'FOB supplies'" + }, +/obj/item/folded_tent/big{ + pixel_x = -6; + pixel_y = 10 + }, +/obj/item/storage/box/mousetraps{ + pixel_x = 3; + pixel_y = 12 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/port_emb) "hUW" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -41305,23 +38791,17 @@ }, /area/almayer/command/cichallway) "hWS" = ( -/obj/structure/closet/secure_closet/fridge/organic/stock, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/structure/machinery/light/small{ + dir = 4 }, -/area/almayer/living/grunt_rnr) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "hWU" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"hWX" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/hull/upper_hull/u_f_p) "hXb" = ( /turf/open/floor/almayer{ dir = 1; @@ -41359,15 +38839,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) -"hXD" = ( +"hXG" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, /obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 + icon_state = "N"; + pixel_y = 2 }, /turf/open/floor/almayer{ - icon_state = "mono" + icon_state = "dark_sterile" }, -/area/almayer/lifeboat_pumps/south1) +/area/almayer/engineering/upper_engineering/port) "hXS" = ( /obj/structure/sign/safety/water{ pixel_x = 8; @@ -41384,6 +38867,17 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"hXX" = ( +/obj/effect/projector{ + name = "Almayer_Down4"; + vector_x = 19; + vector_y = -104 + }, +/turf/open/floor/almayer{ + allow_construction = 0; + icon_state = "plate" + }, +/area/almayer/hallways/upper/port) "hXY" = ( /turf/open/floor/almayer{ dir = 4; @@ -41424,6 +38918,19 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) +"hZe" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/machinery/disposal/delivery{ + density = 0; + desc = "A pneumatic delivery unit. Sends items to the requisitions."; + icon_state = "delivery_engi"; + name = "Requisitions Delivery Unit"; + pixel_y = 28 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "hZj" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -41433,6 +38940,25 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"hZE" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) +"hZJ" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "hZN" = ( /obj/structure/machinery/medical_pod/bodyscanner, /obj/structure/disposalpipe/segment{ @@ -41449,7 +38975,7 @@ "hZU" = ( /obj/structure/transmitter{ name = "Brig Offices Telephone"; - phone_category = "Almayer"; + phone_category = "MP Dept."; phone_id = "Brig Main Offices"; pixel_y = 32 }, @@ -41458,6 +38984,12 @@ icon_state = "red" }, /area/almayer/shipboard/brig/main_office) +"iaa" = ( +/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_mk1_rifle_ap, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/command/cic) "iag" = ( /obj/structure/surface/table/almayer, /obj/item/tool/hand_labeler, @@ -41478,12 +39010,6 @@ icon_state = "plate" }, /area/almayer/command/cichallway) -"iaj" = ( -/obj/structure/bed/chair/comfy/orange{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) "ial" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -41508,12 +39034,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) -"iaE" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_m_s) "iaF" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -41556,23 +39076,23 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"icX" = ( -/obj/structure/machinery/brig_cell/perma_2{ - pixel_x = -32; - pixel_y = -4 +"icM" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/obj/structure/machinery/door_control{ - id = "Perma 2L"; - name = "Perma 2 Lockdown"; - pixel_x = -24; - pixel_y = 12; - req_access_txt = "3" +/obj/structure/machinery/vending/snack{ + density = 0; + pixel_y = 16 }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) +"icZ" = ( +/obj/structure/closet/secure_closet/brig, /turf/open/floor/almayer{ dir = 8; - icon_state = "red" + icon_state = "redcorner" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/shipboard/brig/processing) "idx" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -41585,37 +39105,12 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"idJ" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/paper, -/obj/item/tool/pen{ - pixel_x = -5; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) "idX" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/prison{ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"ieo" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "ieu" = ( /obj/structure/window/reinforced{ dir = 4; @@ -41717,15 +39212,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north1) -"ift" = ( -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/structure/surface/rack, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/engineering/upper_engineering) "ifR" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -41741,28 +39227,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"ign" = ( -/obj/structure/closet/secure_closet/fridge/fish/stock, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) -"igp" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/clothing/glasses/monocle, -/obj/item/reagent_container/food/drinks/coffee{ - pixel_x = -7; - pixel_y = -2 - }, -/obj/item/weapon/pole/fancy_cane{ - pixel_x = 5 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "igr" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -41834,19 +39298,23 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_m_p) -"iii" = ( -/obj/structure/sign/safety/ammunition{ - pixel_x = 15; - pixel_y = -32 +"iis" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 }, -/obj/structure/sign/safety/hazard{ - pixel_y = -32 +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 1; + name = "\improper Brig Prison Yard And Offices"; + closeOtherId = "brigcells" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "test_floor4" }, -/area/almayer/squads/req) +/area/almayer/shipboard/brig/processing) "iit" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -41865,25 +39333,6 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) -"iiz" = ( -/obj/structure/surface/rack, -/obj/item/reagent_container/food/drinks/bottle/sake{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_container/food/drinks/bottle/sake{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/reagent_container/food/drinks/bottle/sake, -/obj/item/reagent_container/food/drinks/bottle/sake{ - pixel_x = -4 - }, -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/corporateliason) "iiC" = ( /obj/structure/sign/safety/maint{ pixel_x = 8; @@ -41913,28 +39362,15 @@ icon_state = "red" }, /area/almayer/hull/upper_hull/u_a_p) -"ijn" = ( -/obj/structure/surface/rack, -/obj/item/reagent_container/food/snacks/monkeycube/wrapped/farwacube{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/reagent_container/food/snacks/monkeycube/wrapped/neaeracube{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/reagent_container/food/snacks/monkeycube/wrapped/stokcube{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/item/reagent_container/food/snacks/monkeycube/wrapped/yirencube{ - pixel_x = 4; - pixel_y = -4 - }, +"ijf" = ( +/obj/structure/surface/table/almayer, +/obj/item/cell/crap, +/obj/item/tool/crowbar, +/obj/structure/machinery/cell_charger, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/engineering/lower/workshop) "ijp" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical, @@ -41943,6 +39379,14 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"ijr" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/living/briefing) "ijQ" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/door_control{ @@ -41966,43 +39410,57 @@ /obj/item/tool/wet_sign, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_s) -"ikM" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/almayer_network, -/obj/structure/machinery/computer/secure_data{ - pixel_x = 17 +"iks" = ( +/obj/structure/pipes/binary/pump/high_power/on{ + dir = 1 }, -/obj/structure/machinery/computer/card{ - pixel_x = -16 +/turf/open/floor/almayer{ + icon_state = "orange" }, -/obj/structure/machinery/light{ - dir = 1 +/area/almayer/engineering/lower) +"ikv" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 4 }, -/obj/structure/sign/safety/terminal{ - pixel_x = 8; - pixel_y = 32 +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "orange" }, -/area/almayer/shipboard/brig/main_office) -"ils" = ( -/obj/structure/window/framed/almayer/hull, -/turf/open/floor/plating, -/area/almayer/hull/upper_hull/u_f_p) -"ilv" = ( -/obj/structure/surface/table/almayer, -/obj/item/folder/black_random{ - pixel_x = 3; - pixel_y = 3 +/area/almayer/engineering/lower) +"ikQ" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/tool/stamp/hop{ + name = "Commanding Officer's rubber stamp"; + pixel_x = -5; + pixel_y = 9 }, -/obj/item/tool/stamp{ - name = "Corporate Liaison's stamp"; - pixel_x = -8; +/obj/item/paper_bin/uscm{ + pixel_x = 7; pixel_y = 6 }, +/obj/item/tool/pen/red/clicky{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/tool/pen/blue/clicky{ + pixel_x = -6; + pixel_y = -3 + }, /turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/living/commandbunks) +"ilq" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) +"ils" = ( +/obj/structure/window/framed/almayer/hull, +/turf/open/floor/plating, +/area/almayer/hull/upper_hull/u_f_p) "ily" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -42051,14 +39509,13 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/living/offices/flight) -"imW" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/almayer{ - icon_state = "plate" +"imJ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 }, -/area/almayer/command/combat_correspondent) +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_p) "ina" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/emails{ @@ -42099,13 +39556,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"inG" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "inL" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -42116,13 +39566,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"inN" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) "ioj" = ( /obj/structure/largecrate/random/barrel/green, /turf/open/floor/almayer{ @@ -42140,9 +39583,38 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) +"ioH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) +"ioP" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/hazard{ + pixel_x = -17; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "ioU" = ( /turf/closed/wall/almayer, /area/almayer/command/securestorage) +"ioV" = ( +/obj/structure/machinery/power/apc/almayer, +/obj/structure/sign/safety/rewire{ + pixel_y = -38 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) "ioX" = ( /turf/open/floor/almayer{ dir = 6; @@ -42215,10 +39687,6 @@ }, /turf/open/floor/almayer, /area/almayer/command/computerlab) -"iqn" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) "iqo" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22" @@ -42239,14 +39707,6 @@ icon_state = "test_floor4" }, /area/almayer/living/auxiliary_officer_office) -"iqx" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_f_p) "iqH" = ( /obj/item/trash/chips{ pixel_x = 9; @@ -42258,6 +39718,15 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"iqR" = ( +/obj/structure/sign/safety/cryo{ + pixel_x = -16 + }, +/obj/structure/machinery/cryopod, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/cryo) "irn" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, @@ -42275,15 +39744,12 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) -"irJ" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, +"irF" = ( +/obj/structure/closet/emcloset/legacy, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "cargo" }, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/shipboard/brig/main_office) "irS" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/cable/heavyduty{ @@ -42310,18 +39776,12 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"isu" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/item/bedsheet/hop{ - pixel_y = 0 - }, -/obj/structure/bed{ - pixel_y = 0 +"ish" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/area/almayer/engineering/lower/workshop) "isC" = ( /obj/effect/projector{ name = "Almayer_AresDown"; @@ -42336,19 +39796,17 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"isH" = ( -/obj/structure/reagent_dispensers/water_cooler/stacks{ - density = 0; - pixel_y = 17 +"isI" = ( +/obj/structure/sign/nosmoking_2{ + pixel_x = 32 }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/lifeboat_pumps/north1) "isN" = ( /obj/structure/sink{ dir = 8; @@ -42360,17 +39818,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/morgue) -"isS" = ( -/obj/item/stack/sheet/cardboard{ - amount = 50 - }, -/obj/structure/surface/rack, -/obj/item/packageWrap, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/squads/req) "isW" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = 25 @@ -42407,6 +39854,18 @@ icon_state = "silver" }, /area/almayer/command/airoom) +"ito" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/machinery/status_display{ + pixel_x = -32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "itR" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -42432,6 +39891,11 @@ /obj/effect/spawner/random/tool, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) +"iup" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "iur" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = 25 @@ -42460,16 +39924,6 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"iuw" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "orange" - }, -/area/almayer/engineering/upper_engineering/port) "iuz" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/warhead, @@ -42477,6 +39931,10 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) +"iuA" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "iuE" = ( /obj/structure/machinery/vending/coffee, /obj/structure/machinery/light{ @@ -42487,16 +39945,11 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"iuT" = ( -/obj/structure/closet/emcloset, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/hull/upper_hull/u_f_s) +"iuG" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "ivf" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/camera, @@ -42537,6 +39990,19 @@ icon_state = "plate" }, /area/almayer/squads/delta) +"ivS" = ( +/obj/structure/machinery/suit_storage_unit/carbon_unit, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) +"iwf" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "iwh" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -42585,10 +40051,31 @@ dir = 8 }, /area/almayer/medical/containment/cell) +"iwV" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + dir = 8; + id = "bot_armory"; + name = "\improper Armory Shutters" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/armory) "iwW" = ( /obj/structure/bed/chair/comfy/beige, /turf/open/floor/carpet, /area/almayer/command/cichallway) +"iwZ" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/fancy/cigarettes/lucky_strikes, +/obj/item/packageWrap, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "green" + }, +/area/almayer/squads/req) "ixj" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/crew/alt, @@ -42648,22 +40135,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"iyq" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 2; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Warden Office" +"iyF" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 9 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 1; + icon_state = "orange" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/engineering/lower) "iyH" = ( /obj/structure/surface/table/reinforced/almayer_B{ climbable = 0; @@ -42703,17 +40183,6 @@ icon_state = "plate" }, /area/almayer/living/offices) -"izr" = ( -/obj/structure/sign/poster/propaganda{ - pixel_x = -27 - }, -/obj/structure/bed/chair/comfy/alpha{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "izx" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ density = 0; @@ -42776,6 +40245,14 @@ icon_state = "orange" }, /area/almayer/hallways/stern_hallway) +"iAE" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "iAT" = ( /obj/structure/sign/safety/south{ pixel_x = -17; @@ -42786,6 +40263,16 @@ icon_state = "blue" }, /area/almayer/hallways/port_hallway) +"iBl" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = 7; + pixel_y = -30 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "iBt" = ( /turf/open/floor/plating, /area/almayer/hull/upper_hull/u_m_p) @@ -42813,19 +40300,6 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"iCe" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/machinery/status_display{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "iCu" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -42924,18 +40398,39 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_a_p) -"iET" = ( +"iEw" = ( /obj/structure/machinery/light{ dir = 1 }, -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) +"iEx" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 26 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"iEz" = ( +/obj/structure/machinery/light, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21"; + pixel_y = 3 + }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) "iFc" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, +/obj/structure/pipes/vents/pump, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/cells) "iFm" = ( @@ -42977,21 +40472,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/shipboard/sea_office) -"iFG" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/bed/chair/comfy/bravo{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/barricade/deployable{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "iFH" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -43071,6 +40551,17 @@ icon_state = "cargo" }, /area/almayer/shipboard/brig/cells) +"iIj" = ( +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" + }, +/obj/structure/platform, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "iIl" = ( /obj/structure/sink{ dir = 8; @@ -43081,18 +40572,6 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"iIm" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 2; - name = "\improper Bathroom" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/living/commandbunks) "iIP" = ( /obj/structure/toilet{ pixel_y = 16 @@ -43204,15 +40683,6 @@ icon_state = "mono" }, /area/almayer/engineering/port_atmos) -"iKX" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/general_equipment) "iKZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -43245,6 +40715,17 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) +"iLo" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/structure/surface/table/almayer, +/obj/item/storage/donut_box, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "iLq" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 @@ -43269,6 +40750,14 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_lobby) +"iLG" = ( +/obj/structure/disposalpipe/junction{ + dir = 1; + icon_state = "pipe-j2" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "iLO" = ( /turf/open/floor/almayer{ dir = 4; @@ -43303,6 +40792,13 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"iNY" = ( +/obj/structure/machinery/status_display{ + pixel_x = 32; + pixel_y = 16 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "iNZ" = ( /obj/structure/machinery/light{ dir = 8 @@ -43314,13 +40810,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"iOh" = ( -/obj/structure/machinery/light/small, -/obj/structure/machinery/status_display{ - pixel_y = -32 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/armory) "iOD" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -43360,17 +40849,16 @@ icon_state = "cargo" }, /area/almayer/squads/alpha) -"iQg" = ( +"iQd" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 4; + icon_state = "pipe-c" }, /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/lobby) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "iQi" = ( /obj/structure/disposalpipe/junction, /obj/structure/pipes/standard/simple/hidden/supply, @@ -43430,6 +40918,25 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"iQB" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/card{ + dir = 4; + layer = 3.2; + pixel_y = 4 + }, +/obj/structure/machinery/computer/secure_data{ + dir = 4; + pixel_y = 23 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "iRr" = ( /obj/structure/machinery/light{ dir = 1 @@ -43526,6 +41033,25 @@ /obj/item/facepaint/black, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/alpha) +"iTd" = ( +/obj/structure/machinery/sentry_holder/almayer, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south2) +"iTe" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/command/lifeboat) "iTf" = ( /obj/structure/closet/crate/trashcart, /obj/item/clothing/gloves/yellow, @@ -43539,6 +41065,12 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"iTl" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "iTw" = ( /obj/structure/bed/chair/comfy{ dir = 4 @@ -43601,6 +41133,14 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) +"iUm" = ( +/obj/structure/closet/emcloset{ + pixel_x = 8 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "iUo" = ( /obj/structure/sign/safety/terminal{ pixel_x = 7; @@ -43622,14 +41162,6 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) -"iUC" = ( -/obj/structure/machinery/faxmachine, -/obj/structure/surface/table/almayer, -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) "iUW" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -43678,16 +41210,17 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) -"iWb" = ( -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = -8 +"iVP" = ( +/obj/structure/sign/safety/restrictedarea{ + pixel_x = -17; + pixel_y = 7 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +/obj/structure/machinery/cm_vending/sorted/marine_food, /turf/open/floor/almayer{ - icon_state = "redfull" + dir = 10; + icon_state = "red" }, -/area/almayer/medical/upper_medical) +/area/almayer/shipboard/brig/processing) "iWc" = ( /obj/structure/surface/table/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -43717,20 +41250,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"iWE" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 - }, -/obj/structure/bed/chair/comfy/bravo{ - dir = 4 - }, -/obj/structure/barricade/deployable{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) "iWL" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -43758,27 +41277,12 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) -"iXd" = ( -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) -"iXt" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) -"iXR" = ( -/obj/structure/bed/chair/comfy/alpha{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" +"iXA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/almayer/living/briefing) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "iXT" = ( /obj/item/trash/uscm_mre, /turf/open/floor/almayer, @@ -43870,15 +41374,6 @@ icon_state = "plate" }, /area/almayer/living/gym) -"iYR" = ( -/obj/structure/closet/secure_closet/bar{ - name = "Success Cabinet"; - req_access_txt = "1" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/captain_mess) "iZg" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -43905,11 +41400,19 @@ icon_state = "silver" }, /area/almayer/command/airoom) -"iZG" = ( -/obj/structure/window/framed/almayer/hull, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/chief_mp_office) +"iZE" = ( +/obj/structure/machinery/cm_vending/sorted/tech/tool_storage, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop/hangar) "iZH" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -43938,6 +41441,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/cells) +"iZV" = ( +/obj/structure/machinery/door_control/cl/quarter/officedoor{ + pixel_x = 25 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "iZX" = ( /obj/structure/surface/rack, /obj/item/clothing/glasses/meson, @@ -43953,6 +41462,22 @@ icon_state = "plate" }, /area/almayer/squads/req) +"jaf" = ( +/obj/structure/bed/chair/comfy/bravo{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster{ + desc = "YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE."; + icon_state = "poster11"; + name = "YOU ALWAYS KNOW A WORKING JOE."; + pixel_x = -27; + serial_number = 11 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "jaj" = ( /obj/item/ammo_box/magazine/misc/mre/empty{ pixel_x = 8; @@ -43974,19 +41499,21 @@ icon_state = "plating" }, /area/almayer/command/airoom) -"jaP" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/almayer_network{ - dir = 1 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 +"jaK" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 }, /turf/open/floor/almayer{ - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/hallways/vehiclehangar) +"jaM" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "jaR" = ( /obj/structure/largecrate/random/mini/small_case/b{ pixel_x = 8; @@ -44035,15 +41562,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"jbB" = ( -/obj/structure/sign/safety/nonpress_0g{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "jbH" = ( /obj/structure/machinery/light{ dir = 8 @@ -44064,6 +41582,40 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) +"jbN" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/item/clothing/mask/cigarette/pipe{ + layer = 2.8; + pixel_y = -7 + }, +/obj/item/reagent_container/spray/cleaner{ + layer = 3.04; + pixel_x = -4; + pixel_y = 7 + }, +/obj/structure/machinery/door_control/brbutton{ + id = "Brig Lockdown Shutters"; + name = "Brig Lockdown"; + pixel_x = -12; + pixel_y = 26 + }, +/obj/structure/machinery/door_control/brbutton{ + id = "ARES StairsLock"; + name = "ARES Exterior Lockdown Override"; + pixel_x = -2; + pixel_y = 26 + }, +/obj/structure/machinery/door_control/brbutton{ + id = "ARES Emergency"; + name = "ARES Emergency Lockdown Override"; + pixel_x = 8; + pixel_y = 26 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "jbO" = ( /obj/structure/machinery/cm_vending/sorted/medical, /turf/open/floor/almayer{ @@ -44080,30 +41632,11 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/shipboard/brig/processing) -"jcK" = ( -/obj/structure/largecrate/random/case/double, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/lower_hull/l_a_p) "jcP" = ( /turf/open/floor/almayer{ icon_state = "plating_striped" }, /area/almayer/engineering/upper_engineering/starboard) -"jcZ" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/command/lifeboat) "jdk" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -44124,13 +41657,6 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"jdy" = ( -/obj/structure/sign/safety/autoopenclose{ - pixel_x = 7; - pixel_y = 32 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_p) "jdG" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -44197,15 +41723,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"jeK" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "cargo_arrow" - }, -/area/almayer/shipboard/brig/general_equipment) "jeO" = ( /obj/structure/machinery/light{ dir = 4 @@ -44255,25 +41772,13 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"jfM" = ( -/obj/structure/machinery/power/monitor{ - name = "Core Power Monitoring" - }, -/obj/structure/sign/safety/terminal{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) "jfY" = ( /obj/structure/surface/table/almayer, /obj/effect/landmark/map_item, /obj/item/folder/red, /obj/structure/transmitter/rotary{ name = "Brig CMP's Office Telephone"; - phone_category = "Offices"; + phone_category = "MP Dept."; phone_id = "Brig CMP's Office"; pixel_x = 15 }, @@ -44332,22 +41837,28 @@ icon_state = "test_floor4" }, /area/almayer/living/auxiliary_officer_office) -"jgu" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 +"jgr" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/camera{ + pixel_x = -8; + pixel_y = 12 }, -/obj/structure/mirror{ - pixel_x = 29 +/obj/item/paper_bin/uscm{ + pixel_x = 6; + pixel_y = 6 }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 +/obj/item/tool/pen{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/storage/box/donkpockets{ + pixel_x = -8; + pixel_y = -1 }, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "plate" }, -/area/almayer/living/captain_mess) +/area/almayer/command/combat_correspondent) "jgw" = ( /obj/structure/sign/safety/nonpress_0g{ pixel_x = 32 @@ -44430,12 +41941,34 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"jhB" = ( +/obj/structure/bookcase{ + icon_state = "book-5"; + name = "medical manuals bookcase"; + opacity = 0 + }, +/obj/item/book/manual/surgery, +/obj/item/book/manual/research_and_development, +/obj/item/book/manual/medical_diagnostics_manual, +/obj/item/book/manual/medical_cloning, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "jhD" = ( /obj/structure/machinery/firealarm{ pixel_y = -28 }, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) +"jhI" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/secure_data{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/chief_mp_office) "jhW" = ( /obj/structure/machinery/cryopod/right, /turf/open/floor/almayer{ @@ -44452,6 +41985,18 @@ icon_state = "silver" }, /area/almayer/hull/upper_hull/u_m_p) +"jic" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/lobby) "jiw" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -44487,6 +42032,19 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) +"jjm" = ( +/obj/structure/closet/secure_closet{ + name = "\improper Lethal Injection Locker" + }, +/obj/item/reagent_container/ld50_syringe/choral, +/obj/item/reagent_container/ld50_syringe/choral, +/obj/item/reagent_container/ld50_syringe/choral, +/obj/item/reagent_container/ld50_syringe/choral, +/obj/item/reagent_container/ld50_syringe/choral, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/execution) "jjn" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/door/window/eastright{ @@ -44509,12 +42067,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/vehiclehangar) -"jjM" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) "jjS" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -44537,6 +42089,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_hallway) +"jjX" = ( +/obj/structure/sign/safety/bulkhead_door{ + pixel_x = -16 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_p) "jjZ" = ( /obj/structure/machinery/light{ dir = 4 @@ -44599,31 +42157,46 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"jkL" = ( +"jkB" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/escapepod{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) +"jkD" = ( /obj/structure/surface/table/almayer, -/obj/item/tool/weldingtool, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_m_s) -"jkS" = ( -/obj/structure/window/framed/almayer/hull/hijack_bustable, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 2; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" +/obj/item/paper_bin/uscm{ + pixel_x = 9; + pixel_y = 6 }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/main_office) -"jkV" = ( -/obj/structure/machinery/light{ - dir = 1 +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 2 }, -/obj/structure/bed/chair/bolted{ - dir = 4 +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/structure/prop/holidays/string_lights{ + dir = 8; + pixel_x = 29 }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/living/briefing) +"jlc" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "jlA" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -44684,6 +42257,19 @@ /obj/structure/largecrate/supply/ammo/shotgun, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_s) +"jmn" = ( +/obj/structure/surface/table/almayer, +/obj/item/prop/magazine/dirty{ + pixel_y = 5 + }, +/obj/item/tool/pen{ + pixel_x = 4; + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "bluefull" + }, +/area/almayer/living/briefing) "jmK" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -44723,12 +42309,6 @@ icon_state = "blue" }, /area/almayer/command/cichallway) -"jnf" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/engineering_workshop) "jnk" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -44753,31 +42333,18 @@ icon_state = "test_floor4" }, /area/almayer/hallways/aft_hallway) -"jnA" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/shipboard/brig/armory) "jnD" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "silvercorner" }, /area/almayer/shipboard/brig/cic_hallway) -"jnT" = ( -/obj/structure/bed/chair, -/turf/open/floor/almayer{ - allow_construction = 0 +"jnI" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/shipboard/brig/lobby) +/turf/open/floor/almayer, +/area/almayer/engineering/lower) "jnX" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -44788,36 +42355,6 @@ /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/plating, /area/almayer/command/cic) -"jog" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/photo_album{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/folder/black{ - pixel_x = 7; - pixel_y = -3 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) -"jox" = ( -/obj/structure/machinery/brig_cell/cell_3{ - pixel_x = -32 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) -"joE" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/turf/open/floor/almayer{ - icon_state = "silver" - }, -/area/almayer/command/cichallway) "joG" = ( /obj/structure/machinery/washing_machine, /obj/structure/sign/poster{ @@ -44840,6 +42377,22 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"jpn" = ( +/obj/structure/stairs{ + icon_state = "ramptop" + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/projector{ + name = "Almayer_Down4"; + vector_x = 19; + vector_y = -104 + }, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/port) "jpp" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ name = "\improper Medical Bay"; @@ -44875,11 +42428,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"jpQ" = ( -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/lobby) "jqP" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ id = "ARES Interior"; @@ -44900,6 +42448,15 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) +"jqT" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) +"jqY" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "jre" = ( /obj/structure/closet/secure_closet/cargotech, /obj/item/clothing/accessory/storage/webbing, @@ -44927,16 +42484,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"jrV" = ( -/obj/structure/surface/table/almayer, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 - }, -/obj/item/weapon/gun/rifle/l42a, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "jss" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -44986,12 +42533,6 @@ icon_state = "greencorner" }, /area/almayer/hallways/starboard_hallway) -"juf" = ( -/obj/structure/machinery/sentry_holder/almayer, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north1) "jup" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -45007,6 +42548,12 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/living/port_emb) +"juF" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "juX" = ( /obj/structure/platform_decoration{ dir = 1 @@ -45027,14 +42574,6 @@ icon_state = "plate" }, /area/almayer/medical/lower_medical_medbay) -"jvc" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/general_equipment) "jvp" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -45072,12 +42611,24 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"jvJ" = ( -/obj/effect/decal/cleanable/dirt, +"jvM" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"jvP" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/upper_hull/u_f_s) +/area/almayer/shipboard/brig/cryo) "jvX" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -45144,25 +42695,19 @@ }, /turf/open/floor/plating, /area/almayer/living/bridgebunks) -"jxK" = ( -/obj/structure/disposalpipe/junction{ - dir = 1; - icon_state = "pipe-j2" - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 +"jxP" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/vehiclehangar) +"jyb" = ( /turf/open/floor/almayer{ - dir = 1; + dir = 6; icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"jyi" = ( -/obj/structure/machinery/power/port_gen/pacman, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "jyE" = ( /obj/structure/machinery/light, /turf/open/floor/wood/ship, @@ -45184,12 +42729,28 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/notunnel) +"jzE" = ( +/obj/structure/closet/secure_closet/bar{ + name = "Success Cabinet"; + req_access_txt = "1" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/captain_mess) "jzZ" = ( /obj/structure/platform_decoration, /turf/open/floor/almayer{ icon_state = "red" }, /area/almayer/lifeboat_pumps/north1) +"jAe" = ( +/obj/structure/surface/rack, +/obj/item/storage/beer_pack, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/corporateliaison) "jAi" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/hallways/vehiclehangar) @@ -45216,18 +42777,6 @@ icon_state = "green" }, /area/almayer/squads/req) -"jAG" = ( -/obj/structure/surface/rack, -/obj/item/storage/box/gloves{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/masks, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) "jAJ" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -45278,53 +42827,17 @@ icon_state = "test_floor4" }, /area/almayer/command/lifeboat) -"jBY" = ( -/obj/structure/surface/rack, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = -6; - pixel_y = 7 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = 5; - pixel_y = 9 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = 5; - pixel_y = -3 - }, -/obj/structure/noticeboard{ - desc = "The note is haphazardly attached to the cork board by what looks like a bent firing pin. 'The order has come in to perform end of life service checks on all L42A service rifles, any that are defective are to be dis-assembled and packed into a crate and sent to to the cargo hold. L42A service rifles that are in working order after servicing, are to be locked in secure cabinets ready to be off-loaded at Chinook. Scheduled end of life service for the L42A - Complete'"; - pixel_y = 29 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) -"jCa" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "jCn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 +/obj/structure/surface/table/almayer, +/obj/item/tool/screwdriver, +/obj/item/tool/weldingtool, +/obj/item/tool/wrench, +/obj/item/tool/wirecutters, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) +/area/almayer/engineering/lower/engine_core) "jCK" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottomleft"; @@ -45335,6 +42848,40 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) +"jDk" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/obj/structure/transmitter{ + dir = 8; + name = "OT Telephone"; + phone_category = "Almayer"; + phone_id = "Ordnance Tech"; + pixel_x = 14 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) +"jDO" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/light, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"jDP" = ( +/obj/structure/machinery/door/airlock/almayer/maint/reinforced{ + access_modified = 1; + dir = 1; + name = "\improper Spare Bomb Suit"; + req_one_access = null; + req_one_access_txt = "35" + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "jDV" = ( /obj/effect/projector{ name = "Almayer_AresDown"; @@ -45370,27 +42917,12 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"jEI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ - pixel_y = 29 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) -"jEX" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/black{ - pixel_y = 8 - }, -/obj/item/folder/yellow, -/obj/item/device/flashlight/lamp/green{ - pixel_x = -16; - pixel_y = 8 +"jES" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 8 }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/chief_mp_office) "jFe" = ( /obj/structure/prop/holidays/string_lights{ pixel_y = 27 @@ -45430,6 +42962,32 @@ icon_state = "cargo" }, /area/almayer/hull/lower_hull/l_f_s) +"jFx" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/glass/bucket{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_container/glass/bucket{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/reagent_container/glass/bucket{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/reagent_container/glass/bucket{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "jFE" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -45437,17 +42995,18 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"jFR" = ( -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "jFX" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_a_s) +"jFY" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/upper_engineering/port) "jGn" = ( /obj/structure/machinery/light{ dir = 1 @@ -45534,23 +43093,40 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/morgue) -"jIG" = ( -/obj/structure/bed/chair/comfy/charlie{ - dir = 4 +"jIo" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/chief_mp_office) +"jIH" = ( +/obj/structure/surface/rack, +/obj/item/clothing/suit/straight_jacket, +/obj/item/clothing/glasses/sunglasses/blindfold, +/obj/item/clothing/mask/muzzle, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/execution) +"jIT" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/faxmachine/uscm/brig/chief, +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/chief_mp_office) "jIV" = ( -/obj/structure/surface/rack, -/obj/item/book/manual/marine_law{ - pixel_x = -3; - pixel_y = 1 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "jJe" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -45572,17 +43148,6 @@ icon_state = "blue" }, /area/almayer/living/port_emb) -"jJq" = ( -/obj/structure/surface/rack, -/obj/item/storage/firstaid/regular, -/obj/item/storage/firstaid/toxin{ - pixel_x = 8; - pixel_y = -2 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "jJs" = ( /turf/open/floor/almayer{ icon_state = "green" @@ -45692,6 +43257,23 @@ icon_state = "emerald" }, /area/almayer/hallways/port_hallway) +"jLM" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) +"jLS" = ( +/obj/structure/bed/chair/comfy/charlie, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "jMb" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -45749,6 +43331,24 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) +"jMx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/sign/safety/bathunisex{ + pixel_x = 11; + pixel_y = -26 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) +"jMy" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/extinguisher, +/obj/item/device/lightreplacer, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "jMG" = ( /obj/structure/largecrate/random/case/small, /obj/structure/largecrate/random/mini/wooden{ @@ -45768,6 +43368,10 @@ icon_state = "orange" }, /area/almayer/hallways/stern_hallway) +"jML" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "jMQ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -45832,14 +43436,24 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"jNY" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_18"; - pixel_y = 12 +"jND" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 }, -/turf/open/floor/carpet, +/turf/open/floor/wood/ship, /area/almayer/living/commandbunks) +"jNT" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/execution) +"jOc" = ( +/obj/structure/closet/secure_closet/personal/cabinet{ + req_access = null; + pixel_y = 17; + pixel_x = 1 + }, +/turf/open/floor/almayer, +/area/almayer/living/numbertwobunks) "jOi" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -45887,17 +43501,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/gym) -"jOu" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/obj/structure/machinery/faxmachine/uscm/brig, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "jOx" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -45910,6 +43513,19 @@ icon_state = "plate" }, /area/almayer/squads/bravo) +"jOD" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) +"jOE" = ( +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "jOG" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/firealarm{ @@ -45921,29 +43537,54 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) +"jPd" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) "jPf" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_s) -"jPn" = ( -/obj/structure/machinery/photocopier{ - anchored = 0 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "jPq" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) +"jPP" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) +"jPS" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/chief_mp_office) "jQt" = ( /turf/open/floor/almayer/research/containment/floor2{ dir = 8 }, /area/almayer/medical/containment/cell) +"jRc" = ( +/obj/structure/machinery/cm_vending/sorted/tech/tool_storage, +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "jRz" = ( /obj/effect/step_trigger/teleporter/random{ affect_ghosts = 1; @@ -45984,15 +43625,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"jRZ" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/engineering/upper_engineering) "jSo" = ( /obj/item/tool/warning_cone, /turf/open/floor/almayer{ @@ -46056,17 +43688,6 @@ icon_state = "green" }, /area/almayer/living/offices) -"jSY" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "jTi" = ( /obj/item/reagent_container/glass/bucket/janibucket{ pixel_x = -1; @@ -46089,6 +43710,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) +"jTB" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower) "jTI" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ @@ -46113,34 +43740,25 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"jUn" = ( -/obj/structure/surface/table/reinforced/almayer_B, -/obj/structure/machinery/door/window/southleft{ - desc = "A window, that is also a door. A windoor if you will. This one is stronger."; - health = 500; - name = "Reinforced Glass door"; - req_one_access_txt = "2;35" +"jUl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"jUo" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ - icon_state = "orangefull" + icon_state = "plate" }, -/area/almayer/living/briefing) -"jUs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 +/area/almayer/engineering/lower/workshop) +"jUq" = ( +/obj/structure/machinery/firealarm{ + pixel_y = -28 }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 +/obj/structure/bed/chair/comfy/charlie{ + dir = 1 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "jUx" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ dir = 2; @@ -46151,6 +43769,14 @@ icon_state = "test_floor4" }, /area/almayer/powered) +"jUF" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "jUG" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -46178,19 +43804,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/medical_science) -"jUW" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/sign/safety/stairs{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "jUY" = ( /turf/open/floor/almayer{ icon_state = "silver" @@ -46199,6 +43812,15 @@ "jVa" = ( /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"jVg" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "jVr" = ( /obj/structure/machinery/cm_vending/clothing/marine/alpha{ density = 0; @@ -46226,6 +43848,22 @@ icon_state = "test_floor5" }, /area/almayer/command/computerlab) +"jVP" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/execution) +"jWb" = ( +/obj/structure/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "jWh" = ( /turf/closed/wall/almayer, /area/almayer/engineering/upper_engineering/port) @@ -46251,29 +43889,6 @@ icon_state = "plate" }, /area/almayer/living/offices) -"jWC" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/command/lifeboat) -"jWH" = ( -/obj/structure/machinery/power/apc/almayer/hardened{ - cell_type = /obj/item/cell/hyper; - dir = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north1) "jWU" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/blocker/forcefield/multitile_vehicles, @@ -46281,6 +43896,14 @@ allow_construction = 0 }, /area/almayer/hallways/starboard_hallway) +"jXd" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "jXf" = ( /obj/structure/machinery/door/airlock/almayer/medical{ id_tag = "or03"; @@ -46302,18 +43925,54 @@ icon_state = "plating" }, /area/almayer/hallways/vehiclehangar) -"jXW" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/lifeboat) "jXY" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"jYc" = ( +/obj/item/bedsheet/blue{ + layer = 3.2 + }, +/obj/item/bedsheet/blue{ + pixel_y = 13 + }, +/obj/item/toy/plush/therapy/red{ + desc = "A USCM approved plush doll. It's not soft and hardly comforting!"; + force = 15; + layer = 4.1; + name = "Sergeant Huggs"; + pixel_y = 15; + throwforce = 15 + }, +/obj/item/clothing/head/cmcap{ + layer = 4.1; + pixel_x = -1; + pixel_y = 22 + }, +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/living/port_emb) "jYd" = ( /obj/structure/machinery/gear{ id = "vehicle_elevator_gears" @@ -46347,23 +44006,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/operating_room_four) -"jZm" = ( -/obj/structure/machinery/brig_cell/cell_4{ - pixel_x = -32; - pixel_y = -32 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) -"jZr" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/emails{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/living/briefing) "jZs" = ( /obj/structure/machinery/light/containment{ dir = 4 @@ -46399,24 +44041,18 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"jZL" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/almayer_network{ - dir = 1 +"jZC" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 +/obj/structure/sign/safety/escapepod{ + pixel_x = -17 }, -/obj/structure/transmitter{ - dir = 1; - name = "Brig Warden's Office Telephone"; - phone_category = "Offices"; - phone_id = "Brig Warden's Office"; - pixel_x = -16 +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) +/area/almayer/hallways/upper/starboard) "jZO" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ @@ -46435,6 +44071,17 @@ icon_state = "redfull" }, /area/almayer/medical/upper_medical) +"kag" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 16" + }, +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "kaj" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -46508,20 +44155,20 @@ icon_state = "bluefull" }, /area/almayer/squads/charlie_delta_shared) -"kaJ" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) "kaN" = ( /obj/structure/platform{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_p) +"kaS" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "kbc" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -46537,6 +44184,21 @@ icon_state = "test_floor4" }, /area/almayer/squads/bravo) +"kbv" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) +"kbw" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "kbx" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -46580,6 +44242,16 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"kbX" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/camera/autoname/almayer, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "kcl" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -46605,6 +44277,9 @@ "kcN" = ( /turf/closed/wall/almayer/reinforced/temphull, /area/almayer/living/commandbunks) +"kde" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) "kdi" = ( /obj/item/device/flashlight/pen{ pixel_x = 4; @@ -46614,6 +44289,18 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) +"kdn" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + layer = 2.5; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "kdt" = ( /obj/structure/machinery/door_control{ id = "OuterShutter"; @@ -46634,6 +44321,14 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"kdv" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/upper_engineering/starboard) "kdB" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -46652,6 +44347,23 @@ icon_state = "red" }, /area/almayer/hallways/stern_hallway) +"kfo" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) "kfv" = ( /obj/structure/surface/table/almayer, /obj/item/stack/nanopaste{ @@ -46672,28 +44384,31 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"kfG" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp{ - pixel_x = 15 - }, -/turf/open/floor/almayer{ - icon_state = "bluefull" +"kfI" = ( +/obj/structure/machinery/light/small{ + dir = 4 }, -/area/almayer/living/briefing) -"kfN" = ( -/obj/structure/closet/secure_closet/brig, /turf/open/floor/almayer{ - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/engineering/lower) "kfP" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_hallway) +"kfR" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_s) "kfU" = ( /turf/open/floor/plating, /area/almayer/powered/agent) @@ -46704,15 +44419,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_p) -"kge" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/processing) "kgp" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -46752,6 +44458,17 @@ /obj/structure/machinery/door/poddoor/almayer/biohazard/white, /turf/open/floor/plating, /area/almayer/medical/medical_science) +"kgQ" = ( +/obj/structure/surface/rack, +/obj/item/storage/firstaid/adv{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/firstaid/regular, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/execution) "khd" = ( /obj/structure/bed/chair{ dir = 4 @@ -46760,6 +44477,19 @@ icon_state = "plate" }, /area/almayer/squads/charlie_delta_shared) +"khf" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_ew_full_cap"; + layer = 3.5 + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "khD" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -46795,17 +44525,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"khX" = ( -/obj/structure/closet/secure_closet/fridge/dry/stock, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) "kif" = ( +/obj/structure/largecrate/random/barrel/white, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/hull/upper_hull/u_f_s) "kij" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -46827,13 +44552,23 @@ icon_state = "plate" }, /area/almayer/living/port_emb) -"kiF" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" +"kiG" = ( +/obj/structure/machinery/power/smes/buildable, +/obj/structure/machinery/status_display{ + pixel_y = 30 }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/obj/structure/sign/safety/high_voltage{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "tcomms" + }, +/area/almayer/engineering/lower/engine_core) "kiM" = ( /obj/structure/surface/table/reinforced/almayer_B, /turf/open/floor/almayer{ @@ -46868,12 +44603,54 @@ icon_state = "red" }, /area/almayer/squads/alpha) -"kjN" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 4 +"kiX" = ( +/obj/structure/bed/chair/comfy/delta{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"kjk" = ( +/obj/structure/machinery/cryopod/right, +/obj/structure/sign/safety/cryo{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/cryo) +"kjD" = ( +/obj/structure/machinery/computer/demo_sim{ + dir = 4; + pixel_x = -17; + pixel_y = 8 + }, +/obj/structure/machinery/computer/working_joe{ + dir = 4; + pixel_x = -17; + pixel_y = -8 }, /turf/open/floor/almayer, -/area/almayer/shipboard/brig/surgery) +/area/almayer/engineering/lower/workshop/hangar) +"kjO" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower/engine_core) +"kkk" = ( +/obj/structure/machinery/power/monitor{ + name = "Core Power Monitoring" + }, +/obj/structure/sign/safety/terminal{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) "kkt" = ( /obj/structure/surface/table/almayer, /obj/item/book/manual/marine_law, @@ -46881,6 +44658,20 @@ icon_state = "greenfull" }, /area/almayer/living/offices) +"kkv" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/structure/machinery/light/small, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/shipboard/brig/chief_mp_office) "kkx" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ @@ -46895,25 +44686,15 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) -"kkO" = ( -/obj/structure/stairs/perspective{ - dir = 8; - icon_state = "p_stair_full" - }, +"kkW" = ( +/obj/structure/surface/table/almayer, +/obj/item/book/manual/atmospipes, +/obj/item/circuitboard/airalarm, /turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"klG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 + dir = 1; + icon_state = "orange" }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) +/area/almayer/engineering/lower) "klH" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -46931,6 +44712,12 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"kmk" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/hallways/vehiclehangar) "kmp" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -46957,38 +44744,12 @@ /obj/item/tool/mop, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_p) -"kmL" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/firstaid/regular{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/storage/box/drinkingglasses{ - pixel_x = -7 - }, -/obj/item/reagent_container/spray/cleaner{ - pixel_x = -10; - pixel_y = 14 - }, -/obj/item/storage/xeno_tag_case/full{ - pixel_y = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/corporateliason) "kmM" = ( /obj/structure/sink{ pixel_y = 24 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) -"kmY" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "kng" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -47013,10 +44774,21 @@ /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) -"knT" = ( -/obj/structure/safe/cl_office, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +"knL" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/lifeboat_pumps/south2) +"knO" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "koc" = ( /obj/structure/machinery/status_display{ pixel_y = -30 @@ -47058,27 +44830,19 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"koT" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) "kpc" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/almayer/command/airoom) -"kpl" = ( -/obj/structure/machinery/door_control/cl/office/door{ - pixel_y = -20 +"kph" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{ + dir = 1 }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/engineering/lower/engine_core) "kpo" = ( /obj/structure/machinery/floodlight/landing{ name = "bolted floodlight" @@ -47099,18 +44863,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) -"kpX" = ( -/obj/structure/prop/invuln/overhead_pipe{ - pixel_x = 12 - }, -/obj/structure/prop/invuln/overhead_pipe{ - pixel_x = 12; - pixel_y = 12 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/lower_hull/l_a_p) "kpY" = ( /obj/structure/surface/table/almayer, /obj/item/clothing/head/hardhat{ @@ -47130,30 +44882,6 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"kqc" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/belt/utility/full, -/obj/item/clothing/glasses/welding, -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) -"kqf" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/aft_hallway) "kqt" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -47226,6 +44954,15 @@ icon_state = "plate" }, /area/almayer/living/gym) +"kry" = ( +/obj/structure/machinery/flasher{ + id = "Perma 1"; + pixel_y = 24 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "krN" = ( /obj/structure/machinery/conveyor{ id = "req_belt" @@ -47244,6 +44981,25 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"krU" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/item/tool/screwdriver, +/obj/item/bananapeel{ + desc = "An experimental B8 Smart-Scope. Based on the technologies used in the Smart Gun by ARMAT, this sight has integrated IFF systems. It can only attach to the L42A Battle Rifle, M44 Combat Revolver, and M46C Pulse Rifle. This one appears to be covered in gun oil"; + icon = 'icons/obj/items/weapons/guns/attachments.dmi'; + icon_state = "iffbarrel"; + name = "Broken B8 Smart-Scope"; + pixel_x = -3; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "krZ" = ( /obj/structure/closet/secure_closet/cargotech, /obj/item/clothing/accessory/storage/webbing, @@ -47259,6 +45015,15 @@ icon_state = "green" }, /area/almayer/squads/req) +"ksg" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "ksp" = ( /obj/structure/machinery/cryopod/right{ pixel_y = 6 @@ -47267,12 +45032,6 @@ icon_state = "cargo" }, /area/almayer/squads/bravo) -"ksv" = ( -/obj/structure/closet/secure_closet/securecom, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/command/cic) "ksN" = ( /turf/open/floor/almayer/uscm/directional{ dir = 6 @@ -47303,33 +45062,12 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"kta" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/evidence_storage) -"ktc" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "ktB" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/almayer{ icon_state = "cargo" }, /area/almayer/hull/lower_hull/l_m_s) -"ktO" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "ktP" = ( /obj/structure/curtain/red, /turf/open/floor/almayer{ @@ -47342,6 +45080,17 @@ icon_state = "greencorner" }, /area/almayer/living/grunt_rnr) +"kui" = ( +/obj/structure/sign/safety/hazard{ + pixel_y = 32 + }, +/obj/structure/sign/safety/ammunition{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/machinery/vending/security/riot, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "kuk" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -47361,6 +45110,28 @@ icon_state = "emeraldcorner" }, /area/almayer/living/briefing) +"kuJ" = ( +/obj/structure/pipes/vents/scrubber, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"kvf" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 2; + name = "\improper Engineering Workshop" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/workshop) "kvh" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/station_alert{ @@ -47370,18 +45141,22 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) -"kvz" = ( -/obj/structure/machinery/power/terminal{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "tcomms" - }, -/area/almayer/engineering/engine_core) "kvU" = ( /obj/structure/surface/table/almayer, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) +"kwc" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/obj/structure/bed/chair/comfy/bravo{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "kwd" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 1 @@ -47458,13 +45233,6 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) -"kxF" = ( -/obj/structure/bed/chair/comfy/charlie, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "kxL" = ( /obj/structure/closet/coffin/woodencrate, /obj/structure/largecrate/random/mini/wooden{ @@ -47477,27 +45245,25 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) -"kxM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"kyh" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, -/obj/structure/pipes/standard/simple/hidden/supply{ +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/pipes/vents/scrubber{ dir = 4 }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) +"kyr" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) -"kyI" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/sign/safety/bathunisex{ - pixel_x = 32 + icon_state = "test_floor4" }, -/turf/open/floor/wood/ship, -/area/almayer/shipboard/brig/chief_mp_office) +/area/almayer/hallways/upper/starboard) "kyN" = ( /obj/structure/disposalpipe/segment, /obj/structure/sign/safety/distribution_pipes{ @@ -47508,19 +45274,15 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) -"kyP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/cm_vending/sorted/marine_food, -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" +"kyR" = ( +/obj/structure/safe/co_office, +/obj/item/weapon/pole/fancy_cane, +/obj/item/tool/lighter/zippo/gold{ + layer = 3.05; + pixel_y = 3 }, -/area/almayer/shipboard/brig/perma) +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "kyX" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -47552,6 +45314,19 @@ /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/plating, /area/almayer/command/computerlab) +"kzr" = ( +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/firingrange{ + pixel_x = 32; + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/execution) "kzy" = ( /obj/structure/bed/chair, /turf/open/floor/almayer{ @@ -47559,6 +45334,14 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"kzC" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/engineering/lower/workshop) "kzK" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -47593,6 +45376,15 @@ icon_state = "plate" }, /area/almayer/living/port_emb) +"kzO" = ( +/obj/structure/platform_decoration{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "kzP" = ( /turf/open/floor/almayer{ dir = 9; @@ -47635,6 +45427,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"kAL" = ( +/obj/structure/closet/secure_closet/brig, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "kAU" = ( /obj/structure/platform{ dir = 4 @@ -47644,6 +45442,21 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) +"kBh" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/almayer/security/reinforced{ + dir = 2; + name = "\improper Execution Equipment" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/execution) "kBo" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -47727,11 +45540,6 @@ "kCT" = ( /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"kDb" = ( -/obj/structure/surface/rack, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) "kDi" = ( /obj/structure/platform{ dir = 8 @@ -47772,12 +45580,10 @@ icon_state = "dark_sterile" }, /area/almayer/medical/containment) -"kDA" = ( +"kDK" = ( /obj/structure/pipes/vents/scrubber, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "kDR" = ( /obj/structure/disposalpipe/junction{ dir = 1; @@ -47797,6 +45603,34 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) +"kEc" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/obj/item/vehicle_clamp, +/obj/item/vehicle_clamp, +/obj/item/vehicle_clamp, +/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) +"kEg" = ( +/obj/structure/surface/table/almayer, +/obj/item/toy/deck{ + pixel_x = -6; + pixel_y = -2 + }, +/obj/item/toy/deck/uno{ + pixel_x = 6; + pixel_y = -1 + }, +/obj/structure/prop/holidays/string_lights{ + dir = 8; + pixel_x = 29 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "kEp" = ( /obj/structure/filingcabinet/filingcabinet, /turf/open/floor/almayer{ @@ -47804,6 +45638,33 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/morgue) +"kEq" = ( +/obj/structure/machinery/door/window/ultra{ + dir = 8; + req_access_txt = "3" + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) +"kEs" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/item/prop/helmetgarb/helmet_nvg/cosmetic, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/living/briefing) +"kEU" = ( +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hull/upper_hull/u_f_s) "kFe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/firealarm{ @@ -47814,26 +45675,6 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"kFq" = ( -/obj/structure/surface/table/almayer, -/obj/item/book/manual/engineering_construction, -/obj/item/folder/black_random, -/obj/structure/sign/safety/high_rad{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 - }, -/obj/structure/sign/safety/terminal{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "kFs" = ( /obj/structure/machinery/light{ dir = 4 @@ -47877,6 +45718,18 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"kGu" = ( +/obj/structure/machinery/cryopod{ + layer = 3.1; + pixel_y = 13 + }, +/obj/structure/machinery/status_display{ + pixel_x = -32 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/cryo) "kGF" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ density = 0; @@ -47910,12 +45763,6 @@ icon_state = "containment_corner_variant_2" }, /area/almayer/medical/containment/cell) -"kGX" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engine_core) "kHa" = ( /turf/closed/wall/almayer, /area/almayer/shipboard/brig/surgery) @@ -47938,13 +45785,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_hallway) -"kHK" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/execution) "kHS" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -47997,16 +45837,24 @@ icon_state = "plate" }, /area/almayer/squads/alpha) -"kJC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +"kJm" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) +"kJn" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 17" }, -/turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/obj/structure/sign/safety/rad_haz{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "kJG" = ( /obj/item/toy/deck{ pixel_y = 12 @@ -48019,10 +45867,19 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"kJK" = ( -/obj/structure/bed/chair/comfy/orange, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) +"kJH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/closet/secure_closet/freezer/industry, +/obj/item/reagent_container/glass/beaker/silver, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop/hangar) "kJL" = ( /obj/structure/machinery/constructable_frame{ icon_state = "box_2" @@ -48038,6 +45895,19 @@ icon_state = "green" }, /area/almayer/hallways/port_hallway) +"kJW" = ( +/obj/structure/machinery/door/window/westright, +/obj/structure/machinery/shower{ + dir = 8; + layer = 3.10; + plane = -4 + }, +/obj/item/tool/soap{ + pixel_x = 2; + pixel_y = 7 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/living/commandbunks) "kKb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -48083,22 +45953,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"kKL" = ( -/obj/structure/bed/chair/comfy/bravo{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster{ - desc = "YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE. YOU ALWAYS KNOW A WORKING JOE."; - icon_state = "poster11"; - name = "YOU ALWAYS KNOW A WORKING JOE."; - pixel_x = -27; - serial_number = 11 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "kKR" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -48157,6 +46011,18 @@ icon_state = "greencorner" }, /area/almayer/squads/req) +"kMp" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/machinery/status_display{ + pixel_x = -32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "kMq" = ( /obj/structure/sign/poster{ desc = "It says DRUG."; @@ -48191,18 +46057,6 @@ icon_state = "outerhull_dir" }, /area/almayer/engineering/upper_engineering/port) -"kNi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "kNk" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -48252,6 +46106,15 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"kNX" = ( +/obj/structure/bed/chair/comfy/charlie{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "kNY" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -48263,15 +46126,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) -"kOi" = ( -/obj/structure/sink{ - dir = 1; - pixel_y = -10 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/perma) "kOk" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 @@ -48303,31 +46157,18 @@ icon_state = "bluefull" }, /area/almayer/living/pilotbunks) -"kOG" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = -32 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 2 +"kOH" = ( +/obj/structure/machinery/light{ + dir = 8 }, /obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 + icon_state = "E"; + pixel_x = 1 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/aft_hallway) -"kPo" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera" + icon_state = "dark_sterile" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) +/area/almayer/command/corporateliaison) "kPx" = ( /obj/structure/surface/table/almayer, /obj/item/device/mass_spectrometer, @@ -48365,6 +46206,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"kPH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/south2) "kPJ" = ( /obj/structure/machinery/cryopod/right{ pixel_y = 6 @@ -48400,10 +46247,21 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"kQu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/shipboard/brig/processing) "kQz" = ( /obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ dir = 1; - name = "\improper Brig" + name = "\improper Brig Maintenance" }, /obj/structure/machinery/door/poddoor/almayer/open{ id = "Brig Lockdown Shutters"; @@ -48413,19 +46271,6 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_f_p) -"kQU" = ( -/obj/structure/bed/chair/comfy/bravo{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/prop/holidays/string_lights{ - dir = 8; - pixel_x = 29 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "kRd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48435,6 +46280,12 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_three) +"kRg" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/command/lifeboat) "kRu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48447,6 +46298,23 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) +"kRD" = ( +/obj/item/reagent_container/glass/bucket/janibucket, +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/item/reagent_container/glass/bucket/janibucket{ + pixel_y = 11 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "kRP" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/item/prop/magazine/dirty/torn, @@ -48486,6 +46354,18 @@ icon_state = "tcomms" }, /area/almayer/command/airoom) +"kSH" = ( +/obj/structure/sign/prop1{ + pixel_y = 32 + }, +/obj/structure/filingcabinet/security{ + pixel_x = -8 + }, +/obj/structure/filingcabinet/medical{ + pixel_x = 8 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "kSJ" = ( /obj/structure/disposalpipe/junction{ dir = 4; @@ -48530,18 +46410,6 @@ icon_state = "tcomms" }, /area/almayer/command/telecomms) -"kTx" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/obj/structure/bed/chair/comfy/charlie{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "kTM" = ( /obj/item/frame/rack{ layer = 3.1; @@ -48572,23 +46440,18 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"kUb" = ( -/obj/structure/closet/secure_closet, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/device/camera_film, -/obj/item/storage/box/tapes, -/obj/item/clothing/head/fedora, -/obj/item/clothing/suit/storage/marine/light/reporter, -/obj/item/clothing/head/helmet/marine/reporter, -/obj/item/clothing/head/cmcap/reporter, -/obj/item/device/flashlight, -/obj/item/device/toner, -/obj/item/device/toner, +"kUh" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic2{ + access_modified = 1; + dir = 1; + name = "\improper Flight Crew Quarters"; + req_one_access_txt = "19;22" + }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/command/combat_correspondent) +/area/almayer/living/pilotbunks) "kUt" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -48625,6 +46488,11 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) +"kUR" = ( +/turf/open/floor/almayer{ + icon_state = "bluefull" + }, +/area/almayer/living/briefing) "kUV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -48633,6 +46501,13 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) +"kVV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "kVX" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -48675,6 +46550,32 @@ icon_state = "silvercorner" }, /area/almayer/command/cichallway) +"kWN" = ( +/obj/structure/sign/poster{ + desc = "It says DRUG."; + icon_state = "poster2"; + pixel_x = -27 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/bed/chair/comfy/charlie{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"kWR" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/transmitter/rotary{ + name = "Commanding Officer's Office"; + phone_category = "Offices"; + phone_id = "Commanding Officer's Office"; + pixel_x = 16; + pixel_y = 8 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "kWT" = ( /turf/open/floor/almayer{ dir = 9; @@ -48719,6 +46620,19 @@ icon_state = "silver" }, /area/almayer/command/airoom) +"kXm" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/press_area_ag{ + pixel_x = -17; + pixel_y = -7 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "kXu" = ( /turf/open/floor/almayer{ dir = 8; @@ -48731,13 +46645,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"kXH" = ( -/obj/structure/bed/chair/comfy/delta, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "kXJ" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/computer/secure_data{ @@ -48747,13 +46654,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"kXK" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) "kXN" = ( /obj/item/clothing/glasses/sunglasses/aviator{ pixel_x = -1; @@ -48773,12 +46673,42 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_s) +"kYt" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/storage/bible{ + desc = "As the legendary US Army chaplain once said, 'There are no Athiests in fancy offices'."; + name = "Holy Bible"; + pixel_x = -3; + pixel_y = 9 + }, +/obj/item/prop/helmetgarb/rosary{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/device/flashlight/lamp{ + pixel_x = 3; + pixel_y = 1 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "kYv" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/living/port_emb) +"kYL" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "kYP" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 @@ -48819,6 +46749,12 @@ icon_state = "orange" }, /area/almayer/hallways/port_umbilical) +"kZH" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_m_s) "kZN" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/prop/almayer/computer/PC{ @@ -48843,42 +46779,19 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) -"lad" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/tool/kitchen/tray{ - pixel_y = 9 - }, -/obj/item/reagent_container/food/snacks/sliceable/pizza/vegetablepizza{ - pixel_y = 8 - }, +"lab" = ( +/obj/structure/surface/rack, +/obj/item/reagent_container/glass/bucket/janibucket, /turf/open/floor/almayer{ - icon_state = "emeraldfull" + icon_state = "orange" }, -/area/almayer/living/briefing) +/area/almayer/engineering/lower/workshop/hangar) "lah" = ( /turf/open/floor/almayer{ dir = 6; icon_state = "emerald" }, /area/almayer/living/gym) -"laj" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "lau" = ( /obj/structure/sign/safety/autoopenclose{ pixel_x = 7; @@ -48886,15 +46799,18 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) -"laG" = ( -/obj/structure/safe/co_office, -/obj/item/weapon/pole/fancy_cane, -/obj/item/tool/lighter/zippo/gold{ - layer = 3.05; - pixel_y = 3 +"laM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "laO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48938,6 +46854,16 @@ }, /turf/open/floor/plating, /area/almayer/command/cic) +"laY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 4; + pixel_y = -3 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "lbb" = ( /obj/structure/surface/table/almayer, /obj/item/organ/heart/prosthetic{ @@ -48959,6 +46885,17 @@ icon_state = "cargo" }, /area/almayer/squads/charlie) +"lbs" = ( +/obj/structure/sign/safety/biolab{ + pixel_x = -17; + pixel_y = -8 + }, +/obj/structure/sign/safety/hvac_old{ + pixel_x = -17; + pixel_y = 6 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "lbB" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -49011,12 +46948,9 @@ }, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/chief_mp_office) -"ldj" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) +"ldc" = ( +/turf/closed/wall/almayer/reinforced, +/area/almayer/engineering/lower/workshop) "ldl" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 @@ -49047,17 +46981,6 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) -"ldD" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/general_equipment) "ldN" = ( /obj/structure/platform{ dir = 1 @@ -49129,6 +47052,14 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) +"lft" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/firstaid/fire, +/obj/item/device/lightreplacer, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "lfH" = ( /obj/structure/machinery/light{ dir = 4 @@ -49138,36 +47069,22 @@ icon_state = "blue" }, /area/almayer/living/basketball) -"lfQ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"lfT" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/card{ +"lgt" = ( +/obj/structure/sink{ dir = 4; - pixel_x = 2 + pixel_x = 11 }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) -"lfW" = ( -/obj/structure/sign/safety/high_voltage{ - pixel_y = -32 +/obj/structure/mirror{ + pixel_x = 28 }, -/obj/structure/sign/safety/maint{ - pixel_x = 14; - pixel_y = -32 +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 }, /turf/open/floor/almayer{ - icon_state = "red" + icon_state = "dark_sterile" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/command/corporateliaison) "lgy" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -49179,13 +47096,28 @@ }, /turf/open/floor/plating, /area/almayer/living/cryo_cells) -"lgK" = ( -/obj/structure/machinery/cm_vending/clothing/senior_officer{ - density = 0; - pixel_y = 30 +"lgF" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 }, -/turf/open/floor/almayer, -/area/almayer/living/numbertwobunks) +/obj/item/paper_bin/uscm{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = -11; + pixel_y = 5 + }, +/obj/item/tool/pen{ + pixel_x = -10; + pixel_y = -2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "lgX" = ( /obj/structure/sign/safety/storage{ pixel_y = 32 @@ -49266,6 +47198,10 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"lhW" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "lhX" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -49345,15 +47281,15 @@ /obj/effect/landmark/late_join/bravo, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/bravo) -"ljz" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/bed/chair/comfy/delta{ - dir = 8 +"ljt" = ( +/obj/structure/machinery/door_control/cl/quarter/backdoor{ + pixel_x = -25; + pixel_y = 23 }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/living/briefing) +/area/almayer/hull/upper_hull/u_m_p) "ljG" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_container/food/condiment/coldsauce, @@ -49376,6 +47312,27 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) +"ljS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/obj/structure/sign/safety/bathunisex{ + pixel_x = 8; + pixel_y = 25 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) +"ljW" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/bed/chair/comfy/alpha{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "lkd" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -49402,6 +47359,26 @@ icon_state = "red" }, /area/almayer/living/offices/flight) +"lkm" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/upper_engineering/starboard) +"lkL" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 + }, +/obj/structure/bed/chair/comfy/bravo{ + dir = 4 + }, +/obj/structure/barricade/deployable{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "lkM" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -49414,6 +47391,12 @@ icon_state = "plate" }, /area/almayer/squads/charlie) +"lkV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "lkW" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/belt/medical/lifesaver/full, @@ -49426,22 +47409,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"llt" = ( -/obj/structure/machinery/conveyor{ - id = "req_belt" - }, -/obj/structure/plasticflaps, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 +"llK" = ( +/obj/structure/platform_decoration{ + dir = 4 }, -/turf/open/floor/almayer, -/area/almayer/squads/req) -"llD" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/combat_correspondent) +/area/almayer/engineering/lower/engine_core) "llM" = ( /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, @@ -49479,6 +47455,14 @@ "lmz" = ( /turf/closed/wall/almayer/white/hull, /area/space) +"lmA" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/numbertwobunks) "lmK" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/command/securestorage) @@ -49488,6 +47472,19 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"lnh" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/security/glass{ + dir = 8; + name = "\improper Chief MP's Office" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/chief_mp_office) "lnm" = ( /turf/open/floor/almayer{ icon_state = "orangecorner" @@ -49498,13 +47495,6 @@ icon_state = "silvercorner" }, /area/almayer/shipboard/brig/cic_hallway) -"lnJ" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 8; - name = "ship-grade camera" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "lnP" = ( /obj/structure/machinery/vending/cola, /obj/structure/window/reinforced, @@ -49538,11 +47528,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"lnZ" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "lok" = ( /obj/structure/machinery/cm_vending/clothing/marine/charlie{ density = 0; @@ -49579,6 +47564,37 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"loy" = ( +/obj/structure/sign/poster{ + desc = "Eat an EAT bar! ...Aren't they called MEAT bars?"; + icon_state = "poster7"; + name = "EAT - poster"; + pixel_x = 27 + }, +/obj/structure/surface/table/almayer, +/obj/item/paper_bin/uscm{ + pixel_x = 9; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"loz" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "loK" = ( /obj/structure/closet/crate/medical, /obj/item/storage/firstaid/adv, @@ -49630,6 +47646,14 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"lpg" = ( +/obj/structure/machinery/cm_vending/clothing/dress{ + req_access = list(1) + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/living/commandbunks) "lpt" = ( /turf/open/floor/almayer{ icon_state = "blue" @@ -49733,14 +47757,6 @@ "lrq" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/armory) -"lrs" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "lrF" = ( /obj/structure/machinery/light, /obj/structure/surface/table/almayer, @@ -49750,16 +47766,6 @@ /obj/structure/bed/chair, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) -"lrV" = ( -/obj/structure/machinery/door/window/brigdoor/southright{ - id = "Cell 3"; - name = "Cell 3" - }, -/obj/structure/sign/safety/three{ - pixel_x = 31 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "lrW" = ( /obj/structure/surface/rack, /obj/item/storage/firstaid/adv, @@ -49783,6 +47789,17 @@ /obj/structure/largecrate/random/case/small, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"lsn" = ( +/obj/structure/surface/table/almayer, +/obj/item/paper{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/tool/pen, +/turf/open/floor/almayer{ + icon_state = "bluefull" + }, +/area/almayer/living/briefing) "lsp" = ( /obj/structure/machinery/door/airlock/almayer/command{ name = "\improper Conference Room" @@ -49830,6 +47847,11 @@ icon_state = "plating_striped" }, /area/almayer/squads/req) +"ltc" = ( +/obj/effect/landmark/late_join/working_joe, +/obj/effect/landmark/start/working_joe, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/command/airoom) "lto" = ( /obj/structure/machinery/iv_drip, /turf/open/floor/almayer{ @@ -49856,11 +47878,14 @@ }, /turf/open/floor/plating, /area/almayer/hull/upper_hull/u_m_p) -"ltX" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/closed/wall/almayer/reinforced, -/area/almayer/shipboard/brig/main_office) +"ltU" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "luk" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -49871,13 +47896,17 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"lut" = ( -/obj/structure/machinery/computer/crew, +"lul" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/command/reinforced{ + name = "\improper Commanding Officer's Quarters"; + req_access = null; + req_access_txt = "31" + }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/living/commandbunks) "luu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49890,16 +47919,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) -"luw" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - dir = 2; - name = "Brig" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/processing) "luz" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -49910,33 +47929,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"luC" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "perma_lockdown"; - name = "\improper Perma Lockdown Shutter" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/perma) -"luH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/atm{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "luS" = ( /obj/structure/surface/rack, /obj/item/stack/sheet/cardboard{ @@ -49975,21 +47967,41 @@ icon_state = "test_floor4" }, /area/almayer/command/cic) +"lvb" = ( +/obj/structure/machinery/door_control/cl/office/door{ + pixel_y = 25 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"lvh" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 10 + }, +/obj/structure/machinery/meter, +/obj/structure/sign/safety/terminal{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "lvA" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "blue" }, /area/almayer/living/pilotbunks) -"lvZ" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/almayer/locked{ - dir = 8; - id = "Perma 1L"; - name = "\improper cell shutter" +"lwh" = ( +/obj/structure/machinery/light{ + dir = 8 }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/perma) +/obj/structure/bed/chair/comfy/delta, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "lwi" = ( /obj/structure/machinery/door/airlock/almayer/maint{ access_modified = 1; @@ -50008,6 +48020,15 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) +"lwp" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/obj/structure/machinery/cm_vending/sorted/tech/circuits, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "lwC" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -50029,6 +48050,12 @@ icon_state = "emeraldfull" }, /area/almayer/squads/charlie) +"lwK" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) "lxo" = ( /obj/structure/sign/safety/hazard{ pixel_x = -17; @@ -50042,6 +48069,20 @@ icon_state = "plate" }, /area/almayer/living/auxiliary_officer_office) +"lxy" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/main_office) +"lxE" = ( +/obj/structure/machinery/cm_vending/clothing/commanding_officer, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/living/commandbunks) "lxT" = ( /obj/structure/machinery/constructable_frame, /turf/open/floor/almayer{ @@ -50103,6 +48144,15 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"lze" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "lzj" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -50128,12 +48178,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) -"lzx" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "lzA" = ( /obj/structure/machinery/sleep_console{ dir = 8 @@ -50151,73 +48195,12 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) -"lzW" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/stairs{ - pixel_x = -15 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"lAj" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/closet/crate, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 +"lzY" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = -25 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_m_s) +/area/almayer/shipboard/brig/chief_mp_office) "lAl" = ( /turf/open/floor/almayer{ dir = 4; @@ -50276,24 +48259,18 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) +"lAU" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "lBg" = ( /obj/structure/bedsheetbin, /turf/open/floor/almayer{ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) -"lBi" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/escapepod{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "lBv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -50328,70 +48305,40 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_p) -"lBY" = ( -/obj/structure/closet{ - name = "backpack storage" +"lCp" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/obj/item/storage/backpack/marine/grenadepack, -/obj/item/storage/backpack/marine/grenadepack, -/obj/item/storage/backpack/marine/mortarpack, -/obj/item/storage/backpack/marine/mortarpack, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) +"lCr" = ( /turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop/hangar) -"lCn" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/sign/safety/ammunition{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/structure/sign/safety/hazard{ - pixel_y = 32 + icon_state = "redfull" }, -/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) +/area/almayer/living/briefing) "lCt" = ( /turf/open/floor/almayer{ dir = 10; icon_state = "sterile_green_side" }, /area/almayer/medical/containment) -"lCz" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = -28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"lCM" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, +"lCE" = ( +/obj/structure/bed/chair/comfy/delta, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/main_office) -"lCS" = ( +/area/almayer/living/briefing) +"lCL" = ( /obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 + icon_state = "N"; + pixel_y = 1 }, /turf/open/floor/almayer{ - icon_state = "mono" + dir = 10; + icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hallways/upper/port) "lDg" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ id = "laddernorthwest"; @@ -50406,13 +48353,13 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"lDj" = ( +"lDn" = ( /obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 2 + icon_state = "NE-out"; + pixel_y = 1 }, /turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) +/area/almayer/command/lifeboat) "lDJ" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -50422,20 +48369,6 @@ icon_state = "orange" }, /area/almayer/hallways/starboard_hallway) -"lDK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/largecrate/supply/weapons/m39{ - pixel_x = 2 - }, -/obj/structure/largecrate/supply/weapons/m41a{ - layer = 3.1; - pixel_x = 6; - pixel_y = 17 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "lDL" = ( /obj/structure/machinery/light{ dir = 4 @@ -50474,6 +48407,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/alpha) +"lEe" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) "lEf" = ( /turf/closed/wall/almayer/research/containment/wall/corner{ dir = 1 @@ -50512,10 +48451,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) -"lEW" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "lFb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -50555,19 +48490,9 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/morgue) -"lFs" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -26 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/perma) +"lFp" = ( +/turf/closed/wall/almayer, +/area/almayer/engineering/lower/workshop/hangar) "lFt" = ( /obj/structure/machinery/portable_atmospherics/powered/pump, /obj/structure/sign/safety/maint{ @@ -50605,12 +48530,42 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) +"lFJ" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + name = "\improper Brig Prisoner Yard"; + closeOtherId = "brigcells" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "lFK" = ( /obj/structure/machinery/light{ dir = 8 }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south2) +"lGg" = ( +/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "lGh" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/sign/safety/maint{ @@ -50707,6 +48662,15 @@ }, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) +"lIl" = ( +/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ + name = "\improper Armourer's Workshop"; + req_access = null + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hull/upper_hull/u_m_s) "lIp" = ( /obj/structure/bed/chair/comfy/beige{ dir = 1 @@ -50747,12 +48711,6 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_f_p) -"lJa" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) "lJg" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/almayer{ @@ -50779,6 +48737,16 @@ /obj/structure/machinery/door/poddoor/almayer/biohazard/white, /turf/open/floor/plating, /area/almayer/medical/medical_science) +"lJD" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/living/briefing) "lJG" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /obj/structure/disposalpipe/segment{ @@ -50799,6 +48767,19 @@ icon_state = "cargo" }, /area/almayer/living/offices) +"lJL" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/shipboard/brig/cells) "lJO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50843,24 +48824,21 @@ icon_state = "red" }, /area/almayer/hallways/stern_hallway) +"lKM" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer, +/area/almayer/engineering/lower) +"lKO" = ( +/obj/structure/sign/safety/refridgeration{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "lLC" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer, /area/almayer/squads/charlie) -"lLN" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = -30 - }, -/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m4ra_rifle, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/shipboard/brig/armory) "lLS" = ( /obj/structure/sign/safety/galley{ pixel_x = 32 @@ -50874,6 +48852,12 @@ /obj/structure/largecrate/random/barrel/green, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"lMb" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "lMc" = ( /turf/open/floor/almayer{ icon_state = "red" @@ -50901,15 +48885,12 @@ icon_state = "plating_striped" }, /area/almayer/squads/req) -"lMM" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, +"lMx" = ( +/obj/structure/closet/firecloset, /turf/open/floor/almayer{ - icon_state = "mono" + icon_state = "cargo" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/engineering/upper_engineering/starboard) "lMY" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -50925,27 +48906,6 @@ icon_state = "red" }, /area/almayer/hallways/stern_hallway) -"lNs" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/sign/safety/ammunition{ - pixel_x = 32; - pixel_y = 7 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/machinery/door_control{ - id = "cmp_armory"; - name = "Armory Lockdown"; - pixel_x = 24; - pixel_y = -6; - req_access_txt = "4" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "lNw" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -50970,31 +48930,17 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) -"lNF" = ( -/obj/structure/closet/secure_closet{ - name = "\improper Lethal Injection Locker" - }, -/obj/item/reagent_container/ld50_syringe/choral, -/obj/item/reagent_container/ld50_syringe/choral, -/obj/item/reagent_container/ld50_syringe/choral, -/obj/item/reagent_container/ld50_syringe/choral, -/obj/item/reagent_container/ld50_syringe/choral, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) -"lOl" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, +"lNN" = ( +/obj/structure/closet/secure_closet/medical2, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "sterile_green_side" }, -/area/almayer/command/corporateliason) +/area/almayer/shipboard/brig/surgery) +"lNR" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/plating, +/area/almayer/engineering/lower/workshop) "lOr" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -51014,6 +48960,16 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_two) +"lOI" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "lON" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ @@ -51025,6 +48981,26 @@ icon_state = "test_floor4" }, /area/almayer/medical/medical_science) +"lOX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) +"lPm" = ( +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "lPB" = ( /obj/structure/surface/table/almayer, /obj/item/device/lightreplacer, @@ -51050,15 +49026,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cic_hallway) -"lPG" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "silver" - }, -/area/almayer/command/cichallway) "lPO" = ( /obj/structure/surface/rack, /turf/open/floor/almayer{ @@ -51066,6 +49033,18 @@ icon_state = "silver" }, /area/almayer/command/securestorage) +"lQa" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "lQj" = ( /obj/structure/machinery/door_control{ id = "InnerShutter"; @@ -51123,6 +49102,16 @@ icon_state = "green" }, /area/almayer/hallways/port_hallway) +"lRe" = ( +/obj/structure/pipes/vents/pump, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/surgery) "lRs" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -51178,6 +49167,17 @@ icon_state = "redcorner" }, /area/almayer/living/briefing) +"lSs" = ( +/obj/structure/bed, +/obj/structure/machinery/flasher{ + id = "Cell 5"; + pixel_x = -24 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/cells) "lSD" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -51207,20 +49207,31 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) -"lUv" = ( -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +"lUm" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + name = "\improper Brig Cells"; + closeOtherId = "briglobby" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "test_floor4" }, -/area/almayer/hull/lower_hull/l_f_s) -"lUw" = ( -/obj/structure/machinery/light, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_21"; - pixel_y = 3 +/area/almayer/shipboard/brig/processing) +"lUz" = ( +/turf/closed/wall/almayer, +/area/almayer/hull/upper_hull/u_f_s) +"lUA" = ( +/obj/structure/surface/table/almayer, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/obj/item/weapon/gun/rifle/l42a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "lVl" = ( /obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, /turf/open/floor/almayer, @@ -51273,16 +49284,15 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"lWD" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" +"lXb" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/structure/sign/safety/bathunisex{ - pixel_x = 11; - pixel_y = -26 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "lXg" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/recharger, @@ -51358,17 +49368,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"lYZ" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/toolbox/mechanical/green{ - pixel_y = 8 - }, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "lZs" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/radio/intercom{ @@ -51413,24 +49412,6 @@ icon_state = "test_floor4" }, /area/almayer/medical/hydroponics) -"maa" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) -"maq" = ( -/obj/structure/sign/safety/cryo{ - pixel_x = 7; - pixel_y = -26 - }, -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) "maw" = ( /obj/structure/disposalpipe/segment, /obj/structure/machinery/door/airlock/almayer/maint{ @@ -51456,6 +49437,16 @@ icon_state = "plate" }, /area/almayer/living/gym) +"maO" = ( +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "maT" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -51468,35 +49459,20 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"mbn" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +"mbx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "mce" = ( /turf/open/floor/almayer{ icon_state = "greencorner" }, /area/almayer/hallways/aft_hallway) -"mcl" = ( -/obj/structure/sign/safety/ladder{ - pixel_x = -16 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/vehiclehangar) -"mcK" = ( -/obj/structure/closet/secure_closet/commander, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/device/whistle, -/obj/item/device/megaphone, -/obj/item/device/radio, -/obj/item/clothing/shoes/laceup, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "mcL" = ( /obj/structure/machinery/vending/snack, /obj/structure/sign/safety/maint{ @@ -51527,22 +49503,6 @@ icon_state = "plate" }, /area/almayer/squads/alpha) -"mdJ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/perma) -"mdS" = ( -/obj/structure/sign/safety/ammunition{ - pixel_x = 32; - pixel_y = 7 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "mdW" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/effect/decal/warning_stripes{ @@ -51649,6 +49609,13 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) +"mgd" = ( +/obj/structure/machinery/autolathe/armylathe/full, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "mgj" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ density = 0; @@ -51659,6 +49626,21 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"mgu" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + name = "\improper Engineering Hallway" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower) "mgy" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer, @@ -51672,19 +49654,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) -"mgR" = ( -/obj/structure/surface/table/almayer, -/obj/item/prop/magazine/dirty{ - pixel_y = 5 - }, -/obj/item/tool/pen{ - pixel_x = 4; - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "mha" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -51720,6 +49689,15 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) +"mho" = ( +/obj/structure/bed/chair/comfy/alpha{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "mhG" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -51769,10 +49747,23 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) +"mje" = ( +/obj/structure/machinery/light, +/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_mk1_rifle_ap, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/command/cic) "mji" = ( /obj/structure/pipes/standard/manifold/fourway/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_hallway) +"mjt" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/shipboard/brig/processing) "mjR" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/almayer{ @@ -51833,32 +49824,46 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"mkh" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 +"mki" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"mkk" = ( -/obj/structure/disposalpipe/segment, +/obj/structure/bed/chair/comfy/alpha{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"mkl" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 + dir = 1 }, /turf/open/floor/almayer{ - allow_construction = 0 + icon_state = "bluefull" }, -/area/almayer/shipboard/brig/lobby) -"mkx" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 2 +/area/almayer/living/briefing) +"mkn" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "OTStore"; + name = "\improper Secure Storage"; + unacidable = 1 }, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "test_floor4" }, -/area/almayer/command/corporateliason) +/area/almayer/engineering/lower/workshop/hangar) +"mko" = ( +/obj/item/tool/weldpack{ + pixel_y = 15 + }, +/obj/structure/surface/table/almayer, +/obj/item/clothing/head/welding, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "mkG" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -51882,6 +49887,39 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"mkI" = ( +/obj/structure/machinery/pipedispenser, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) +"mkL" = ( +/obj/structure/pipes/valve/digital/open{ + dir = 4 + }, +/obj/structure/sign/safety/fire_haz{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) +"mkP" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 2; + name = "\improper Engineering Workshop" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/workshop) "mlb" = ( /obj/effect/decal/warning_stripes{ icon_state = "S"; @@ -51920,12 +49958,29 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"mlF" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "mlH" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) +"mlP" = ( +/obj/structure/machinery/door/airlock/almayer/generic/corporate{ + dir = 1; + name = "Corporate Liaison's Bedroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/corporateliaison) "mmC" = ( /obj/structure/closet/secure_closet/engineering_welding{ req_one_access_txt = "7;23;27" @@ -52067,6 +50122,25 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/almayer, /area/almayer/squads/req) +"mpn" = ( +/obj/structure/pipes/vents/pump, +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/living/briefing) +"mpP" = ( +/obj/structure/machinery/door/airlock/almayer/maint, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower) +"mqb" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "mqg" = ( /obj/structure/bed/chair{ dir = 4 @@ -52252,6 +50326,17 @@ icon_state = "orange" }, /area/almayer/squads/bravo) +"mts" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/l42a, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "mtD" = ( /obj/structure/machinery/status_display{ pixel_x = 16; @@ -52281,6 +50366,15 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"mtZ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "mub" = ( /obj/structure/barricade/handrail{ dir = 4 @@ -52296,48 +50390,6 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"mus" = ( -/obj/item/bedsheet/blue{ - layer = 3.2 - }, -/obj/item/bedsheet/blue{ - pixel_y = 13 - }, -/obj/item/toy/plush/therapy/red{ - desc = "A USCM approved plush doll. It's not soft and hardly comforting!"; - force = 15; - layer = 4.1; - name = "Sergeant Huggs"; - pixel_y = 15; - throwforce = 15 - }, -/obj/item/clothing/head/cmcap{ - layer = 4.1; - pixel_x = -1; - pixel_y = 22 - }, -/obj/structure/window/reinforced{ - dir = 4; - pixel_x = -2; - pixel_y = 4 - }, -/obj/structure/window/reinforced{ - dir = 8; - layer = 3.3; - pixel_y = 4 - }, -/obj/structure/bed{ - can_buckle = 0 - }, -/obj/structure/bed{ - buckling_y = 13; - layer = 3.5; - pixel_y = 13 - }, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/living/port_emb) "mux" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -52358,17 +50410,25 @@ }, /area/almayer/squads/alpha) "muQ" = ( -/obj/structure/machinery/cm_vending/clothing/dress{ - density = 0; - pixel_y = 16 +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" }, -/obj/structure/machinery/light{ - dir = 4 +/area/almayer/engineering/lower) +"muV" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/uscm/command/capt{ + name = "Commanding Officer's Fax Machine"; + pixel_x = -4; + pixel_y = 3 }, -/turf/open/floor/almayer{ - icon_state = "cargo" +/obj/structure/machinery/light{ + dir = 1 }, -/area/almayer/command/cic) +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "mvl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52382,15 +50442,36 @@ icon_state = "bluecorner" }, /area/almayer/squads/delta) -"mvH" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 +"mvE" = ( +/obj/item/bedsheet/brown{ + pixel_y = 13 + }, +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/obj/item/bedsheet/brown{ + layer = 3.1 }, /turf/open/floor/almayer{ - icon_state = "mono" + dir = 9; + icon_state = "red" }, -/area/almayer/lifeboat_pumps/south2) +/area/almayer/shipboard/brig/main_office) "mvI" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -52404,11 +50485,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) -"mwz" = ( +"mvR" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, /turf/open/floor/almayer{ - icon_state = "emeraldfull" + icon_state = "dark_sterile" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/surgery) "mwA" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -52470,6 +50555,26 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) +"mxT" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) +"myl" = ( +/obj/structure/machinery/power/apc/almayer/hardened{ + cell_type = /obj/item/cell/hyper; + dir = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north1) "myn" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -52504,14 +50609,43 @@ icon_state = "test_floor5" }, /area/almayer/squads/req) -"myT" = ( -/obj/structure/closet/firecloset, +"myP" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/sentencing{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"mza" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer{ + dir = 2; + id = "firearm_storage_armory"; + name = "\improper Armory Shutters" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 2; + name = "\improper Armory" + }, /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; + pixel_x = 2; pixel_y = 1 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_x = -2; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/armory) "mzb" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -52548,6 +50682,17 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/hydroponics) +"mzs" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "mzz" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -52556,34 +50701,6 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south2) -"mzG" = ( -/obj/structure/bookcase{ - icon_state = "book-5"; - name = "law and engineering manuals bookcase"; - opacity = 0 - }, -/obj/item/book/manual/marine_law, -/obj/item/book/manual/detective, -/obj/item/book/manual/security_space_law, -/obj/item/book/manual/engineering_guide, -/obj/item/book/manual/engineering_construction, -/obj/item/book/manual/orbital_cannon_manual, -/obj/item/book/manual/ripley_build_and_repair, -/obj/item/book/manual/engineering_hacking, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) -"mzO" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/engineering/engine_core) "mzR" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 8; @@ -52591,6 +50708,12 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) +"mzS" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "mzV" = ( /turf/open/floor/almayer{ dir = 1; @@ -52602,20 +50725,20 @@ /obj/effect/spawner/random/tool, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) -"mAT" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 8; - id = "bot_armory"; - name = "\improper Armory Shutters" +"mAF" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Armory" +/obj/structure/sign/safety/escapepod{ + pixel_x = 8; + pixel_y = 32 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 6; + icon_state = "red" }, -/area/almayer/shipboard/brig/armory) +/area/almayer/hallways/upper/starboard) "mAV" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ @@ -52672,12 +50795,23 @@ access_modified = 1; name = "\improper Astronavigational Deck"; req_access = null; - req_one_access_txt = "3;19" + req_one_access_txt = "3;19"; + closeOtherId = "astroladder_n" }, /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/shipboard/navigation) +"mBx" = ( +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "mBA" = ( /obj/structure/surface/table/almayer, /obj/structure/flora/pottedplant{ @@ -52701,6 +50835,12 @@ }, /turf/open/floor/almayer, /area/almayer/living/chapel) +"mBO" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "mCo" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -52734,6 +50874,22 @@ "mDJ" = ( /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering/starboard) +"mDL" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/mousetraps, +/obj/structure/sign/safety/high_rad{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "mDT" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -52746,6 +50902,23 @@ icon_state = "emerald" }, /area/almayer/living/briefing) +"mDX" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/airlock/almayer/command/reinforced{ + dir = 1; + id_tag = "CO-Office"; + name = "\improper Commanding Officer's Office"; + req_access = null; + req_access_txt = "31" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/living/commandbunks) "mEb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -52773,10 +50946,18 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) -"mES" = ( -/obj/structure/pipes/vents/scrubber, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +"mFc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "mFq" = ( /obj/structure/machinery/door_control{ dir = 1; @@ -52822,16 +51003,23 @@ icon_state = "orange" }, /area/almayer/squads/bravo) +"mFP" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "mGe" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/command/cichallway) -"mGn" = ( -/obj/structure/machinery/cm_vending/clothing/military_police_warden, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) "mGu" = ( /turf/open/floor/almayer{ dir = 4; @@ -52843,6 +51031,30 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"mGT" = ( +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/obj/structure/closet/cabinet, +/obj/item/clipboard, +/obj/item/storage/lockbox/loyalty, +/obj/item/storage/briefcase, +/obj/item/reagent_container/spray/pepper, +/obj/item/device/eftpos{ + eftpos_name = "Weyland-Yutani EFTPOS scanner" + }, +/obj/item/device/portable_vendor/corporate, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"mHb" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "mHm" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_y = -32 @@ -52875,6 +51087,28 @@ }, /turf/open/floor/almayer, /area/almayer/living/gym) +"mHz" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/chief_mp_office) +"mHA" = ( +/obj/structure/closet/secure_closet/surgical{ + pixel_x = -30 + }, +/obj/structure/machinery/power/apc/almayer, +/obj/structure/sign/safety/rewire{ + pixel_y = -38 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "sterile_green_corner" + }, +/area/almayer/shipboard/brig/surgery) "mHD" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -52930,12 +51164,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"mIA" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/lifeboat_pumps/south2) "mIB" = ( /obj/structure/machinery/cm_vending/sorted/medical/marinemed, /obj/structure/sign/safety/medical{ @@ -52946,6 +51174,26 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"mIJ" = ( +/obj/structure/sign/safety/ladder{ + pixel_x = -16 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/vehiclehangar) +"mIP" = ( +/obj/structure/pipes/vents/pump, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/engineering/upper_engineering/port) "mIW" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -53036,18 +51284,18 @@ /obj/structure/largecrate/random/barrel/white, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) -"mKh" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, +"mKi" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; pixel_y = 1 }, +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "red" }, -/area/almayer/shipboard/brig/cryo) +/area/almayer/hallways/upper/port) "mKq" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/living/bridgebunks) @@ -53075,6 +51323,15 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) +"mKy" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/lifeboat) "mKJ" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -53107,20 +51364,6 @@ icon_state = "plate" }, /area/almayer/living/port_emb) -"mKX" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "mKY" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -53129,24 +51372,19 @@ /obj/structure/pipes/standard/manifold/fourway/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_hallway) -"mLb" = ( -/obj/structure/surface/table/almayer, -/obj/item/toy/deck{ - pixel_x = -6; - pixel_y = -2 - }, -/obj/item/toy/deck/uno{ - pixel_x = 6; - pixel_y = -1 +"mLe" = ( +/obj/structure/pipes/vents/pump{ + dir = 8 }, -/obj/structure/prop/holidays/string_lights{ - dir = 8; - pixel_x = 29 +/obj/structure/sign/safety/bathunisex{ + pixel_x = 8; + pixel_y = -32 }, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/structure/machinery/door_control/cl/quarter/backdoor{ + pixel_x = 25 }, -/area/almayer/living/briefing) +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "mLu" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -53181,14 +51419,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/alpha) -"mLI" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/perma) "mLJ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -53225,6 +51455,16 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"mMZ" = ( +/obj/structure/disposalpipe/junction, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "mNf" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, @@ -53245,6 +51485,13 @@ icon_state = "sterile" }, /area/almayer/medical/upper_medical) +"mNK" = ( +/obj/structure/closet/secure_closet/brig/restraints, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "mNR" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical, @@ -53303,15 +51550,6 @@ "mOi" = ( /turf/closed/wall/almayer/outer, /area/almayer/command/airoom) -"mOr" = ( -/obj/structure/surface/table/almayer, -/obj/item/clipboard, -/obj/item/tool/lighter, -/obj/item/device/flashlight/lamp, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "mOL" = ( /obj/structure/sign/safety/maint{ pixel_x = 8; @@ -53360,6 +51598,15 @@ }, /turf/open/floor/almayer, /area/almayer/command/cic) +"mPR" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "mPX" = ( /turf/open/floor/almayer{ icon_state = "orange" @@ -53374,6 +51621,15 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"mQn" = ( +/obj/structure/sign/safety/rad_shield{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) "mQC" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/port_atmos) @@ -53433,6 +51689,52 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) +"mRp" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = -28 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_s) +"mRq" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin/uscm{ + pixel_x = 9; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 9 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"mRQ" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22" + }, +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/command/lifeboat) "mRS" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -53443,13 +51745,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) -"mRU" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) "mRW" = ( /turf/open/floor/almayer/research/containment/corner1, /area/almayer/medical/containment/cell/cl) @@ -53515,6 +51810,14 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) +"mTc" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/emails{ + dir = 4; + pixel_y = 2 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "mTd" = ( /obj/structure/machinery/smartfridge/chemistry{ pixel_x = -3; @@ -53554,6 +51857,11 @@ icon_state = "cargo_arrow" }, /area/almayer/medical/hydroponics) +"mTN" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "mUa" = ( /obj/structure/disposalpipe/junction{ dir = 4; @@ -53612,21 +51920,16 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) -"mUZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 +"mVr" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) -"mVi" = ( /turf/open/floor/almayer{ - icon_state = "red" + dir = 5; + icon_state = "plating" }, -/area/almayer/shipboard/brig/cryo) +/area/almayer/engineering/lower/engine_core) "mVE" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -53649,33 +51952,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"mVZ" = ( -/obj/structure/sign/poster{ - desc = "It says DRUG."; - icon_state = "poster2"; - pixel_x = -27 - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/bed/chair/comfy/charlie{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) -"mWe" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 8; - name = "ship-grade camera" - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "mWs" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -53743,28 +52019,9 @@ dir = 1 }, /area/almayer/medical/containment/cell) -"mXa" = ( -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 - }, -/obj/item/weapon/gun/rifle/l42a, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = -6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "mXj" = ( /turf/closed/wall/almayer, /area/almayer/living/commandbunks) -"mXU" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "mYs" = ( /obj/structure/machinery/light{ dir = 4 @@ -53793,17 +52050,6 @@ icon_state = "blue" }, /area/almayer/hallways/port_hallway) -"mYX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/m41a{ - pixel_y = 6 - }, -/obj/item/weapon/gun/rifle/m41a, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "mYY" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -53827,27 +52073,31 @@ icon_state = "blue" }, /area/almayer/command/cichallway) -"mZr" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"mZf" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/tool/kitchen/tray{ + pixel_y = 9 + }, +/obj/item/device/flashlight/lamp{ + pixel_x = 15 + }, +/obj/item/reagent_container/food/snacks/meatpizzaslice{ + pixel_x = -5; + pixel_y = 7 }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "emeraldfull" }, -/area/almayer/shipboard/port_point_defense) -"mZA" = ( -/obj/structure/machinery/door/airlock/almayer/generic/corporate, +/area/almayer/living/briefing) +"mZr" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/door, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/shipboard/port_point_defense) "mZF" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ icon_state = "almayer_pdoor"; @@ -53857,6 +52107,16 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/notunnel) +"mZL" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "mZM" = ( /obj/structure/machinery/light{ dir = 8 @@ -53866,6 +52126,27 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) +"mZQ" = ( +/obj/structure/machinery/vending/security, +/obj/structure/machinery/light, +/obj/structure/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/general_equipment) +"nac" = ( +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "naf" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -53884,20 +52165,31 @@ }, /turf/open/floor/almayer, /area/almayer/command/lifeboat) +"naw" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "OTStore"; + name = "\improper Secure Storage"; + unacidable = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/workshop/hangar) "naB" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/perma) -"naQ" = ( -/obj/structure/machinery/light/small{ +"naK" = ( +/obj/structure/machinery/light{ dir = 4 }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/obj/structure/bed/chair/comfy/charlie{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "plate" }, -/area/almayer/engineering/upper_engineering/port) +/area/almayer/living/briefing) "naR" = ( /obj/structure/machinery/iv_drip, /obj/effect/decal/warning_stripes{ @@ -53925,15 +52217,31 @@ icon_state = "test_floor4" }, /area/almayer/living/gym) -"nbr" = ( -/obj/structure/machinery/light{ - dir = 1 +"nbv" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 3" }, -/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_shotgun, /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "test_floor4" }, -/area/almayer/command/cic) +/area/almayer/engineering/lower/engine_core) +"ncf" = ( +/obj/structure/machinery/cryopod/right{ + layer = 3.1; + pixel_y = 13 + }, +/obj/structure/machinery/status_display{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/cryo) +"ncl" = ( +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/lobby) "ncp" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -53954,6 +52262,22 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"ncG" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) +"ncT" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "ndx" = ( /obj/structure/sign/safety/nonpress_ag{ pixel_x = 15; @@ -54017,14 +52341,6 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"nel" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) "new" = ( /obj/item/reagent_container/glass/bucket/janibucket, /obj/item/reagent_container/glass/bucket/janibucket{ @@ -54034,28 +52350,28 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) +"neC" = ( +/obj/structure/bed/chair/bolted, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "neE" = ( /obj/structure/platform_decoration{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"neF" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/transmitter{ - name = "Kitchen Telephone"; - phone_category = "Almayer"; - phone_id = "Kitchen"; - pixel_x = -8; - pixel_y = 29 +"neG" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, -/obj/structure/machinery/vending/ingredients, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 6; + icon_state = "red" }, -/area/almayer/living/grunt_rnr) +/area/almayer/command/lifeboat) "neO" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -54071,6 +52387,15 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"neT" = ( +/obj/structure/transmitter/rotary{ + name = "CL Office Telephone"; + phone_category = "Almayer"; + phone_id = "CL Office" + }, +/obj/structure/surface/table/woodentable/fancy, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "nff" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -54119,6 +52444,31 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north2) +"ngn" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + pixel_x = 2; + pixel_y = 5 + }, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) +"ngr" = ( +/obj/structure/sign/safety/intercom{ + pixel_x = -17 + }, +/obj/structure/bed/sofa/south/grey/left, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/shipboard/brig/lobby) "ngs" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/almayer{ @@ -54159,6 +52509,14 @@ icon_state = "plate" }, /area/almayer/squads/bravo) +"ngE" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "ngI" = ( /turf/open/floor/almayer{ dir = 8; @@ -54172,6 +52530,28 @@ /obj/effect/decal/cleanable/blood/oil/streak, /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering/starboard) +"ngV" = ( +/obj/structure/surface/rack, +/obj/item/reagent_container/food/snacks/monkeycube/wrapped/farwacube{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/reagent_container/food/snacks/monkeycube/wrapped/neaeracube{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_container/food/snacks/monkeycube/wrapped/stokcube{ + pixel_x = -4; + pixel_y = -4 + }, +/obj/item/reagent_container/food/snacks/monkeycube/wrapped/yirencube{ + pixel_x = 4; + pixel_y = -4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/corporateliaison) "nhi" = ( /obj/structure/bed/chair/comfy, /obj/structure/window/reinforced/ultra, @@ -54185,6 +52565,16 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"nhr" = ( +/obj/structure/ladder{ + height = 1; + id = "engineeringladder" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/workshop) "nhx" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/toy/deck{ @@ -54202,7 +52592,6 @@ /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) "nhG" = ( -/obj/structure/surface/table/almayer, /obj/item/newspaper{ name = "character sheet" }, @@ -54226,6 +52615,7 @@ pixel_y = -6; req_access_txt = "3" }, +/obj/structure/surface/table/almayer, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) "nig" = ( @@ -54321,6 +52711,17 @@ icon_state = "red" }, /area/almayer/squads/alpha) +"njk" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "njy" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -54392,18 +52793,58 @@ icon_state = "red" }, /area/almayer/shipboard/starboard_missiles) -"nlB" = ( +"nkF" = ( +/obj/structure/bed/chair/bolted{ + dir = 4 + }, /turf/open/floor/almayer{ dir = 1; - icon_state = "cargo_arrow" + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/processing) +"nkH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = -28 }, -/area/almayer/living/briefing) -"nlH" = ( /turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) +"nkX" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/cameras/almayer_network{ dir = 4; + layer = 2.8; + pixel_y = 5 + }, +/obj/structure/sign/safety/terminal{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 9; icon_state = "red" }, -/area/almayer/shipboard/brig/cells) +/area/almayer/shipboard/brig/processing) +"nlz" = ( +/obj/structure/machinery/brig_cell/cell_3{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) +"nlB" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "cargo_arrow" + }, +/area/almayer/living/briefing) "nlW" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/largecrate/random/barrel/green, @@ -54412,16 +52853,15 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"nmb" = ( +"nme" = ( /obj/effect/decal/warning_stripes{ - icon_state = "S" + icon_state = "N"; + pixel_y = 1 }, -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = 32 +/turf/open/floor/almayer{ + icon_state = "redfull" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/hallways/upper/port) "nmh" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -54469,12 +52909,9 @@ icon_state = "silver" }, /area/almayer/command/securestorage) -"nna" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/hull/upper_hull/u_f_s) +"nmY" = ( +/turf/closed/wall/almayer/reinforced, +/area/almayer/engineering/lower/workshop/hangar) "nnc" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -54514,17 +52951,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) -"nnz" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/sign/safety/firingrange{ - pixel_x = 32; - pixel_y = 4 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/perma) "nnD" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down4"; @@ -54540,16 +52966,18 @@ /obj/structure/largecrate/random/barrel/white, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) -"nnG" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" +"nnL" = ( +/obj/structure/toilet{ + dir = 8 }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 +/turf/open/floor/plating/plating_catwalk, +/area/almayer/command/corporateliaison) +"nnX" = ( +/obj/structure/machinery/sentry_holder/almayer, +/turf/open/floor/almayer{ + icon_state = "mono" }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) +/area/almayer/lifeboat_pumps/south1) "noj" = ( /obj/structure/largecrate, /obj/structure/prop/server_equipment/laptop{ @@ -54560,16 +52988,12 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) -"noo" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 8; - id = "bot_armory"; - name = "\improper Armory Shutters" +"nop" = ( +/obj/structure/machinery/portable_atmospherics/powered/scrubber, +/turf/open/floor/almayer{ + icon_state = "cargo" }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/armory) +/area/almayer/engineering/lower/engine_core) "nos" = ( /obj/structure/machinery/chem_storage/medbay{ dir = 1 @@ -54583,6 +53007,22 @@ icon_state = "test_floor4" }, /area/almayer/medical/hydroponics) +"nou" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower) +"noP" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/closet/toolcloset, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "noV" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -54597,6 +53037,17 @@ }, /turf/open/floor/plating, /area/almayer/engineering/starboard_atmos) +"npn" = ( +/obj/structure/surface/table/almayer, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "npt" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -54612,35 +53063,36 @@ icon_state = "dark_sterile" }, /area/almayer/medical/containment) -"npB" = ( +"npA" = ( /obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 + icon_state = "N"; + pixel_y = 1 }, /turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_s) -"npK" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/emails{ - dir = 4; - pixel_y = 2 +/area/almayer/engineering/lower/workshop/hangar) +"npO" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) -"npS" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/obj/structure/prop/server_equipment/laptop{ - pixel_x = -2; - pixel_y = 1 +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) +"nqe" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -2 }, /turf/open/floor/almayer{ - icon_state = "orangefull" + icon_state = "plate" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/armory) "nqx" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -54662,6 +53114,12 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"nqO" = ( +/obj/structure/closet/secure_closet/fridge/fish/stock, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/grunt_rnr) "nqU" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) @@ -54675,16 +53133,23 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north2) -"nqZ" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30; - pixel_y = -6 +"nqW" = ( +/obj/structure/sign/safety/nonpress_0g{ + pixel_x = 32 }, /turf/open/floor/almayer{ - dir = 4; - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/engineering/lower) +"nri" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/working_joe{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "nrt" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -54753,6 +53218,22 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_s) +"nsQ" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 29 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/captain_mess) "nsY" = ( /turf/closed/wall/almayer, /area/almayer/living/port_emb) @@ -54783,28 +53264,6 @@ "ntj" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/command/computerlab) -"ntm" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17; - pixel_y = -8 - }, -/obj/structure/machinery/door_control{ - id = "CMP Office Shutters"; - name = "CMP Office Shutters"; - pixel_x = -24; - pixel_y = 8; - req_one_access_txt = "24;31" - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) -"ntr" = ( -/obj/structure/machinery/portable_atmospherics/hydroponics, -/obj/item/seeds/goldappleseed, -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "ntt" = ( /obj/item/stool, /obj/effect/decal/warning_stripes{ @@ -54816,12 +53275,6 @@ icon_state = "plating" }, /area/almayer/hallways/vehiclehangar) -"ntu" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "ntx" = ( /obj/structure/machinery/door/airlock/almayer/generic{ id = "Alpha_2"; @@ -54869,23 +53322,23 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"nux" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "perma_lockdown_1"; + name = "\improper Perma Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/perma) "nuA" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/almayer, /area/almayer/squads/alpha) -"nuI" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/surface/table/almayer, -/obj/item/tool/hand_labeler, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/medical/chemistry) "nuK" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/condiment/hotsauce/franks{ @@ -54896,6 +53349,12 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) +"nuM" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "nuN" = ( /obj/effect/landmark/start/marine/medic/alpha, /obj/effect/landmark/late_join/alpha, @@ -54907,6 +53366,24 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_s) +"nvG" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/sink{ + pixel_y = 16 + }, +/obj/structure/mirror{ + pixel_y = 21 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/numbertwobunks) "nvM" = ( /obj/structure/window/framed/almayer/white, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -54954,30 +53431,12 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"nww" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/machinery/cm_vending/clothing/staff_officer_armory, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/command/cic) "nwx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ icon_state = "red" }, /area/almayer/shipboard/port_missiles) -"nwz" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/lobby) "nwD" = ( /turf/open/floor/almayer{ dir = 1; @@ -55030,20 +53489,28 @@ icon_state = "green" }, /area/almayer/squads/req) -"nxq" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Warden Office" +"nxb" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" }, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 2; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" +/area/almayer/engineering/lower/workshop) +"nxc" = ( +/obj/structure/machinery/light/small{ + dir = 4 }, +/obj/structure/closet/firecloset, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/hull/upper_hull/u_f_p) +"nxx" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "nxK" = ( /obj/structure/sign/safety/high_voltage{ pixel_y = -32 @@ -55056,6 +53523,17 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) +"nxZ" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 10" + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "nyj" = ( /obj/effect/decal/medical_decals{ icon_state = "docdecal2" @@ -55098,17 +53576,13 @@ "nyQ" = ( /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) -"nza" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 4 - }, -/obj/structure/bed/chair/comfy/charlie{ - dir = 4 - }, +"nyS" = ( +/obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer{ - icon_state = "emeraldfull" + dir = 4; + icon_state = "red" }, -/area/almayer/living/briefing) +/area/almayer/hallways/upper/port) "nzv" = ( /obj/structure/filingcabinet/filingcabinet, /obj/item/clipboard, @@ -55129,18 +53603,10 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) -"nzI" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/command/lifeboat) +"nzD" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/port) "nzO" = ( /obj/effect/decal/cleanable/blood/oil, /obj/effect/decal/warning_stripes{ @@ -55152,6 +53618,21 @@ }, /turf/open/floor/almayer, /area/almayer/squads/req) +"nAd" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/engine_core) +"nAY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "nBa" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad{ req_access = null; @@ -55165,41 +53646,28 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) -"nBb" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "nBc" = ( /obj/structure/largecrate/random, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) -"nBo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/general_equipment) -"nBu" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 +"nBi" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + pixel_x = 4; + pixel_y = 4 }, -/obj/structure/sign/safety/restrictedarea{ - pixel_x = -17; - pixel_y = -8 +/obj/item/clothing/glasses/monocle, +/obj/item/reagent_container/food/drinks/coffee{ + pixel_x = -7; + pixel_y = -2 }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" +/obj/item/weapon/pole/fancy_cane{ + pixel_x = 5 }, -/area/almayer/shipboard/brig/perma) +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "nBw" = ( /turf/open/floor/almayer{ dir = 1; @@ -55212,6 +53680,12 @@ icon_state = "mono" }, /area/almayer/living/pilotbunks) +"nBK" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "nBW" = ( /obj/structure/sign/safety/maint{ pixel_x = -17 @@ -55226,6 +53700,12 @@ /obj/effect/landmark/late_join/charlie, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) +"nCn" = ( +/obj/structure/pipes/vents/pump/on, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "nCp" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -55242,6 +53722,46 @@ icon_state = "orange" }, /area/almayer/squads/bravo) +"nCx" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/reagent_container/food/drinks/bottle/whiskey{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/item/reagent_container/food/drinks/bottle/whiskey{ + desc = "A premium double-malt whiskey, this bottle was gifted to the Captain of the USS Almayer after the completion of the ship's space trials by the VADM. himself."; + pixel_x = 3; + pixel_y = 16 + }, +/obj/item/reagent_container/food/drinks/bottle/whiskey{ + pixel_x = 11; + pixel_y = 16 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) +"nCR" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 29 + }, +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/auxiliary_officer_office) "nCT" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -55250,15 +53770,27 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) -"nDh" = ( -/obj/structure/transmitter/rotary{ - name = "CL Office Telephone"; - phone_category = "Almayer"; - phone_id = "CL Office" +"nDa" = ( +/obj/structure/machinery/power/terminal{ + dir = 4 }, -/obj/structure/surface/table/woodentable/fancy, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/turf/open/floor/almayer{ + icon_state = "tcomms" + }, +/area/almayer/engineering/lower/engine_core) +"nDd" = ( +/obj/structure/sign/safety/ammunition{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/sign/safety/hazard{ + pixel_y = 32 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/hull/lower_hull/l_f_s) "nDo" = ( /obj/structure/closet/l3closet/general, /obj/structure/window/reinforced{ @@ -55289,11 +53821,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"nDV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/command/cichallway) "nEo" = ( /obj/structure/surface/table/almayer, /obj/item/storage/donut_box{ @@ -55383,6 +53910,18 @@ icon_state = "plate" }, /area/almayer/shipboard/starboard_point_defense) +"nFA" = ( +/obj/structure/bed/chair/comfy/bravo{ + dir = 1 + }, +/obj/structure/prop/holidays/string_lights{ + dir = 8; + pixel_x = 29 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "nFI" = ( /obj/structure/surface/table/almayer, /obj/structure/disposalpipe/segment{ @@ -55412,6 +53951,14 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) +"nFM" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 18" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "nFV" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -55460,15 +54007,12 @@ icon_state = "plate" }, /area/almayer/shipboard/port_point_defense) -"nHg" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, +"nGY" = ( +/obj/structure/closet/emcloset, /turf/open/floor/almayer{ - icon_state = "red" + icon_state = "cargo" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/lifeboat_pumps/north2) "nHF" = ( /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_m_s) @@ -55481,18 +54025,20 @@ icon_state = "plating_striped" }, /area/almayer/living/cryo_cells) -"nHV" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"nHL" = ( +/obj/structure/machinery/vending/coffee, +/obj/structure/sign/safety/coffee{ + pixel_x = -17; + pixel_y = -8 }, -/obj/structure/machinery/light{ - dir = 1 +/obj/structure/sign/safety/rewire{ + pixel_x = 8; + pixel_y = 32 }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "plate" }, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/engineering/lower/workshop) "nIj" = ( /turf/open/floor/almayer{ icon_state = "green" @@ -55553,22 +54099,14 @@ }, /turf/open/floor/almayer, /area/almayer/living/basketball) -"nIW" = ( +"nJa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 }, -/obj/structure/bed/chair/comfy/bravo{ - dir = 1 - }, /turf/open/floor/almayer{ - icon_state = "orangefull" + icon_state = "orangecorner" }, -/area/almayer/living/briefing) -"nJo" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/main_office) +/area/almayer/engineering/lower/engine_core) "nJs" = ( /obj/structure/largecrate/random/case, /turf/open/floor/almayer{ @@ -55587,6 +54125,12 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"nJz" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/main_office) "nJH" = ( /obj/structure/machinery/computer/cameras/almayer{ dir = 8; @@ -55605,21 +54149,17 @@ icon_state = "red" }, /area/almayer/command/lifeboat) -"nKs" = ( -/obj/structure/machinery/cm_vending/clothing/dress{ - pixel_y = 0; - req_access = list(1) +"nKP" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, -/turf/open/floor/almayer{ - icon_state = "cargo" +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 }, -/area/almayer/living/commandbunks) -"nKJ" = ( -/obj/structure/machinery/light{ - dir = 4 +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/area/almayer/engineering/lower/workshop) "nLa" = ( /obj/structure/bed/chair{ dir = 4 @@ -55728,12 +54268,6 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) -"nMu" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "nMz" = ( /obj/structure/sign/safety/cryo{ pixel_x = 35 @@ -55742,16 +54276,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"nMM" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 2 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) "nMV" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = 25 @@ -55761,6 +54285,11 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) +"nNg" = ( +/obj/structure/bed, +/obj/item/bedsheet/red, +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/chief_mp_office) "nNt" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -55781,6 +54310,17 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"nNx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "nNA" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -55789,22 +54329,19 @@ icon_state = "cargo" }, /area/almayer/hull/upper_hull/u_m_p) +"nNC" = ( +/obj/structure/sign/safety/water{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "nNH" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "emeraldcorner" }, /area/almayer/living/briefing) -"nNQ" = ( -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "nNV" = ( /obj/structure/bed/chair{ dir = 8; @@ -55832,18 +54369,28 @@ icon_state = "plating" }, /area/almayer/engineering/upper_engineering) -"nOe" = ( -/obj/structure/window/framed/almayer/hull/hijack_bustable, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "perma_lockdown"; - name = "\improper Perma Lockdown Shutter" +"nOb" = ( +/obj/structure/surface/rack, +/obj/item/reagent_container/food/drinks/bottle/sake{ + pixel_x = 5; + pixel_y = 5 }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 +/obj/item/reagent_container/food/drinks/bottle/sake{ + pixel_x = 5; + pixel_y = 5 }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/perma) +/obj/item/reagent_container/food/drinks/bottle/sake, +/obj/item/reagent_container/food/drinks/bottle/sake{ + pixel_x = -4 + }, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/corporateliaison) +"nOC" = ( +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "nOG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55859,6 +54406,13 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"nPb" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "nPf" = ( /obj/structure/machinery/computer/cameras/almayer/containment{ dir = 8; @@ -55929,6 +54483,18 @@ icon_state = "plate" }, /area/almayer/squads/req) +"nPY" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/command/lifeboat) "nQg" = ( /obj/structure/sink{ pixel_y = 24 @@ -55948,13 +54514,9 @@ /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) -"nQH" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +"nQA" = ( +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "nRq" = ( /obj/effect/decal/cleanable/blood/oil/streak, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -55970,17 +54532,6 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"nRQ" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/almayer/command/reinforced{ - name = "\improper Commanding Officer's Quarters"; - req_access = null; - req_access_txt = "31" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/living/commandbunks) "nRR" = ( /turf/open/floor/almayer{ dir = 1; @@ -55991,13 +54542,14 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering) -"nSj" = ( -/obj/structure/machinery/cm_vending/sorted/cargo_guns/cargo/blend, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "green" +"nSu" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 }, -/area/almayer/squads/req) +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "nSG" = ( /obj/structure/machinery/door_control{ id = "tcomms"; @@ -56010,13 +54562,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/telecomms) -"nSM" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/taperecorder, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) "nSN" = ( /obj/structure/largecrate/supply/supplies/mre, /turf/open/floor/almayer{ @@ -56038,6 +54583,14 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) +"nTi" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "nTl" = ( /turf/open/floor/almayer{ dir = 1; @@ -56054,6 +54607,10 @@ }, /turf/open/floor/almayer, /area/almayer/command/computerlab) +"nTA" = ( +/obj/structure/bed/chair/comfy/blue, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "nTH" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -56061,6 +54618,10 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"nTR" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) "nTZ" = ( /turf/open/floor/almayer{ dir = 5; @@ -56094,6 +54655,25 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"nUj" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/obj/structure/machinery/door/poddoor/almayer/locked{ + id = "Cell 2"; + name = "\improper Courtyard Divider" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/cells) "nUn" = ( /obj/structure/surface/table/almayer, /obj/structure/flora/pottedplant{ @@ -56134,6 +54714,20 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) +"nVq" = ( +/obj/structure/sign/safety/security{ + pixel_x = -17; + pixel_y = 6 + }, +/obj/structure/sign/safety/reception{ + pixel_x = -17; + pixel_y = -8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/shipboard/brig/cic_hallway) "nVu" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -56153,6 +54747,9 @@ icon_state = "cargo_arrow" }, /area/almayer/living/offices) +"nVR" = ( +/turf/closed/wall/almayer, +/area/almayer/shipboard/brig/perma) "nVS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56186,22 +54783,6 @@ /obj/structure/surface/table/almayer, /turf/open/floor/wood/ship, /area/almayer/engineering/ce_room) -"nXm" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" - }, -/obj/structure/machinery/door/poddoor/almayer/locked{ - id = "Cell 2"; - name = "\improper Courtyard Divider" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/cells) "nXF" = ( /obj/structure/bed/sofa/south/white/right{ pixel_y = 16 @@ -56211,6 +54792,27 @@ icon_state = "silver" }, /area/almayer/hull/upper_hull/u_m_p) +"nXO" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/storage/fancy/cigar{ + layer = 3.04; + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/reagent_container/food/drinks/bottle/sake{ + pixel_x = -11; + pixel_y = 16 + }, +/obj/item/reagent_container/food/drinks/bottle/sake{ + pixel_x = -2; + pixel_y = 16 + }, +/obj/item/reagent_container/food/drinks/bottle/sake{ + pixel_x = 7; + pixel_y = 16 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "nXP" = ( /turf/closed/wall/almayer/outer, /area/almayer/hull/lower_hull/l_f_s) @@ -56261,6 +54863,24 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"nYn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower) +"nYp" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "nYv" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out"; @@ -56268,6 +54888,13 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) +"nYC" = ( +/obj/structure/sign/safety/autoopenclose{ + pixel_x = 7; + pixel_y = 32 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "nYD" = ( /obj/structure/closet/secure_closet/medical2, /turf/open/floor/almayer{ @@ -56279,22 +54906,6 @@ dir = 8 }, /area/almayer/command/lifeboat) -"nYP" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" - }, -/obj/structure/machinery/door/poddoor/almayer/locked{ - id = "Cell 3"; - name = "\improper Courtyard Divider" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/cells) "nZy" = ( /obj/structure/surface/table/almayer, /obj/structure/disposalpipe/segment{ @@ -56384,6 +54995,17 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) +"occ" = ( +/obj/structure/surface/table/almayer, +/obj/item/weapon/gun/energy/taser, +/obj/item/weapon/gun/energy/taser{ + pixel_y = 8 + }, +/obj/structure/machinery/recharger, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "ocf" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 1 @@ -56478,23 +55100,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/bravo) -"odC" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/item/prop/magazine/boots/n160{ - layer = 2.8; - pixel_x = 4; - pixel_y = -8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/commandbunks) "odD" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -56555,6 +55160,13 @@ damage_cap = 15000 }, /area/almayer/squads/delta) +"oex" = ( +/obj/structure/machinery/cm_vending/sorted/tech/comp_storage, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "oeB" = ( /turf/open/floor/almayer{ dir = 8; @@ -56602,28 +55214,46 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"ofU" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "ofZ" = ( /obj/structure/bed/sofa/south/grey, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) +"ogK" = ( +/obj/structure/bed/bedroll{ + desc = "A bed of cotton fabric, purposely made for a cat to comfortably sleep on."; + name = "cat bed" + }, +/obj/structure/machinery/firealarm{ + pixel_x = -1; + pixel_y = 28 + }, +/mob/living/simple_animal/cat/Jones{ + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "ohj" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ icon_state = "cargo" }, /area/almayer/squads/charlie) -"ohl" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "green" - }, -/area/almayer/squads/req) "ohA" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -56671,6 +55301,18 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/north2) +"ohS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/living/captain_mess) "oih" = ( /obj/structure/bed{ icon_state = "abed" @@ -56752,6 +55394,13 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"ojh" = ( +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "ojF" = ( /obj/structure/machinery/cm_vending/clothing/tl/charlie{ density = 0; @@ -56762,6 +55411,24 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) +"ojH" = ( +/obj/effect/projector{ + name = "Almayer_Down1"; + vector_x = 19; + vector_y = -98 + }, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/starboard) +"ojQ" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = -5; + pixel_y = 10 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "ojR" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -56815,27 +55482,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) -"okz" = ( -/obj/structure/platform{ - dir = 4; - layer = 2.7 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"okB" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/living/briefing) "okD" = ( /obj/structure/prop/almayer/name_stencil{ icon_state = "almayer6" @@ -56844,54 +55490,14 @@ icon_state = "outerhull_dir" }, /area/space) -"okM" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "\improper Execution Room" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/execution) -"olk" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 2 - }, -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Bathroom" +"okQ" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 12" }, /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/engineering/upper_engineering/port) -"olv" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/hand_labeler{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/storage/box/evidence{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/storage/box/evidence{ - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/engineering/lower/engine_core) "olM" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -56911,6 +55517,17 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) +"olN" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "olO" = ( /obj/structure/closet/secure_closet/personal/cabinet{ req_access = null @@ -56950,10 +55567,7 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silvercorner" - }, +/turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) "omP" = ( /obj/item/tool/mop, @@ -56970,6 +55584,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_hallway) +"ond" = ( +/obj/structure/machinery/sleep_console{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/shipboard/brig/surgery) "onN" = ( /obj/structure/surface/table/almayer, /obj/structure/disposalpipe/segment{ @@ -57015,6 +55637,17 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) +"ooo" = ( +/obj/structure/reagent_dispensers/water_cooler/stacks{ + density = 0; + pixel_y = 17 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_s) "oos" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) @@ -57033,35 +55666,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"ooR" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "perma_lockdown"; - name = "\improper Perma Lockdown Shutter" - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/reinforced{ - name = "\improper Perma Cells" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/perma) -"opj" = ( -/obj/structure/surface/table/almayer, -/obj/effect/spawner/random/powercell, -/obj/effect/spawner/random/tool, -/obj/item/packageWrap, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/squads/req) "opC" = ( /obj/structure/machinery/door/airlock/almayer/command/reinforced{ name = "\improper Combat Information Center" @@ -57073,20 +55677,49 @@ "opD" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/living/gym) +"opF" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) +"opH" = ( +/obj/structure/machinery/light, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) +"opI" = ( +/obj/structure/closet/secure_closet, +/obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/device/camera_film, +/obj/item/storage/box/tapes, +/obj/item/clothing/head/fedora, +/obj/item/clothing/suit/storage/marine/light/reporter, +/obj/item/clothing/head/helmet/marine/reporter, +/obj/item/clothing/head/cmcap/reporter, +/obj/item/device/flashlight, +/obj/item/device/toner, +/obj/item/device/toner, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "opJ" = ( /obj/docking_port/stationary/emergency_response/external/port4, /turf/open/space/basic, /area/space) -"opN" = ( -/obj/structure/closet/secure_closet/brig, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - icon_state = "red" +"oqt" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/shipboard/brig/processing) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "oqu" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -57135,14 +55768,6 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"oqP" = ( -/obj/structure/bed/chair/comfy/delta{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "oqS" = ( /obj/structure/toilet{ dir = 1 @@ -57157,6 +55782,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) +"oqY" = ( +/obj/structure/machinery/conveyor{ + id = "req_belt" + }, +/obj/structure/plasticflaps, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/squads/req) "oqZ" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/microwave{ @@ -57212,6 +55847,16 @@ dir = 10 }, /area/almayer/command/lifeboat) +"orN" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop/hangar) "osc" = ( /obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep, /obj/structure/machinery/light{ @@ -57275,27 +55920,19 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"osE" = ( -/obj/structure/closet/emcloset, +"osI" = ( /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "orange" }, -/area/almayer/hull/lower_hull/l_a_p) -"osJ" = ( -/obj/structure/surface/table/almayer, -/obj/item/folder/white{ - pixel_x = 5; - pixel_y = 5 +/area/almayer/engineering/lower/workshop) +"osM" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 8" }, -/obj/item/paper, -/obj/item/handcuffs, -/obj/item/clothing/mask/cigarette/cigar/classic, -/obj/item/coin/silver{ - desc = "A small coin, bearing the falling falcons insignia."; - name = "falling falcons challenge coin" +/turf/open/floor/almayer{ + icon_state = "test_floor4" }, -/turf/open/floor/wood/ship, -/area/almayer/shipboard/brig/chief_mp_office) +/area/almayer/engineering/lower/engine_core) "osT" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/prop/ice_colony/hula_girl{ @@ -57304,34 +55941,33 @@ }, /turf/open/floor/almayer, /area/almayer/living/pilotbunks) +"osU" = ( +/obj/structure/sign/poster{ + icon_state = "poster14"; + pixel_x = -27 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "otu" = ( /turf/closed/wall/almayer/research/containment/wall/connect_w, /area/almayer/medical/containment/cell) -"otK" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic2{ - access_modified = 1; +"ouf" = ( +/obj/structure/stairs{ dir = 1; - name = "\improper Flight Crew Quarters"; - req_one_access_txt = "19;22" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/living/pilotbunks) -"otX" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" + icon_state = "ramptop" }, -/obj/structure/sign/safety/press_area_ag{ - pixel_x = -17; - pixel_y = -7 +/obj/effect/projector{ + name = "Almayer_Down1"; + vector_x = 19; + vector_y = -98 }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" +/turf/open/floor/plating/almayer{ + allow_construction = 0 }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/hallways/upper/starboard) "oug" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/pipes/standard/simple/hidden/supply, @@ -57364,6 +56000,15 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"ouw" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/bombcloset, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop/hangar) "ouB" = ( /obj/structure/bed/sofa/vert/grey/bot, /turf/open/floor/almayer, @@ -57377,33 +56022,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"ouT" = ( -/obj/item/trash/plate{ - pixel_x = 9; - pixel_y = 11 - }, -/obj/item/reagent_container/food/snacks/carpmeat{ - layer = 3.3; - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/reagent_container/food/snacks/carpmeat{ - layer = 3.3; - pixel_x = 8; - pixel_y = 11 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) -"ouV" = ( -/obj/structure/sign/safety/cryo{ - pixel_x = 1; - pixel_y = 26 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "ouW" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -57424,12 +56042,6 @@ icon_state = "orangecorner" }, /area/almayer/engineering/upper_engineering/port) -"ovn" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) "ovp" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/flora/pottedplant{ @@ -57499,20 +56111,21 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/sea_office) +"oxc" = ( +/obj/structure/bed, +/obj/item/toy/plush/farwa{ + pixel_x = 5 + }, +/obj/item/clothing/under/redpyjamas, +/obj/item/bedsheet/orange, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "oxi" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 }, /turf/open/floor/almayer, /area/almayer/living/cafeteria_officer) -"oxn" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/chief_mp_office) "oxp" = ( /obj/structure/largecrate/random/case, /turf/open/floor/almayer{ @@ -57535,23 +56148,6 @@ icon_state = "orangecorner" }, /area/almayer/hull/upper_hull/u_a_s) -"oys" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/door/airlock/almayer/command/reinforced{ - dir = 1; - id_tag = "CO-Office"; - name = "\improper Commanding Officer's Office"; - req_access = null; - req_access_txt = "31" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/living/commandbunks) "oyw" = ( /obj/structure/platform_decoration{ dir = 8 @@ -57583,17 +56179,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"ozi" = ( -/obj/structure/surface/table/almayer, -/obj/item/fuelCell, -/obj/item/fuelCell, -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, +"oyR" = ( +/obj/structure/closet/firecloset, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower) "ozq" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/disposalpipe/segment{ @@ -57653,19 +56244,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"oAd" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "oAB" = ( /obj/structure/platform{ dir = 8; @@ -57706,24 +56284,6 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"oBW" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/storage/bible{ - desc = "As the legendary US Army chaplain once said, 'There are no Athiests in fancy offices'."; - name = "Holy Bible"; - pixel_x = -3; - pixel_y = 9 - }, -/obj/item/prop/helmetgarb/rosary{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/device/flashlight/lamp{ - pixel_x = 3; - pixel_y = 1 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "oCf" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -57742,6 +56302,15 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) +"oCl" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/obj/structure/bed/chair/comfy/delta, +/turf/open/floor/almayer{ + icon_state = "bluefull" + }, +/area/almayer/living/briefing) "oCL" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -57751,12 +56320,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) -"oCX" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/shipboard/brig/cryo) "oDf" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) @@ -57792,6 +56355,13 @@ icon_state = "test_floor4" }, /area/almayer/living/port_emb) +"oDy" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "oDE" = ( /obj/structure/surface/rack, /obj/item/reagent_container/spray/cleaner{ @@ -57816,12 +56386,6 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) -"oDO" = ( -/obj/structure/machinery/sentry_holder/almayer, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/south2) "oDR" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -57875,6 +56439,13 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"oEy" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "oEE" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -57910,6 +56481,13 @@ icon_state = "red" }, /area/almayer/living/port_emb) +"oFm" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop) "oFG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57929,6 +56507,9 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/delta) +"oFY" = ( +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/lobby) "oGx" = ( /obj/structure/closet/secure_closet/surgical{ pixel_x = 30 @@ -57953,6 +56534,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"oGF" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) +"oGJ" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/engine_core) "oGP" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -57961,6 +56553,22 @@ icon_state = "orange" }, /area/almayer/living/port_emb) +"oGY" = ( +/obj/item/device/flashlight/lamp/green{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/door_control/cl/office/evac{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/structure/machinery/door_control/cl/office/divider{ + pixel_x = -5; + pixel_y = -3 + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "oHc" = ( /obj/structure/machinery/light, /obj/effect/decal/warning_stripes{ @@ -58002,16 +56610,24 @@ icon_state = "test_floor4" }, /area/almayer/engineering/laundry) -"oIc" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 4 +"oIa" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/status_display{ + pixel_y = 30 }, -/obj/structure/machinery/light/small, /turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" + icon_state = "red" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/hallways/upper/port) +"oIh" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "oIn" = ( /obj/structure/bed/chair{ dir = 8; @@ -58034,7 +56650,8 @@ }, /obj/structure/machinery/door/airlock/almayer/research/reinforced{ dir = 8; - name = "\improper Containment Airlock" + name = "\improper Containment Airlock"; + closeOtherId = "containment_n" }, /obj/structure/machinery/door/poddoor/almayer/biohazard/white{ dir = 4 @@ -58043,18 +56660,18 @@ icon_state = "test_floor4" }, /area/almayer/medical/medical_science) +"oIt" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer, +/area/almayer/command/lifeboat) "oIB" = ( /turf/closed/wall/almayer, /area/almayer/command/combat_correspondent) -"oIY" = ( -/obj/structure/machinery/cryopod/right{ - layer = 3.1; - pixel_y = 13 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/airoom) +"oJk" = ( +/turf/closed/wall/almayer, +/area/almayer/engineering/lower/workshop) "oJp" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -58171,13 +56788,22 @@ }, /obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ dir = 2; - name = "Brig"; + name = "\improper Brig Lobby"; req_access = null }, /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/lobby) +"oLN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "oLT" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -58221,13 +56847,6 @@ icon_state = "rasputin3" }, /area/almayer/powered/agent) -"oMC" = ( -/obj/structure/machinery/light, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "oMH" = ( /obj/structure/bed/chair{ dir = 4 @@ -58250,6 +56869,14 @@ icon_state = "mono" }, /area/almayer/engineering/ce_room) +"oNf" = ( +/obj/item/stack/folding_barricade/three, +/obj/item/stack/folding_barricade/three, +/obj/structure/surface/rack, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/hull/lower_hull/l_f_s) "oNj" = ( /obj/structure/sign/prop1{ pixel_x = -32; @@ -58276,6 +56903,47 @@ icon_state = "plating" }, /area/almayer/medical/upper_medical) +"oNP" = ( +/obj/structure/machinery/vending/cola{ + density = 0; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"oNY" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_18"; + pixel_y = 7 + }, +/obj/structure/machinery/door_control/cl/quarter/officedoor{ + pixel_x = -25 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"oOw" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) +"oON" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "oOO" = ( /obj/structure/sign/safety/debark_lounge{ pixel_x = 15; @@ -58312,6 +56980,15 @@ icon_state = "red" }, /area/almayer/shipboard/brig/main_office) +"oPp" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21" + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "oPy" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -58322,18 +56999,28 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"oPD" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 +"oPz" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp{ + pixel_x = 15 }, -/obj/structure/machinery/status_display{ - pixel_y = 30 +/obj/item/paper_bin/uscm{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/tool/pen{ + pixel_x = 4; + pixel_y = -4 }, /turf/open/floor/almayer{ - icon_state = "red" + icon_state = "plate" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/living/briefing) "oPE" = ( /turf/open/floor/almayer{ dir = 1; @@ -58457,18 +57144,15 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"oRZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/light{ - dir = 1 +"oRW" = ( +/obj/structure/surface/table/almayer, +/obj/item/frame/table, +/obj/item/frame/table, +/obj/item/clipboard, +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) +/area/almayer/engineering/lower/workshop) "oSq" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -58496,6 +57180,15 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) +"oSC" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 21 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) "oSL" = ( /obj/structure/window/reinforced{ dir = 8 @@ -58563,6 +57256,19 @@ icon_state = "cargo" }, /area/almayer/squads/alpha) +"oTO" = ( +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_sn_full_cap" + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "oUG" = ( /obj/structure/machinery/light{ dir = 8 @@ -58572,6 +57278,23 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"oVf" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/evidence{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/storage/box/evidence{ + pixel_x = 1; + pixel_y = 1 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/general_equipment) "oVP" = ( /obj/structure/bed/chair{ dir = 4 @@ -58606,23 +57329,22 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"oWx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "oWz" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/living/starboard_garden) -"oWI" = ( -/obj/structure/machinery/cryopod/right{ - pixel_y = 6 - }, -/obj/structure/sign/safety/cryo{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/shipboard/brig/cryo) "oXb" = ( /obj/effect/landmark/start/marine/charlie, /obj/effect/landmark/late_join/charlie, @@ -58640,12 +57362,32 @@ /obj/effect/decal/cleanable/ash, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/cells) +"oXt" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "oXJ" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) +"oXM" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "oXY" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -58710,6 +57452,41 @@ icon_state = "red" }, /area/almayer/living/offices/flight) +"oZy" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) +"oZD" = ( +/obj/structure/sign/poster/music{ + pixel_x = -27 + }, +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp{ + pixel_x = 15 + }, +/obj/item/paper_bin/uscm{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = -10; + pixel_y = -1 + }, +/obj/item/tool/pen{ + pixel_x = 3; + pixel_y = -4 + }, +/obj/item/tool/pen{ + pixel_x = -11; + pixel_y = 5 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "oZV" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/roller, @@ -58733,13 +57510,23 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/containment) -"paq" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/faxmachine/uscm/brig, +"pas" = ( +/obj/structure/machinery/cryopod/right, +/obj/structure/sign/safety/cryo{ + pixel_x = 3; + pixel_y = 25 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = 15; + pixel_y = 25 + }, +/obj/structure/machinery/light{ + dir = 4 + }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "cargo" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/shipboard/brig/cryo) "paI" = ( /obj/structure/sign/safety/debark_lounge{ pixel_x = 15; @@ -58758,26 +57545,6 @@ /obj/effect/landmark/start/doctor, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) -"pbh" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) -"pbl" = ( -/obj/structure/bed, -/obj/item/toy/plush/farwa{ - pixel_x = 5 - }, -/obj/item/clothing/under/redpyjamas, -/obj/item/bedsheet/orange, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "pbp" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ @@ -58793,11 +57560,6 @@ icon_state = "plate" }, /area/almayer/command/cic) -"pbC" = ( -/obj/item/bedsheet/red, -/obj/structure/bed, -/turf/open/floor/wood/ship, -/area/almayer/shipboard/brig/chief_mp_office) "pbV" = ( /turf/open/floor/almayer{ dir = 1; @@ -58887,15 +57649,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"pcQ" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "pda" = ( /obj/structure/largecrate/random/case/double, /obj/structure/sign/safety/distribution_pipes{ @@ -58911,35 +57664,45 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_p) -"pdG" = ( -/obj/structure/machinery/door/airlock/almayer/security{ - dir = 2; - name = "\improper Chief MP's Bedroom" +"pdy" = ( +/obj/structure/machinery/door_control{ + id = "OTStore"; + name = "Shutters"; + pixel_y = 24 }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) +"pdK" = ( +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_sn_full_cap" }, -/area/almayer/shipboard/brig/chief_mp_office) -"pef" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = -32 +/obj/structure/platform{ + dir = 4 }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" +/area/almayer/engineering/lower/engine_core) +"peO" = ( +/obj/structure/sign/safety/medical{ + pixel_x = -17; + pixel_y = 6 + }, +/obj/structure/sign/safety/restrictedarea{ + pixel_x = -17; + pixel_y = -9 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 8; + icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/shipboard/brig/lobby) "pfa" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -58958,27 +57721,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/starboard) -"pfe" = ( -/obj/structure/surface/table/almayer, -/obj/effect/landmark/map_item{ - pixel_x = 5 - }, -/obj/item/facepaint/black{ - pixel_x = -10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) -"pfh" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "pfp" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Up4"; @@ -58989,18 +57731,6 @@ allow_construction = 0 }, /area/almayer/stair_clone) -"pfA" = ( -/obj/item/tool/soap, -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/engineering/upper_engineering/port) "pfH" = ( /obj/structure/platform_decoration, /turf/open/floor/almayer{ @@ -59029,6 +57759,15 @@ icon_state = "orange" }, /area/almayer/hull/lower_hull/l_m_s) +"pgw" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/engineering/upper_engineering/port) "pgD" = ( /turf/closed/wall/almayer, /area/almayer/lifeboat_pumps/south1) @@ -59058,12 +57797,74 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"pgN" = ( +/obj/structure/pipes/binary/pump/on{ + dir = 4 + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) +"pgP" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "pha" = ( /obj/structure/machinery/photocopier, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/living/briefing) +"phd" = ( +/obj/structure/sign/poster/safety{ + pixel_x = 27 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"phj" = ( +/obj/structure/machinery/photocopier, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) +"phN" = ( +/obj/structure/disposalpipe/junction{ + dir = 4; + icon_state = "pipe-j2" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/processing) +"piK" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/poddoor/almayer/locked{ + dir = 2; + id = "Perma 1"; + name = "\improper cell shutter" + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/perma) "piO" = ( /obj/structure/surface/rack, /obj/item/tool/weldingtool, @@ -59074,20 +57875,6 @@ /obj/item/trash/barcardine, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"pjb" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "pje" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -59096,6 +57883,15 @@ "pji" = ( /turf/closed/wall/almayer, /area/almayer/hallways/stern_hallway) +"pjj" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "pjw" = ( /turf/open/floor/almayer{ dir = 10; @@ -59133,12 +57929,16 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"pjP" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" +"pjR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "pky" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/almayer{ @@ -59151,15 +57951,16 @@ icon_state = "redfull" }, /area/almayer/squads/alpha_bravo_shared) -"plE" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" +"pkA" = ( +/obj/structure/closet/firecloset, +/obj/structure/machinery/status_display{ + pixel_y = 30 }, /turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" + dir = 1; + icon_state = "orange" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower) "plI" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood, /turf/open/floor/almayer{ @@ -59167,25 +57968,6 @@ icon_state = "sterile_green_side" }, /area/almayer/shipboard/brig/surgery) -"plZ" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - access_modified = 1; - dir = 2; - name = "Brig"; - req_access = null; - req_one_access_txt = "1;3" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/main_office) "pmk" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -59225,6 +58007,16 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"pmI" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 2 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_s) "pmV" = ( /obj/structure/prop/server_equipment/yutani_server/broken{ density = 0; @@ -59243,18 +58035,39 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) +"pns" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "pnC" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood, /turf/open/floor/almayer{ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"pop" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 +"pnL" = ( +/obj/structure/machinery/constructable_frame{ + icon_state = "box_2" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) +/obj/item/weapon/baseballbat/metal{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" + }, +/area/almayer/engineering/upper_engineering/starboard) "poq" = ( /obj/item/pipe{ dir = 4; @@ -59262,24 +58075,22 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"poA" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/glass/bucket/mopbucket, +/obj/item/reagent_container/glass/bucket/mopbucket{ + pixel_y = 10 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "poR" = ( /obj/structure/machinery/light/small{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) -"poZ" = ( -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/obj/structure/bed/chair/bolted{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/perma) "ppc" = ( /obj/structure/largecrate/supply/generator, /obj/structure/machinery/light/small{ @@ -59296,6 +58107,28 @@ }, /turf/open/floor/almayer, /area/almayer/living/auxiliary_officer_office) +"ppn" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) +"ppF" = ( +/obj/structure/sign/safety/terminal{ + pixel_x = -17 + }, +/obj/structure/surface/table/almayer, +/obj/item/clipboard{ + pixel_x = -4 + }, +/obj/item/device/taperecorder{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/device/camera, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) "pqc" = ( /turf/open/floor/almayer{ icon_state = "mono" @@ -59343,6 +58176,15 @@ icon_state = "cargo" }, /area/almayer/squads/bravo) +"pqP" = ( +/obj/structure/machinery/cm_vending/sorted/tech/comp_storage, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "pqQ" = ( /turf/open/floor/almayer{ dir = 5; @@ -59355,6 +58197,15 @@ }, /turf/open/floor/almayer, /area/almayer/living/gym) +"pre" = ( +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hull/upper_hull/u_f_p) "prx" = ( /obj/structure/bed/chair/comfy{ dir = 4 @@ -59373,6 +58224,12 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) +"prP" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "prY" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray, @@ -59391,17 +58248,6 @@ "psm" = ( /turf/closed/wall/almayer, /area/almayer/hull/upper_hull/u_a_s) -"psp" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "psy" = ( /obj/structure/machinery/door/airlock/almayer/security{ dir = 2; @@ -59458,6 +58304,19 @@ icon_state = "plate" }, /area/almayer/squads/charlie_delta_shared) +"ptq" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/obj/structure/bed/chair/bolted, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "ptv" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/platform{ @@ -59465,9 +58324,39 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"ptA" = ( +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/projector{ + name = "Almayer_Down1"; + vector_x = 19; + vector_y = -98 + }, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/starboard) "ptK" = ( /turf/closed/wall/almayer, /area/almayer/engineering/upper_engineering/starboard) +"ptZ" = ( +/obj/structure/platform{ + dir = 4; + layer = 2.7 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "pun" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, @@ -59481,13 +58370,36 @@ icon_state = "silver" }, /area/almayer/living/cryo_cells) -"put" = ( -/obj/structure/pipes/standard/simple/hidden/supply, +"puv" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" + dir = 10; + icon_state = "red" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/shipboard/brig/main_office) +"puE" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/recharger, +/obj/structure/sign/safety/terminal{ + pixel_y = 32 + }, +/obj/structure/transmitter/rotary{ + name = "Brig Wardens's Office Telephone"; + phone_category = "MP Dept."; + phone_id = "Brig Warden's Office"; + pixel_x = 15 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "puI" = ( /obj/structure/machinery/light{ dir = 4 @@ -59576,15 +58488,12 @@ icon_state = "redcorner" }, /area/almayer/shipboard/starboard_missiles) -"pwt" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = -25 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" +"pwG" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 }, -/area/almayer/shipboard/brig/processing) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "pwK" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -59634,20 +58543,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"pxL" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/coatrack{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "pyc" = ( /obj/structure/bed/stool, /turf/open/floor/almayer{ @@ -59689,6 +58584,28 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/bravo) +"pyx" = ( +/obj/structure/machinery/door_display/research_cell{ + dir = 4; + id = "Containment Cell 4"; + name = "Control Panel"; + pixel_x = -15; + req_access_txt = "200" + }, +/obj/item/storage/fancy/cigarettes/blackpack{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/structure/surface/table/woodentable/fancy, +/obj/item/storage/fancy/cigarettes/wypacket{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/tool/lighter/zippo/gold{ + pixel_x = 2 + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "pyy" = ( /obj/structure/filingcabinet, /turf/open/floor/almayer{ @@ -59723,16 +58640,16 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) -"pzc" = ( -/obj/structure/pipes/vents/pump, -/obj/structure/bed/chair{ - dir = 1 +"pzd" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 }, /turf/open/floor/almayer{ - dir = 1; + dir = 10; icon_state = "red" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/hallways/upper/port) "pzG" = ( /obj/docking_port/stationary/emergency_response/port1, /turf/open/floor/almayer{ @@ -59746,6 +58663,12 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"pzM" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "pzO" = ( /obj/item/tool/warning_cone{ pixel_y = 13 @@ -59770,6 +58693,9 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"pAm" = ( +/turf/open/floor/almayer, +/area/almayer/engineering/lower/engine_core) "pAR" = ( /obj/structure/pipes/vents/scrubber{ dir = 8 @@ -59789,6 +58715,9 @@ icon_state = "greencorner" }, /area/almayer/hallways/port_hallway) +"pBG" = ( +/turf/closed/wall/almayer, +/area/almayer/command/corporateliaison) "pBW" = ( /turf/open/floor/almayer{ icon_state = "orangecorner" @@ -59797,6 +58726,17 @@ "pCi" = ( /turf/closed/wall/almayer/outer, /area/almayer/hull/upper_hull/u_f_s) +"pCq" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "pCr" = ( /obj/structure/machinery/cm_vending/sorted/attachments/blend, /turf/open/floor/almayer{ @@ -59889,6 +58829,19 @@ icon_state = "plate" }, /area/almayer/squads/charlie) +"pDW" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "pEl" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -59944,41 +58897,6 @@ icon_state = "test_floor4" }, /area/almayer/lifeboat_pumps/south1) -"pFa" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/lobby) -"pFg" = ( -/obj/structure/window/framed/almayer/hull/hijack_bustable, -/obj/structure/machinery/door/poddoor/almayer/locked{ - dir = 8; - id = "Perma 1"; - name = "\improper isolation shutter" - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/perma) -"pFA" = ( -/obj/structure/pipes/standard/simple/visible{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/engineering/lower_engineering) "pFM" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -59991,22 +58909,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"pGG" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/fancy/cigarettes/lucky_strikes, -/obj/item/tool/lighter, -/obj/item/clothing/glasses/sunglasses/blindfold, -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/obj/structure/machinery/door_control{ - id = "Execution Shutters"; - name = "Privacy Shutters"; - pixel_y = 12; - req_access_txt = "3" - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/execution) "pGK" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -60024,34 +58926,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) -"pGN" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/aluminum{ - amount = 20 - }, -/obj/item/stack/sheet/copper{ - amount = 20; - pixel_y = 4 - }, -/obj/item/stack/sheet/mineral/gold{ - amount = 3; - pixel_y = 4 - }, -/obj/item/stack/sheet/mineral/silver{ - amount = 5; - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/stack/sheet/mineral/phoron{ - amount = 25 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engineering_workshop/hangar) "pGP" = ( /obj/structure/surface/table/almayer, /obj/item/storage/box/lights/bulbs{ @@ -60065,6 +58939,12 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/general_equipment) +"pHc" = ( +/obj/structure/machinery/autolathe, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "pHp" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/perma) @@ -60083,13 +58963,15 @@ icon_state = "bluecorner" }, /area/almayer/living/basketball) -"pIf" = ( -/obj/structure/disposalpipe/junction{ - dir = 8 +"pId" = ( +/obj/item/storage/box/nade_box/tear_gas, +/obj/item/storage/box/nade_box/tear_gas{ + pixel_x = 3; + pixel_y = 5 }, -/obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/surface/table/almayer, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/lower_engineering) +/area/almayer/shipboard/brig/armory) "pIk" = ( /obj/structure/ladder{ height = 1; @@ -60101,18 +58983,6 @@ }, /turf/open/floor/plating/almayer, /area/almayer/hull/lower_hull/l_a_s) -"pIH" = ( -/obj/structure/machinery/door_control{ - id = "perma_exit"; - name = "\improper Exit Shutters"; - pixel_y = -22; - req_access_txt = "3" - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/perma) "pIU" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -60127,35 +58997,48 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) -"pJe" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/prop/tableflag/uscm{ - pixel_x = -5 - }, -/obj/item/prop/tableflag/uscm2{ - pixel_x = 5 +"pIZ" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) -"pJi" = ( -/obj/structure/closet/firecloset, /turf/open/floor/almayer{ - dir = 6; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/general_equipment) -"pJn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/machinery/light/small{ +/area/almayer/lifeboat_pumps/north1) +"pJr" = ( +/obj/structure/pipes/vents/scrubber{ dir = 1 }, -/obj/structure/largecrate/random/secure{ - pixel_x = -5 +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) +"pJt" = ( +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12 + }, +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12; + pixel_y = 12 }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/hull/upper_hull/u_m_s) +/area/almayer/hull/lower_hull/stern) +"pJv" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/main_office) "pJD" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 @@ -60175,48 +59058,12 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) -"pJE" = ( -/obj/structure/closet/secure_closet{ - name = "\improper Execution Firearms" - }, -/obj/item/ammo_magazine/rifle/m4ra, -/obj/item/ammo_magazine/rifle/m4ra, -/obj/item/ammo_magazine/rifle/m4ra, -/obj/item/ammo_magazine/rifle/m4ra, -/obj/item/ammo_magazine/rifle/m4ra, -/obj/item/ammo_magazine/rifle/m4ra, -/obj/item/weapon/gun/rifle/m4ra, -/obj/item/weapon/gun/rifle/m4ra, -/obj/item/weapon/gun/rifle/m4ra, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) "pJJ" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "green" }, /area/almayer/hallways/port_hallway) -"pJK" = ( -/obj/structure/bookcase{ - icon_state = "book-5"; - name = "medical manuals bookcase"; - opacity = 0 - }, -/obj/item/book/manual/surgery, -/obj/item/book/manual/research_and_development, -/obj/item/book/manual/medical_diagnostics_manual, -/obj/item/book/manual/medical_cloning, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "pJR" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_AresUp"; @@ -60255,6 +59102,26 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) +"pLa" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/corporateliaison) +"pLt" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "pLO" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4; @@ -60288,12 +59155,27 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) +"pMk" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north2) "pMp" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/medical/morgue) +"pMA" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "pMJ" = ( /obj/structure/bed/chair{ dir = 1 @@ -60321,6 +59203,28 @@ icon_state = "test_floor4" }, /area/almayer/command/cichallway) +"pNk" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/bodybags{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/box/bodybags, +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = -12 + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = 32; + pixel_y = 17 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/execution) "pNp" = ( /obj/structure/closet/emcloset, /turf/open/floor/almayer{ @@ -60334,14 +59238,6 @@ /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"pNK" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/auxiliary_officer_office) "pNM" = ( /obj/structure/platform{ dir = 4 @@ -60364,17 +59260,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/hydroponics) -"pNQ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "pOi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, @@ -60448,16 +59333,22 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"pPF" = ( -/obj/structure/machinery/power/apc/almayer/hardened, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 +"pPA" = ( +/obj/structure/sign/poster{ + desc = "One of those hot, tanned babes back the beaches of good ol' Earth."; + icon_state = "poster12"; + name = "Beach Babe Pinup"; + pixel_x = 27; + serial_number = 12 }, +/obj/structure/bed/chair/comfy/delta{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - icon_state = "mono" + icon_state = "plate" }, -/area/almayer/lifeboat_pumps/south2) +/area/almayer/living/briefing) "pPM" = ( /obj/structure/surface/rack, /turf/open/floor/almayer{ @@ -60472,44 +59363,12 @@ icon_state = "red" }, /area/almayer/shipboard/port_missiles) -"pPV" = ( -/obj/structure/pipes/vents/pump, -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - pixel_y = 24 - }, -/obj/structure/machinery/door_control{ - id = "Alpha_2"; - name = "Door Lock"; - normaldoorcontrol = 1; - pixel_x = 23; - specialfunctions = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/port_emb) -"pQq" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/effect/decal/cleanable/blood/oil, +"pQr" = ( +/obj/structure/bed, /turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) -"pQu" = ( -/obj/structure/machinery/chem_dispenser/soda{ - pixel_y = 20 + icon_state = "plate" }, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) +/area/almayer/shipboard/brig/perma) "pQy" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -60620,12 +59479,20 @@ icon_state = "test_floor5" }, /area/almayer/medical/hydroponics) -"pSH" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 +"pRY" = ( +/obj/structure/sign/safety/water{ + pixel_x = 8; + pixel_y = -32 }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) +"pRZ" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/plating, +/area/almayer/engineering/lower/workshop) "pSL" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -60635,6 +59502,14 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) +"pSQ" = ( +/obj/structure/reagent_dispensers/fueltank{ + anchored = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "pSU" = ( /obj/structure/machinery/light, /obj/structure/machinery/photocopier, @@ -60681,16 +59556,6 @@ icon_state = "mono" }, /area/almayer/command/computerlab) -"pUe" = ( -/obj/structure/machinery/power/apc/almayer/hardened, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/south1) "pUf" = ( /obj/structure/bed/chair{ dir = 4 @@ -60714,15 +59579,10 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) -"pUl" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/vehiclehangar) +"pUj" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "pUp" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -60736,6 +59596,12 @@ icon_state = "test_floor5" }, /area/almayer/squads/req) +"pUv" = ( +/obj/structure/machinery/power/smes/buildable, +/turf/open/floor/almayer{ + icon_state = "tcomms" + }, +/area/almayer/engineering/lower/engine_core) "pUA" = ( /obj/structure/surface/table/almayer, /obj/structure/window/reinforced/ultra{ @@ -60750,6 +59616,16 @@ icon_state = "silver" }, /area/almayer/living/briefing) +"pUD" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/faxmachine/uscm/brig, +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/shipboard/brig/processing) "pUJ" = ( /turf/closed/wall/almayer, /area/almayer/hull/upper_hull/u_f_p) @@ -60778,6 +59654,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"pVx" = ( +/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/squads/req) "pVA" = ( /obj/item/trash/cigbutt/ucigbutt{ pixel_x = 2; @@ -60817,21 +59699,6 @@ /obj/effect/landmark/late_join/delta, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/delta) -"pWf" = ( -/obj/structure/machinery/door/airlock/almayer/engineering{ - dir = 2; - name = "\improper Engineering Workshop" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engineering_workshop) "pWr" = ( /obj/structure/surface/rack, /obj/item/tool/minihoe{ @@ -60870,31 +59737,12 @@ icon_state = "green" }, /area/almayer/squads/req) -"pWG" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "pWN" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ icon_state = "blue" }, /area/almayer/living/pilotbunks) -"pXj" = ( -/obj/structure/closet/radiation, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "pXl" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -60974,12 +59822,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/containment) -"pYp" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "pYu" = ( /obj/item/tool/warning_cone{ pixel_x = -12; @@ -60990,18 +59832,15 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"pYF" = ( -/obj/structure/bed/chair{ - dir = 1 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" +"pYS" = ( +/obj/structure/pipes/binary/pump/on{ + dir = 4 }, /turf/open/floor/almayer{ - icon_state = "red" + dir = 1; + icon_state = "orange" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/engineering/lower) "pYX" = ( /turf/open/floor/almayer{ dir = 8; @@ -61014,12 +59853,29 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_umbilical) +"pZH" = ( +/obj/structure/machinery/shower{ + dir = 8 + }, +/obj/structure/machinery/door/window/westright, +/obj/structure/window/reinforced/tinted/frosted, +/obj/item/tool/soap/deluxe, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/command/corporateliaison) "pZK" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "orangecorner" }, /area/almayer/engineering/upper_engineering/port) +"pZR" = ( +/obj/structure/bed/chair/comfy/alpha{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "pZS" = ( /obj/structure/bed/sofa/south/grey/left, /turf/open/floor/almayer{ @@ -61027,19 +59883,6 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"pZV" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/machinery/status_display{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "qam" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -61051,48 +59894,12 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"qan" = ( -/obj/item/device/radio/listening_bug/radio_linked/mp{ - pixel_y = 8 - }, -/obj/item/device/radio/listening_bug/radio_linked/mp, -/obj/structure/closet/secure_closet/cmdcabinet{ - pixel_y = 24; - desc = "A bulletproof cabinet containing communications equipment."; - name = "communications cabinet"; - req_access = null; - req_one_access_txt = "3" - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) -"qau" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/effect/landmark/start/warrant, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/cryo) "qaD" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) -"qaJ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/execution) "qaV" = ( /turf/open/floor/almayer{ dir = 10; @@ -61124,21 +59931,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"qbh" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) -"qbt" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/almayer{ - icon_state = "sterile_green" - }, -/area/almayer/shipboard/brig/surgery) "qbx" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -61158,6 +59950,15 @@ icon_state = "redcorner" }, /area/almayer/living/briefing) +"qbD" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "qbO" = ( /turf/open/floor/almayer{ dir = 6; @@ -61274,6 +60075,16 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"qec" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "qee" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -61389,15 +60200,12 @@ icon_state = "silvercorner" }, /area/almayer/command/cichallway) -"qfR" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" +"qfD" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 }, -/area/almayer/shipboard/brig/main_office) +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "qga" = ( /obj/structure/machinery/door/airlock/almayer/maint/reinforced{ dir = 1 @@ -61406,15 +60214,23 @@ icon_state = "test_floor4" }, /area/almayer/living/starboard_garden) -"qgw" = ( -/obj/structure/bed/chair/comfy/alpha{ - dir = 8 +"qgr" = ( +/obj/item/trash/plate{ + pixel_x = 9; + pixel_y = 11 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/item/reagent_container/food/snacks/carpmeat{ + layer = 3.3; + pixel_x = 8; + pixel_y = 11 }, -/area/almayer/living/briefing) +/obj/item/reagent_container/food/snacks/carpmeat{ + layer = 3.3; + pixel_x = 8; + pixel_y = 11 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "qgG" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -61456,6 +60272,16 @@ }, /turf/open/floor/almayer, /area/almayer/squads/delta) +"qgU" = ( +/obj/structure/machinery/power/apc/almayer/hardened, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south1) "qhb" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -61494,6 +60320,18 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"qhD" = ( +/obj/structure/closet{ + name = "backpack storage" + }, +/obj/item/storage/backpack/marine/grenadepack, +/obj/item/storage/backpack/marine/grenadepack, +/obj/item/storage/backpack/marine/mortarpack, +/obj/item/storage/backpack/marine/mortarpack, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop/hangar) "qhU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -61537,15 +60375,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) -"qin" = ( -/obj/structure/sign/poster/safety{ - pixel_x = 27 - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "qit" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/light{ @@ -61598,6 +60427,9 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"qjZ" = ( +/turf/closed/wall/almayer, +/area/almayer/shipboard/stern_point_defense) "qkb" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -61612,22 +60444,16 @@ /obj/effect/landmark/late_join/charlie, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) -"qkj" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 +"qkn" = ( +/obj/structure/machinery/power/apc/almayer{ + cell_type = /obj/item/cell/hyper; + dir = 1 }, /turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/lifeboat) -"qkn" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 + dir = 1; + icon_state = "red" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_s) +/area/almayer/shipboard/brig/main_office) "qkP" = ( /obj/item/frame/light_fixture{ anchored = 1; @@ -61648,6 +60474,22 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) +"qkY" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/drinks/coffeecup{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/reagent_container/food/drinks/coffee{ + pixel_y = 9 + }, +/obj/item/tool/pen{ + pixel_x = 5 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "qld" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -61655,6 +60497,23 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/hallways/starboard_umbilical) +"qlm" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) +"qlp" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/prop/tableflag/uscm{ + pixel_x = -5 + }, +/obj/item/prop/tableflag/uscm2{ + pixel_x = 5 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "qlz" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -61664,6 +60523,29 @@ }, /turf/open/floor/plating, /area/almayer/shipboard/sea_office) +"qlI" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) +"qlS" = ( +/obj/structure/reagent_dispensers/water_cooler/stacks{ + density = 0; + pixel_x = -7; + pixel_y = 17 + }, +/obj/structure/sign/safety/cryo{ + pixel_x = 12; + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "qmk" = ( /obj/structure/surface/table/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -61678,34 +60560,6 @@ icon_state = "bluecorner" }, /area/almayer/squads/delta) -"qmr" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/screwdriver, -/obj/item/prop/helmetgarb/gunoil{ - pixel_x = -7; - pixel_y = 12 - }, -/obj/item/weapon/gun/rifle/l42a{ - pixel_x = 17; - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) -"qmt" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "qmy" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/door_control{ @@ -61741,18 +60595,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/medical_science) -"qmB" = ( -/obj/structure/bed/chair/comfy/bravo{ - dir = 1 - }, -/obj/structure/prop/holidays/string_lights{ - dir = 8; - pixel_x = 29 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "qmC" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -61761,7 +60603,8 @@ }, /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Brig" + name = "\improper Brig"; + closeOtherId = "brigmaint_n" }, /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -61779,23 +60622,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/medical_science) -"qmE" = ( -/obj/structure/sign/safety/restrictedarea{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/machinery/door_control{ - id = "perma_lockdown"; - name = "\improper Perma Cells Lockdown"; - pixel_x = 24; - pixel_y = 6; - req_access_txt = "3" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "qmL" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -61807,14 +60633,32 @@ /obj/structure/machinery/faxmachine/uscm, /turf/open/floor/almayer, /area/almayer/command/computerlab) -"qmX" = ( -/obj/structure/toilet{ - dir = 1 +"qmR" = ( +/obj/structure/window/reinforced/ultra{ + pixel_y = -12 }, +/obj/structure/bed/chair/bolted, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "plating_striped" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/shipboard/brig/execution) +"qmU" = ( +/obj/item/vehicle_clamp, +/obj/item/vehicle_clamp, +/obj/item/vehicle_clamp, +/obj/structure/machinery/light/small{ + dir = 4 + }, +/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) +"qmY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "qnd" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -61872,15 +60716,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) -"qof" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 8; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/main_office) "qom" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/chem_dispenser/soda{ @@ -61917,6 +60752,24 @@ icon_state = "orange" }, /area/almayer/squads/bravo) +"qoL" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/reagentgrinder/industrial{ + pixel_y = 8 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) +"qoR" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "qoY" = ( /obj/structure/machinery/vending/hydroseeds, /turf/open/floor/almayer{ @@ -61941,16 +60794,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/chemistry) -"qpU" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22"; - pixel_y = 12 - }, -/obj/structure/surface/table/almayer, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/lifeboat) "qqn" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -61958,27 +60801,38 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"qqr" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/engineering/upper_engineering) "qqu" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "redcorner" }, /area/almayer/command/lifeboat) +"qqC" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/main_office) "qqK" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) -"qqN" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -26 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "qqQ" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood{ density = 0; @@ -61997,6 +60851,23 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"qqV" = ( +/obj/structure/machinery/cm_vending/clothing/military_police_warden, +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/chief_mp_office) +"qqW" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) +"qra" = ( +/obj/structure/reagent_dispensers/fueltank/custom, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "qrc" = ( /obj/structure/flora/pottedplant{ desc = "It is made of Fiberbush(tm). It contains asbestos. Studies say that greenery calms the mind due to some sort evolved mechanism in the brain. This plant is not calming."; @@ -62009,29 +60880,11 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"qre" = ( -/obj/structure/machinery/status_display{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "qrv" = ( /turf/open/floor/almayer{ icon_state = "silver" }, /area/almayer/command/computerlab) -"qsa" = ( -/obj/structure/bed/chair/comfy/bravo{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "qsd" = ( /obj/structure/largecrate/random, /turf/open/floor/almayer{ @@ -62046,20 +60899,25 @@ icon_state = "plating_striped" }, /area/almayer/squads/req) -"qsF" = ( -/obj/structure/sign/safety/nonpress_0g{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "qsL" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/engineering/ce_room) +"qtj" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) "qtn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62075,16 +60933,16 @@ icon_state = "plate" }, /area/almayer/living/gym) -"qtR" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/lifeboat) "qtS" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_s) +"quj" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) "quq" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -62106,6 +60964,20 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/cryo_tubes) +"quy" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/lifeboat) "quI" = ( /obj/structure/machinery/door_control{ id = "laddersouthwest"; @@ -62125,6 +60997,18 @@ icon_state = "plate" }, /area/almayer/hallways/port_hallway) +"quJ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) +"quS" = ( +/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "quT" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ layer = 1.9 @@ -62151,14 +61035,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"qvf" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/cryo) "qvC" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -62171,6 +61047,21 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south2) +"qvL" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 2; + name = "\improper Weyland-Yutani Office" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/poddoor/shutters/almayer/cl/office/door, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/corporateliaison) "qwo" = ( /obj/structure/machinery/washing_machine, /obj/structure/machinery/washing_machine{ @@ -62217,6 +61108,25 @@ icon_state = "silver" }, /area/almayer/command/airoom) +"qxe" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/obj/structure/machinery/door/poddoor/almayer/locked{ + id = "Cell 3"; + name = "\improper Courtyard Divider" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/cells) "qxm" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4; @@ -62229,6 +61139,19 @@ }, /turf/closed/wall/almayer/research/containment/wall/purple, /area/almayer/medical/containment/cell) +"qxr" = ( +/obj/structure/machinery/cryopod/right{ + layer = 3.1; + pixel_y = 13 + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/cryo) "qxz" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ dir = 2; @@ -62290,11 +61213,6 @@ dir = 4 }, /area/almayer/medical/containment/cell) -"qyd" = ( -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/perma) "qyi" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -62319,16 +61237,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"qyz" = ( -/obj/structure/machinery/computer/cameras/containment/hidden{ - dir = 4; - pixel_x = -17 - }, -/obj/structure/surface/table/almayer, -/obj/item/storage/photo_album, -/obj/item/device/camera_film, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) "qyD" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/recharger, @@ -62351,35 +61259,13 @@ icon_state = "plating" }, /area/almayer/hallways/vehiclehangar) -"qyH" = ( +"qyK" = ( /obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 + icon_state = "S" }, +/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, -/area/almayer/command/lifeboat) -"qyJ" = ( -/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_shotgun, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/command/cic) -"qyM" = ( -/obj/structure/surface/table/almayer, -/obj/item/clothing/mask/cigarette/pipe{ - pixel_x = 8 - }, -/obj/structure/transmitter/rotary{ - name = "Reporter Telephone"; - phone_category = "Almayer"; - phone_id = "Reporter"; - pixel_x = -4; - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) +/area/almayer/engineering/lower/workshop/hangar) "qyW" = ( /obj/structure/bed/chair{ dir = 4 @@ -62411,6 +61297,15 @@ icon_state = "plating" }, /area/almayer/shipboard/port_point_defense) +"qAs" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop) "qAA" = ( /obj/structure/machinery/power/monitor{ name = "Main Power Grid Monitoring" @@ -62422,6 +61317,15 @@ icon_state = "mono" }, /area/almayer/engineering/ce_room) +"qAB" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 5 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "qAT" = ( /obj/structure/machinery/light, /obj/structure/surface/table/almayer, @@ -62444,6 +61348,18 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"qBq" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 2; + name = "\improper Bathroom" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/living/commandbunks) "qBM" = ( /obj/item/storage/fancy/crayons{ layer = 3.1; @@ -62465,15 +61381,12 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) -"qCg" = ( -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/structure/sink{ - pixel_y = 24 +"qCi" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/upper_engineering/port) +/area/almayer/hull/upper_hull/u_f_s) "qCo" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -62491,6 +61404,24 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"qCU" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/sentencing{ + dir = 8; + pixel_y = 6 + }, +/obj/structure/sign/safety/terminal{ + pixel_x = 32; + pixel_y = -22 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "qDq" = ( /obj/effect/landmark/start/marine/bravo, /obj/effect/landmark/late_join/bravo, @@ -62573,6 +61504,30 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/processing) +"qEA" = ( +/obj/structure/bed, +/obj/structure/machinery/flasher{ + id = "Cell 4"; + pixel_x = -24 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/cells) +"qEL" = ( +/obj/structure/surface/table/almayer, +/obj/structure/largecrate/random/case/small{ + pixel_y = 5 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 8; + pixel_y = -2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "qEW" = ( /obj/structure/sign/poster/ad{ pixel_x = 30 @@ -62591,6 +61546,12 @@ icon_state = "green" }, /area/almayer/hallways/starboard_hallway) +"qFi" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/chief_mp_office) "qFl" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/hull/upper_hull/u_f_p) @@ -62603,6 +61564,13 @@ }, /turf/open/floor/plating, /area/almayer/shipboard/brig/cells) +"qFE" = ( +/obj/structure/machinery/brig_cell/cell_5{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "qFG" = ( /obj/structure/window/framed/almayer, /turf/open/floor/almayer{ @@ -62624,15 +61592,6 @@ icon_state = "bluefull" }, /area/almayer/squads/delta) -"qFQ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "qFW" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -62648,12 +61607,35 @@ icon_state = "red" }, /area/almayer/squads/alpha_bravo_shared) +"qGf" = ( +/obj/structure/machinery/power/apc/almayer, +/obj/structure/sign/safety/rewire{ + pixel_y = -38 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/lobby) +"qGw" = ( +/obj/structure/reagent_dispensers/ammoniatank{ + anchored = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "qGF" = ( /obj/structure/machinery/optable, /turf/open/floor/almayer{ icon_state = "dark_sterile" }, /area/almayer/medical/operating_room_two) +"qGU" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/lifeboat_pumps/south2) "qHb" = ( /obj/structure/bed/chair{ dir = 8 @@ -62696,17 +61678,6 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"qHF" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/box/bodybags{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/storage/box/bodybags, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) "qHM" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -62717,6 +61688,17 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) +"qIx" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + access_modified = 1; + req_access_txt = "200"; + req_one_access = null + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/backdoor, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/corporateliaison) "qIL" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/camera/autoname/almayer{ @@ -62737,6 +61719,15 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"qJf" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/engineering/upper_engineering) "qJj" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -62747,6 +61738,16 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"qJo" = ( +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "qJx" = ( /obj/structure/machinery/vending/cola, /turf/open/floor/almayer{ @@ -62837,6 +61838,16 @@ icon_state = "plating" }, /area/almayer/engineering/upper_engineering) +"qKt" = ( +/obj/structure/closet/emcloset, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/hull/upper_hull/u_f_s) "qKz" = ( /obj/structure/machinery/light/small, /turf/open/floor/almayer{ @@ -62865,6 +61876,22 @@ icon_state = "greencorner" }, /area/almayer/hallways/port_hallway) +"qKY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/almayer/engineering/upper_engineering/port) +"qLg" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "qLi" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -62955,20 +61982,6 @@ icon_state = "silver" }, /area/almayer/command/computerlab) -"qMe" = ( -/obj/structure/machinery/portable_atmospherics/hydroponics, -/obj/item/tool/minihoe{ - pixel_x = -4; - pixel_y = -4 - }, -/obj/item/reagent_container/glass/fertilizer/ez, -/obj/item/seeds/ambrosiavulgarisseed, -/obj/item/tool/plantspray/weeds, -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "qMf" = ( /obj/structure/bed/chair, /turf/open/floor/almayer{ @@ -62978,6 +61991,19 @@ "qMu" = ( /turf/closed/wall/almayer/outer, /area/almayer/hull/upper_hull/u_a_p) +"qMD" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/flashbangs, +/obj/item/storage/box/flashbangs{ + pixel_x = 5; + pixel_y = 9 + }, +/obj/item/storage/box/flashbangs{ + pixel_x = -8; + pixel_y = 5 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "qMP" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -63006,16 +62032,6 @@ icon_state = "cargo" }, /area/almayer/squads/delta) -"qNv" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/pen, -/obj/item/paper_bin/uscm{ - pixel_y = 7 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/lobby) "qNy" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/almayer{ @@ -63032,6 +62048,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) +"qNI" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = -17 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "qNR" = ( /obj/structure/disposalpipe/junction, /obj/structure/pipes/standard/manifold/hidden/supply{ @@ -63107,6 +62132,15 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) +"qPX" = ( +/obj/structure/machinery/light, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/command/lifeboat) "qQc" = ( /obj/structure/closet/secure_closet/personal/patient{ name = "morgue closet" @@ -63124,28 +62158,13 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) -"qQL" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" - }, -/area/almayer/engineering/upper_engineering/port) -"qQM" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ +"qQy" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "qQP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63187,46 +62206,19 @@ icon_state = "silvercorner" }, /area/almayer/shipboard/brig/cic_hallway) -"qRo" = ( -/obj/structure/pipes/vents/pump{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) -"qRL" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/generic2{ - access_modified = 1; - name = "\improper Flight Crew Quarters"; - req_one_access_txt = "19;22" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/living/pilotbunks) -"qRT" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/execution) -"qSl" = ( +"qRr" = ( +/obj/structure/machinery/door/airlock/almayer/generic/corporate, /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/obj/structure/machinery/power/apc/almayer{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/door, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/command/corporateliaison) "qSm" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -63261,6 +62253,14 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"qTQ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "qTY" = ( /obj/structure/machinery/gibber, /turf/open/floor/plating/plating_catwalk, @@ -63271,14 +62271,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/starboard_umbilical) -"qUb" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/recharger, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "qUh" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -63312,6 +62304,32 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) +"qUx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) +"qUz" = ( +/obj/structure/machinery/light{ + dir = 8; + invisibility = 101 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"qUE" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_s) "qUH" = ( /obj/structure/surface/rack, /turf/open/floor/almayer{ @@ -63329,6 +62347,22 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"qUZ" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/door_control{ + id = "MTline"; + name = "Next button"; + pixel_x = 5; + pixel_y = 10; + req_one_access_txt = "2;7" + }, +/obj/item/paper_bin/uscm, +/obj/item/tool/pen, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "qVC" = ( /obj/structure/surface/table/reinforced/almayer_B, /turf/open/floor/almayer{ @@ -63386,18 +62420,21 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"qWy" = ( -/obj/structure/bed/chair/comfy/delta, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "qWI" = ( /obj/structure/machinery/status_display{ pixel_y = -30 }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"qWQ" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "qWR" = ( /turf/closed/wall/almayer/research/containment/wall/corner{ dir = 4 @@ -63409,6 +62446,11 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"qXk" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "qXo" = ( /obj/structure/machinery/seed_extractor, /obj/structure/machinery/light{ @@ -63419,17 +62461,22 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"qXx" = ( -/obj/structure/platform, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 +"qXp" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp{ + pixel_x = 15 }, /turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" + icon_state = "bluefull" + }, +/area/almayer/living/briefing) +"qXE" = ( +/obj/structure/machinery/brig_cell/perma_1{ + pixel_x = 32 }, -/area/almayer/engineering/engine_core) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "qXM" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -63438,6 +62485,40 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"qXO" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/mre_pack/xmas3{ + pixel_x = 5 + }, +/obj/item/reagent_container/food/snacks/mre_pack/xmas2{ + pixel_x = 5; + pixel_y = 9 + }, +/obj/effect/landmark/map_item{ + layer = 3.03; + pixel_x = -7; + pixel_y = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"qXR" = ( +/turf/closed/wall/almayer, +/area/almayer/hull/lower_hull/stern) +"qXS" = ( +/obj/structure/stairs{ + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_Down4"; + vector_x = 19; + vector_y = -104 + }, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/port) "qXZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -63454,6 +62535,20 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"qYo" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 6" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) +"qYq" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) "qYr" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down3"; @@ -63497,20 +62592,6 @@ icon_state = "mono" }, /area/almayer/command/lifeboat) -"qYH" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/obj/structure/machinery/door/airlock/almayer/security/reinforced{ - name = "\improper Execution Equipment" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/execution) "qYN" = ( /obj/structure/surface/table/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -63552,13 +62633,33 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) -"qZg" = ( -/obj/structure/pipes/standard/simple/hidden/supply, +"qZA" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, /turf/open/floor/almayer{ dir = 8; - icon_state = "redcorner" + icon_state = "red" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/shipboard/brig/chief_mp_office) +"qZF" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/cameras/almayer_network{ + dir = 8; + pixel_y = 6 + }, +/obj/structure/machinery/door_control{ + id = "perma_lockdown_1"; + name = "\improper Perma Cells Lockdown"; + pixel_x = -8; + pixel_y = -4; + req_access_txt = "3" + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "qZH" = ( /obj/structure/surface/table/almayer, /obj/item/paper{ @@ -63577,15 +62678,12 @@ icon_state = "cargo" }, /area/almayer/squads/bravo) -"rag" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" +"rae" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/shipboard/brig/main_office) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/engine_core) "rav" = ( /obj/structure/platform{ dir = 4 @@ -63610,12 +62708,22 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"rbp" = ( -/obj/structure/largecrate/random/case/small, +"rbi" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/ids{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/device/flash, +/obj/structure/machinery/light{ + dir = 8; + invisibility = 101 + }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 8; + icon_state = "red" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/shipboard/brig/main_office) "rbv" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -63662,6 +62770,18 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie) +"rbK" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/execution) "rbX" = ( /obj/structure/sign/safety/manualopenclose{ pixel_x = 15; @@ -63713,37 +62833,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) -"rcW" = ( -/obj/item/storage/toolbox/mechanical{ - pixel_y = 13 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) -"rdb" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin/uscm{ - pixel_x = 9; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/structure/prop/holidays/string_lights{ - dir = 8; - pixel_x = 29 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "rde" = ( /obj/structure/sign/prop1, /turf/closed/wall/almayer, @@ -63777,6 +62866,16 @@ }, /turf/open/floor/almayer/research/containment/corner4, /area/almayer/medical/containment/cell) +"rdA" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17; + pixel_y = -34 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "rdI" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/technology_scanner, @@ -63788,6 +62887,18 @@ "rdK" = ( /turf/closed/wall/almayer, /area/almayer/hull/lower_hull/l_a_s) +"rdM" = ( +/obj/structure/machinery/vending/snack, +/obj/structure/machinery/status_display{ + pixel_x = 32 + }, +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/general_equipment) "rdS" = ( /obj/structure/machinery/light{ dir = 8 @@ -63811,6 +62922,15 @@ icon_state = "blue" }, /area/almayer/hallways/port_hallway) +"rec" = ( +/obj/structure/bed/chair/comfy/bravo{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "ren" = ( /obj/structure/machinery/light{ dir = 4 @@ -63859,18 +62979,6 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_m_s) -"rfv" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/uscm/command/capt{ - name = "Commanding Officer's Fax Machine"; - pixel_x = -4; - pixel_y = 3 - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "rfI" = ( /obj/structure/sign/safety/airlock{ pixel_y = -32 @@ -63903,6 +63011,16 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) +"rfY" = ( +/obj/structure/machinery/cryopod, +/obj/structure/machinery/light{ + dir = 8; + invisibility = 101 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/cryo) "rgy" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -63915,16 +63033,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_p) -"rgJ" = ( -/obj/structure/machinery/light, -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/port_emb) "rgK" = ( /obj/structure/pipes/vents/scrubber{ dir = 8 @@ -63949,17 +63057,31 @@ icon_state = "emeraldcorner" }, /area/almayer/living/briefing) -"rhD" = ( -/obj/structure/machinery/light/small{ - dir = 8 +"rhl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) +/turf/open/floor/almayer{ + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/main_office) +"rhy" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/structure/prop/server_equipment/laptop{ + pixel_x = -2; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "rhO" = ( /obj/structure/machinery/vending/cola/research{ pixel_x = 4 @@ -63974,6 +63096,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) +"rib" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "ril" = ( /obj/structure/prop/invuln/lattice_prop{ dir = 1; @@ -63985,19 +63117,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) -"riA" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "riE" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -64032,14 +63151,15 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"riQ" = ( -/obj/item/device/multitool, -/obj/structure/platform_decoration, +"riT" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, /turf/open/floor/almayer{ dir = 5; icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/shipboard/stern_point_defense) "rjn" = ( /obj/structure/machinery/light, /obj/structure/reagent_dispensers/water_cooler/stacks, @@ -64047,25 +63167,22 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"rjw" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "rjG" = ( /obj/structure/pipes/standard/tank/oxygen, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) -"rjH" = ( -/obj/structure/surface/rack, -/obj/item/storage/beer_pack, +"rjO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 5; + icon_state = "plating" }, -/area/almayer/command/corporateliason) +/area/almayer/engineering/lower/engine_core) "rjV" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/cameras/wooden_tv/prop{ @@ -64116,19 +63233,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) -"rkh" = ( -/obj/structure/machinery/door/poddoor/almayer/locked{ - dir = 8; - id = "Perma 1L"; - name = "\improper cell shutter" - }, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Isolation Cell" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/perma) "rku" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/tool/wrench{ @@ -64147,21 +63251,14 @@ /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, /area/almayer/living/gym) -"rkK" = ( +"rlc" = ( +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk, /turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) -"rkL" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 2; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" + dir = 8; + icon_state = "orange" }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/main_office) +/area/almayer/engineering/lower/engine_core) "rlf" = ( /obj/structure/machinery/cm_vending/clothing/synth/snowflake, /turf/open/floor/almayer{ @@ -64248,12 +63345,31 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/main_office) +"rmx" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/recharger, +/obj/item/device/flash, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/general_equipment) "rmD" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"rmE" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/engineering/upper_engineering/port) "rmN" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -64261,9 +63377,19 @@ "rna" = ( /turf/closed/wall/almayer/white, /area/almayer/command/airoom) -"rne" = ( -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) +"rnF" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 2; + name = "\improper Engineering Workshop" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/workshop) "rnH" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -64367,6 +63493,15 @@ /obj/effect/landmark/start/executive, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/bridgebunks) +"rpF" = ( +/obj/structure/machinery/body_scanconsole{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/surgery) "rpK" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -64424,30 +63559,21 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"rqH" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/transmitter/rotary{ - name = "Commanding Officer's Office"; - phone_category = "Offices"; - phone_id = "Commanding Officer's Office"; - pixel_x = 16; - pixel_y = 8 +"rqS" = ( +/obj/structure/surface/table/almayer, +/obj/item/folder/red{ + pixel_x = -4 }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) -"rra" = ( -/obj/structure/machinery/door/poddoor/almayer/locked{ - dir = 8; - id = "Perma 2L"; - name = "\improper cell shutter" +/obj/item/folder/blue{ + pixel_x = 4 }, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Isolation Cell" +/obj/structure/machinery/light{ + dir = 1 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "cargo" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/shipboard/brig/evidence_storage) "rri" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -64467,6 +63593,16 @@ icon_state = "red" }, /area/almayer/squads/alpha) +"rrz" = ( +/obj/structure/sign/safety/four{ + pixel_x = -17 + }, +/obj/structure/machinery/door/window/brigdoor/southright{ + id = "Cell 4"; + name = "Cell 4" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "rrB" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor/reinforced{ name = "\improper Cryogenics Bay" @@ -64542,16 +63678,6 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer, /area/almayer/command/computerlab) -"rsW" = ( -/obj/structure/pipes/vents/pump, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/engineering/upper_engineering/port) "rsY" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -64631,6 +63757,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) +"rur" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/port_emb) "rux" = ( /obj/structure/surface/table/almayer, /obj/item/paper_bin/uscm, @@ -64646,14 +63788,10 @@ icon_state = "cargo" }, /area/almayer/hallways/hangar) -"rvo" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/shipboard/brig/evidence_storage) +"ruL" = ( +/obj/structure/window/framed/almayer/hull/hijack_bustable, +/turf/open/floor/plating, +/area/almayer/engineering/lower/workshop/hangar) "rvA" = ( /turf/open/floor/almayer, /area/almayer/living/numbertwobunks) @@ -64669,6 +63807,17 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"rwq" = ( +/obj/structure/sign/safety/cryo{ + pixel_x = 7; + pixel_y = -26 + }, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) "rwv" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/bed/chair/comfy/bravo, @@ -64676,17 +63825,17 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) +"rwB" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower) "rwS" = ( /obj/structure/machinery/light/small, /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) -"rwT" = ( -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/engineering/upper_engineering) "rwY" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -64747,29 +63896,20 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) -"rzf" = ( -/obj/effect/landmark/late_join/working_joe, -/obj/effect/landmark/start/working_joe, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/airoom) -"rzj" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - access_modified = 1; - name = "\improper Brig"; - req_access = null; - req_one_access_txt = "1;3" - }, +"ryR" = ( +/obj/structure/machinery/cm_vending/clothing/staff_officer_armory, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "redfull" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/command/cic) +"ryY" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/disposalpipe/down/almayer{ + dir = 1; + id = "almayerlink" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "rzN" = ( /turf/open/floor/almayer{ icon_state = "dark_sterile" @@ -64788,18 +63928,20 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_a_s) +"rzY" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "rAb" = ( /turf/open/floor/almayer{ icon_state = "bluecorner" }, /area/almayer/living/briefing) -"rAv" = ( -/obj/structure/machinery/shower{ - dir = 8 - }, -/obj/structure/window/reinforced, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "rAx" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -64842,6 +63984,20 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"rAX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "rBa" = ( /obj/structure/machinery/cm_vending/clothing/synth, /obj/structure/prop/invuln/overhead_pipe{ @@ -64875,6 +64031,12 @@ icon_state = "orange" }, /area/almayer/hallways/port_umbilical) +"rBv" = ( +/obj/structure/closet/toolcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "rBx" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/tool/stamp/ro{ @@ -64909,6 +64071,16 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"rCl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "rCp" = ( /obj/structure/largecrate/random/case/small, /obj/structure/machinery/light/small{ @@ -64952,27 +64124,26 @@ icon_state = "cargo" }, /area/almayer/squads/req) -"rCL" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "rCO" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/briefing) "rCU" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 2; + id = "Warden Office Shutters"; + name = "\improper Privacy Shutters" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 1; + name = "\improper Warden's Office"; + closeOtherId = "brigwarden" }, /turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/cic_hallway) +/area/almayer/shipboard/brig/chief_mp_office) "rDb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -65039,12 +64210,65 @@ icon_state = "plate" }, /area/almayer/living/offices) +"rDy" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) +"rDB" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 13" + }, +/obj/structure/sign/safety/rad_haz{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) +"rDI" = ( +/obj/structure/largecrate/supply, +/obj/structure/sign/safety/bulkhead_door{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_f_s) +"rDQ" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/cryo) "rDV" = ( /obj/structure/bed/chair/comfy{ dir = 8 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/medical_science) +"rDY" = ( +/obj/item/stack/sheet/glass/reinforced{ + amount = 50 + }, +/obj/effect/spawner/random/toolbox, +/obj/effect/spawner/random/powercell, +/obj/effect/spawner/random/powercell, +/obj/structure/surface/rack, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/chief_mp_office) +"rEb" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/lower_hull/stern) "rEf" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -65056,25 +64280,11 @@ /turf/open/floor/almayer, /area/almayer/living/briefing) "rEm" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/ashtray/bronze{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/structure/machinery/door_control/cl/office/window{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/structure/machinery/door_control/cl/office/door{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/spacecash/c500{ - pixel_x = -10; - pixel_y = 8 +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) +/turf/open/floor/almayer, +/area/almayer/engineering/lower) "rEn" = ( /obj/structure/surface/table/almayer, /obj/item/storage/firstaid/adv{ @@ -65113,28 +64323,47 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"rEJ" = ( -/obj/structure/machinery/light, -/obj/structure/flora/pottedplant{ - pixel_x = -1; - pixel_y = 3 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "rEL" = ( /obj/structure/machinery/cm_vending/gear/intelligence_officer, /turf/open/floor/almayer{ icon_state = "silverfull" }, /area/almayer/command/computerlab) +"rEO" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) +"rEQ" = ( +/obj/structure/machinery/iv_drip, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/surgery) "rEY" = ( -/obj/structure/surface/table/almayer, -/obj/item/toy/deck, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"rFg" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1; + name = "Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/chief_mp_office) "rFs" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/folder/black, @@ -65146,15 +64375,6 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"rFu" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "rFy" = ( /turf/open/floor/almayer{ dir = 1; @@ -65183,29 +64403,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"rFV" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/paper_bin/uscm{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = -10; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = -10; - pixel_y = -2 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "rFY" = ( /turf/open/floor/almayer{ dir = 5; @@ -65257,6 +64454,13 @@ icon_state = "test_floor4" }, /area/almayer/command/cichallway) +"rGU" = ( +/obj/structure/machinery/computer/skills{ + req_one_access_txt = "200" + }, +/obj/structure/surface/table/woodentable/fancy, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "rHc" = ( /turf/open/floor/carpet, /area/almayer/command/cichallway) @@ -65381,11 +64585,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) -"rJg" = ( -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) "rJh" = ( /obj/item/storage/backpack/marine/satchel{ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; @@ -65408,6 +64607,16 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"rJj" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "rJu" = ( /turf/open/floor/almayer{ dir = 1; @@ -65434,6 +64643,39 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, /area/almayer/living/briefing) +"rJN" = ( +/obj/structure/sign/safety/rewire{ + pixel_y = 32 + }, +/obj/item/bedsheet/brown{ + layer = 3.1 + }, +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/obj/item/bedsheet/brown{ + pixel_y = 13 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "rKd" = ( /turf/open/floor/almayer/uscm/directional{ dir = 5 @@ -65499,17 +64741,90 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) +"rLp" = ( +/obj/structure/machinery/chem_dispenser/soda{ + pixel_y = 20 + }, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) "rLv" = ( /turf/closed/wall/almayer/research/containment/wall/purple{ dir = 4; icon_state = "containment_window_h" }, /area/almayer/medical/containment/cell/cl) +"rLP" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/bed/chair/comfy/delta{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "rLU" = ( /turf/open/floor/almayer/research/containment/floor2{ dir = 8 }, /area/almayer/medical/containment/cell/cl) +"rMT" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/almayer/command/corporateliaison) +"rNa" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/paper_bin/uscm{ + pixel_x = -17; + pixel_y = 7 + }, +/obj/item/tool/pen/clicky{ + pixel_x = -13; + pixel_y = -1 + }, +/obj/item/tool/pen/clicky{ + pixel_x = -13; + pixel_y = 5 + }, +/obj/structure/machinery/door_control{ + id = "CO-Office"; + name = "Door Control"; + normaldoorcontrol = 1; + pixel_y = 7; + req_access_txt = "31" + }, +/obj/item/ashtray/bronze{ + pixel_x = 12; + pixel_y = 1 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) +"rNb" = ( +/obj/structure/pipes/vents/pump, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/structure/sink{ + pixel_y = 24 + }, +/obj/structure/machinery/door_control{ + id = "Alpha_2"; + name = "Door Lock"; + normaldoorcontrol = 1; + pixel_x = 23; + specialfunctions = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/port_emb) "rNF" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -65519,6 +64834,12 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"rNK" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "rOc" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -65554,6 +64875,13 @@ icon_state = "plate" }, /area/almayer/command/cic) +"rOI" = ( +/obj/structure/pipes/vents/pump{ + dir = 8; + id_tag = "mining_outpost_pump" + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "rOJ" = ( /obj/structure/barricade/handrail, /obj/structure/disposalpipe/segment, @@ -65561,30 +64889,6 @@ icon_state = "plate" }, /area/almayer/living/gym) -"rOZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 - }, -/obj/item/weapon/gun/rifle/l42a, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) -"rPh" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/vending/cigarette{ - density = 0; - pixel_y = 16 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/cells) "rPt" = ( /turf/open/floor/wood/ship, /area/almayer/engineering/ce_room) @@ -65608,6 +64912,27 @@ icon_state = "blue" }, /area/almayer/squads/delta) +"rPQ" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + name = "\improper Engineering Hallway" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower) +"rQc" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "rQj" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/almayer{ @@ -65618,7 +64943,7 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 }, -/obj/structure/disposalpipe/junction, +/obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) "rQy" = ( @@ -65661,20 +64986,23 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"rQY" = ( -/obj/structure/bed, -/obj/structure/machinery/flasher{ - id = "Cell 3"; - pixel_x = 24 +"rRq" = ( +/turf/closed/wall/almayer, +/area/almayer/lifeboat_pumps/south2) +"rRr" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/surface/table/almayer, +/obj/item/toy/deck/uno, +/obj/item/toy/deck{ + pixel_x = -9 }, /turf/open/floor/almayer{ - dir = 6; + dir = 1; icon_state = "red" }, -/area/almayer/shipboard/brig/cells) -"rRq" = ( -/turf/closed/wall/almayer, -/area/almayer/lifeboat_pumps/south2) +/area/almayer/shipboard/brig/main_office) "rRz" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -65682,14 +65010,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"rRQ" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "rRU" = ( /obj/structure/machinery/light{ dir = 8 @@ -65742,18 +65062,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) -"rSH" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 8 - }, -/obj/structure/surface/rack, -/obj/effect/spawner/random/tool, -/obj/effect/spawner/random/powercell, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/shipboard/brig/lobby) "rSK" = ( /obj/structure/machinery/light/small, /turf/open/floor/almayer{ @@ -65766,15 +65074,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) -"rTt" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/chief_mp_office) "rTJ" = ( /obj/effect/decal/cleanable/blood/oil/streak, /turf/open/floor/almayer{ @@ -65816,27 +65115,6 @@ icon_state = "silver" }, /area/almayer/command/computerlab) -"rUB" = ( -/obj/structure/pipes/vents/pump, -/obj/item/tool/soap, -/obj/effect/decal/cleanable/blood, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/sink{ - pixel_y = 24 - }, -/obj/structure/mirror{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/shipboard/brig/cells) "rUU" = ( /obj/structure/machinery/door/airlock/almayer/maint{ req_access = null; @@ -65851,6 +65129,16 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_s) +"rVm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/main_office) "rVo" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -65865,6 +65153,18 @@ icon_state = "red" }, /area/almayer/shipboard/port_missiles) +"rWn" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + layer = 1.9 + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "CMP Office Shutters"; + name = "\improper Privacy Shutters" + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/chief_mp_office) "rWs" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -65873,13 +65173,15 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cic_hallway) "rWF" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 21 }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 4; + icon_state = "red" }, -/area/almayer/command/lifeboat) +/area/almayer/shipboard/brig/chief_mp_office) "rWL" = ( /obj/structure/barricade/metal, /turf/open/floor/almayer{ @@ -65925,13 +65227,6 @@ icon_state = "test_floor4" }, /area/almayer/living/gym) -"rXC" = ( -/obj/structure/disposalpipe/junction, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/general_equipment) "rXS" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/disposalpipe/segment{ @@ -65944,6 +65239,12 @@ icon_state = "test_floor4" }, /area/almayer/squads/delta) +"rYh" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/workshop) "rYi" = ( /obj/structure/bed/chair, /obj/structure/machinery/power/apc/almayer{ @@ -65986,14 +65287,6 @@ icon_state = "plate" }, /area/almayer/living/offices/flight) -"rYZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_x = -1; - pixel_y = 2 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/vehiclehangar) "rZz" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -66032,43 +65325,14 @@ icon_state = "plate" }, /area/almayer/shipboard/starboard_point_defense) -"rZR" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) -"sah" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) -"saB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"saW" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 +"saL" = ( +/obj/structure/machinery/door/airlock/almayer/generic/corporate{ + name = "Corporate Liaison's Closet" }, /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/command/corporateliaison) "sbq" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ icon_state = "almayer_pdoor"; @@ -66090,6 +65354,14 @@ icon_state = "green" }, /area/almayer/squads/req) +"sbP" = ( +/obj/effect/landmark/start/police, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cryo) "scg" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -66134,14 +65406,19 @@ icon_state = "outerhull_dir" }, /area/space) -"scD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +"scE" = ( +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/general_equipment) +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "scH" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -66155,6 +65432,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) +"scN" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "scS" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -66169,6 +65454,16 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"sdf" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "sdl" = ( /obj/structure/surface/rack{ density = 0; @@ -66191,20 +65486,6 @@ icon_state = "sterile" }, /area/almayer/medical/upper_medical) -"sdq" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_21"; - layer = 3.1; - pixel_x = -8 - }, -/obj/structure/machinery/power/apc/almayer{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/shipboard/brig/chief_mp_office) "sdu" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ @@ -66212,6 +65493,16 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"sdv" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "sdw" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -66226,16 +65517,6 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"sdF" = ( -/obj/structure/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "sdO" = ( /obj/structure/ladder{ height = 1; @@ -66258,12 +65539,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) -"sfU" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, +"sfT" = ( /turf/open/floor/almayer, -/area/almayer/engineering/lower_engineering) +/area/almayer/hallways/upper/port) +"sfV" = ( +/obj/structure/machinery/alarm/almayer, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "sgc" = ( /obj/structure/closet/crate/freezer/cooler{ pixel_x = -7 @@ -66302,6 +65584,48 @@ icon_state = "sterile_green" }, /area/almayer/medical/lockerroom) +"sgm" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/obj/structure/prop/holidays/string_lights{ + dir = 8; + pixel_x = 29 + }, +/obj/item/reagent_container/food/condiment/hotsauce/cholula{ + pixel_x = 10; + pixel_y = 14 + }, +/obj/item/trash/USCMtray{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_container/food/snacks/hotdog{ + pixel_x = -7; + pixel_y = 5 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"sgs" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/press_area_ag{ + pixel_x = -17; + pixel_y = 7 + }, +/obj/structure/sign/safety/airlock{ + pixel_x = -17; + pixel_y = -8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "sgw" = ( /obj/structure/surface/table/almayer, /obj/item/prop/almayer/flight_recorder{ @@ -66325,23 +65649,25 @@ icon_state = "plating" }, /area/almayer/hull/lower_hull/l_f_s) -"sgE" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/reagent_dispensers/water_cooler{ - density = 0; - pixel_x = 12; - pixel_y = 6 +"sgD" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "bluefull" }, /area/almayer/living/briefing) -"sgM" = ( -/obj/structure/closet/toolcloset, +"sgE" = ( +/obj/structure/bed, +/obj/structure/machinery/flasher{ + id = "Cell 3"; + pixel_x = -24 + }, /turf/open/floor/almayer{ - icon_state = "cargo" + dir = 8; + icon_state = "red" }, -/area/almayer/engineering/engine_core) +/area/almayer/shipboard/brig/cells) "sgR" = ( /obj/structure/surface/table/almayer, /obj/item/toy/deck{ @@ -66358,10 +65684,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) -"shb" = ( -/obj/effect/decal/cleanable/blood/oil, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) "shh" = ( /obj/structure/machinery/autolathe, /turf/open/floor/almayer, @@ -66405,15 +65727,17 @@ /obj/structure/largecrate/random/barrel/green, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) -"sip" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -30 +"shL" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/electrical, +/obj/structure/machinery/light{ + dir = 8 }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" + icon_state = "cargo" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/engineering/lower/engine_core) "siz" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/cameras/hangar{ @@ -66430,6 +65754,21 @@ icon_state = "redfull" }, /area/almayer/living/offices/flight) +"siN" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/pipes/standard/simple/visible{ + dir = 4 + }, +/obj/structure/machinery/computer/general_air_control/large_tank_control{ + name = "Lower Nitrogen Control Console" + }, +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "siW" = ( /obj/structure/machinery/body_scanconsole, /obj/structure/disposalpipe/segment{ @@ -66475,18 +65814,22 @@ icon_state = "test_floor4" }, /area/almayer/command/lifeboat) -"skg" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, +"sjz" = ( /obj/effect/decal/warning_stripes{ - icon_state = "S" + icon_state = "SW-out"; + layer = 2.5 }, /turf/open/floor/almayer{ - dir = 10; - icon_state = "orange" + icon_state = "mono" }, -/area/almayer/engineering/upper_engineering/starboard) +/area/almayer/lifeboat_pumps/north2) +"skj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "skl" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -66500,11 +65843,52 @@ icon_state = "plating_striped" }, /area/almayer/shipboard/sea_office) +"skq" = ( +/obj/structure/machinery/cm_vending/sorted/medical, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/surgery) +"skC" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 6 + }, +/obj/structure/machinery/meter, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "skF" = ( /turf/open/floor/almayer{ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) +"skL" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/workshop) +"skR" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10" + }, +/obj/structure/closet/secure_closet/cmdcabinet{ + desc = "A bulletproof cabinet containing communications equipment."; + name = "communications cabinet"; + pixel_y = 24; + req_access = null; + req_one_access_txt = "207;203" + }, +/obj/item/device/radio, +/obj/item/device/radio/listening_bug/radio_linked/wy, +/obj/item/device/radio/listening_bug/radio_linked/wy{ + pixel_x = 4; + pixel_y = -3 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "sld" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66516,6 +65900,19 @@ icon_state = "sterile_green" }, /area/almayer/medical/lower_medical_lobby) +"slf" = ( +/obj/structure/machinery/brig_cell/cell_6{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) +"slF" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "slP" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_full" @@ -66541,12 +65938,32 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) -"smr" = ( +"smW" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, /obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 + dir = 4 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engineering_workshop) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) +"smZ" = ( +/obj/structure/window/framed/almayer/hull/hijack_bustable, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "Warden Office Shutters"; + name = "\improper Privacy Shutters" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/chief_mp_office) "snb" = ( /obj/structure/ladder{ height = 1; @@ -66572,6 +65989,12 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) +"snt" = ( +/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "snw" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -66638,25 +66061,16 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"soa" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1; - name = "Bathroom" +"snX" = ( +/obj/structure/sign/safety/medical{ + pixel_x = 16; + pixel_y = 27 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 9; + icon_state = "red" }, -/area/almayer/shipboard/brig/cells) +/area/almayer/shipboard/brig/processing) "soq" = ( /obj/structure/machinery/computer/working_joe{ dir = 4; @@ -66687,6 +66101,12 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) +"sov" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) "sow" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -66701,14 +66121,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/gym) -"soD" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/effect/landmark/crap_item, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "soK" = ( /obj/item/storage/firstaid/fire/empty, /obj/item/storage/firstaid/o2/empty, @@ -66759,6 +66171,14 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"spH" = ( +/obj/structure/pipes/standard/simple/hidden/universal{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "spK" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 @@ -66777,18 +66197,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"spT" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "sqa" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -66802,6 +66210,17 @@ "sqf" = ( /turf/closed/wall/almayer/white/reinforced, /area/almayer/medical/upper_medical) +"sqg" = ( +/turf/closed/wall/almayer, +/area/almayer/engineering/lower) +"sql" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "sqo" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -66821,30 +66240,17 @@ icon_state = "green" }, /area/almayer/shipboard/brig/cells) -"srV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/structure/surface/table/almayer, -/obj/item/toy/deck{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/paper_bin/uscm{ - pixel_x = -6; - pixel_y = 7 +"srT" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 }, -/obj/item/tool/pen{ - pixel_x = -6 +/obj/structure/machinery/door/airlock/almayer/security/glass{ + name = "Evidence Room" }, -/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ - dir = 4; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/main_office) +/area/almayer/shipboard/brig/evidence_storage) "ssa" = ( /obj/structure/machinery/door/poddoor/almayer/open{ id = "Hangar Lockdown"; @@ -66859,12 +66265,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/repair_bay) -"ssn" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) "ssD" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -66893,6 +66293,15 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"ssW" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_shotgun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/command/cic) "ssX" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -66927,6 +66336,23 @@ allow_construction = 0 }, /area/almayer/stair_clone/upper) +"stu" = ( +/obj/structure/machinery/sentry_holder/almayer, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north1) +"stO" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/faxmachine/uscm/brig, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "stY" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -66941,6 +66367,25 @@ icon_state = "test_floor4" }, /area/almayer/hallways/starboard_hallway) +"suc" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + dir = 2; + name = "\improper Brig Armoury"; + req_access = null; + req_one_access_txt = "1;3"; + closeOtherId = "brignorth" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/main_office) "suk" = ( /obj/item/tool/weldingtool, /turf/open/floor/plating/plating_catwalk, @@ -66951,6 +66396,18 @@ }, /turf/open/floor/almayer, /area/almayer/command/computerlab) +"suJ" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Core Hatch" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "suT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66965,12 +66422,13 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) -"svd" = ( -/obj/structure/machinery/recharge_station, +"suY" = ( +/obj/structure/platform_decoration, /turf/open/floor/almayer{ - icon_state = "cargo" + dir = 5; + icon_state = "plating" }, -/area/almayer/engineering/engine_core) +/area/almayer/engineering/lower/engine_core) "svf" = ( /obj/structure/machinery/light{ dir = 1 @@ -66985,16 +66443,18 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) -"svp" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"svC" = ( +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/smg/m39{ + pixel_y = 6 }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 +/obj/item/weapon/gun/smg/m39{ + pixel_y = -6 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "swn" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -67002,16 +66462,6 @@ }, /turf/open/floor/plating, /area/almayer/shipboard/brig/surgery) -"swo" = ( -/obj/structure/machinery/vending/security, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "swt" = ( /turf/open/floor/almayer{ icon_state = "greencorner" @@ -67095,6 +66545,41 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) +"sxE" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/sign/safety/escapepod{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) +"sxT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/m41a{ + pixel_y = 6 + }, +/obj/item/weapon/gun/rifle/m41a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) +"sxW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "silver" + }, +/area/almayer/command/cichallway) "syH" = ( /obj/structure/machinery/firealarm{ pixel_y = -28 @@ -67104,12 +66589,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/delta) -"syM" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) "syP" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -67117,26 +66596,20 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) -"szm" = ( -/obj/structure/machinery/power/fusion_engine{ - name = "\improper S-52 fusion reactor 10" - }, -/obj/structure/machinery/light{ - dir = 8 +"szf" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/obj/structure/coatrack{ + pixel_x = -5; + pixel_y = 1 }, -/area/almayer/engineering/engine_core) -"szy" = ( /obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" + dir = 5 }, -/area/almayer/shipboard/brig/main_office) +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "szE" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -67168,6 +66641,12 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) +"szR" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/main_office) "szU" = ( /obj/structure/toilet{ dir = 8 @@ -67201,6 +66680,15 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"sAz" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "sAA" = ( /obj/structure/machinery/light{ dir = 1 @@ -67212,27 +66700,19 @@ icon_state = "orange" }, /area/almayer/engineering/ce_room) -"sBs" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper, -/obj/item/tool/pen{ - pixel_x = -5; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/living/briefing) -"sBH" = ( +"sBg" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 }, -/obj/structure/machinery/status_display{ - pixel_x = 32 +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) +"sBo" = ( +/obj/structure/closet/firecloset, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out" }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/execution) +/area/almayer/hull/upper_hull/u_f_s) "sBL" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/structure/machinery/light, @@ -67285,6 +66765,19 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"sCV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "sDu" = ( /obj/item/clothing/under/marine/dress, /turf/open/floor/almayer{ @@ -67297,6 +66790,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) +"sDA" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/bed/chair/comfy/charlie{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "sDC" = ( /obj/structure/sign/safety/analysis_lab{ pixel_y = 26 @@ -67323,11 +66825,17 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"sEa" = ( +"sDV" = ( +/obj/structure/machinery/firealarm{ + pixel_y = -28 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/almayer{ - icon_state = "redcorner" + icon_state = "red" }, -/area/almayer/shipboard/brig/chief_mp_office) +/area/almayer/shipboard/brig/main_office) "sEd" = ( /obj/structure/machinery/cryopod/right, /obj/structure/machinery/light{ @@ -67417,6 +66925,22 @@ icon_state = "plate" }, /area/almayer/command/cic) +"sEZ" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 26 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -2 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/armory) "sFf" = ( /turf/open/floor/almayer{ icon_state = "cargo" @@ -67495,17 +67019,6 @@ /obj/structure/mirror, /turf/closed/wall/almayer, /area/almayer/living/gym) -"sGX" = ( -/obj/structure/machinery/firealarm{ - pixel_y = -28 - }, -/obj/structure/bed/chair/comfy/charlie{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "sGZ" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -67534,6 +67047,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"sHm" = ( +/obj/structure/disposalpipe/up/almayer{ + id = "almayerlink_OT_req" + }, +/turf/closed/wall/almayer, +/area/almayer/engineering/lower/workshop/hangar) "sHo" = ( /obj/structure/pipes/unary/outlet_injector{ dir = 8; @@ -67553,6 +67072,13 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"sHx" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop) "sHM" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -67586,11 +67112,12 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"sIw" = ( -/turf/open/floor/almayer{ - icon_state = "redfull" +"sIr" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/shipboard/brig/evidence_storage) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/engine_core) "sIx" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, @@ -67631,26 +67158,10 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"sIY" = ( -/obj/structure/machinery/brig_cell/perma_1{ - pixel_x = -32; - pixel_y = 4 - }, -/obj/structure/machinery/door_control{ - id = "Perma 1L"; - name = "Perma 1 Lockdown"; - pixel_x = -24; - pixel_y = -12; - req_access_txt = "3" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/perma) +"sJm" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/chief_mp_office) "sJC" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -67660,6 +67171,34 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) +"sJI" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/aluminum{ + amount = 20 + }, +/obj/item/stack/sheet/copper{ + amount = 20; + pixel_y = 4 + }, +/obj/item/stack/sheet/mineral/gold{ + amount = 3; + pixel_y = 4 + }, +/obj/item/stack/sheet/mineral/silver{ + amount = 5; + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/stack/sheet/mineral/phoron{ + amount = 25 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "sJY" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -67675,6 +67214,14 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/morgue) +"sKM" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "sKY" = ( /obj/structure/bed/chair/office/dark{ dir = 8; @@ -67694,6 +67241,13 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"sLA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "sLE" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -67708,6 +67262,15 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_m_s) +"sMu" = ( +/obj/item/trash/uscm_mre, +/obj/structure/bed/chair/comfy/charlie{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "sMM" = ( /obj/structure/cable/heavyduty{ icon_state = "4-8" @@ -67782,6 +67345,16 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"sOv" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/obj/structure/machinery/door_control/cl/quarter/windows{ + pixel_x = 11; + pixel_y = 37 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "sOw" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -67805,6 +67378,15 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"sOZ" = ( +/obj/structure/sign/safety/ammunition{ + pixel_y = 32 + }, +/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/medical/upper_medical) "sPc" = ( /obj/structure/machinery/light{ dir = 1 @@ -67817,15 +67399,13 @@ icon_state = "plate" }, /area/almayer/living/offices) -"sPA" = ( -/obj/structure/sign/safety/ladder{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "orange" +"sPF" = ( +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4 }, -/area/almayer/engineering/lower_engineering) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "sPJ" = ( /obj/structure/machinery/firealarm{ dir = 4; @@ -67841,33 +67421,12 @@ icon_state = "red" }, /area/almayer/shipboard/port_missiles) -"sQL" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "sQO" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/command/lifeboat) -"sQS" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/stamp{ - pixel_x = 3; - pixel_y = 10 - }, -/obj/item/device/taperecorder, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) "sQU" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -67928,13 +67487,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"sSm" = ( -/obj/structure/reagent_dispensers/water_cooler/stacks{ - density = 0; - pixel_y = 17 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "sSC" = ( /turf/open/floor/almayer{ dir = 6; @@ -67965,15 +67517,12 @@ icon_state = "plate" }, /area/almayer/command/cic) -"sSR" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" +"sSP" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21" }, -/area/almayer/hallways/aft_hallway) +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "sSY" = ( /obj/structure/pipes/vents/scrubber{ dir = 8 @@ -68106,12 +67655,47 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"sVy" = ( -/obj/structure/machinery/power/apc/almayer{ +"sVT" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/structure/machinery/light{ dir = 1 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cryo) +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) +"sVV" = ( +/turf/open/floor/almayer, +/area/almayer/hallways/upper/starboard) +"sWs" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/hull/upper_hull/u_f_p) +"sWC" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 2 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/upper_engineering/port) "sWW" = ( /obj/structure/machinery/flasher{ alpha = 1; @@ -68205,19 +67789,31 @@ icon_state = "green" }, /area/almayer/shipboard/brig/cells) -"sXV" = ( -/obj/structure/machinery/recharge_station, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "sYh" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"sYi" = ( +/obj/structure/machinery/door_control{ + id = "firearm_storage_armory"; + name = "Armory Lockdown"; + pixel_y = 24; + req_access_txt = "4" + }, +/obj/structure/sign/safety/ammunition{ + pixel_y = 32 + }, +/obj/structure/sign/safety/restrictedarea{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "sYw" = ( /obj/structure/platform{ dir = 8 @@ -68255,6 +67851,20 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"sYE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/status_display{ + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "sYP" = ( /obj/structure/reagent_dispensers/fueltank/custom, /turf/open/floor/almayer{ @@ -68280,6 +67890,16 @@ icon_state = "plate" }, /area/almayer/squads/charlie) +"sZs" = ( +/obj/structure/machinery/light, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/port_emb) "sZy" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -68361,11 +67981,38 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/aft_hallway) +"tan" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "tat" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/living/port_emb) +"tau" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/reinforced{ + dir = 2; + name = "\improper Brig Permanent Confinement" + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "perma_lockdown_1"; + name = "\improper Perma Lockdown Shutter" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/perma) "taA" = ( /obj/structure/machinery/light{ dir = 4 @@ -68403,6 +68050,17 @@ icon_state = "test_floor4" }, /area/almayer/medical/containment/cell) +"taV" = ( +/obj/effect/projector{ + name = "Almayer_Down1"; + vector_x = 19; + vector_y = -98 + }, +/turf/open/floor/almayer{ + allow_construction = 0; + icon_state = "plate" + }, +/area/almayer/hallways/upper/starboard) "tbD" = ( /obj/structure/ladder{ height = 2; @@ -68414,31 +68072,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"tce" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/lower_hull/l_a_s) -"tcP" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "perma_lockdown"; - name = "\improper Perma Lockdown Shutter" - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - name = "\improper Perma Cells" +"tcZ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "dark_sterile" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/engineering/upper_engineering/port) "tda" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -68468,20 +68109,32 @@ }, /area/almayer/hallways/hangar) "tdv" = ( -/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/surface/table/almayer, +/obj/structure/sign/safety/terminal{ + pixel_x = -17 + }, +/obj/structure/machinery/computer/working_joe{ + dir = 4 + }, /turf/open/floor/almayer{ dir = 8; - icon_state = "red" + icon_state = "orange" }, -/area/almayer/shipboard/brig/main_office) -"tdx" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 +/area/almayer/engineering/lower/engine_core) +"tdy" = ( +/obj/structure/bed/sofa/south/grey/right, +/obj/structure/sign/safety/restrictedarea{ + pixel_y = 32 + }, +/obj/structure/sign/safety/security{ + pixel_x = 15; + pixel_y = 32 }, /turf/open/floor/almayer{ - icon_state = "orangecorner" + dir = 1; + icon_state = "red" }, -/area/almayer/engineering/engine_core) +/area/almayer/shipboard/brig/lobby) "tdE" = ( /obj/structure/window/reinforced{ dir = 8 @@ -68549,6 +68202,15 @@ /obj/effect/landmark/late_join, /turf/open/floor/almayer, /area/almayer/living/cryo_cells) +"teE" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "teH" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -68576,6 +68238,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"tff" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/lobby) "tfl" = ( /obj/structure/machinery/light{ dir = 1 @@ -68608,29 +68276,15 @@ dir = 1 }, /area/almayer/medical/containment/cell) -"tfO" = ( -/obj/structure/machinery/power/apc/almayer{ +"tge" = ( +/obj/structure/pipes/vents/scrubber{ dir = 4 }, -/obj/item/storage/box/nade_box/tear_gas, -/obj/item/storage/box/nade_box/tear_gas{ - pixel_x = 3; - pixel_y = 5 - }, -/obj/structure/surface/table/almayer, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" +/obj/structure/bed/chair/comfy/charlie{ + dir = 4 }, -/area/almayer/shipboard/brig/armory) -"tgE" = ( /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "emeraldfull" }, /area/almayer/living/briefing) "tgK" = ( @@ -68642,13 +68296,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"tgS" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/aft_hallway) "tgV" = ( /obj/structure/bed, /obj/item/bedsheet/medical, @@ -68658,6 +68305,30 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"thc" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) +"thq" = ( +/obj/structure/machinery/vending/cola{ + density = 0; + pixel_y = 16 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "thv" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -68680,15 +68351,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha_bravo_shared) -"thE" = ( -/obj/structure/bed/chair/comfy/charlie{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "thL" = ( /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/cells) @@ -68703,6 +68365,18 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"thR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/largecrate/random/secure{ + pixel_x = -5 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "thT" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -68763,28 +68437,20 @@ icon_state = "green" }, /area/almayer/hallways/starboard_hallway) -"tiw" = ( -/obj/structure/machinery/constructable_frame{ - icon_state = "box_2" - }, -/obj/item/weapon/baseballbat/metal{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/engineering/upper_engineering/starboard) "tiE" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/plating, /area/almayer/squads/req) +"tiF" = ( +/obj/structure/machinery/keycard_auth{ + pixel_y = 25 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "tiI" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/storage/box/syringes{ @@ -68859,6 +68525,17 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/port_hallway) +"tkn" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/toolbox/mechanical, +/obj/item/storage/toolbox/mechanical, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "tkq" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -68876,13 +68553,14 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) -"tkV" = ( -/obj/structure/bed/chair, +"tkR" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" + icon_state = "redfull" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/hallways/upper/starboard) "tld" = ( /obj/structure/machinery/prop/almayer/computer{ dir = 8; @@ -68892,6 +68570,44 @@ icon_state = "cargo" }, /area/almayer/living/pilotbunks) +"tlk" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + layer = 1.9 + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/general_equipment) +"tln" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/bed/chair/comfy/charlie{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"tlp" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/obj/structure/machinery/door/poddoor/almayer/locked{ + id = "Cell 4"; + name = "\improper Courtyard Divider" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/cells) "tly" = ( /obj/structure/platform{ dir = 8 @@ -68924,40 +68640,24 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) -"tmy" = ( -/obj/structure/surface/table/almayer, -/obj/item/handcuffs{ - pixel_y = 12 - }, -/obj/item/handcuffs{ - pixel_y = 6 - }, -/obj/item/handcuffs, -/obj/item/weapon/baton{ - pixel_x = -12 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) -"tmA" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "tmB" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"tmH" = ( +/obj/structure/pipes/vents/pump, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera"; + pixel_y = 6 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/execution) "tmI" = ( /obj/structure/machinery/light, /obj/effect/decal/warning_stripes{ @@ -69013,17 +68713,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) -"tnm" = ( -/obj/structure/machinery/atm{ - name = "Weyland-Yutani Automatic Teller Machine"; - pixel_y = 30 - }, -/obj/structure/surface/table/almayer, -/obj/item/spacecash/c1000/counterfeit, -/obj/item/storage/box/drinkingglasses, -/obj/item/storage/fancy/cigar, -/turf/open/floor/almayer, -/area/almayer/command/corporateliason) "tnY" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -69035,6 +68724,17 @@ icon_state = "cargo" }, /area/almayer/squads/alpha) +"tos" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "tou" = ( /obj/structure/bed/chair{ dir = 4 @@ -69059,6 +68759,26 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) +"toO" = ( +/obj/structure/surface/table/almayer, +/obj/item/book/manual/engineering_construction, +/obj/item/folder/black_random, +/obj/structure/sign/safety/high_rad{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = 7 + }, +/obj/structure/sign/safety/terminal{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "tpa" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/structure/window/reinforced{ @@ -69096,12 +68816,6 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_m_s) -"tpt" = ( -/obj/structure/machinery/sentry_holder/almayer, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north2) "tpD" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -69128,14 +68842,21 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"tqe" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"tqd" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/screwdriver, +/obj/item/prop/helmetgarb/gunoil{ + pixel_x = -7; + pixel_y = 12 + }, +/obj/item/weapon/gun/rifle/l42a{ + pixel_x = 17; + pixel_y = 6 }, /turf/open/floor/almayer{ - icon_state = "sterile_green_side" + icon_state = "plate" }, -/area/almayer/shipboard/brig/surgery) +/area/almayer/hull/upper_hull/u_m_s) "tqg" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -69179,45 +68900,38 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"tqB" = ( +"tqE" = ( /obj/structure/machinery/light{ - dir = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 + dir = 8 }, +/obj/structure/reagent_dispensers/fueltank/custom, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/command/lifeboat) -"tqI" = ( -/obj/structure/machinery/door/window/westright, -/obj/structure/machinery/shower{ - dir = 8; - layer = 3.10; - plane = -4 + dir = 5; + icon_state = "plating" }, -/obj/item/tool/soap{ - pixel_x = 2; - pixel_y = 7 +/area/almayer/engineering/lower/engine_core) +"tqO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/commandbunks) -"tqV" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 26 +/obj/structure/sign/safety/stairs{ + pixel_x = -15 }, /turf/open/floor/almayer{ - dir = 1; + dir = 6; icon_state = "red" }, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/hallways/upper/port) "trb" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, /area/almayer/lifeboat_pumps/south1) +"trh" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower) "trB" = ( /turf/open/floor/almayer{ dir = 10; @@ -69264,6 +68978,29 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/medical_science) +"trU" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/pen/blue/clicky{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/tool/pen/red/clicky{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/tool/pen/clicky{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/item/paper_bin/wy{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "trW" = ( /obj/item/stack/tile/carpet{ amount = 20 @@ -69320,15 +69057,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/upper_medical) -"tsH" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "tsM" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -69361,6 +69089,20 @@ }, /turf/open/floor/plating, /area/almayer/powered/agent) +"ttE" = ( +/obj/structure/surface/table/almayer, +/obj/item/paper_bin{ + pixel_x = -7 + }, +/obj/item/tool/pen, +/obj/item/tool/pen{ + pixel_y = 3 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "ttM" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -69381,6 +69123,26 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south2) +"ttX" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/firstaid/regular{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_x = -7 + }, +/obj/item/reagent_container/spray/cleaner{ + pixel_x = -10; + pixel_y = 14 + }, +/obj/item/storage/xeno_tag_case/full{ + pixel_y = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/corporateliaison) "tuf" = ( /obj/structure/platform_decoration{ dir = 4 @@ -69390,6 +69152,23 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"tuk" = ( +/obj/structure/machinery/computer/crew, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/general_equipment) +"tul" = ( +/obj/structure/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/structure/closet/secure_closet/brig/prison_uni, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "tuo" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/structure/sign/safety/hvac_old{ @@ -69424,15 +69203,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) -"tvA" = ( -/obj/structure/machinery/sleep_console{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) "tvM" = ( /obj/structure/bed/chair{ dir = 1 @@ -69489,6 +69259,25 @@ icon_state = "outerhull_dir" }, /area/space) +"twI" = ( +/obj/structure/machinery/cm_vending/clothing/dress{ + density = 0; + pixel_y = 16 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/machinery/door_control{ + id = "bot_uniforms"; + name = "Uniform Vendor Lockdown"; + pixel_x = -24; + pixel_y = 18; + req_access_txt = "31" + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/command/cic) "twT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -69579,6 +69368,13 @@ icon_state = "cargo_arrow" }, /area/almayer/shipboard/starboard_missiles) +"tzd" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + layer = 1.9 + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/processing) "tzf" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -69602,10 +69398,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"tzj" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) "tzx" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood, /obj/structure/machinery/light{ @@ -69616,14 +69408,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lockerroom) -"tzz" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/engineering/engineering_workshop) "tzL" = ( /obj/structure/sign/safety/waterhazard{ pixel_x = 8; @@ -69640,12 +69424,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) -"tAh" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/upper_engineering/port) "tAi" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -69669,12 +69447,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) -"tAJ" = ( -/obj/structure/closet/secure_closet/fridge/dry, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) "tAL" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ @@ -69719,6 +69491,13 @@ /obj/item/tool/crowbar, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) +"tBu" = ( +/obj/effect/decal/cleanable/blood/oil/streak, +/obj/structure/machinery/sentry_holder/almayer, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south1) "tBz" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -69758,6 +69537,24 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) +"tCx" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) "tCN" = ( /turf/open/floor/almayer{ dir = 8; @@ -69790,6 +69587,12 @@ icon_state = "cargo" }, /area/almayer/squads/bravo) +"tEd" = ( +/obj/structure/reagent_dispensers/acidtank, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "tEi" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -69812,6 +69615,15 @@ icon_state = "plate" }, /area/almayer/command/combat_correspondent) +"tEC" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "tEO" = ( /obj/effect/landmark/start/marine/medic/charlie, /obj/effect/landmark/late_join/charlie, @@ -69838,12 +69650,6 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) -"tFv" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/general_equipment) "tFS" = ( /obj/structure/machinery/computer/supplycomp, /obj/structure/sign/safety/terminal{ @@ -69884,13 +69690,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) -"tGg" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "tGh" = ( /obj/structure/sign/nosmoking_2{ pixel_x = -28 @@ -69904,6 +69703,15 @@ /obj/effect/spawner/random/tool, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south2) +"tGj" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north1) "tGq" = ( /obj/effect/projector{ name = "Almayer_Up4"; @@ -69963,35 +69771,33 @@ icon_state = "orangecorner" }, /area/almayer/living/briefing) -"tHB" = ( -/obj/structure/surface/table/almayer, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -30 - }, -/obj/structure/machinery/recharger{ - layer = 3.1; - pixel_y = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" +"tHQ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 }, -/area/almayer/shipboard/brig/main_office) +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "tHS" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/shipboard/brig/cells) -"tHU" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +"tId" = ( +/obj/structure/machinery/recharge_station, +/turf/open/floor/almayer{ + icon_state = "cargo" }, -/obj/structure/machinery/power/apc/almayer{ - dir = 8 +/area/almayer/command/airoom) +"tIe" = ( +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" }, -/obj/item/storage/briefcase{ - pixel_y = 15 +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/area/almayer/engineering/lower/engine_core) "tIp" = ( /obj/structure/machinery/door/airlock/almayer/generic{ name = "\improper Dorms" @@ -70057,48 +69863,36 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"tJo" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 +"tJz" = ( +/obj/structure/machinery/firealarm{ + pixel_y = -28 }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 2; - pixel_y = 2 +/turf/open/floor/almayer, +/area/almayer/squads/charlie_delta_shared) +"tJM" = ( +/obj/structure/toilet{ + pixel_y = 13 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) -"tJp" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/crowbar/red, -/obj/item/clipboard{ - pixel_x = 1; - pixel_y = 4 +/obj/structure/sink{ + dir = 4; + pixel_x = 11 }, -/obj/item/storage/box/handcuffs{ - pixel_x = 5; - pixel_y = 5 +/obj/structure/machinery/light/small{ + dir = 8 }, -/obj/item/reagent_container/spray/cleaner, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "dark_sterile" }, /area/almayer/shipboard/brig/main_office) -"tJy" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"tJN" = ( +/obj/structure/machinery/cryopod/right{ + layer = 3.1; + pixel_y = 13 }, /turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) -"tJz" = ( -/obj/structure/machinery/firealarm{ - pixel_y = -28 + icon_state = "cargo" }, -/turf/open/floor/almayer, -/area/almayer/squads/charlie_delta_shared) +/area/almayer/command/airoom) "tJR" = ( /obj/structure/machinery/vending/cigarette, /obj/structure/sign/safety/medical{ @@ -70136,6 +69930,33 @@ icon_state = "cargo" }, /area/almayer/living/bridgebunks) +"tLa" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_x = -2; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 2; + pixel_y = 1 + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 2; + name = "\improper Armory" + }, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + dir = 2; + id = "firearm_storage_armory"; + name = "\improper Armory Shutters" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/armory) "tLc" = ( /obj/structure/surface/rack, /obj/item/storage/bag/plants{ @@ -70160,12 +69981,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"tLy" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/engineering/engine_core) "tLM" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 @@ -70173,36 +69988,33 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) "tMc" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/bed/chair/comfy/alpha{ - dir = 8 - }, +/obj/structure/machinery/chem_master/industry_mixer, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "orange" }, -/area/almayer/living/briefing) -"tMf" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" +/area/almayer/engineering/lower/workshop/hangar) +"tMH" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + name = "\improper Warden's Office"; + closeOtherId = "brigwarden" }, -/obj/structure/sign/safety/stairs{ - pixel_x = -15 +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "Warden Office Shutters"; + name = "\improper Privacy Shutters" }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 }, -/area/almayer/hallways/aft_hallway) -"tMu" = ( -/obj/structure/machinery/cm_vending/clothing/commanding_officer{ - pixel_y = 0 +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" }, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "test_floor4" }, -/area/almayer/living/commandbunks) +/area/almayer/shipboard/brig/chief_mp_office) "tMW" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -70212,31 +70024,6 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"tNj" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/sentencing{ - dir = 4 - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) -"tNF" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 4; - id = "CMP Office Shutters"; - name = "\improper Privacy Shutters" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/chief_mp_office) "tNP" = ( /obj/structure/sign/safety/debark_lounge{ pixel_x = 15; @@ -70263,16 +70050,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"tOd" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) "tOr" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -70286,6 +70063,13 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/hydroponics) +"tOu" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "tOC" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -70316,6 +70100,19 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) +"tPm" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 4 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + pixel_x = 2; + pixel_y = 5 + }, +/turf/open/floor/almayer{ + icon_state = "bluefull" + }, +/area/almayer/living/briefing) "tPI" = ( /obj/structure/bed/chair{ dir = 4 @@ -70331,6 +70128,23 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"tQi" = ( +/obj/effect/landmark/start/warrant, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cryo) +"tQm" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/surgery) "tQo" = ( /obj/structure/machinery/status_display{ pixel_y = -30 @@ -70350,6 +70164,23 @@ /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"tQM" = ( +/obj/structure/sign/poster{ + desc = "One of those hot, tanned babes back the beaches of good ol' Earth."; + icon_state = "poster12"; + name = "Beach Babe Pinup"; + pixel_x = -30; + pixel_y = 6; + serial_number = 12 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/command/corporateliaison) "tQV" = ( /turf/closed/wall/almayer/outer, /area/almayer/lifeboat_pumps/south1) @@ -70363,16 +70194,15 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"tRA" = ( -/obj/structure/bed/chair, -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, +"tRs" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/spray/cleaner, +/obj/item/frame/light_fixture, +/obj/item/frame/light_fixture, /turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" + icon_state = "plate" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/engineering/lower/workshop) "tRD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70390,23 +70220,16 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) "tRX" = ( -/turf/closed/wall/almayer, -/area/almayer/hull/upper_hull/u_f_s) -"tSc" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" +/obj/structure/machinery/door/airlock/almayer/maint/reinforced, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" }, /turf/open/floor/almayer{ icon_state = "test_floor4" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/hull/upper_hull/u_f_s) "tSp" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -70426,28 +70249,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"tSv" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp{ - pixel_x = 15 - }, -/obj/item/paper_bin/uscm{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/item/tool/pen{ - pixel_x = 4; - pixel_y = -4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "tSw" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -70461,27 +70262,17 @@ }, /area/almayer/living/briefing) "tSF" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/camera{ - pixel_x = -8; - pixel_y = 12 - }, -/obj/item/paper_bin/uscm{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = 4; - pixel_y = -4 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = -8; - pixel_y = -1 - }, +/obj/structure/bed/chair/comfy/delta, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/command/combat_correspondent) +/area/almayer/living/briefing) +"tTk" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "tTp" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/condiment/hotsauce/sriracha{ @@ -70531,6 +70322,17 @@ /obj/item/tool/wet_sign, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) +"tUN" = ( +/obj/structure/machinery/door/airlock/almayer/maint/reinforced{ + access_modified = 1; + dir = 1; + req_one_access = null; + req_one_access_txt = "35" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/workshop/hangar) "tUS" = ( /obj/item/toy/beach_ball/holoball, /obj/structure/holohoop{ @@ -70579,14 +70381,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) -"tWg" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/general_equipment) "tWi" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -70622,6 +70416,16 @@ icon_state = "emeraldfull" }, /area/almayer/living/briefing) +"tXc" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "tXi" = ( /obj/structure/machinery/conveyor_switch{ id = "gym_2"; @@ -70639,22 +70443,6 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) -"tXs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/cryo) -"tXz" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/vehiclehangar) "tXM" = ( /obj/structure/pipes/vents/pump{ dir = 8 @@ -70713,12 +70501,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) -"tYv" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/hull/upper_hull/u_f_p) "tYw" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottomleft"; @@ -70740,6 +70522,23 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_s) +"tYM" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) +"tYW" = ( +/obj/structure/bed/chair/bolted{ + dir = 1 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "tYX" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -70768,6 +70567,23 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_s) +"tZg" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) "tZm" = ( /obj/structure/closet/crate/freezer{ desc = "A freezer crate. There is a note attached, it reads: Do not open, property of Pvt. Mendoza." @@ -70782,18 +70598,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) -"tZF" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_p) "tZP" = ( /obj/structure/surface/rack, /obj/item/clothing/glasses/meson, @@ -70889,6 +70693,13 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/command/computerlab) +"uaX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_s) "uaZ" = ( /obj/structure/surface/table/almayer, /obj/item/weapon/gun/rifle/m41a, @@ -70912,17 +70723,19 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"uck" = ( -/obj/structure/surface/rack, -/obj/item/stack/cable_coil, -/obj/item/attachable/flashlight/grip, -/obj/item/ammo_box/magazine/l42a{ - pixel_y = 14 +"ubI" = ( +/obj/structure/surface/table/almayer, +/obj/item/folder/black_random{ + pixel_x = 3; + pixel_y = 3 }, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/item/tool/stamp{ + name = "Corporate Liaison's stamp"; + pixel_x = -8; + pixel_y = 6 }, -/area/almayer/hull/upper_hull/u_m_s) +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "ucp" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -70955,15 +70768,6 @@ icon_state = "plate" }, /area/almayer/command/cic) -"udb" = ( -/obj/structure/sign/safety/ammunition{ - pixel_y = 32 - }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/medical/upper_medical) "udi" = ( /turf/open/floor/almayer{ icon_state = "red" @@ -71017,18 +70821,23 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"udV" = ( -/obj/structure/machinery/firealarm{ - pixel_y = -28 +"udR" = ( +/obj/structure/bed/chair{ + dir = 4 }, -/obj/structure/bed/chair/comfy/delta{ - dir = 8 +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = -19; + pixel_y = -6 + }, +/obj/structure/sign/safety/bulkhead_door{ + pixel_x = -19; + pixel_y = 6 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 8; + icon_state = "silver" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/cic_hallway) "udZ" = ( /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, @@ -71059,24 +70868,17 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) -"ueo" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "Evidence Room" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/evidence_storage) -"ueD" = ( -/obj/structure/machinery/light, -/obj/structure/machinery/cm_vending/gear/commanding_officer{ - pixel_y = 0 +"uek" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/prop/magazine/boots/n117{ + pixel_x = 2; + pixel_y = 5 }, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "bluefull" }, -/area/almayer/living/commandbunks) +/area/almayer/living/briefing) "ueG" = ( /obj/item/bedsheet/orange, /obj/structure/bed{ @@ -71143,39 +70945,12 @@ icon_state = "cargo" }, /area/almayer/squads/req) -"ufS" = ( -/obj/structure/sign/safety/terminal{ - pixel_x = 7; - pixel_y = 29 - }, -/obj/structure/filingcabinet, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) -"ugs" = ( -/obj/structure/surface/table/almayer, -/obj/item/book/manual/marine_law{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera" - }, -/obj/structure/sign/safety/medical{ - pixel_x = -17; - pixel_y = 6 - }, -/obj/structure/sign/safety/restrictedarea{ - pixel_x = -17; - pixel_y = -9 - }, +"ufL" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer/uniform_vendors, /turf/open/floor/almayer{ - dir = 8; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/lobby) +/area/almayer/command/cic) "ugu" = ( /obj/structure/machinery/cm_vending/sorted/marine_food, /turf/open/floor/almayer, @@ -71215,6 +70990,10 @@ icon_state = "cargo_arrow" }, /area/almayer/living/offices) +"uhE" = ( +/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m4ra_rifle, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "uhM" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -71229,6 +71008,12 @@ icon_state = "cargo_arrow" }, /area/almayer/living/offices) +"uhW" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "redcorner" + }, +/area/almayer/shipboard/brig/main_office) "uia" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -71237,6 +71022,12 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) +"uif" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "uig" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -71252,6 +71043,15 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"uiC" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/almayer/engineering/lower/engine_core) "uiG" = ( /turf/open/floor/almayer{ dir = 9; @@ -71330,25 +71130,12 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"uku" = ( -/obj/structure/window/framed/almayer/hull/hijack_bustable, -/turf/open/floor/plating, -/area/almayer/engineering/engineering_workshop/hangar) -"ukA" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, +"ukP" = ( +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) -"ukS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 + icon_state = "cargo" }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/engineering/lower/engine_core) "ukU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -71362,20 +71149,32 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) -"ula" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "Evidence Room" +"uli" = ( +/turf/open/floor/grass, +/area/almayer/living/starboard_garden) +"ulo" = ( +/obj/structure/toilet{ + dir = 8; + layer = 2.9; + pixel_y = 8 }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 +/obj/structure/window{ + layer = 2.95; + pixel_y = -2 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/living/commandbunks) +"ulp" = ( +/obj/structure/platform, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 5; + icon_state = "plating" }, -/area/almayer/shipboard/brig/evidence_storage) -"uli" = ( -/turf/open/floor/grass, -/area/almayer/living/starboard_garden) +/area/almayer/engineering/lower/engine_core) "uly" = ( /obj/structure/bed/stool, /turf/open/floor/almayer{ @@ -71430,19 +71229,6 @@ icon_state = "mono" }, /area/almayer/medical/upper_medical) -"umR" = ( -/obj/structure/machinery/power/apc/almayer/hardened{ - cell_type = /obj/item/cell/hyper; - dir = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north2) "umS" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -71460,17 +71246,18 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_p) -"umY" = ( +"umW" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, /obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_x = -1; - pixel_y = 2 + icon_state = "SW-out" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) +/obj/structure/machinery/vending/cigarette/free{ + pixel_y = 16 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "unh" = ( /obj/structure/surface/table/almayer, /obj/item/storage/firstaid/o2, @@ -71494,6 +71281,14 @@ icon_state = "green" }, /area/almayer/shipboard/brig/cells) +"unx" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "unJ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -71521,40 +71316,18 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"uoh" = ( -/obj/structure/window/reinforced{ - dir = 4; - pixel_x = -2; - pixel_y = 4 - }, -/obj/structure/window/reinforced{ - dir = 8; - layer = 3.3; - pixel_y = 4 - }, -/obj/structure/bed{ - can_buckle = 0 - }, -/obj/structure/bed{ - buckling_y = 13; - layer = 3.5; - pixel_y = 13 - }, -/obj/item/bedsheet/yellow{ - layer = 3.2 - }, -/obj/item/bedsheet/yellow{ - pixel_y = 13 +"unZ" = ( +/obj/structure/platform{ + dir = 1 }, -/obj/structure/sign/safety/bathunisex{ - pixel_x = -16; - pixel_y = 8 +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, -/obj/item/toy/plush/barricade, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 5; + icon_state = "plating" }, -/area/almayer/living/port_emb) +/area/almayer/engineering/lower/engine_core) "uoi" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -71586,22 +71359,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_s) -"uoY" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper_bin/uscm{ - pixel_y = 7 - }, -/obj/item/tool/pen, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) -"upe" = ( -/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/engine_core) "upt" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -71674,9 +71431,29 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) +"uqh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/engine_core) "uqo" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) +"uqy" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + name = "\improper Brig Cells" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/main_office) "uqA" = ( /obj/structure/machinery/firealarm{ dir = 8; @@ -71711,18 +71488,14 @@ /obj/effect/landmark/late_join/charlie, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) -"ush" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/almayer_network{ - dir = 8 - }, -/obj/structure/machinery/light{ - dir = 4 +"urW" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 7" }, /turf/open/floor/almayer{ - allow_construction = 0 + icon_state = "test_floor4" }, -/area/almayer/shipboard/brig/chief_mp_office) +/area/almayer/engineering/lower/engine_core) "usi" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -71746,22 +71519,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) -"usr" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/secure_data{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) -"usw" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/engine_core) "usy" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -71773,6 +71530,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"usL" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/port) "usX" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -71781,6 +71547,21 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/briefing) +"usZ" = ( +/obj/structure/pipes/unary/outlet_injector, +/obj/structure/largecrate/random/case/double, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/engineering/lower) +"utn" = ( +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "uto" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/plasteel{ @@ -71799,27 +71580,6 @@ icon_state = "cargo" }, /area/almayer/engineering/upper_engineering) -"utw" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/reagent_container/food/drinks/bottle/whiskey{ - pixel_x = -5; - pixel_y = 16 - }, -/obj/item/reagent_container/food/drinks/bottle/whiskey{ - desc = "A premium double-malt whiskey, this bottle was gifted to the Captain of the USS Almayer after the completion of the ship's space trials by the VADM. himself."; - pixel_x = 3; - pixel_y = 16 - }, -/obj/item/reagent_container/food/drinks/bottle/whiskey{ - pixel_x = 11; - pixel_y = 16 - }, -/obj/item/storage/box/drinkingglasses{ - pixel_x = -1; - pixel_y = 2 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "utK" = ( /obj/structure/machinery/light{ dir = 4 @@ -71834,26 +71594,11 @@ }, /area/almayer/medical/containment/cell) "utZ" = ( -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/obj/structure/machinery/door/airlock/almayer/maint/reinforced, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hull/upper_hull/u_f_p) -"uue" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - dir = 1; - name = "\improper Cryogenics Bay" - }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 4; + icon_state = "redcorner" }, -/area/almayer/shipboard/brig/cryo) +/area/almayer/shipboard/brig/processing) "uuj" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -71865,17 +71610,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/bravo) -"uuq" = ( -/obj/structure/bed, -/obj/structure/machinery/flasher{ - id = "Cell 4"; - pixel_x = 24 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/shipboard/brig/cells) "uuu" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -71908,6 +71642,18 @@ icon_state = "test_floor4" }, /area/almayer/powered) +"uuD" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 2; + name = "\improper Atmospherics Wing" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower) "uuR" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal8"; @@ -71931,14 +71677,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) -"uvk" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/upper_engineering/starboard) "uvs" = ( /obj/structure/machinery/conveyor{ id = "lower_garbage" @@ -71967,38 +71705,6 @@ icon_state = "orangecorner" }, /area/almayer/squads/bravo) -"uvy" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/shipboard/brig/armory) -"uvG" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/press_area_ag{ - pixel_x = -17; - pixel_y = 7 - }, -/obj/structure/sign/safety/airlock{ - pixel_x = -17; - pixel_y = -8 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hull/lower_hull/l_a_s) "uvP" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -72014,6 +71720,19 @@ dir = 4 }, /area/almayer/medical/containment/cell) +"uvU" = ( +/obj/structure/surface/table/almayer, +/obj/effect/landmark/map_item{ + pixel_x = 5 + }, +/obj/item/facepaint/black{ + pixel_x = -10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "uvY" = ( /turf/open/floor/almayer{ dir = 8; @@ -72028,6 +71747,15 @@ icon_state = "cargo_arrow" }, /area/almayer/shipboard/port_missiles) +"uwt" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/bed/chair/comfy/delta{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "uwv" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/weapon_room/notunnel) @@ -72040,6 +71768,24 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) +"uwS" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + dir = 2; + name = "\improper Brig Armoury"; + req_access = null; + req_one_access_txt = "1;3" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/main_office) "uwZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -72102,6 +71848,10 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"uxX" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "uxZ" = ( /obj/structure/machinery/door_control{ id = "laddersouthwest"; @@ -72114,6 +71864,19 @@ icon_state = "greencorner" }, /area/almayer/hallways/port_hallway) +"uyd" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "uys" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/squads/req) @@ -72130,59 +71893,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/chemistry) -"uzb" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/tool/screwdriver, -/obj/item/bananapeel{ - desc = "An experimental B8 Smart-Scope. Based on the technologies used in the Smart Gun by ARMAT, this sight has integrated IFF systems. It can only attach to the L42A Battle Rifle, M44 Combat Revolver, and M46C Pulse Rifle. This one appears to be covered in gun oil"; - icon = 'icons/obj/items/weapons/guns/attachments.dmi'; - icon_state = "iffbarrel"; - name = "Broken B8 Smart-Scope"; - pixel_x = -3; - pixel_y = 7 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) -"uzg" = ( -/obj/structure/sign/safety/water{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/lower_hull/l_a_s) -"uzm" = ( -/obj/structure/machinery/door/airlock/almayer/maint/reinforced, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hull/upper_hull/u_f_s) -"uzx" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/cryo) "uzy" = ( /obj/item/reagent_container/glass/bucket, /obj/effect/decal/cleanable/blood/oil, @@ -72197,35 +71907,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/ce_room) -"uzU" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/surface/table/almayer, -/obj/item/ashtray/bronze{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/trash/cigbutt/cigarbutt{ - pixel_x = 10; - pixel_y = 15 - }, -/obj/item/clothing/mask/cigarette{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/clothing/mask/cigarette{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/clothing/mask/cigarette{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "uAb" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -72240,6 +71921,16 @@ icon_state = "red" }, /area/almayer/shipboard/port_missiles) +"uAl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/upper_engineering/port) "uAs" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -72278,6 +71969,21 @@ icon_state = "emerald" }, /area/almayer/living/port_emb) +"uAK" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower/engine_core) +"uAL" = ( +/obj/structure/bed/chair/wood/normal, +/obj/item/bedsheet/brown, +/obj/item/toy/plush/farwa, +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/cells) "uAW" = ( /obj/structure/machinery/cryopod{ layer = 3.1; @@ -72317,6 +72023,12 @@ icon_state = "orange" }, /area/almayer/hallways/stern_hallway) +"uBM" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/command/combat_correspondent) "uBN" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -72350,15 +72062,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"uCl" = ( -/obj/structure/closet/secure_closet/surgical{ - pixel_x = -30 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) "uCM" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -72393,13 +72096,6 @@ icon_state = "plate" }, /area/almayer/shipboard/navigation) -"uDp" = ( -/obj/structure/closet/secure_closet/brig, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "uDA" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -72426,12 +72122,6 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"uEc" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/engineering/engine_core) "uEv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -72451,6 +72141,10 @@ icon_state = "plate" }, /area/almayer/living/offices) +"uFg" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "uFo" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/door/window/eastright{ @@ -72464,12 +72158,16 @@ icon_state = "sterile_green" }, /area/almayer/medical/lockerroom) -"uFp" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" +"uFq" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 }, -/area/almayer/shipboard/brig/general_equipment) +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) "uFt" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -72496,12 +72194,6 @@ icon_state = "plate" }, /area/almayer/hallways/port_hallway) -"uGa" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/lifeboat_pumps/south2) "uGc" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm, /obj/structure/sign/safety/hazard{ @@ -72519,23 +72211,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) -"uGo" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/aft_hallway) "uGt" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -72550,12 +72225,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"uGN" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/general_equipment) "uGQ" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) +"uHr" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "uId" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -72583,6 +72268,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"uIA" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "uII" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -72722,14 +72413,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/starboard) -"uLe" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "uLn" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -72750,26 +72433,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) -"uLJ" = ( -/obj/structure/machinery/light{ - dir = 4; - invisibility = 101 - }, -/obj/structure/sign/safety/ammunition{ - pixel_x = 32; - pixel_y = -7 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/shipboard/brig/execution) -"uLN" = ( -/obj/structure/closet/secure_closet/engineering_welding, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "uLW" = ( /obj/item/tool/mop{ pixel_x = -6; @@ -72820,27 +72483,26 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"uNe" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/perma) "uNg" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ icon_state = "cargo" }, /area/almayer/living/bridgebunks) -"uNl" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 +"uNq" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" }, /turf/open/floor/almayer{ dir = 4; - icon_state = "redcorner" + icon_state = "orange" }, -/area/almayer/shipboard/brig/chief_mp_office) +/area/almayer/engineering/lower/workshop/hangar) "uNB" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -72918,6 +72580,16 @@ icon_state = "orangecorner" }, /area/almayer/hallways/stern_hallway) +"uPP" = ( +/obj/structure/machinery/door/airlock/almayer/engineering{ + dir = 2; + name = "\improper Atmospherics Wing" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower) "uPW" = ( /obj/structure/bed/chair{ dir = 4 @@ -72974,15 +72646,19 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha) -"uRr" = ( +"uRs" = ( +/obj/structure/machinery/light{ + dir = 8 + }, /obj/effect/decal/warning_stripes{ - icon_state = "S" + icon_state = "N"; + pixel_y = 1 }, -/obj/structure/closet/secure_closet/engineering_materials, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 9; + icon_state = "red" }, -/area/almayer/engineering/engineering_workshop/hangar) +/area/almayer/command/lifeboat) "uRt" = ( /obj/structure/machinery/light{ dir = 8 @@ -73029,6 +72705,19 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"uRY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "uSq" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -73039,25 +72728,52 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) -"uSL" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/sign/safety/stairs{ - pixel_x = -17 +"uSB" = ( +/obj/structure/machinery/keycard_auth{ + pixel_x = 25 }, /turf/open/floor/almayer{ - dir = 1; + dir = 4; icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/shipboard/brig/chief_mp_office) +"uSH" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/reagent_dispensers/water_cooler{ + density = 0; + pixel_x = 12; + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "uSS" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ icon_state = "dark_sterile" }, /area/almayer/medical/lockerroom) +"uSW" = ( +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_sn_full_cap" + }, +/obj/structure/platform{ + dir = 4; + layer = 2.7 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) +"uTa" = ( +/obj/structure/prop/invuln/overhead_pipe{ + pixel_x = 12 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/lower_hull/stern) "uTv" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -73087,6 +72803,16 @@ icon_state = "test_floor4" }, /area/almayer/command/cic) +"uTV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/engineering/lower/workshop) "uTY" = ( /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer{ @@ -73135,14 +72861,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"uUs" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/perma) "uUt" = ( /obj/structure/surface/table/almayer, /obj/effect/spawner/random/technology_scanner, @@ -73153,6 +72871,19 @@ icon_state = "plate" }, /area/almayer/shipboard/starboard_point_defense) +"uUu" = ( +/obj/structure/machinery/status_display{ + pixel_x = 32 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/secure_data{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "uUz" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -73163,30 +72894,6 @@ }, /turf/open/floor/plating, /area/almayer/engineering/upper_engineering/port) -"uUO" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/door_control{ - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutters"; - pixel_x = 16; - req_access_txt = "3" - }, -/obj/structure/machinery/recharger, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) -"uUV" = ( -/obj/structure/machinery/shower, -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/structure/machinery/door/window/tinted{ - dir = 2 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/upper_engineering/port) "uVb" = ( /obj/structure/closet/toolcloset, /turf/open/floor/almayer{ @@ -73194,6 +72901,12 @@ icon_state = "orange" }, /area/almayer/hull/lower_hull/l_m_s) +"uVc" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/workshop) "uVd" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = -25 @@ -73232,21 +72945,12 @@ icon_state = "plating_striped" }, /area/almayer/living/cryo_cells) -"uVF" = ( -/obj/structure/disposalpipe/segment{ +"uVV" = ( +/obj/structure/machinery/light{ dir = 4 }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/perma) -"uVR" = ( -/obj/structure/machinery/power/apc/almayer, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "uVX" = ( /obj/structure/machinery/light{ dir = 1 @@ -73271,16 +72975,6 @@ icon_state = "red" }, /area/almayer/hallways/stern_hallway) -"uWI" = ( -/obj/structure/surface/table/almayer, -/obj/item/pizzabox/margherita{ - pixel_y = 8 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/squads/req) "uWV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -73325,6 +73019,11 @@ dir = 8 }, /area/almayer/medical/containment/cell) +"uXk" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/engine_core) "uXu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -73352,10 +73051,29 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) +"uYd" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 12 + }, +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/lifeboat) "uYg" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/command/lifeboat) +"uYn" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "uZo" = ( /obj/structure/bed/stool, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -73366,6 +73084,12 @@ icon_state = "emerald" }, /area/almayer/living/port_emb) +"uZF" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "uZH" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -73379,17 +73103,18 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/hallways/repair_bay) -"uZX" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper{ - pixel_x = -4; - pixel_y = 5 +"uZV" = ( +/obj/structure/reagent_dispensers/fueltank/gas/methane{ + anchored = 1 + }, +/obj/structure/sign/safety/fire_haz{ + pixel_x = 8; + pixel_y = -32 }, -/obj/item/tool/pen, /turf/open/floor/almayer{ - icon_state = "bluefull" + icon_state = "cargo" }, -/area/almayer/living/briefing) +/area/almayer/engineering/lower/workshop/hangar) "uZZ" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ name = "\improper Basketball Court" @@ -73408,15 +73133,16 @@ }, /turf/closed/wall/almayer, /area/almayer/hallways/starboard_umbilical) -"vba" = ( +"vaZ" = ( /obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 + icon_state = "SW-out" }, +/obj/effect/decal/cleanable/blood/oil, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + dir = 5; + icon_state = "plating" }, -/area/almayer/engineering/upper_engineering/port) +/area/almayer/engineering/lower/engine_core) "vbf" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 8 @@ -73431,6 +73157,22 @@ "vbB" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) +"vbI" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/item/paper, +/obj/item/tool/pen{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "vbM" = ( /obj/structure/flora/pottedplant{ desc = "It is made of Fiberbush(tm). It contains asbestos."; @@ -73446,6 +73188,23 @@ icon_state = "orange" }, /area/almayer/squads/bravo) +"vbP" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 2 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_p) +"vbR" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "green" + }, +/area/almayer/squads/req) "vbS" = ( /obj/structure/closet/secure_closet/personal/patient{ name = "morgue closet" @@ -73468,6 +73227,15 @@ /obj/docking_port/stationary/escape_pod/south, /turf/open/floor/plating, /area/almayer/hull/upper_hull/u_m_p) +"vcm" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/perma) "vcq" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -73489,22 +73257,22 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"vcG" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/recharger, -/obj/item/device/flash, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "vcK" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_p) +"vdl" = ( +/obj/structure/window/reinforced/ultra{ + pixel_y = -12 + }, +/obj/structure/bed/chair/bolted, +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + icon_state = "plating_striped" + }, +/area/almayer/shipboard/brig/execution) "vdJ" = ( /obj/structure/surface/table/almayer, /obj/item/pipe{ @@ -73583,14 +73351,6 @@ icon_state = "emeraldfull" }, /area/almayer/living/briefing) -"vez" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/camera, -/obj/item/device/camera_film, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) "vfa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -73613,18 +73373,15 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"vfv" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, -/obj/structure/machinery/power/apc/almayer{ +"vfw" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" +/obj/structure/machinery/firealarm{ + pixel_y = 28 }, -/area/almayer/shipboard/brig/execution) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) "vfx" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -73660,6 +73417,10 @@ dir = 1 }, /area/almayer/medical/containment/cell) +"vgi" = ( +/obj/structure/pipes/vents/scrubber, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/general_equipment) "vgk" = ( /obj/structure/closet/firecloset, /obj/structure/machinery/camera/autoname/almayer{ @@ -73671,6 +73432,41 @@ icon_state = "greencorner" }, /area/almayer/hallways/port_hallway) +"vgn" = ( +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin/uscm{ + pixel_x = 9; + pixel_y = 6 + }, +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 2 + }, +/obj/item/tool/pen{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/structure/prop/holidays/string_lights{ + dir = 8; + pixel_x = 29 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"vgv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop) +"vgw" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/engineering/lower) "vgx" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -73755,6 +73551,19 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"vgW" = ( +/obj/structure/sign/safety/security{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/sign/safety/restrictedarea{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "vhe" = ( /obj/structure/filingcabinet{ density = 0; @@ -73859,13 +73668,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"vim" = ( -/obj/structure/sign/safety/water{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/lower_hull/l_a_p) "vit" = ( /turf/open/floor/almayer{ icon_state = "dark_sterile" @@ -73893,6 +73695,15 @@ allow_construction = 0 }, /area/almayer/command/airoom) +"viH" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 1; + name = "Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/main_office) "viJ" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -73924,6 +73735,16 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"vjd" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/lifeboat) "vjg" = ( /obj/structure/prop/almayer/missile_tube{ icon_state = "missiletubesouth" @@ -73934,18 +73755,13 @@ icon_state = "plating" }, /area/almayer/shipboard/port_missiles) -"vjn" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_21" - }, -/obj/structure/sign/safety/escapepod{ - pixel_x = -17 - }, -/obj/structure/sign/poster/hero/voteno{ - pixel_y = 32 +"vjv" = ( +/obj/effect/decal/cleanable/blood/oil, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "vjx" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/almayer{ @@ -73984,6 +73800,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer, /area/almayer/shipboard/port_missiles) +"vjW" = ( +/obj/structure/reagent_dispensers/watertank{ + anchored = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "vka" = ( /turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) @@ -74040,15 +73864,6 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/general_equipment) -"vkN" = ( -/obj/structure/bed/chair/comfy/charlie{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "vkR" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -74059,22 +73874,14 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"vli" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/machinery/power/apc/almayer/hardened{ - dir = 8 - }, -/obj/structure/surface/rack, -/obj/item/stack/sheet/glass/reinforced{ - amount = 50 - }, +"vlk" = ( +/obj/structure/closet/emcloset, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, /turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" + icon_state = "cargo" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/command/lifeboat) "vln" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -74092,15 +73899,55 @@ icon_state = "redfull" }, /area/almayer/shipboard/port_missiles) -"vlR" = ( -/obj/structure/machinery/light{ - dir = 4 +"vlM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, -/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) +"vlN" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) +"vlO" = ( +/obj/structure/window/reinforced{ + dir = 4; + pixel_x = -2; + pixel_y = 4 + }, +/obj/structure/window/reinforced{ + dir = 8; + layer = 3.3; + pixel_y = 4 + }, +/obj/structure/bed{ + can_buckle = 0 + }, +/obj/structure/bed{ + buckling_y = 13; + layer = 3.5; + pixel_y = 13 + }, +/obj/item/bedsheet/yellow{ + layer = 3.2 + }, +/obj/item/bedsheet/yellow{ + pixel_y = 13 + }, +/obj/structure/sign/safety/bathunisex{ + pixel_x = -16; + pixel_y = 8 + }, +/obj/item/toy/plush/barricade, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/living/briefing) +/area/almayer/living/port_emb) "vlX" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, /turf/open/floor/almayer{ @@ -74123,6 +73970,19 @@ icon_state = "cargo" }, /area/almayer/hallways/hangar) +"vmE" = ( +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower) +"vmJ" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "vmK" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -74144,6 +74004,14 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) +"vmP" = ( +/obj/structure/bed/chair/comfy/bravo{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "vmW" = ( /turf/open/floor/almayer{ dir = 6; @@ -74207,38 +74075,33 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_m_p) +"vpe" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/airlock/almayer/engineering/reinforced/OT{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/workshop/hangar) "vpn" = ( /turf/open/floor/almayer{ dir = 9; icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"vpt" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper_bin/uscm{ - pixel_x = 9; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/structure/prop/holidays/string_lights{ - dir = 8; - pixel_x = 29 +"vpv" = ( +/obj/structure/machinery/shower, +/obj/structure/window/reinforced/tinted{ + dir = 8 }, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/structure/machinery/door/window/tinted{ + dir = 2 }, -/area/almayer/living/briefing) -"vpI" = ( -/obj/effect/landmark/start/police, +/obj/item/clothing/mask/cigarette/weed, /turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cryo) +/area/almayer/engineering/upper_engineering/port) "vpV" = ( /turf/open/floor/almayer{ dir = 10; @@ -74251,6 +74114,19 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"vqc" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 1; + name = "\improper Holding Cell" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "vqC" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -74368,6 +74244,19 @@ icon_state = "cargo" }, /area/almayer/living/offices) +"vrJ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + dir = 2; + name = "\improper Liasion's Bathroom" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/corporateliaison) "vrM" = ( /obj/structure/closet/secure_closet{ name = "secure evidence locker"; @@ -74377,27 +74266,15 @@ icon_state = "cargo" }, /area/almayer/shipboard/brig/evidence_storage) -"vrQ" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 2; - id = "perma_exit"; - name = "\improper Exit Shutters" - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "perma_lockdown"; - name = "\improper Perma Lockdown Shutter" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Brig" +"vrR" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/general_air_control/large_tank_control{ + name = "Lower Deck Waste Tank Control" }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/engineering/lower) "vrW" = ( /turf/open/floor/almayer{ dir = 8; @@ -74417,6 +74294,13 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/lifeboat) +"vsz" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "vsF" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -74427,19 +74311,19 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"vsJ" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - access_modified = 1; - dir = 1; - name = "\improper Power Control Room"; - req_access = null; - req_one_access = null; - req_one_access_txt = "3;6" +"vsM" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/storage/firstaid/toxin{ + pixel_x = 3; + pixel_y = 3 }, +/obj/item/storage/firstaid/adv, +/obj/item/device/defibrillator, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 1; + icon_state = "sterile_green_side" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/shipboard/brig/surgery) "vsV" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -74484,12 +74368,6 @@ icon_state = "rasputin3" }, /area/almayer/powered/agent) -"vtt" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) "vtx" = ( /obj/structure/machinery/door/airlock/almayer/generic{ name = "\improper Bathroom" @@ -74512,6 +74390,23 @@ icon_state = "test_floor4" }, /area/almayer/hallways/port_hallway) +"vtD" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = 26 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) +"vtG" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "vub" = ( /turf/closed/wall/almayer, /area/almayer/shipboard/sea_office) @@ -74527,6 +74422,15 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/living/briefing) +"vuD" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "vuF" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ access_modified = 1; @@ -74583,6 +74487,21 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) +"vvw" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/item/paper, +/obj/item/tool/pen{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "vvy" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm, /obj/structure/sign/safety/hazard{ @@ -74626,6 +74545,17 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) +"vwC" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "vwF" = ( /obj/structure/machinery/light{ dir = 1 @@ -74660,10 +74590,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) -"vwO" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/general_equipment) "vwP" = ( /obj/structure/surface/table/almayer, /obj/item/prop/helmetgarb/prescription_bottle{ @@ -74695,15 +74621,36 @@ icon_state = "cargo_arrow" }, /area/almayer/command/cic) +"vwY" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "vxb" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"vxC" = ( +"vxu" = ( +/obj/structure/machinery/meter, +/obj/structure/pipes/standard/simple/visible{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower) +"vxG" = ( +/obj/structure/bed/chair/comfy/black{ + dir = 4 + }, /turf/open/floor/almayer{ + dir = 10; icon_state = "red" }, -/area/almayer/shipboard/brig/general_equipment) +/area/almayer/shipboard/brig/chief_mp_office) +"vxK" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "vxM" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/cryo) @@ -74762,31 +74709,32 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) -"vyE" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +"vyH" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/shipboard/brig/lobby) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/general_equipment) "vyI" = ( /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering/port) -"vyU" = ( -/obj/structure/machinery/light{ - dir = 4 +"vzj" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 }, -/obj/structure/bed/chair/comfy/charlie{ - dir = 1 +/obj/structure/machinery/door/airlock/almayer/security/reinforced{ + name = "\improper Chief MP's Bedroom" }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/chief_mp_office) +"vzk" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/shipboard/brig/processing) "vzl" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -74817,7 +74765,7 @@ name = "\improper Hydroponics Garden" }, /turf/open/floor/almayer{ - icon_state = "greenfull" + icon_state = "test_floor4" }, /area/almayer/shipboard/brig/cells) "vzK" = ( @@ -74863,6 +74811,26 @@ "vAG" = ( /turf/open/floor/almayer, /area/almayer/shipboard/brig/chief_mp_office) +"vAH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/hallways/upper/port) +"vAI" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "vAQ" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/reagent_analyzer{ @@ -74960,26 +74928,6 @@ icon_state = "green" }, /area/almayer/shipboard/brig/cells) -"vCz" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/lifeboat_pumps/north1) -"vCG" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/structure/sink{ - pixel_y = 24 - }, -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/shipboard/brig/chief_mp_office) "vCO" = ( /obj/effect/landmark/start/bridge, /turf/open/floor/plating/plating_catwalk, @@ -74992,6 +74940,14 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/hydroponics) +"vEf" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "vEj" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -74999,21 +74955,6 @@ /obj/effect/landmark/start/synthetic, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/synthcloset) -"vEn" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - layer = 3.3; - pixel_x = 15 - }, -/obj/item/paper, -/obj/item/tool/pen{ - pixel_x = -5; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) "vEr" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -75037,10 +74978,26 @@ icon_state = "test_floor4" }, /area/almayer/medical/upper_medical) +"vEG" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "vEH" = ( /obj/structure/machinery/vending/coffee, /turf/open/floor/almayer, /area/almayer/living/briefing) +"vEV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "vFb" = ( /obj/structure/surface/table/almayer, /obj/item/attachable/lasersight, @@ -75052,6 +75009,13 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_s) +"vFn" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "vFv" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer{ @@ -75067,6 +75031,12 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) +"vFH" = ( +/obj/structure/largecrate/random/case/double, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "vGk" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) @@ -75126,16 +75096,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/living/port_emb) -"vHl" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) "vHq" = ( /obj/item/device/assembly/mousetrap/armed, /obj/structure/pipes/standard/manifold/hidden/supply{ @@ -75201,6 +75161,22 @@ icon_state = "plate" }, /area/almayer/command/cic) +"vHA" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) "vHO" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -75367,6 +75343,13 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_f_s) +"vKB" = ( +/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m4ra_rifle, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "vKF" = ( /obj/structure/stairs{ dir = 8; @@ -75384,6 +75367,13 @@ allow_construction = 0 }, /area/almayer/hallways/aft_hallway) +"vLg" = ( +/obj/item/trash/uscm_mre, +/obj/structure/bed/chair/comfy/charlie, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "vLh" = ( /obj/item/roller, /obj/structure/surface/rack, @@ -75453,14 +75443,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) -"vMC" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) "vME" = ( /turf/open/floor/almayer{ dir = 9; @@ -75493,6 +75475,23 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"vMM" = ( +/obj/structure/machinery/light, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"vNp" = ( +/obj/structure/sign/safety/three{ + pixel_x = -17 + }, +/obj/structure/machinery/door/window/brigdoor/southright{ + id = "Cell 3"; + name = "Cell 3" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "vND" = ( /obj/structure/bed/chair{ dir = 8; @@ -75500,27 +75499,11 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie) -"vNF" = ( -/obj/structure/reagent_dispensers/fueltank/custom, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "vNW" = ( /turf/open/floor/almayer/uscm/directional{ dir = 9 }, /area/almayer/command/cic) -"vOd" = ( -/obj/structure/machinery/optable, -/obj/structure/sign/safety/medical{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/shipboard/brig/surgery) "vOh" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -75528,6 +75511,15 @@ "vOy" = ( /turf/closed/wall/almayer/white/reinforced, /area/almayer/medical/medical_science) +"vON" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "vOP" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -75537,6 +75529,15 @@ icon_state = "test_floor4" }, /area/almayer/medical/upper_medical) +"vPf" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/poddoor/almayer/locked{ + dir = 2; + id = "Perma 2"; + name = "\improper cell shutter" + }, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/perma) "vPj" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/flashlight/lamp{ @@ -75616,6 +75617,20 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"vPR" = ( +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/item/clothing/suit/storage/marine/light/vest, +/obj/structure/closet/secure_closet/guncabinet/red, +/obj/structure/sign/safety/storage{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/engineering/lower/workshop/hangar) "vQe" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down2"; @@ -75640,22 +75655,10 @@ /obj/item/device/camera, /turf/open/floor/almayer, /area/almayer/command/computerlab) -"vQN" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" - }, -/obj/structure/machinery/door/poddoor/almayer/locked{ - id = "Cell 4"; - name = "\improper Courtyard Divider" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/cells) +"vQR" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "vRa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -75700,6 +75703,19 @@ "vRz" = ( /turf/closed/wall/almayer/outer, /area/almayer/hull/lower_hull/l_f_p) +"vRR" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/sign/safety/stairs{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "vRX" = ( /obj/structure/surface/table/almayer, /obj/item/book/manual/medical_diagnostics_manual, @@ -75792,15 +75808,6 @@ icon_state = "cargo" }, /area/almayer/squads/delta) -"vTt" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "vTu" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -75836,6 +75843,30 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/cryo_cells) +"vTT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) +"vTV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/obj/structure/machinery/door_control{ + id = "OTStore"; + name = "Shutters"; + pixel_y = -24 + }, +/obj/structure/surface/rack, +/obj/item/reagent_container/glass/bucket/janibucket, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "vUb" = ( /obj/effect/landmark/start/marine/alpha, /obj/effect/landmark/late_join/alpha, @@ -75859,6 +75890,14 @@ /obj/structure/machinery/light/small, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"vUk" = ( +/obj/item/storage/toolbox/mechanical{ + pixel_y = 13 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "vUI" = ( /obj/structure/largecrate/random/barrel/white, /obj/structure/sign/safety/security{ @@ -75870,13 +75909,9 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) -"vUL" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flash, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) +"vUP" = ( +/turf/closed/wall/almayer/reinforced, +/area/almayer/shipboard/brig/cic_hallway) "vUU" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -75925,11 +75960,28 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) +"vVu" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer, +/area/almayer/command/lifeboat) "vVw" = ( /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) +"vVI" = ( +/obj/structure/sign/safety/nonpress_0g{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "vVW" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecaltopright" @@ -75939,6 +75991,20 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) +"vVX" = ( +/obj/structure/surface/table/almayer, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/item/fuelCell, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) "vWc" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -75951,12 +76017,6 @@ icon_state = "redfull" }, /area/almayer/living/offices/flight) -"vWo" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/evidence_storage) "vWt" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/glass/beaker/large, @@ -76027,6 +76087,27 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) +"vWG" = ( +/obj/structure/pipes/vents/pump, +/obj/item/tool/soap, +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/sink{ + pixel_y = 24 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/shipboard/brig/cells) "vWJ" = ( /obj/structure/machinery/landinglight/ds1/delaytwo{ dir = 4 @@ -76038,15 +76119,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"vWK" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "vXd" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -76056,6 +76128,18 @@ }, /turf/open/floor/plating, /area/almayer/engineering/upper_engineering/port) +"vXf" = ( +/obj/structure/reagent_dispensers/pacidtank{ + anchored = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "vXh" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -76069,12 +76153,16 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"vXQ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 +"vXo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 }, /turf/open/floor/almayer, -/area/almayer/shipboard/brig/perma) +/area/almayer/engineering/lower) "vXX" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -76173,6 +76261,12 @@ icon_state = "cargo" }, /area/almayer/squads/alpha) +"vZf" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 8 + }, +/turf/closed/wall/almayer, +/area/almayer/engineering/lower) "vZv" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer, @@ -76189,16 +76283,25 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull) -"vZJ" = ( -/obj/structure/sign/safety/intercom{ - pixel_x = 8; - pixel_y = 32 +"vZU" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, +/obj/structure/machinery/cell_charger, +/obj/structure/sign/safety/high_rad{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = 7 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, /turf/open/floor/almayer{ - icon_state = "redfull" + dir = 4; + icon_state = "orange" }, -/area/almayer/medical/upper_medical) +/area/almayer/engineering/lower) "wan" = ( /obj/structure/surface/table/almayer, /obj/item/facepaint/brown, @@ -76212,37 +76315,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_one) -"wba" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 32 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, +"waJ" = ( /obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/aft_hallway) -"wbe" = ( -/obj/structure/surface/table/almayer, -/obj/item/reagent_container/food/drinks/coffeecup{ - pixel_x = -8; - pixel_y = -1 - }, -/obj/item/reagent_container/food/drinks/coffee{ - pixel_y = 9 - }, -/obj/item/tool/pen{ - pixel_x = 5 + icon_state = "S" }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 9; + icon_state = "red" }, -/area/almayer/living/briefing) +/area/almayer/hallways/upper/port) "wbh" = ( /obj/structure/machinery/light{ dir = 4 @@ -76252,17 +76333,6 @@ icon_state = "orange" }, /area/almayer/hallways/starboard_hallway) -"wbj" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/aft_hallway) "wbu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/camera/autoname/almayer{ @@ -76273,40 +76343,6 @@ icon_state = "mono" }, /area/almayer/living/pilotbunks) -"wbw" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/item/clothing/mask/cigarette/pipe{ - layer = 2.8; - pixel_y = -7 - }, -/obj/item/reagent_container/spray/cleaner{ - layer = 3.04; - pixel_x = -4; - pixel_y = 7 - }, -/obj/structure/machinery/door_control/brbutton{ - id = "Brig Lockdown Shutters"; - name = "Brig Lockdown"; - pixel_x = -12; - pixel_y = 26 - }, -/obj/structure/machinery/door_control/brbutton{ - id = "ARES StairsLock"; - name = "ARES Exterior Lockdown Override"; - pixel_x = -2; - pixel_y = 26 - }, -/obj/structure/machinery/door_control/brbutton{ - id = "ARES Emergency"; - name = "ARES Emergency Lockdown Override"; - pixel_x = 8; - pixel_y = 26 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "wbx" = ( /obj/structure/sign/safety/hazard{ desc = "A sign that warns of a hazardous environment nearby"; @@ -76377,9 +76413,25 @@ icon_state = "silver" }, /area/almayer/command/cic) +"wcm" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/lifeboat_pumps/south2) "wcn" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) +"wct" = ( +/obj/structure/closet/radiation, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "wcN" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -76418,10 +76470,23 @@ }, /turf/open/floor/almayer, /area/almayer/living/auxiliary_officer_office) +"wdh" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/extinguisher, +/obj/item/reagent_container/spray/cleaner{ + pixel_x = -8; + pixel_y = 3 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "silver" + }, +/area/almayer/shipboard/brig/cic_hallway) "wdo" = ( /obj/structure/machinery/door/airlock/almayer/research/reinforced{ dir = 8; - name = "\improper Containment Airlock" + name = "\improper Containment Airlock"; + closeOtherId = "containment_s" }, /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -76436,21 +76501,21 @@ icon_state = "test_floor4" }, /area/almayer/medical/medical_science) -"wdr" = ( -/obj/structure/machinery/power/apc/almayer, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "wdv" = ( -/obj/structure/machinery/light{ +/obj/structure/machinery/door/airlock/almayer/maint{ + name = "\improper Core Hatch" + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "test_floor4" }, -/area/almayer/engineering/upper_engineering) +/area/almayer/engineering/lower/engine_core) "wdz" = ( /obj/effect/landmark/start/marine/engineer/charlie, /obj/effect/landmark/late_join/charlie, @@ -76479,6 +76544,22 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) +"wed" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/belt/utility/full, +/obj/item/clothing/glasses/welding, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/engine_core) +"wee" = ( +/obj/effect/landmark/start/police, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cryo) "wei" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -76529,45 +76610,42 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) -"wfd" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/tool/stamp/hop{ - name = "Commanding Officer's rubber stamp"; - pixel_x = -5; - pixel_y = 9 +"wfn" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/floor/almayer{ + icon_state = "cargo_arrow" }, -/obj/item/paper_bin/uscm{ - pixel_x = 7; - pixel_y = 6 +/area/almayer/engineering/lower/workshop/hangar) +"wfx" = ( +/obj/structure/machinery/vending/cola, +/obj/structure/machinery/light{ + dir = 8 }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -6; - pixel_y = 3 +/turf/open/floor/almayer{ + icon_state = "plate" }, -/obj/item/tool/pen/blue/clicky{ - pixel_x = -6; - pixel_y = -3 +/area/almayer/engineering/lower/workshop) +"wfB" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) -"wft" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"wfE" = ( -/turf/closed/wall/almayer, -/area/almayer/living/gym) -"wfL" = ( -/obj/structure/bed/chair/wood/normal{ - dir = 1 +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" }, -/obj/effect/decal/cleanable/blood, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "red" }, -/area/almayer/shipboard/brig/execution) +/area/almayer/shipboard/brig/main_office) +"wfE" = ( +/turf/closed/wall/almayer, +/area/almayer/living/gym) "wfZ" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = -12 @@ -76598,6 +76676,15 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) +"wgf" = ( +/obj/structure/sign/safety/nonpress_0g{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/shipboard/stern_point_defense) "wgi" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/main_office) @@ -76664,32 +76751,6 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"whZ" = ( -/obj/structure/sign/safety/refridgeration{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) -"wie" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/machinery/cm_vending/sorted/tech/circuits, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop) -"wir" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/lobby) "wiz" = ( /obj/structure/bed/chair{ dir = 4 @@ -76698,19 +76759,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) -"wiF" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/machinery/photocopier{ - anchored = 0 - }, -/obj/structure/sign/poster/io{ - name = "propaganda poster"; - pixel_y = 32 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "wiG" = ( /obj/structure/sign/poster{ pixel_x = -30; @@ -76785,6 +76833,25 @@ icon_state = "plate" }, /area/almayer/shipboard/port_point_defense) +"wjE" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/starboard) +"wjY" = ( +/obj/structure/closet/secure_closet/warrant_officer, +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/chief_mp_office) "wka" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/condiment/hotsauce/sriracha{ @@ -76819,6 +76886,12 @@ icon_state = "test_floor4" }, /area/almayer/medical/medical_science) +"wkA" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/almayer, +/area/almayer/command/lifeboat) "wkH" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/whistle{ @@ -76831,6 +76904,17 @@ icon_state = "bluefull" }, /area/almayer/command/cichallway) +"wkL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 + }, +/obj/item/weapon/gun/rifle/l42a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_m_s) "wkM" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ id = "ARES StairsLower"; @@ -76876,30 +76960,22 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"wlj" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/plasteel{ - amount = 30; - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/stack/sheet/metal{ - amount = 50 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 8; - name = "ship-grade camera" +"wld" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" }, -/obj/item/stack/sheet/mineral/uranium{ - amount = 5 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 }, -/obj/structure/sign/safety/fire_haz{ - pixel_x = 32 +/obj/structure/sign/safety/ammunition{ + pixel_x = 15; + pixel_y = -32 }, -/turf/open/floor/almayer{ - icon_state = "cargo" +/obj/structure/sign/safety/hazard{ + pixel_y = -32 }, -/area/almayer/engineering/engine_core) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "wlp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -76908,15 +76984,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) -"wly" = ( -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/chief_mp_office) "wlE" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -76933,16 +77000,6 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south2) -"wlH" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/emails{ - pixel_x = 2; - pixel_y = 5 - }, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "wlK" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -76976,16 +77033,6 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) -"wmE" = ( -/obj/structure/machinery/door/window/brigdoor/southright{ - id = "Cell 4"; - name = "Cell 4" - }, -/obj/structure/sign/safety/four{ - pixel_x = 32 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "wmK" = ( /obj/structure/surface/table/almayer, /obj/item/clipboard, @@ -76994,6 +77041,11 @@ icon_state = "silver" }, /area/almayer/command/computerlab) +"wmP" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "wmQ" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ dir = 2; @@ -77018,6 +77070,15 @@ /obj/structure/window/framed/almayer/white/hull, /turf/open/floor/plating, /area/almayer/command/airoom) +"wnw" = ( +/obj/structure/machinery/flasher{ + id = "Perma 2"; + pixel_y = 24 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "wnL" = ( /obj/item/stack/tile/carpet{ amount = 12 @@ -77082,13 +77143,16 @@ icon_state = "rasputin3" }, /area/almayer/powered/agent) -"wpj" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 2 +"wph" = ( +/obj/item/paper_bin/wy, +/obj/structure/surface/table/woodentable/fancy, +/obj/item/tool/pen/clicky, +/obj/item/tool/pen/clicky, +/obj/structure/machinery/status_display{ + pixel_x = -32 }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "wpw" = ( /obj/structure/bed/chair/comfy/ares{ dir = 1 @@ -77118,6 +77182,16 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"wpS" = ( +/obj/structure/pipes/standard/simple/visible, +/obj/structure/sign/safety/nonpress_0g{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "wqc" = ( /obj/structure/sign/poster{ pixel_y = 32 @@ -77142,10 +77216,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/stern_hallway) -"wqu" = ( -/obj/structure/window/framed/almayer, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/lobby) +"wqr" = ( +/obj/structure/sign/safety/terminal{ + pixel_x = 7; + pixel_y = 29 + }, +/obj/structure/filingcabinet, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "wqA" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -77195,6 +77275,15 @@ icon_state = "cargo" }, /area/almayer/hallways/hangar) +"wrX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "wse" = ( /obj/structure/pipes/standard/simple/hidden/supply/no_boom{ dir = 4 @@ -77203,6 +77292,25 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) +"wsh" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/perma) +"wsl" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) +"wsq" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "wst" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -77219,33 +77327,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) -"wsP" = ( -/obj/item/prop/helmetgarb/gunoil{ - layer = 4.2; - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/prop/helmetgarb/gunoil{ - layer = 4.2; - pixel_x = -10; - pixel_y = 10 - }, -/obj/item/prop/helmetgarb/gunoil{ - layer = 4.2; - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/weapon/broken_bottle{ - layer = 4.51; - pixel_x = 9; - pixel_y = 1 - }, -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "wsR" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -77278,12 +77359,31 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"wtY" = ( +/obj/structure/surface/table/almayer, +/obj/item/folder/white{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/paper, +/obj/item/handcuffs, +/obj/item/clothing/mask/cigarette/cigar/classic, +/obj/item/coin/silver{ + desc = "A small coin, bearing the falling falcons insignia."; + name = "falling falcons challenge coin" + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/chief_mp_office) "wuc" = ( /obj/structure/machinery/door/airlock/almayer/medical/glass{ name = "\improper Brig Medbay"; req_access = null; req_one_access = null; - req_one_access_txt = "20;3" + req_one_access_txt = "20;3"; + closeOtherId = "brigmed" }, /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -77293,21 +77393,21 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/surgery) +"wud" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/engineering/lower/workshop) "wul" = ( /obj/structure/machinery/light/small{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_s) -"wun" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/engineering/lower_engineering) "wup" = ( /obj/structure/supply_drop/echo, /turf/open/floor/almayer, @@ -77324,6 +77424,12 @@ icon_state = "cargo" }, /area/almayer/squads/bravo) +"wuB" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop) "wuH" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_container/food/snacks/sliceable/pizza/vegetablepizza, @@ -77331,6 +77437,18 @@ /obj/item/reagent_container/food/snacks/sliceable/pizza/vegetablepizza, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) +"wuT" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "orange" + }, +/area/almayer/engineering/upper_engineering/starboard) "wvb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -77347,6 +77465,26 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"wvo" = ( +/obj/structure/filingcabinet, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) +"wvE" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/cameras/almayer_network{ + dir = 4 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/sign/safety/terminal{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "wvI" = ( /obj/item/paper_bin/uscm{ pixel_y = 7 @@ -77357,18 +77495,6 @@ icon_state = "plate" }, /area/almayer/shipboard/brig/perma) -"wvT" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/processing) "wvU" = ( /obj/structure/machinery/recharge_station, /obj/structure/machinery/light{ @@ -77378,13 +77504,6 @@ icon_state = "cargo" }, /area/almayer/living/synthcloset) -"wwk" = ( -/obj/structure/surface/table/almayer, -/obj/effect/landmark/map_item, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) "wwr" = ( /obj/structure/machinery/cryopod{ layer = 3.1; @@ -77502,18 +77621,6 @@ icon_state = "bluefull" }, /area/almayer/command/cichallway) -"wyv" = ( -/obj/structure/machinery/door_control{ - id = "ARES JoeCryo"; - name = "Working Joe Cryogenics Lockdown"; - pixel_x = -24; - pixel_y = -8; - req_one_access_txt = "91;92" - }, -/obj/effect/landmark/late_join/working_joe, -/obj/effect/landmark/start/working_joe, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/airoom) "wyO" = ( /obj/structure/largecrate/random/barrel/red, /obj/structure/prop/invuln/overhead_pipe{ @@ -77545,13 +77652,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) -"wzx" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) "wzZ" = ( /obj/structure/machinery/door/airlock/almayer/medical/glass{ dir = 1; @@ -77565,13 +77665,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/lower_medical_medbay) -"wAd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) "wAR" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -77583,35 +77676,27 @@ icon_state = "green" }, /area/almayer/hallways/port_hallway) -"wAU" = ( -/obj/structure/sign/poster/music{ - pixel_x = -27 +"wBd" = ( +/obj/structure/machinery/status_display{ + pixel_x = 32 }, /obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/device/flashlight/lamp{ - pixel_x = 15 - }, -/obj/item/paper_bin/uscm{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = -10; - pixel_y = -1 - }, -/obj/item/tool/pen{ - pixel_x = 3; - pixel_y = -4 - }, -/obj/item/tool/pen{ - pixel_x = -11; - pixel_y = 5 +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 6; + icon_state = "red" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/lobby) +"wBI" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/starboard) "wBY" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -77625,6 +77710,13 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"wCk" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/cameras/wooden_tv/ot{ + pixel_y = 4 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "wCs" = ( /obj/structure/machinery/vending/security, /obj/structure/machinery/power/apc/almayer{ @@ -77640,21 +77732,6 @@ icon_state = "redcorner" }, /area/almayer/living/briefing) -"wCM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "wCT" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_AresDown"; @@ -77671,6 +77748,27 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"wCZ" = ( +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/obj/structure/machinery/door/airlock/almayer/maint/reinforced, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hull/upper_hull/u_f_p) +"wDg" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "wDm" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -77680,6 +77778,22 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) +"wDp" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/camera{ + pixel_x = 4; + pixel_y = 8 + }, +/obj/item/device/camera_film{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/item/device/camera_film, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "wDs" = ( /obj/structure/machinery/seed_extractor, /obj/structure/sign/safety/terminal{ @@ -77707,6 +77821,16 @@ }, /turf/open/floor/almayer, /area/almayer/command/computerlab) +"wDC" = ( +/obj/structure/machinery/door/window/brigdoor/southright{ + id = "Cell 5"; + name = "Cell 5" + }, +/obj/structure/sign/safety/five{ + pixel_x = -17 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "wDH" = ( /obj/structure/morgue, /obj/structure/machinery/light{ @@ -77754,6 +77878,39 @@ icon_state = "plate" }, /area/almayer/squads/alpha) +"wEe" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/under/liaison_suit/formal, +/obj/item/clothing/under/liaison_suit, +/obj/item/clothing/under/liaison_suit/outing, +/obj/item/clothing/under/liaison_suit/suspenders, +/obj/item/clothing/under/blackskirt{ + desc = "A stylish skirt, in a business-black and red colour scheme."; + name = "liaison's skirt" + }, +/obj/item/clothing/under/suit_jacket/charcoal{ + desc = "A professional black suit and blue tie. A combination popular among government agents and corporate Yes-Men alike."; + name = "liaison's black suit" + }, +/obj/item/clothing/under/suit_jacket/navy{ + desc = "A navy suit and red tie, intended for the Almayer's finest. And accountants."; + name = "liaison's navy suit" + }, +/obj/item/clothing/under/suit_jacket/trainee, +/obj/item/clothing/under/liaison_suit/charcoal, +/obj/item/clothing/under/liaison_suit/outing/red, +/obj/item/clothing/under/liaison_suit/blazer, +/obj/item/clothing/suit/storage/snow_suit/liaison, +/obj/item/clothing/gloves/black, +/obj/item/clothing/gloves/marine/dress, +/obj/item/clothing/glasses/sunglasses/big, +/obj/item/clothing/accessory/blue, +/obj/item/clothing/accessory/red, +/obj/structure/machinery/status_display{ + pixel_x = -32 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "wEg" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ id = "agentshuttle"; @@ -77868,6 +78025,13 @@ /obj/effect/landmark/late_join/delta, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/delta) +"wGI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_p) "wGX" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -77906,6 +78070,17 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"wHM" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + name = "\improper Warden's Office" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/chief_mp_office) "wIr" = ( /obj/structure/machinery/cm_vending/clothing/senior_officer{ req_access = list(); @@ -77952,6 +78127,13 @@ "wJb" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/lower_medical_medbay) +"wJh" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/window/framed/almayer, +/turf/open/floor/plating, +/area/almayer/shipboard/brig/cryo) "wJo" = ( /obj/structure/machinery/door/airlock/almayer/research/reinforced{ access_modified = 1; @@ -77974,6 +78156,12 @@ icon_state = "plate" }, /area/almayer/hallways/vehiclehangar) +"wJB" = ( +/obj/structure/machinery/cryopod/right, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/command/airoom) "wJD" = ( /obj/structure/bed/chair{ dir = 8; @@ -77995,11 +78183,6 @@ "wJH" = ( /turf/closed/wall/almayer/research/containment/wall/east, /area/almayer/medical/containment/cell/cl) -"wJL" = ( -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "wKn" = ( /obj/structure/surface/rack, /obj/item/facepaint/sniper, @@ -78016,6 +78199,15 @@ icon_state = "plate" }, /area/almayer/command/combat_correspondent) +"wKJ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "wKP" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -78031,15 +78223,6 @@ }, /turf/open/floor/plating, /area/almayer/medical/containment) -"wKS" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/command/lifeboat) "wLi" = ( /obj/structure/machinery/door_control/airlock{ id = "s_engi"; @@ -78137,16 +78320,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) -"wLV" = ( -/obj/structure/machinery/vending/cola{ - density = 0; - pixel_y = 16 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "wMm" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -78156,6 +78329,14 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"wMv" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/auxiliary_officer_office) "wMG" = ( /obj/structure/machinery/cryopod/right{ pixel_y = 6 @@ -78205,24 +78386,24 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull) -"wNT" = ( -/obj/structure/platform, -/turf/open/floor/almayer, -/area/almayer/living/briefing) -"wNU" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - access_modified = 1; - dir = 2; - req_one_access = list(2,34,30) +"wNt" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "redcorner" }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" +/area/almayer/shipboard/brig/processing) +"wNS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/hull/upper_hull/u_f_p) +/area/almayer/command/lifeboat) +"wNT" = ( +/obj/structure/platform, +/turf/open/floor/almayer, +/area/almayer/living/briefing) "wOh" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -78254,12 +78435,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"wPk" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) "wPz" = ( /turf/open/floor/almayer{ icon_state = "mono" @@ -78286,44 +78461,12 @@ icon_state = "bluefull" }, /area/almayer/command/cichallway) -"wQa" = ( -/obj/structure/sign/safety/hazard{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/medical/upper_medical) "wQg" = ( /turf/open/floor/almayer{ dir = 1; icon_state = "greencorner" }, /area/almayer/hallways/aft_hallway) -"wQk" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/machinery/status_display{ - pixel_y = -32 - }, -/obj/structure/machinery/vending/coffee, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) -"wQv" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "wQx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -78333,16 +78476,28 @@ icon_state = "orange" }, /area/almayer/hull/upper_hull/u_a_s) -"wRm" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"wQA" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 5 }, -/obj/structure/machinery/vending/snack{ - density = 0; - pixel_y = 16 +/obj/structure/machinery/light, +/turf/open/floor/almayer, +/area/almayer/engineering/lower) +"wQD" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) +/area/almayer/engineering/lower/engine_core) +"wRa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/safety/bulkhead_door{ + pixel_y = -34 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_f_p) "wRN" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/item/seeds/goldappleseed, @@ -78405,12 +78560,41 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) +"wSu" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/junction{ + dir = 4; + icon_state = "pipe-j2" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) +"wSK" = ( +/obj/structure/janitorialcart, +/obj/item/tool/mop, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/execution) "wSR" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cic_hallway) +"wSV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/obj/effect/decal/cleanable/blood/oil, +/obj/effect/decal/cleanable/blood/oil/streak, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "wSX" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -78501,6 +78685,12 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/aft_hallway) +"wUK" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orangecorner" + }, +/area/almayer/engineering/lower/workshop/hangar) "wUN" = ( /obj/structure/machinery/optable, /turf/open/floor/almayer{ @@ -78557,6 +78747,10 @@ "wVb" = ( /turf/closed/wall/almayer/outer, /area/almayer/hull/lower_hull/l_a_s) +"wVt" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "wVy" = ( /obj/structure/window/reinforced{ dir = 8 @@ -78580,12 +78774,14 @@ icon_state = "plate" }, /area/almayer/squads/charlie_delta_shared) -"wVz" = ( -/obj/structure/machinery/light/small{ - dir = 4 +"wVA" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "wVB" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -78609,25 +78805,9 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/hull/upper_hull/u_f_p) -"wVV" = ( -/obj/structure/machinery/cryopod{ - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/shipboard/brig/cryo) "wVW" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/command/cic) -"wVY" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/lobby) "wWf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -78647,6 +78827,15 @@ icon_state = "silver" }, /area/almayer/hallways/aft_hallway) +"wWl" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/general_air_control/large_tank_control{ + name = "Lower Mixed Air Control" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "wWm" = ( /turf/open/floor/almayer/research/containment/corner_var1{ icon_state = "containment_corner_variant_2" @@ -78668,22 +78857,6 @@ icon_state = "blue" }, /area/almayer/living/pilotbunks) -"wWJ" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S"; - pixel_y = -1 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/living/port_emb) "wWL" = ( /obj/item/tool/screwdriver, /obj/structure/platform_decoration{ @@ -78755,6 +78928,12 @@ icon_state = "test_floor4" }, /area/almayer/hallways/hangar) +"wYa" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "wYj" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -78802,20 +78981,6 @@ }, /turf/open/floor/plating, /area/almayer/engineering/ce_room) -"wYZ" = ( -/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ - name = "\improper Armourer's Workshop"; - req_access = null - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hull/upper_hull/u_m_s) -"wZa" = ( -/turf/open/floor/almayer{ - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/general_equipment) "wZv" = ( /obj/structure/prop/invuln{ desc = "An inflated membrane. This one is puncture proof. Wow!"; @@ -78829,16 +78994,6 @@ icon_state = "outerhull_dir" }, /area/almayer/engineering/upper_engineering/port) -"wZy" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) "wZE" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/book/manual/surgery, @@ -78858,6 +79013,10 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) +"wZL" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "wZM" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -78866,6 +79025,18 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) +"wZN" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/fancy/cigarettes/lucky_strikes, +/obj/item/tool/lighter, +/obj/item/clothing/glasses/sunglasses/blindfold, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/execution) "wZT" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -78915,22 +79086,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) -"xaF" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/aft_hallway) "xaM" = ( /obj/structure/surface/table/almayer, /obj/item/newspaper{ @@ -78997,19 +79152,12 @@ /obj/item/tool/mop, /turf/open/floor/plating, /area/almayer/command/airoom) -"xcp" = ( -/obj/structure/stairs/perspective{ - icon_state = "p_stair_ew_full_cap"; - layer = 3.5 - }, -/obj/structure/platform{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" +"xci" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" }, -/area/almayer/engineering/engine_core) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "xct" = ( /obj/item/reagent_container/food/snacks/wrapped/barcardine, /obj/structure/surface/rack, @@ -79031,6 +79179,31 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"xdJ" = ( +/obj/structure/machinery/light{ + dir = 4; + invisibility = 101 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/execution) +"xdP" = ( +/obj/structure/surface/table/almayer, +/obj/item/trash/uscm_mre, +/obj/effect/decal/cleanable/dirt, +/obj/item/device/flashlight/lamp{ + layer = 3.3; + pixel_x = 15 + }, +/obj/item/reagent_container/food/drinks/cans/souto/diet/grape{ + pixel_x = -7; + pixel_y = 10 + }, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "xeG" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -79050,29 +79223,38 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) -"xfi" = ( -/obj/structure/machinery/power/smes/buildable, -/obj/structure/machinery/light{ - dir = 4 +"xfk" = ( +/obj/structure/surface/rack, +/obj/item/stack/cable_coil, +/obj/item/attachable/flashlight/grip, +/obj/item/ammo_box/magazine/l42a{ + pixel_y = 14 }, /turf/open/floor/almayer{ - icon_state = "tcomms" + icon_state = "plate" }, -/area/almayer/engineering/engine_core) +/area/almayer/hull/upper_hull/u_m_s) "xfm" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/living/cafeteria_officer) -"xfw" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/fancy/cigarettes/lucky_strikes, -/obj/item/packageWrap, +"xfK" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/transmitter{ + name = "Kitchen Telephone"; + phone_category = "Almayer"; + phone_id = "Kitchen"; + pixel_x = -8; + pixel_y = 29 + }, +/obj/structure/machinery/vending/ingredients, /turf/open/floor/almayer{ - dir = 9; - icon_state = "green" + icon_state = "plate" }, -/area/almayer/squads/req) +/area/almayer/living/grunt_rnr) "xfO" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -79125,12 +79307,6 @@ }, /turf/open/floor/plating/almayer, /area/almayer/hull/lower_hull/l_f_p) -"xgr" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "xgx" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -79141,16 +79317,15 @@ icon_state = "plating" }, /area/almayer/hallways/vehiclehangar) -"xgE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 4; - pixel_y = -3 +"xgI" = ( +/obj/structure/closet/secure_closet/personal/cabinet{ + req_access = null }, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/item/storage/donut_box{ + pixel_y = 8 }, -/area/almayer/hull/upper_hull/u_m_s) +/turf/open/floor/wood/ship, +/area/almayer/shipboard/brig/chief_mp_office) "xgJ" = ( /obj/structure/machinery/cm_vending/sorted/medical/blood, /obj/structure/machinery/light{ @@ -79174,23 +79349,25 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"xgS" = ( -/obj/structure/largecrate/supply/supplies/mre{ - desc = "A supply crate containing everything you need to stop a CLF uprising."; - name = "\improper USCM crate 'FOB supplies'" +"xgN" = ( +/obj/structure/bed/chair/comfy/bravo{ + dir = 1 }, -/obj/item/folded_tent/big{ - pixel_x = -6; - pixel_y = 10 +/obj/effect/decal/cleanable/dirt, +/obj/structure/prop/holidays/string_lights{ + dir = 8; + pixel_x = 29 }, -/obj/item/storage/box/mousetraps{ - pixel_x = 3; - pixel_y = 12 +/turf/open/floor/almayer{ + icon_state = "plate" }, +/area/almayer/living/briefing) +"xgZ" = ( +/obj/structure/largecrate/random/case/small, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/living/port_emb) +/area/almayer/hull/lower_hull/stern) "xhn" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -79213,7 +79390,8 @@ "xhM" = ( /obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ dir = 1; - name = "\improper Brig" + name = "\improper Brig"; + closeOtherId = "brigmaint_n" }, /obj/structure/machinery/door/poddoor/almayer/open{ id = "Brig Lockdown Shutters"; @@ -79241,6 +79419,14 @@ }, /turf/open/floor/carpet, /area/almayer/command/cichallway) +"xik" = ( +/obj/structure/machinery/shower{ + dir = 8 + }, +/obj/item/toy/inflatable_duck, +/obj/structure/window/reinforced, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "xiz" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice12"; @@ -79248,16 +79434,20 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) -"xiC" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +"xiU" = ( +/obj/structure/machinery/portable_atmospherics/hydroponics, +/obj/item/tool/minihoe{ + pixel_x = -4; + pixel_y = -4 }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +/obj/item/reagent_container/glass/fertilizer/ez, +/obj/item/seeds/ambrosiavulgarisseed, +/obj/item/tool/plantspray/weeds, +/obj/structure/machinery/firealarm{ + pixel_y = 28 }, -/turf/open/floor/almayer, -/area/almayer/engineering/engine_core) +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "xjb" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ access_modified = 1; @@ -79268,34 +79458,19 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"xjw" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" +"xjt" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/card{ + dir = 4; + pixel_x = 2 }, -/area/almayer/engineering/upper_engineering/port) +/turf/open/floor/carpet, +/area/almayer/living/commandbunks) "xjz" = ( /turf/open/floor/almayer{ icon_state = "plating_striped" }, /area/almayer/command/lifeboat) -"xjC" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "xjD" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -79304,6 +79479,27 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) +"xjF" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/secure_data{ + dir = 4 + }, +/obj/structure/sign/safety/terminal{ + pixel_x = 3; + pixel_y = 27 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = 15; + pixel_y = 27 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "xjG" = ( /obj/structure/machinery/door_control{ id = "Interrogation Shutters"; @@ -79347,6 +79543,15 @@ "xkd" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/cells) +"xkB" = ( +/obj/structure/bed/chair/comfy/charlie{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "xkC" = ( /obj/structure/machinery/light{ dir = 8 @@ -79356,14 +79561,6 @@ icon_state = "emerald" }, /area/almayer/hallways/port_hallway) -"xkY" = ( -/obj/structure/bed/chair/comfy/alpha{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "xlk" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer, @@ -79385,26 +79582,20 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"xlX" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_a_s) -"xlY" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/obj/structure/machinery/light{ +"xlO" = ( +/obj/structure/filingcabinet, +/obj/item/folder/yellow, +/obj/structure/machinery/power/apc/almayer{ dir = 1 }, -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/obj/item/storage/toolbox/electrical{ - pixel_y = 8 - }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "orange" }, -/area/almayer/engineering/engineering_workshop) +/area/almayer/engineering/lower/workshop/hangar) +"xlX" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_a_s) "xmg" = ( /obj/structure/surface/table/almayer, /obj/structure/flora/pottedplant{ @@ -79447,35 +79638,37 @@ icon_state = "cargo" }, /area/almayer/medical/lower_medical_medbay) -"xne" = ( -/obj/structure/machinery/door/poddoor/almayer/blended{ - id = "RoomDivider"; - layer = 3.1; - name = "\improper Room Divider" - }, +"xmX" = ( /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "dark_sterile" }, -/area/almayer/command/corporateliason) -"xnl" = ( -/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ - name = "\improper Exterior Airlock"; - req_access = null +/area/almayer/shipboard/brig/surgery) +"xns" = ( +/obj/structure/machinery/door_control{ + id = "ARES JoeCryo"; + name = "Working Joe Cryogenics Lockdown"; + pixel_x = -24; + pixel_y = -8; + req_one_access_txt = "91;92" + }, +/obj/effect/landmark/late_join/working_joe, +/obj/effect/landmark/start/working_joe, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/command/airoom) +"xnz" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 5; + icon_state = "red" }, -/area/almayer/hull/lower_hull/l_a_p) +/area/almayer/command/lifeboat) "xnI" = ( /obj/effect/landmark/start/requisition, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"xnQ" = ( -/obj/structure/closet/secure_closet/fridge/meat/stock, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) "xnR" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1; @@ -79514,6 +79707,9 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) +"xoj" = ( +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop) "xoJ" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -79545,27 +79741,40 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) -"xpo" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "silver" +"xpi" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 }, -/area/almayer/shipboard/brig/cic_hallway) -"xps" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 +/obj/structure/mirror{ + pixel_x = -29 }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - access_modified = 1; - name = "\improper Brig"; +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/commandbunks) +"xpo" = ( +/obj/structure/closet/secure_closet/cmdcabinet{ + desc = "A bulletproof cabinet containing communications equipment."; + name = "communications cabinet"; + pixel_y = 24; req_access = null; - req_one_access_txt = "1;3" + req_one_access_txt = "3" }, +/obj/item/device/radio/listening_bug/radio_linked/mp{ + pixel_y = 8 + }, +/obj/item/device/radio/listening_bug/radio_linked/mp, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 5; + icon_state = "red" }, -/area/almayer/shipboard/brig/lobby) +/area/almayer/shipboard/brig/chief_mp_office) "xpt" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = 25 @@ -79593,6 +79802,18 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"xpZ" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_sn_full_cap" + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/engineering/lower/engine_core) "xqp" = ( /obj/structure/machinery/body_scanconsole{ dir = 8; @@ -79612,6 +79833,12 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"xqs" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "xqv" = ( /obj/structure/bed/sofa/south/white/right, /turf/open/floor/almayer{ @@ -79636,36 +79863,64 @@ }, /turf/closed/wall/almayer, /area/almayer/command/securestorage) -"xqM" = ( -/obj/structure/pipes/vents/pump, -/obj/structure/bed/chair/comfy/delta{ - dir = 8 +"xqQ" = ( +/obj/structure/machinery/door/poddoor/almayer/blended{ + id = "RoomDivider"; + layer = 3.1; + name = "\improper Room Divider" }, /turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) -"xqS" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"xro" = ( -/obj/structure/toilet{ - pixel_y = 13 + icon_state = "plate" }, +/area/almayer/command/corporateliaison) +"xrq" = ( +/obj/structure/closet/firecloset, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "cargo" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/command/lifeboat) "xrr" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/stern_hallway) +"xrt" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/sign/safety/rewire{ + pixel_x = 12; + pixel_y = -24 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) +"xry" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) +"xrI" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower/workshop) "xrN" = ( /obj/structure/largecrate/supply/supplies/mre, /turf/open/floor/almayer{ @@ -79673,13 +79928,10 @@ icon_state = "red" }, /area/almayer/hull/upper_hull/u_a_p) -"xrP" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/evidence_storage) +"xsg" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) "xsl" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -79710,12 +79962,6 @@ icon_state = "cargo" }, /area/almayer/hallways/vehiclehangar) -"xtg" = ( -/obj/structure/machinery/cm_vending/clothing/staff_officer_armory, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/command/cic) "xtD" = ( /obj/structure/surface/table/almayer, /obj/item/tool/weldpack, @@ -79733,31 +79979,42 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) -"xub" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 2 +"xtQ" = ( +/obj/structure/surface/rack, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = 5; + pixel_y = 9 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = 5; + pixel_y = -3 + }, +/obj/structure/noticeboard{ + desc = "The note is haphazardly attached to the cork board by what looks like a bent firing pin. 'The order has come in to perform end of life service checks on all L42A service rifles, any that are defective are to be dis-assembled and packed into a crate and sent to to the cargo hold. L42A service rifles that are in working order after servicing, are to be locked in secure cabinets ready to be off-loaded at Chinook. Scheduled end of life service for the L42A - Complete'"; + pixel_y = 29 }, -/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m4ra_rifle, /turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" + icon_state = "plate" }, -/area/almayer/shipboard/brig/armory) +/area/almayer/hull/upper_hull/u_m_s) "xuc" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/extinguisher, -/obj/item/reagent_container/spray/cleaner{ - pixel_x = -8; - pixel_y = 3 - }, /obj/structure/disposalpipe/segment{ dir = 1; icon_state = "pipe-c" }, -/turf/open/floor/almayer{ - icon_state = "silver" - }, +/turf/open/floor/almayer, /area/almayer/shipboard/brig/cic_hallway) "xuB" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -79805,16 +80062,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/living/port_emb) -"xuU" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/reagent_dispensers/fueltank/custom, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/engineering/engine_core) "xuY" = ( /obj/structure/sign/safety/escapepod{ pixel_x = 8; @@ -79835,19 +80082,6 @@ icon_state = "mono" }, /area/almayer/hallways/aft_hallway) -"xvr" = ( -/turf/closed/wall/almayer, -/area/almayer/shipboard/brig/chief_mp_office) -"xvw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "xvE" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/airlock/multi_tile/almayer/marine/charlie{ @@ -79871,6 +80105,16 @@ icon_state = "silver" }, /area/almayer/command/airoom) +"xvQ" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/sentencing{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "xvX" = ( /obj/structure/machinery/cm_vending/gear/leader, /turf/open/floor/almayer{ @@ -79917,15 +80161,30 @@ /obj/structure/largecrate/supply/supplies/mre, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) -"xwG" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 +"xwE" = ( +/obj/structure/bed/chair/comfy/alpha, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" }, -/obj/structure/disposalpipe/segment, +/area/almayer/living/briefing) +"xwX" = ( /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 9; + icon_state = "red" }, -/area/almayer/hallways/aft_hallway) +/area/almayer/lifeboat_pumps/south2) +"xxa" = ( +/obj/item/stack/sheet/cardboard{ + amount = 50 + }, +/obj/structure/surface/rack, +/obj/item/packageWrap, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "green" + }, +/area/almayer/squads/req) "xxe" = ( /obj/structure/surface/rack, /obj/item/tool/crowbar, @@ -79935,6 +80194,23 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) +"xxh" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/obj/item/prop/magazine/boots/n160{ + layer = 2.8; + pixel_x = 4; + pixel_y = -8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/living/commandbunks) "xxi" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3" @@ -79945,6 +80221,14 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"xxl" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 2" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "xxm" = ( /obj/structure/bed{ can_buckle = 0 @@ -80075,18 +80359,31 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"xyz" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 +"xyB" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/port) "xyE" = ( /obj/structure/toilet{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_a_s) +"xyL" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south2) "xyY" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -80115,35 +80412,18 @@ }, /turf/open/floor/plating, /area/almayer/hull/upper_hull/u_a_p) -"xzp" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) -"xzu" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/cells) -"xzB" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/obj/structure/bed/chair/comfy/delta{ - dir = 8 +"xzO" = ( +/obj/structure/closet/secure_closet{ + name = "\improper Execution Firearms" }, -/obj/effect/decal/cleanable/dirt, +/obj/item/weapon/gun/rifle/m4ra, +/obj/item/weapon/gun/rifle/m4ra, +/obj/item/weapon/gun/rifle/m4ra, +/obj/item/ammo_box/magazine/m4ra, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/execution) "xAe" = ( /turf/closed/wall/almayer/research/containment/wall/corner, /area/almayer/medical/containment/cell) @@ -80173,10 +80453,6 @@ icon_state = "green" }, /area/almayer/squads/req) -"xAC" = ( -/obj/structure/surface/rack, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/engineering/upper_engineering/port) "xAI" = ( /obj/structure/platform{ dir = 1 @@ -80202,12 +80478,6 @@ "xBe" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/engineering/upper_engineering) -"xBg" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "xBn" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor{ id_tag = "Boat1-D3"; @@ -80242,14 +80512,18 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) -"xCd" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30 - }, +"xCb" = ( +/obj/structure/closet/secure_closet/fridge/dry, /turf/open/floor/almayer{ - icon_state = "redcorner" + icon_state = "plate" }, -/area/almayer/shipboard/brig/processing) +/area/almayer/living/grunt_rnr) +"xCf" = ( +/obj/structure/bed/chair/comfy/orange{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "xCj" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating/plating_catwalk, @@ -80283,6 +80557,23 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_m_p) +"xDe" = ( +/obj/effect/projector{ + name = "Almayer_Down4"; + vector_x = 19; + vector_y = -104 + }, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/port) +"xDj" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 2 + }, +/turf/open/floor/almayer, +/area/almayer/hull/upper_hull/u_f_p) "xDn" = ( /turf/open/floor/almayer{ dir = 1; @@ -80307,39 +80598,23 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"xDQ" = ( -/obj/structure/surface/table/almayer, -/obj/item/reagent_container/food/snacks/mre_pack/xmas3{ - pixel_x = 5 - }, -/obj/item/reagent_container/food/snacks/mre_pack/xmas2{ - pixel_x = 5; - pixel_y = 9 - }, -/obj/effect/landmark/map_item{ - layer = 3.03; - pixel_x = -7; - pixel_y = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) -"xEc" = ( +"xDF" = ( +/obj/structure/machinery/autolathe, /turf/open/floor/almayer{ - dir = 9; - icon_state = "red" + dir = 1; + icon_state = "orange" }, -/area/almayer/shipboard/brig/main_office) -"xEe" = ( -/obj/structure/bed, -/obj/structure/machinery/status_display{ - pixel_x = -32 +/area/almayer/engineering/lower/workshop/hangar) +"xDV" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 1; + icon_state = "red" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/hallways/upper/port) "xEz" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/book/manual/surgery, @@ -80365,24 +80640,6 @@ icon_state = "plate" }, /area/almayer/living/offices) -"xFs" = ( -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/obj/structure/surface/table/almayer, -/obj/item/storage/box/handcuffs{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/device/flash{ - pixel_y = -8 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "xFw" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -80474,33 +80731,6 @@ icon_state = "red" }, /area/almayer/living/briefing) -"xGL" = ( -/obj/structure/surface/table/almayer, -/obj/effect/decal/cleanable/dirt, -/obj/item/paper_bin/uscm{ - pixel_x = 9; - pixel_y = 6 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/tool/pen{ - pixel_x = 9; - pixel_y = 9 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) -"xHe" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "xHp" = ( /turf/open/floor/almayer{ icon_state = "orange" @@ -80512,13 +80742,18 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_p) -"xHM" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/sentencing, -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) +"xHS" = ( +/obj/structure/reagent_dispensers/oxygentank{ + anchored = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/lower/workshop/hangar) "xHW" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -80567,20 +80802,64 @@ icon_state = "cargo" }, /area/almayer/medical/lower_medical_medbay) -"xIw" = ( -/obj/structure/machinery/brig_cell/cell_2{ - pixel_x = 32 +"xIq" = ( +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/evidence_storage) +"xIu" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/secure_data{ + dir = 8 + }, +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -14; + pixel_y = 28 }, /turf/open/floor/almayer{ - allow_construction = 0 + dir = 4; + icon_state = "red" }, /area/almayer/shipboard/brig/processing) +"xIO" = ( +/obj/structure/machinery/power/fusion_engine{ + name = "\improper S-52 fusion reactor 11" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/engineering/lower/engine_core) "xIQ" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" }, /turf/open/floor/almayer, /area/almayer/living/offices) +"xIW" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/surface/table/almayer, +/obj/item/book/manual/marine_law{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/item/device/flashlight/lamp{ + layer = 3.1; + pixel_x = 7; + pixel_y = 10 + }, +/obj/item/poster, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) "xJe" = ( /turf/open/floor/almayer{ dir = 8; @@ -80601,20 +80880,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) -"xJn" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/upper_engineering/starboard) -"xJC" = ( -/obj/structure/machinery/door/airlock/almayer/generic/corporate{ - name = "Corporate Liaison's Closet" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/corporateliason) "xJH" = ( /turf/open/floor/almayer{ icon_state = "cargo" @@ -80630,6 +80895,12 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) +"xJT" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "xKM" = ( /obj/structure/machinery/status_display{ pixel_x = 16; @@ -80667,6 +80938,33 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_p) +"xLi" = ( +/obj/structure/surface/table/almayer, +/obj/effect/landmark/map_item, +/obj/item/paper_bin/uscm{ + pixel_x = -7; + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"xLl" = ( +/obj/structure/machinery/cm_vending/clothing/military_police{ + density = 0; + pixel_y = 16 + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/shipboard/brig/general_equipment) "xMf" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -80712,9 +81010,29 @@ allow_construction = 0 }, /area/almayer/hallways/aft_hallway) +"xMl" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "xMs" = ( /turf/closed/wall/almayer/white, /area/almayer/medical/operating_room_two) +"xMz" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "xMA" = ( /obj/structure/machinery/computer/med_data, /obj/structure/sign/safety/terminal{ @@ -80741,13 +81059,18 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"xMQ" = ( -/obj/structure/machinery/vending/cola{ - density = 0; - pixel_y = 16 +"xMO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 }, /turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) +/area/almayer/hallways/upper/starboard) "xMR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -80766,6 +81089,23 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"xNf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower/engine_core) +"xNg" = ( +/obj/structure/pipes/binary/pump/on{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/engineering/lower) "xNj" = ( /obj/structure/machinery/cm_vending/sorted/tech/electronics_storage{ req_access = null; @@ -80819,6 +81159,14 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/starboard_hallway) +"xNL" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/vehiclehangar) "xOL" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -80827,6 +81175,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) +"xOT" = ( +/obj/structure/closet/secure_closet/fridge/meat/stock, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/grunt_rnr) "xOY" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/closet/secure_closet/surgical{ @@ -80842,26 +81196,18 @@ dir = 4 }, /area/almayer/medical/containment/cell) +"xPq" = ( +/obj/structure/filingcabinet, +/obj/item/folder/yellow, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "xPE" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) -"xPR" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 4 - }, -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/emails{ - dir = 1 - }, -/obj/item/reagent_container/food/snacks/grown/banana{ - pixel_x = 18; - pixel_y = 5 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/area/almayer/living/briefing) "xPZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -80891,20 +81237,6 @@ dir = 1 }, /area/almayer/medical/containment/cell) -"xQD" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = -25 - }, -/obj/item/paper_bin/uscm{ - pixel_y = 7 - }, -/obj/item/tool/pen, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "xQV" = ( /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer/no_build{ @@ -81039,30 +81371,6 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"xSA" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/flashlight/lamp{ - layer = 3.1; - pixel_x = 7; - pixel_y = 10 - }, -/obj/item/book/manual/marine_law{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/sign/safety/intercom{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/shipboard/brig/lobby) "xSI" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/emails{ @@ -81102,30 +81410,43 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/containment) -"xTp" = ( +"xTt" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/stern_hallway) +"xTu" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/engine_core) +"xTH" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/recharger, /turf/open/floor/almayer{ - dir = 1; icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"xTt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"xTL" = ( +/obj/structure/machinery/cm_vending/gear/executive_officer{ + pixel_y = 30; + density = 0 }, -/obj/structure/pipes/standard/simple/hidden/supply{ +/obj/structure/machinery/power/apc/almayer{ dir = 4 }, -/obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/hallways/stern_hallway) +/area/almayer/living/numbertwobunks) "xTR" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -81165,6 +81486,12 @@ icon_state = "orange" }, /area/almayer/living/port_emb) +"xUa" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliaison) "xUA" = ( /obj/structure/surface/table/almayer, /obj/item/storage/pouch/tools/tank, @@ -81190,6 +81517,14 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_m_s) +"xUV" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "xVc" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/door_control{ @@ -81203,6 +81538,18 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"xVe" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "xVj" = ( /obj/structure/surface/table/almayer, /obj/item/tool/weldingtool{ @@ -81215,6 +81562,11 @@ "xVk" = ( /turf/open/space, /area/space/almayer/lifeboat_dock) +"xVl" = ( +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/shipboard/brig/main_office) "xVF" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -81228,20 +81580,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north1) -"xVO" = ( -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/item/clothing/suit/storage/marine/light/vest, -/obj/structure/closet/secure_closet/guncabinet/red, -/obj/structure/sign/safety/storage{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/engineering/engineering_workshop/hangar) "xVS" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -81321,6 +81659,30 @@ "xXh" = ( /turf/closed/wall/almayer/research/containment/wall/west, /area/almayer/medical/containment/cell) +"xXj" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + dir = 2; + id = "Perma 1"; + name = "\improper cell shutter" + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 2; + name = "\improper Isolation Cell" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/perma) +"xXl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "xXr" = ( /obj/item/reagent_container/glass/beaker/bluespace, /obj/structure/machinery/chem_dispenser/research, @@ -81328,6 +81690,26 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"xXT" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/hallways/upper/starboard) +"xXW" = ( +/obj/structure/bed/chair/comfy/bravo, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"xYe" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/weldingtool, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_m_s) "xYf" = ( /obj/structure/machinery/cm_vending/clothing/sea, /turf/open/floor/almayer{ @@ -81335,22 +81717,6 @@ icon_state = "plating" }, /area/almayer/shipboard/sea_office) -"xYj" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 8 - }, -/obj/structure/surface/rack, -/obj/effect/spawner/random/toolbox, -/obj/structure/machinery/computer/working_joe{ - dir = 4; - pixel_x = -17; - pixel_y = 14 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "orange" - }, -/area/almayer/shipboard/brig/cells) "xYB" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -81375,6 +81741,16 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) +"xYS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "xYZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -81384,13 +81760,41 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering) -"xZf" = ( -/obj/structure/machinery/light, -/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_mk1_rifle_ap, +"xZk" = ( +/obj/item/prop/helmetgarb/gunoil{ + layer = 4.2; + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/prop/helmetgarb/gunoil{ + layer = 4.2; + pixel_x = -10; + pixel_y = 10 + }, +/obj/item/prop/helmetgarb/gunoil{ + layer = 4.2; + pixel_x = 4; + pixel_y = 9 + }, +/obj/item/weapon/broken_bottle{ + layer = 4.51; + pixel_x = 9; + pixel_y = 1 + }, +/obj/structure/surface/table/almayer, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "plate" }, -/area/almayer/command/cic) +/area/almayer/living/briefing) +"xZG" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/item/bedsheet/hop, +/obj/structure/bed, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "xZI" = ( /obj/structure/prop/invuln/lattice_prop{ dir = 1; @@ -81446,6 +81850,21 @@ icon_state = "test_floor4" }, /area/almayer/living/officer_study) +"yaF" = ( +/obj/structure/pipes/standard/simple/visible{ + dir = 4 + }, +/obj/structure/sign/safety/fire_haz{ + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 14; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower) "yaG" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, @@ -81467,20 +81886,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"ybb" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/box/ids{ - pixel_x = -4; - pixel_y = 14 - }, -/obj/item/device/flash{ - pixel_y = -8 - }, -/obj/structure/machinery/faxmachine/uscm/brig, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) "ybf" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = 25 @@ -81499,6 +81904,13 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) +"ybz" = ( +/obj/structure/machinery/brig_cell/cell_4{ + pixel_x = 32; + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "ybO" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/stack/sheet/mineral/phoron/medium_stack, @@ -81516,6 +81928,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_s) +"ybU" = ( +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "ybZ" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/transmitter{ @@ -81556,11 +81978,25 @@ /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/plating, /area/almayer/squads/req) -"ycr" = ( +"ycx" = ( +/obj/structure/bed/chair/comfy/delta{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) +"ycH" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/secure_data, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) +/obj/item/pizzabox/margherita{ + pixel_y = 8 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/squads/req) "ycV" = ( /obj/structure/curtain/red, /turf/open/floor/plating/plating_catwalk, @@ -81584,10 +82020,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) -"ydr" = ( -/obj/structure/largecrate/supply/weapons/pistols, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_m_s) "ydx" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -81635,20 +82067,17 @@ icon_state = "cargo" }, /area/almayer/living/cryo_cells) -"ydU" = ( -/obj/structure/window/framed/almayer/hull/hijack_bustable, -/obj/structure/machinery/door/poddoor/almayer/locked{ - dir = 8; - id = "Perma 2"; - name = "\improper isolation shutter" +"ydO" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 }, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" +/obj/structure/bed/chair/comfy/bravo{ + dir = 1 }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/perma) +/turf/open/floor/almayer{ + icon_state = "orangefull" + }, +/area/almayer/living/briefing) "ydY" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -81657,6 +82086,15 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"yeu" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "yeH" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -81685,16 +82123,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"yeO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "yeP" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -81710,13 +82138,18 @@ }, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/chief_mp_office) -"yeX" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +"yff" = ( +/obj/structure/machinery/cm_vending/clothing/dress{ + density = 0; + pixel_y = 16 }, -/obj/structure/closet/secure_closet/guncabinet/blue/riot_control, -/turf/open/floor/plating/almayer, -/area/almayer/shipboard/brig/armory) +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/command/cic) "yfm" = ( /obj/effect/landmark/start/marine/delta, /obj/effect/landmark/late_join/delta, @@ -81761,6 +82194,18 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) +"yfG" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 8 + }, +/obj/item/storage/briefcase{ + pixel_y = 15 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "yfS" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -81777,18 +82222,6 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) -"ygs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Bathroom" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/living/captain_mess) "ygy" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -81804,16 +82237,14 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"ygM" = ( -/obj/structure/sign/safety/ammunition{ - pixel_x = 32; - pixel_y = 7 - }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, -/turf/open/floor/almayer{ - icon_state = "redfull" +"yhg" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera"; + pixel_y = 6 }, -/area/almayer/medical/upper_medical) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/cells) "yhI" = ( /turf/open/floor/almayer{ dir = 4; @@ -81854,24 +82285,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"yiE" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/engineering_workshop/hangar) -"yiL" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = -28 - }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_s) "yiW" = ( /obj/structure/machinery/cryopod/right{ layer = 3.1; @@ -81916,6 +82329,15 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/notunnel) +"yjG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) "yjM" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -81925,6 +82347,11 @@ icon_state = "blue" }, /area/almayer/living/pilotbunks) +"yjU" = ( +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "ykj" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -81946,16 +82373,6 @@ icon_state = "cargo" }, /area/almayer/hull/lower_hull/l_m_s) -"ykD" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/command/lifeboat) "ykF" = ( /obj/structure/machinery/cm_vending/sorted/tech/tool_storage, /turf/open/floor/almayer{ @@ -81963,6 +82380,12 @@ icon_state = "orange" }, /area/almayer/hull/lower_hull/l_m_s) +"ykI" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/engineering/lower) "ykP" = ( /obj/structure/filingcabinet{ density = 0; @@ -81990,7 +82413,8 @@ }, /obj/structure/machinery/door/airlock/almayer/research/reinforced{ dir = 8; - name = "\improper Containment Airlock" + name = "\improper Containment Airlock"; + closeOtherId = "containment_s" }, /obj/structure/machinery/door/poddoor/almayer/biohazard/white{ dir = 4 @@ -82006,12 +82430,12 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"ylg" = ( -/obj/structure/machinery/cryopod/right, +"ylh" = ( +/obj/structure/closet/radiation, /turf/open/floor/almayer{ - icon_state = "cargo" + icon_state = "test_floor5" }, -/area/almayer/command/airoom) +/area/almayer/engineering/lower/engine_core) "ylJ" = ( /obj/structure/sign/safety/maint{ pixel_x = 8; @@ -88789,10 +89213,10 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH aaa aaa aac @@ -88988,7 +89412,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -88999,13 +89423,13 @@ aaa aaa aaa aad -cZs -cZs -iZG -iZG -iZG -cZs -cZs +feb +feb +feb +feb +feb +feb +feb ajZ aaa aaa @@ -89191,7 +89615,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -89202,13 +89626,13 @@ aaf aaf aaf aag -cZs -cWN -dgx -dgx -dgx -sdq -cZs +feb +qmR +oog +dsA +rbK +tmH +feb aag aaf aaf @@ -89394,29 +89818,29 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa aaa aad -cZs -cZs -cZs -cZs -cZs -cZs -dfp -sEa -vBJ -uNl -oxn -cZs -xEF -xEF -xEF -xEF -xEF +hPI +hPI +hPI +hPI +hPI +feb +dhd +oog +jNT +fag +jVP +feb +feb +feb +feb +feb +feb ajZ aaa aaa @@ -89603,23 +90027,23 @@ aaa aac aaf aag -cZs -yeR -aTg -kyI -aTg -pdG -vAG -dOL -jfY -hwS -wly -wIC -dtN -syM -irr -dAb -xEF +hPI +naB +naB +naB +naB +mtl +vdl +nPb +fZX +dBS +nSu +wld +mtl +jjm +wZN +kgQ +feb aag aaf ajY @@ -89806,23 +90230,23 @@ aaa aad pCi pCi -cZs -osJ -aTg -xvr -bZN -wIC -dWk -fYX -ush -rTt -vAG -wIC -fGN -kIV -kIV -shw -xEF +hPI +pQr +rib +vtG +naB +mtl +eCI +nOC +qVF +xdJ +kzr +jqY +kBh +jNT +jNT +wSK +feb xEF xEF ajZ @@ -90008,25 +90432,25 @@ aaf aaf pCi pCi -myT -wIC -lcW -pbC -xvr -vCG -wIC -tNF -tNF -wIC -hzx -wIC -wIC -vBm -vBm -bIi -mnm -kPo -cFX +sBo +naB +wnw +pHp +fgl +dya +fLF +kEq +mtl +mtl +mtl +mtl +ewI +mtl +xzO +pNk +jIH +mtl +gbO xEF xEF aaf @@ -90211,25 +90635,25 @@ pCi pCi pCi cpf -cos -wIC -wIC -wIC -wIC -wIC -wIC -cNY -tak -sip -mLJ -ntm -hND -kif -hND -mnm -wVz -kIV -dDQ +cHP +naB +pQr +tYW +wvI +vPf +fvA +qPD +vcm +tul +mNK +gtU +bjk +mtl +mtl +mtl +mtl +mtl +dgq sGe xEF xEF @@ -90409,35 +90833,35 @@ pCi mUQ rPC wcn -wcn +eEf xhM wcn tng hGD -wzx -vBm -paq -uoY -vUL -vez -xys -swo -eRL -eRL -mLJ -bua -vBm -xkd -xkd -xkd -xkd +qUE +naB +naB +naB +naB +naB +dcy +qPD +qPD +qPD +qPD +quJ +rdA +alF +sql +alF +dTQ kIV iYi gSs eyd kIV kQz -mnm +jjX kIV kIV flP @@ -90614,31 +91038,31 @@ wcn rPC vWx age -dPY +aNk rTV wcn tYB -vBm -qfR -tak -tak -bvx -xys -qan -eRL -eRL -mLJ -eiO -xFs +naB +pQr +cjz +wvI +piK +fvA +qPD +wZL +ffg +ffg +wsh +eMJ xkd -eiH -aTV xkd xkd xkd -mnm -mnm -iqx +xkd +xkd +shw +ecP +nxc qFl vUI mnm @@ -90821,23 +91245,23 @@ vBm vBm qmC vBm -vBm -ouV -bTw -sjc -dci -rzj -tGg -sjc -sjc -iqn -eRL -tmy +naB +kry +pHp +fgl +xXj +qXE +qPD +sPF +qPD +qPD +uQm +stO +xkd +teE +xJT xkd -rUB -dSn -soa -xzu +ljS xkd xkd xkd @@ -91008,7 +91432,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91023,24 +91447,24 @@ oPk mqo vBm eRL -rag -qqN -lzx -mLJ -bua -gcT -dSc -qre -eRL -eOR -aJz -dXy -nHg -xkd -ghX -rAv +puv +naB +pQr +bsp +hCV +naB +naB +uUu +qCU +qZF +qPD +iQd +qJo xkd -eTo +vWG +lJL +dQp +vlM iHG dCe moB @@ -91210,8 +91634,8 @@ aaa aaa aaa aaa -aaa -aaa +bdH +bdH bdH bdH aad @@ -91226,22 +91650,22 @@ wgi wgi ckS eRL -bua -gcT -gcT -tJy -fnC -tpn -tpn -tpn -ula -tpn -wvT -luw -sgi -xkd -xkd +sDV +naB +naB +naB +naB +naB +naB +nVR +nVR +nVR +nux +tau +nVR xkd +xik +bjQ xkd kmd tUx @@ -91414,7 +91838,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91428,25 +91852,25 @@ sFC sFC sFC vBm -pcQ -xHe -gqW -gqW -lCM -ugT -tpn -vrM -kta -vWo -xrP -xTp -pyj -pwt +lOI +pJv +jLM +tak +cMb +rbi +wDp +xys +nkX +iQB +cmv +vzk +phN +iVP xkd -uvY -oBq xkd -rPh +xkd +xkd +umW iOD iOD tHS @@ -91617,7 +92041,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91632,24 +92056,24 @@ xhE xhE vBm hKq -cdk -soD -tdv -szy -wdr -tpn -aeo -sIw -eni -xrP -xTp -pyj -hTt -kMH -tUx -iTI -hzJ -cyZ +lwK +hrO +xsg +xsg +grF +xVl +uqy +wdF +wdF +wdF +wdF +cMl +icZ +xkd +uvY +oBq +xkd +wKJ jVa jVa tHS @@ -91820,7 +92244,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91835,24 +92259,24 @@ ssD gcT rmv eRL -mLJ -bua -nNQ +eRL +rhl gcT -ciF -tpn -vrM -eBW -eOh -xrP -xTp -pyj -kfN -xkd -qFu -xkd -xkd -qJZ +gcT +xVl +gcT +lxy +oRk +oRk +oRk +utZ +cMl +hTt +kMH +tUx +iTI +dmZ +eZH jVa jVa tHS @@ -92023,7 +92447,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -92031,29 +92455,29 @@ aag ahE nBc wcn -vBm -vBm -vBm -vBm -vBm -vBm -hZU -mLJ -fkn -gaJ -gaJ -gaJ -gaJ +lrq +lrq +lrq +lrq +lrq +lrq +lrq +cxA +uwS tpn tpn -ueo +srT tpn -wCM -pyj -opN +tpn +xjF +myP +gDt +bju +cMl +lMc +xkd +qFu xkd -uvY -duT xkd vdM jVa @@ -92226,7 +92650,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -92234,30 +92658,30 @@ aag pCi mUQ aou -vBm -tJp -ybb -tHB -aEk -nSM -ldu -mLJ -pYF -gaJ -wVV -wVV -wVV -gaJ -aOY -wdF -sdF -kNi -pyj -xIw -kVZ -tUx -iTI -nXm +lrq +kEc +chv +cAy +uhE +vKB +lrq +szR +cZj +tpn +eVR +cak +vrM +tpn +mHb +hjM +xTH +bju +wSm +dEG +xkd +uvY +duT +xkd eZH jVa jVa @@ -92429,7 +92853,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -92437,35 +92861,35 @@ aag pCi hKi rPC -vBm -sQS -xEc -grl -egR -tak -lzx -mLJ -ugT -fso -vpI -vpI -vpI -cuk -tkV -jFR -oRk -kxM -jSw -vBm -vBm -qof -vBm -vBm -wRm +lrq +heo +nqe +nqe +nqe +nqe +tLa +eRL +igt +tpn +rqS +cak +vrM +tpn +pUD +bju +wdF +wdF +wSm +dPT +kVZ tUx -vrx +iTI +nUj +eZH tUx -gSV +vrx +yhg +lbs eZH tUx cXi @@ -92640,31 +93064,31 @@ aag ahE nnF rPC -vBm -ikM -pzc -jjM -eRL -eRL -eRL -mLJ -ugT -qvf -vpI -vpI -vpI -qvf -wdF -lMc -ycr -kge -kDA -rkL -eZj -efh -mGn -jkS -cyZ +lrq +kui +uqo +pId +qMD +uqo +lrq +sYi +sYE +tpn +gIU +xIq +vrM +tpn +efT +nkF +hkH +kuJ +sLA +jSw +xkd +cJh +xkd +xkd +icM thL thL thL @@ -92843,35 +93267,35 @@ aag ahE hUg wcn -vBm -gqW -buX -mLJ -eRL -eRL +lrq +sEZ +nqe +nqe +nqe +nqe +mza eRL -mLJ -pWG -gaJ -eyg -gCI -eyg -gaJ -heQ -lMc -eOW +wfB +tpn +tpn +tpn +tpn +tpn +xIu +xvQ +eDt +bju cMl -lMc -nxq -ldu -kJK -bja -jkS -eZH +kAL +xkd +uvY +sgE +xkd +qJZ ohJ thL thL -aHT +uAL liZ rUk jVa @@ -93046,31 +93470,31 @@ aag ahE rPC wcn -vBm -jCa -cFO -lNs -srV -uzU -nJo -inN -wQk -gaJ -gaJ -gaJ -gaJ -gaJ -tRA -lMc -ffV +lrq +dEX +fxJ +fxJ +fAr +qmU +lrq +hZU +cWs +fAE +kHa +frX +mHA +kHa +snX +oIh +oIh +wNt cMl -oeB -rkL -ldu -eRL -jZL -vBm -qJZ +nlz +vNp +tUx +iTI +qxe +eZH ohJ thL thL @@ -93250,30 +93674,30 @@ pCi wcn wcn lrq -lrq -bVC +iwV +iwV +iwV +iwV lrq lrq -lut -eRL -eRL -enz -swn -vOd -uCl -dls +gob +cWs +irF +kHa +rEQ +xmX eGr -gbX -rCL -xHM -jxK -hyz -ltX -pbh -rRQ -rRQ -iyq -inG +wdF +wdF +wdF +wdF +kQu +cqM +xkd +cJh +xkd +xkd +pns omt omt omt @@ -93452,31 +93876,31 @@ aag pCi rPC rwS -lrq -fFq -uqo -rhD -cqn -gTx -eRL -eRL -igt -swn -daj -qbt -exr +cQv +oVf +rmx +bvH +evR +cQv +cQv +vtD +rAX kHa -luH -lMc -ycr +kHa +lRe +mvR +kHa +tzd +tzd +sgi bju -goD -vBm -vBm -qof -vBm -vBm -sSm +wSm +kAL +xkd +uvY +qEA +xkd +eZo thL thL thL @@ -93485,7 +93909,7 @@ tov thL sUs xkd -mnm +lmk kIV xEF aag @@ -93655,31 +94079,31 @@ aag ahE rPC nfI -lrq -eTx -uqo -hGa -cqn -ldu -eRL -eRL -cWs +cQv +cBw +kde +kde +ajj +mZQ +cQv +vgW +igt swn -dcP -tvA -dQv +rpF +tQm +ond swn -xTp -lMc -gSi +gHt +oIh +eNR bju wSm -jox -lrV -tUx -ntu -nYP +ybz +rrz tUx +iTI +tlp +lXb thL oXp thL @@ -93858,31 +94282,31 @@ aag ahE rPC heV -lrq -lCn -uqo -xub -cqn -nBb -mdS -eRL -uJs +cQv +eaf +bEv +quj +vgi +rXd +cqJ +ldu +igt swn dfO -doj dQv +doj swn -fYn -qZg -iXt -gBi -wSm -opN +neC +mjt +vqc +edo +fTt +lMc +xkd +qFu xkd -nlH -rQY xkd -xMQ +thq ezX pqF rUk @@ -93891,7 +94315,7 @@ iFc thL tUx fgR -inC +kIV fQk ils aag @@ -94061,31 +94485,31 @@ aag ahE wcn nBc -lrq -ebt -uqo -lLN -lrq -mAT -lrq -cxA -plZ +cQv +eaf +bEv +lEe +pGT +pGT +vkM +sjc +xYS kHa qPO -qPO wuc qPO -oRZ -wdF -xCd -bqp -wSm -kfN -xkd -qFu +qPO +ptq +oRk +eNR +bju +cMl +dEG xkd +uvY +lSs xkd -jVa +kbX ezX prY rUk @@ -94264,38 +94688,38 @@ aag pCi wcn wcn -lrq -yeX -uqo -fsT -jnA -fDn -lrq -tqV -nBo -maa +cQv +eaf +bEv +vyH +ajj +rXd +cqJ +ldu +igt swn plI -tqe +dQv +lNN qPO -wvT -luw emp -uUO -wSm -jZm -wmE -tUx -ntu -vQN -jVa -rjw +emp +emp +iEx +cMl +qFE +wDC tUx -lnJ -rjw +iTI +fKw +pgP +thL +thL +thL +thL +thL +thL tUx -jVa -oEE xkd kIV hFW @@ -94467,39 +94891,39 @@ aag pCi oCL wcn -lrq -ebz -uqo -uqo -uqo -iOh -lrq -gdo -nBo -jJq +cQv +eaf +bEv +sBg +uGN +rXd +cQv +gax +igt swn -dHv -qQM +vsM +dQv +ebv qPO -xTp -lMc -jcf -qUb -wSm -jSw +cFC +oIh +lUm +skj +tXc +cqM xkd -nlH -uuq +qFu +xkd +xkd +cvH +thL +thL +thL +thL +thL +thL +tUx xkd -naB -naB -pFg -naB -naB -naB -ydU -naB -naB kIV mnm xEF @@ -94670,39 +95094,39 @@ aag pCi rPC aou -lrq -yeX -uqo -uvy -tfO -fsz -lrq -irJ -nBo -pJi +cQv +xLl +bEv +kde +ajj +tuk +cQv +rzY +igt swn -jAG -tqe +skq +dQv +hhW qPO -xTp -lMc -jcf -eUU -wSm -cqM -xkd +ehX +mTN +hZJ +iLG +jXd +kAL xkd +uvY +cjk xkd +pgP +tUx +tUx +tUx +tUx +tUx +vsz +oEE xkd -naB -eoP -fgl -xEe -naB -xEe -fgl -deb -naB lmk kIV xEF @@ -94873,39 +95297,39 @@ pCi pCi wcn tYB -lrq -noo -noo -noo -lrq -lrq -lrq -fNA -nBo cQv +dzG +kde +ioV +cQv +tlk +cQv +cxA +suc qPO qPO wuc qPO -wvT -luw +qPO +mFc +eKa emp -dGD +lze wSm -lfW -emp -vli -rSH -xYj -naB -aSS -pHp -poZ -naB -jkV -pHp -kOi -naB +slf +bli +tUx +iTI +bQc +pgP +uVV +iBl +wIC +smZ +smZ +wIC +tMH +wIC xCj kIV xEF @@ -94984,8 +95408,8 @@ poR mGL pNp kcp -pNK -bIA +wMv +nCR alU uDn bKf @@ -95077,38 +95501,38 @@ msV rPC naf cQv -vcG -lYZ -olv -dxm -nMu -uFp -ePB -nBo +rdM +gUg +cov +cqJ +hNl +tak +uhW +uJs tsX -xSA -ugs -wVY +ngr +cDN +peO lEv -iQg -jpQ -tsX -jOu +jic +qGf +emp +bju wSm -pyj -vsJ -kjN -rvo -oIc -naB -xro -fgl -wvI -naB -wvI -fgl -qmX -naB +jSw +emp +emp +emp +emp +lFJ +emp +emp +wIC +puE +crp +dco +dqZ +wIC lTK mnm kIV @@ -95278,41 +95702,41 @@ aad pCi dSA rPC -cQv -cQv -geX -tFv -pGT -vkM -jvc -ajj -ajj -nBo -xps -jpQ -jpQ -wVY -eOk -pFa -ctn -wqu -eeN +vxM +vxM +vxM +vxM +vxM +vxM +qlS +eRL +eRL +uJs +tsX +tdy +cDN +oFY +oFY +yjG +ncl +jcf +bju cMl -fHS -naB -naB -naB -naB -naB -naB -rkh -lvZ -naB -fuX -rra -naB -naB -naB +oeB +emp +slF +oIh +qUz +ksg +oIh +iTl +wIC +cBZ +hMc +vAG +jIo +wIC +wIC mnm kIV xEF @@ -95392,9 +95816,9 @@ bTS lxo qcy kcp -edM -edM -mcl +kmk +kmk +mIJ bLt bXX bKh @@ -95472,7 +95896,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa bdH @@ -95481,41 +95905,41 @@ aad pCi wcn rPC -cQv -eaf -bEv -tWg -rZR -cqJ -isH -vwO -scD -rXC -vyE -nwz -nwz -mkk -wir -jnT -qNv -wqu -eeN +vxM +rfY +kGu +iqR +fyp +wJh +ldu +eRL +eRL +uJs +diP +tff +cDN +oFY +cQL +npO +ncl +jcf +bju cMW qEy -ooR -xvw -nBu -tcP -lFs -sIY -qyd -uDp -tNj -uDp -qyd -icX -xQD -naB +iis +rQc +oDy +oDy +wsq +vxK +gwj +rCU +jPS +jPS +sJm +dqZ +rDY +wIC kIV lre xEF @@ -95595,9 +96019,9 @@ oQM aqI aqI kcp -pUl -tXz -rYZ +jaK +jxP +xNL bLu bBB bBB @@ -95684,41 +96108,41 @@ aag pCi mNR wcn -cQv -eaf -bEv -fLn -rXd -dvT -qSl -ajj -ukS -wZa -tsX -ezU -dxT -jpQ -iQg -bRm -ecq -tsX -tkV -pyj +vxM +tQi +wee +wee +fRS +wJh +yeu +sjc +rVm +mMZ +aDM +oSC +uFq +wsl +wSu +xIW +wBd +emp +gbw +oRk +jyb +emp +bPH +rJj +mBx +utZ pyj -luC -elq -qmE -luC -uVF -uQm -qPD -qPD -qPD -qPD -qPD -bND -jaP -naB +jPP +wIC +xpo +xqs +rWF +uSB +lzY +wIC kIV rQU xEF @@ -95887,16 +96311,16 @@ aag pCi tCb aou -cQv -eaf -bEv -fLn -avz -dvT -nHV -ajj -iKX -cQv +vxM +jvP +rDQ +rDQ +rDQ +ctT +mLJ +bua +ybU +vBm tsX tsX tsX @@ -95904,24 +96328,24 @@ epu oLF tsX tsX -tsX +emp vyi vyi vyi -naB -naB -naB -naB -dqV -mdJ -vXQ -vXQ -uNe -uUs -nqZ -ekg -usr -naB +emp +emp +emp +emp +emp +wIC +lnh +wIC +rWn +rWn +wIC +wIC +wHM +wIC inC mKf xEF @@ -96090,41 +96514,41 @@ aag pCi oCL wcn -cQv -eaf -bEv -qRo -rXd -dvT -bAM -wZa -cQv -cQv +vxM +sbP +sbP +sbP +sbP +wJh +ekF +uif +vBm +vBm tHr mqg -eiK +udR vka uwN -fbv +nVq xuZ mSs xuZ xuZ xuZ -rCU +xuZ rEY gxU -naB -kyP -qPD -qPD -qPD -uQm -pIH -naB -nOe -nOe -naB +giR +vUP +wIC +qZA +dgx +fKi +vxG +wIC +xgI +dBQ +wIC bIi fQk xEF @@ -96293,15 +96717,15 @@ aag pCi wcn rPC -cQv -bop -jeK -mWe -rXd -dvT -ieo -vxC -ldD +vxM +pas +ncf +kjk +qxr +wJh +ekF +ugT +qqC ceZ jnD hUW @@ -96317,17 +96741,17 @@ rWs rQt cgT xuc -naB -pZV -gMf -ekg -ekg -uQm -nnz -vrQ -mLI -qyd -vrQ +gXx +wdh +wIC +mHz +jPS +jPS +xrt +wIC +qqV +nNg +wIC mnm sIk xEF @@ -96496,21 +96920,21 @@ aag pCi wcn rPC -cQv -cQv -cQv -cQv -cQv -dvT -ieo -vxC -ldD +vxM +vxM +vxM +vxM +vxM +gaJ +hmG +xys +vBm vGA hUW dHd vka lnt -uVA +eAF uVA uVA uVA @@ -96520,17 +96944,17 @@ uVA wIQ xWv aQb -naB -naB -mtl -hwQ -hwQ -okM -mtl -mtl -naB -naB -naB +vka +jUY +wIC +hNY +qFi +vAG +hsj +wIC +wIC +wIC +wIC mnm hPT xEF @@ -96699,15 +97123,15 @@ aag pCi hKi wcn -aFN +kEU wcn cXZ -jIV -vxM -gaJ -uzx -uue -vxM +vBm +tJM +viH +lCp +ttE +vBm iuE uwN vka @@ -96724,18 +97148,18 @@ jfK wIQ mPj omy -xpo -mtl -pGG -qRT -djm -hgF -mtl +sCQ +wIC +wvE +jhI +jfY +bra +wIC kIV hUc -wNU +pre mnm -sIk +kIV xEF aag aag @@ -96902,15 +97326,15 @@ adG adG gqq iCz -aFN +kEU rPC rPC -kDb -vxM -wVV -qau -mVi -vxM +vBm +vBm +vBm +vfw +occ +vBm udK mwA lnt @@ -96928,15 +97352,15 @@ mgj wIQ jHh jUY -fbY -qVF -oog -qaJ -czB -mtl +wIC +aWg +jES +vBJ +qTQ +wIC mnm kIV -wNU +pre kIV mrB tuA @@ -97106,14 +97530,14 @@ akC akC akC akC -cVJ +rDI rPC -jvJ -vxM -sVy -mKh -mVi -vxM +vBm +mvE +tak +lCp +iLo +vBm bmz wSR mMV @@ -97131,14 +97555,14 @@ awz woy laO nRH -fbY -qVF -oog -kHK -wfL -mtl +wIC +tiF +vAG +opF +pDW +wIC mnm -dGc +wRa kCi kCi kCi @@ -97311,12 +97735,12 @@ bzz akC cRc rPC -wcn -vxM -eyg -giZ -gTl -vxM +vBm +qkn +eRL +lwK +vlN +vBm pZS pEB jUY @@ -97334,12 +97758,12 @@ qwp pZS jHh jUY -fbY -uLJ -oog -sBH -vfv -mtl +wIC +wIC +vzj +wIC +wIC +wIC mnm dGc kCi @@ -97514,12 +97938,12 @@ aHZ akC oCL rPC -wcn -vxM -vxM -tXs -oCX -vxM +vBm +rJN +nJz +wgi +rEO +vBm vkR wsD jUY @@ -97537,12 +97961,12 @@ qwp vGA uwN uVd -mtl -mtl -qYH -mtl -mtl -mtl +wIC +wjY +aTg +rFg +kkv +wIC kIV kIV kCi @@ -97565,7 +97989,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -97717,12 +98141,12 @@ btv akC dDC rPC -wcn -vxM -wVV -erx -dsw -vxM +vBm +vBm +knO +wgi +ugT +vBm kfE wsD jUY @@ -97740,12 +98164,12 @@ qwp cDn uwN jUY -mtl -lNF -rkK -cIK -mtl -tzj +wIC +lcW +aTg +wIC +wIC +wIC kIV bbR kCi @@ -97768,7 +98192,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -97920,12 +98344,12 @@ aHZ akC eKM ake -rPC -vxM -dFC -bRH -bRH -vxM +kif +vBm +rRr +dFU +fnC +vBm xDn pEB jUY @@ -97943,14 +98367,14 @@ awz gGr jHh sCQ -mtl -pJE -wPk -hRy -mtl -tzj +wIC +wtY +aTg +jIT +wIC +mKf +kIV kIV -bVT kCi nwW btD @@ -98121,14 +98545,14 @@ adu adu aHZ akC -akC +lUz tRX -uzm -vxM -eyg -eyg -oWI -vxM +lUz +vBm +hqU +gcT +oPp +vBm nNv pEB jUY @@ -98146,13 +98570,13 @@ qwp ora laO rKQ -mtl -qHF -fnl -mtl -mtl -utZ +wIC +yeR +aTg +nNg +wIC pUJ +wCZ pUJ kCi nRR @@ -98324,14 +98748,14 @@ nIt adu hxG akC -fvu -qkn +bVT wcn -vxM -vxM -vxM -vxM -vxM +avl +vBm +vBm +vBm +vBm +vBm xSz pEB jUY @@ -98349,14 +98773,14 @@ qwp pZS jHh vCx -mtl -mtl -mtl -mtl -qFl -mnm -xyz +wIC +wIC +wIC +wIC +wIC gpe +mnm +dXO kCi nNt vqC @@ -98827,7 +99251,7 @@ aaa nXP ndx uNL -eRt +nDd soS sgy nsu @@ -99030,9 +99454,9 @@ aaa nXP hJp uNL -lUv +gka bwQ -gUr +oNf uNL aNw kXJ @@ -99374,7 +99798,7 @@ ukU bfP fvv vcK -wAd +wGI tuA tuA tuA @@ -100388,9 +100812,9 @@ vCO vCO vCO jxB -wpj -gDq -tJo +xDj +boc +eXS bGr hnV xEF @@ -100591,9 +101015,9 @@ wmT jhW mWD jxB -hWX -tYv -mRU +gvW +sWs +imJ xuB gpe xEF @@ -100754,7 +101178,7 @@ aad aai aai pCi -nMM +pmI avl avl agj @@ -100796,7 +101220,7 @@ aES aES aES aES -lDj +vbP uEv gpe xEF @@ -100955,20 +101379,20 @@ aaa aaa aad ahE -iuT -nna -svp +qKt +dKa +hdb avl agj agj -wbw -npK -hBW -tHU -tMu +jbN +mTc +hkX +yfG +lxE kcN -dkn -gye +twI +ufL aic aov wVW @@ -101158,20 +101582,20 @@ aaa aaa aad ahE -afc -npB -umY +ooo +uaX +kfR avl agj -laG +kyR agc -aUP +qfD agc -ktc -ueD +kJm +gFR kcN cod -gye +ufL aic aov wVW @@ -101364,17 +101788,17 @@ ahE aiV wBY hJJ -anl +qCi agj -fuR -ouT +ogK +qgr agc agc -ktc -nKs +kJm +lpg kcN -muQ -gye +yff +ufL aic aKq luZ @@ -101567,13 +101991,13 @@ pCi kwS avl avl -yiL +mRp agj -utw -kmY -pSH -mES -lWD +nCx +tYM +mqb +kDK +jMx mXj kcN kcN @@ -101772,14 +102196,14 @@ avl hCo lIh agj -fiP +nXO hvH -pYp +bVs hvH hvH -iIm -odC -cQD +qBq +xxh +xpi agj bFA aov @@ -101975,14 +102399,14 @@ avl hMI lFb agj -mcK -xBg -pYp -isu -oBW +dyj +fnv +bVs +xZG +kYt mXj -drp -tqI +ulo +kJW agj aic aoA @@ -102169,7 +102593,7 @@ bdH aaa aaa bdH -bdH +aaa aaa aad ahE @@ -102180,7 +102604,7 @@ tDx agj mXj mXj -nRQ +lul mXj mXj mXj @@ -102372,7 +102796,7 @@ bdH bdH bdH aaa -bdH +aaa aaa aad pCi @@ -102382,12 +102806,12 @@ jgM lFb agj mXj -yeO -nQH -lnZ -lnZ -pxL -mzG +pjR +jND +aKk +aKk +szf +faE mXj agj amI @@ -102584,17 +103008,17 @@ avl jpJ lzH agj -iET -akr -lfT -jNY +qlI +cdB +xjt +coD agc -jCn -kmY -rEJ +ako +tYM +gLN agj aic -esy +acS wVW asQ awG @@ -102787,19 +103211,19 @@ avl llM lGL agj -jPn +eBE hvH agc -euM +rNa pxG -klG +fOv agc agc agj aic -cHA +sxW wVW -nww +abQ atN cEl sOi @@ -102990,21 +103414,21 @@ avl avl mrc agj -huR +kSH hvH -gfK -rqH +nTA +kWR agc -nnG +aiW xyk xyk -oys -nDV -joE +mDX +aTl +dLe wVW -qyJ +atx qEk -ksv +ajm wVW arP alX @@ -103016,7 +103440,7 @@ hkG wVW fvB qEk -aGi +iaa wVW aKn aKz @@ -103193,19 +103617,19 @@ pCi jTi nRq agj -wfd +ikQ hvH agc -pJe +qlp pxG -vtt +tTk agc agc agj -lPG +fXP aov wVW -qyJ +atx qEk ato wVW @@ -103219,7 +103643,7 @@ aEB wVW fvB qEk -aGi +iaa wVW aKn aKz @@ -103396,19 +103820,19 @@ pCi avl myn agj -rfv +muV hvH qck -jEX +eRi agc -ssn -mES -lUw +tan +kDK +iEz agj aic aov wVW -nbr +ssW qEk hrm wVW @@ -103422,7 +103846,7 @@ aEC wVW dNZ qEk -xZf +mje wVW aKn aKz @@ -103600,18 +104024,18 @@ cnX lIh agj mXj -xBg +fnv hvH hvH -bVg +iNY hvH -pJK +jhB mXj agj aic aoA wVW -qyJ +atx jvX ato wVW @@ -103623,9 +104047,9 @@ alX aIf aED wVW -xtg +ryR jvX -aGi +iaa wVW aKn aKy @@ -104646,7 +105070,7 @@ aJc ecr ecr ecr -ygs +ohS aET nUv aJU @@ -104841,15 +105265,15 @@ dum wVW wVW wVW -lgK +jOc aGZ awF cST aTz aUl aET -aWA -jgu +esC +nsQ aET mSi wHp @@ -105047,7 +105471,7 @@ aGV rvA aKE awF -iYR +jzE aUw aUm aET @@ -105422,7 +105846,7 @@ awW add add add -juf +stu add add add @@ -105448,7 +105872,7 @@ asl amO aGO awF -aFj +hRk aGY rvA aKO @@ -105468,7 +105892,7 @@ baw aJU aJU aJU -hey +tBu aJU aJU aJU @@ -105651,8 +106075,8 @@ asp amO avj awF -aFo -aGY +xTL +lmA rvA aqm awF @@ -105822,7 +106246,7 @@ bdH aaC abs adq -jWH +myl ajI add fsU @@ -105880,7 +106304,7 @@ qys gBW aJU tiW -pUe +qgU pgD tQV aaC @@ -106052,13 +106476,13 @@ umS yjM qbO aqw -qRL +hnI bYe amO wZM aPm awF -aHk +nvG vGI aLp awF @@ -106263,7 +106687,7 @@ ejp awF aHn szU -aLt +fGa awF aRC aUw @@ -106431,7 +106855,7 @@ aaa aaY abs adq -ckE +tGj ajI add fsU @@ -106489,7 +106913,7 @@ qys gBW aJU tiW -hXD +bpw pgD tQV aaY @@ -106843,7 +107267,7 @@ aoC add add add -juf +stu add add add @@ -106889,7 +107313,7 @@ baw aJU aJU aJU -eyv +nnX aJU aJU aJU @@ -106981,13 +107405,13 @@ gfW bGQ bHB qnd -cmp -cmp -cmp -cmp -cmp -cmp -cmp +lFp +lFp +lFp +lFp +lFp +lFp +lFp vwN oFG nqU @@ -107184,13 +107608,13 @@ gfW rHw wTg aYu -cmp -bTz -apV -are -apV -djM -cmp +lFp +ddw +gHl +kjD +gHl +qoL +lFp mjR oFG nqU @@ -107387,13 +107811,13 @@ gfW aZZ aYC aZZ -cmp -apM -eGs -bWM -bWM -bWS -cmp +lFp +mgd +wfn +aId +aId +poA +lFp mjR bVR oeo @@ -107567,7 +107991,7 @@ bsk sxu cBI bkA -nuI +eFG bej arX vSG @@ -107590,20 +108014,20 @@ gfW bLT cbQ ccq -cmp -apO -bWM -bWM -bWM -gQl -asE -asE -asE -asE -asE -asE -asE -asE +lFp +lGg +aId +aId +aId +jFx +nmY +nmY +nmY +nmY +nmY +nmY +nmY +nmY clO gUv vRz @@ -107672,7 +108096,7 @@ aiX aiX aiX sHM -otK +kUh aiX aiX aiX @@ -107793,20 +108217,20 @@ gfW bGT bHH bGT -cmp -apP -hKQ -bWM -bWM -fps -asE -asB -atA -bWM -aur -auI -auY -asE +lFp +xDF +eRS +aId +aId +tMc +nmY +ouw +jDP +aId +xHS +tEd +vjW +nmY caE pdk vRz @@ -107868,7 +108292,7 @@ awW awW awW fSm -vCz +hiy apl bbL bbL @@ -107996,20 +108420,20 @@ gfW bUe cbR ccr -hcC -lEW -aqd -bWM -bWM -ask -asE -asE -asE -atJ -aus -aus -ava -asE +sHm +ddM +hZe +aId +aId +rNK +nmY +nmY +nmY +dZu +dKK +dKK +xry +nmY clP ovF yhQ @@ -108071,7 +108495,7 @@ ajf ajf ajf oAO -dlN +pIZ aod qgG amC @@ -108200,19 +108624,19 @@ iRx iEb bHa apm -jUn -avT -bWM -bWM -aso -asv -xVO -asE -bWM -auw -auM -avb -asE +gJO +pwG +aId +aId +wUK +dDM +vPR +nmY +aId +vXf +qGw +uZV +nmY scI oed yhQ @@ -108274,7 +108698,7 @@ awW awW awW aSJ -dAi +isI dtM aii mce @@ -108403,19 +108827,19 @@ buH iEb buH app -uku -aqD -bWM -arE -ast -pjP -atd -uku -bWM -aux -aus -ava -asE +ruL +qUZ +aId +hJI +vwY +uIA +acd +ruL +aId +kyh +dKK +xry +nmY suT ftl yhQ @@ -108606,19 +109030,19 @@ buH iEb buH app -uku -aqT -bWM -gwW -dvF -bWM -ate -uku -bWM -auC -auN -dxL -asE +ruL +gsd +aId +oqt +wCk +aId +lab +ruL +aId +hgD +pSQ +dOe +nmY tqk iBG yhQ @@ -108809,19 +109233,19 @@ oLv iEb buH app -uku -aqW -bWM -arZ -mkh -bWM -ath -asE -atZ -auE -auP -wZy -asE +ruL +xPq +aId +vjv +gOR +aId +vTV +nmY +pdy +smW +prP +xXl +nmY iTz vfJ yhQ @@ -109012,19 +109436,19 @@ buH iEb buH eDG -cmp -ard -bWM -gwW -saB -bWM -ati -atE -aua -gwW -xqS -yiE -avk +lFp +xlO +aId +oqt +iXA +aId +oZy +naw +npA +oqt +oEy +qmY +tUN wlp vXX yhQ @@ -109215,19 +109639,19 @@ bFu mKY hvp mWw -apT -apA -arC -asi -cSN -asy -atw -atF -aud -auF -ati -cUb -asE +vpe +dxT +olN +jDk +uNq +tOu +qyK +mkn +tHQ +uxX +oZy +orN +nmY luu gNx yhQ @@ -109426,11 +109850,11 @@ yhQ yhQ yhQ yhQ -auh -gwW -ati -lBY -asE +iZE +oqt +oZy +qhD +nmY wlp oDf yhQ @@ -109629,11 +110053,11 @@ azy azy azy yhQ -aup -gwW -kiF -ave -asE +kJH +oqt +qlm +kRD +nmY scI oDf yhQ @@ -109832,11 +110256,11 @@ azy azy azy yhQ -uRr -bWw -bWM -avi -asE +euW +rOI +aId +hQP +nmY suT oed yhQ @@ -110035,11 +110459,11 @@ azy azy azy yhQ -pGN -bWM -bWM -avi -asE +sJI +aId +aId +hQP +nmY scI oed bVU @@ -110238,11 +110662,11 @@ azD azD azD yhQ -djp -bWM -bWM -avi -asE +ePN +aId +aId +hQP +nmY nyz tVB bSf @@ -110309,7 +110733,7 @@ dtM akU ajC sqf -wQa +anp wjz fnA jZY @@ -110512,7 +110936,7 @@ dtM aii ajC sqf -udb +sOZ oNJ eDo eDo @@ -110715,7 +111139,7 @@ dtM ajt aik sqf -eTh +anq awn xsz jTj @@ -110918,11 +111342,11 @@ dtM aii ajC sqf -vZJ +anr awn tEi -iWb -ygM +asu +hbI sqf ajl vtx @@ -112366,9 +112790,9 @@ iBt iBt iBt iUZ -awE -pQu -kmL +pBG +rLp +ttX qVM csz qVM @@ -112569,9 +112993,9 @@ iBt iBt iBt iBt -awE +pBG jZU -rjH +jAe qVM vGk qVM @@ -112669,8 +113093,8 @@ bJt xOL gGI eeu -dqQ -ccm +gfq +eFP gAz fiq uaa @@ -112772,9 +113196,9 @@ iBt iBt iBt iBt -awE -cvj -iiz +pBG +cVq +nOb qVM oLw qVM @@ -112975,9 +113399,9 @@ iBt iBt iBt iBt -awE -aGt -ijn +pBG +dzp +ngV qVM vGk vGk @@ -113072,7 +113496,7 @@ buH bHL buH lhB -tAJ +xCb bDs bIJ bDs @@ -113173,14 +113597,14 @@ ybf aii avj qVM -awE -awE -awE +pBG +pBG +pBG nec -awE -awE -xJC -awE +pBG +pBG +saL +pBG qVM qVM qVM @@ -113376,14 +113800,14 @@ ahM kSJ avj cGr -awE -vjn -wQv -rne -guC -ecQ -whZ -awE +pBG +hqJ +cHG +nQA +wph +pyx +lKO +pBG lEf gel gel @@ -113579,14 +114003,14 @@ bYe bnD aWH aYn -bVB -bXv -bXv -bph -rEm -rne -bYj -xne +qvL +wmP +wmP +dRP +eFY +nQA +eAN +xqQ rfb cXF rLU @@ -113692,7 +114116,7 @@ jFE jFE idx hAz -hQh +gHj bJt vhI oed @@ -113781,15 +114205,15 @@ vOy qLK akU avj -kpl -awE -hlq -bYj -btz -bsc -iaj -bYj -xne +eAT +pBG +lvb +eAN +jVg +rGU +xCf +eAN +xqQ rLv bHk vZw @@ -113891,11 +114315,11 @@ vzP bJt hjB bJt -neF +xfK bDs gSk bDs -khX +bpI bJt kTq oed @@ -113984,15 +114408,15 @@ vOy ayT akU avj -awE -awE -xgr -bYj -eUR -gEI -nDh -bYj -xne +pBG +pBG +hEl +eAN +fQS +oGY +neT +eAN +xqQ cNH vzp vZw @@ -114187,15 +114611,15 @@ kgs ayT aii avj -aYp -aWS -bYj -bYj -btz -rne -rne -bYj -xne +bvX +ojQ +eAN +eAN +jVg +nQA +nQA +eAN +xqQ rfb bHk vZw @@ -114390,15 +114814,15 @@ kgs ayT aii avj -aYp -aZJ -baD -baD -tsH -bqw -bqw -hiB -xne +bvX +kVV +vQR +vQR +epJ +jML +jML +fnH +xqQ rLv pRy wwW @@ -114504,7 +114928,7 @@ rBj bDs gSk bDs -hWS +fUB bJt oDf uqH @@ -114593,15 +115017,15 @@ mmN ayT aii avj -aYp -sQL -dpV -bXW -bqo -bse -bvc -djL -awE +bvX +maO +lPm +iZV +fdx +cuq +edn +fVF +pBG qWR wJH wJH @@ -114707,7 +115131,7 @@ bJt oKb gSk bDs -ign +nqO bJt sIx bxX @@ -114796,16 +115220,16 @@ vOy aTL aii avm -awE -awE -awE -awE -mZA -awE -awE -awE -awE -awE +pBG +pBG +pBG +pBG +qRr +pBG +pBG +pBG +pBG +pBG qVM qVM qVM @@ -114999,16 +115423,16 @@ vOy ayT akU avj -aCv -baa -fqe -bXx -bqo -awE -tnm -dhQ -qyz -awE +fKh +gQk +trU +oNY +fdx +pBG +eNw +ppF +fiE +pBG vGk vGk gYS @@ -115188,7 +115612,7 @@ mSK mSK vOy vOy -ylc +ccc wKP ylc vOy @@ -115202,16 +115626,16 @@ vOy atV akU avj -aCv -bac -dWz -bYj -bqo -aRD -aGt -byp -aGt -awE +fKh +iuG +sOv +eAN +fdx +gAk +dzp +rMT +dzp +pBG vGk qVM qVM @@ -115312,7 +115736,7 @@ qBM wXI nUd lkd -xnQ +xOT bDs gSk oDE @@ -115405,16 +115829,16 @@ vOy vIN aii avj -aCv -ilv -rne -rne -gEK -eHj -bvl -byq -maq -awE +fKh +ubI +nQA +nQA +jvM +pLa +nTR +gDp +rwq +pBG vGk qVM riM @@ -115608,16 +116032,16 @@ vOy ayT aii avj -awE -ceo -rne -rne -wft -awE -awE -awE -awE -awE +pBG +mGT +nQA +nQA +vEG +pBG +pBG +pBG +pBG +pBG vGk xCX vGk @@ -115811,16 +116235,16 @@ amD ajr aii avm -awE -wiF -rne -rne -fAo -awE -knT -wQv -bBi -awE +pBG +bfO +nQA +nQA +jDO +pBG +aYH +cHG +wEe +pBG ieH qVM tUI @@ -116014,16 +116438,16 @@ akT amC bKe avj -aCv -eYW -rne -rne -wft -emO -bYj -bYj -bYj -awE +fKh +eYn +nQA +nQA +vEG +mlP +eAN +eAN +eAN +pBG csz qVM qVM @@ -116217,16 +116641,16 @@ akU abg abg avj -aCv -aSP -rne -rne -wft -awE -hpf -pbl -igp -awE +fKh +wvo +nQA +nQA +vEG +pBG +skR +oxc +nBi +pBG hoX qVM oks @@ -116284,13 +116708,13 @@ ykF bgH uVb bdd -pfe -wsP -izr -aSh -ccF -rFV -iXR +uvU +xZk +dGU +lgF +eYj +aSp +mho bdg aLG awb @@ -116320,13 +116744,13 @@ buH hOR buH bdg -cxZ -wAU -diw -tSv -cxZ -ffl -wbe +lCE +oZD +lwh +oPz +lCE +xLi +qkY bdd qXo feq @@ -116420,16 +116844,16 @@ aii aow hee ioX -aCv -aLQ -bYj -bYj -wft -awE -awE -awE -awE -awE +fKh +sSP +eAN +eAN +vEG +pBG +pBG +pBG +pBG +pBG csz iid csz @@ -116487,13 +116911,13 @@ hhw umv hhw bdd -hjT -jZr +xwE +dAQ tGG -fHe +kEs tGG -sBs -iXR +bpA +mho bdg aLG aYO @@ -116523,13 +116947,13 @@ buH bHL buH bdg -cxZ -hnH -kXH -kfG -dkH -cKX -oqP +lCE +uek +dkX +qXp +oCl +tPm +kiX bdd tLc rsM @@ -116623,16 +117047,16 @@ aii avj qVM qVM -awE -ntr -bYj -bYj -wft -bvU -dTc -lOl -mkx -awE +pBG +aGs +eAN +eAN +vEG +vrJ +tQM +kOH +hIs +pBG ieH qVM dYK @@ -116682,7 +117106,7 @@ kxd jgk nsY rSG -wWJ +rur oqS nsY lhu @@ -116690,13 +117114,13 @@ btk aSm eoM bdd -vTt -tgE -tgE -fNu +eUZ +lCr +lCr +fwM tGG -gmp -iXR +lJD +mho bdg aLG aYO @@ -116726,13 +117150,13 @@ buH bHL buH bdg -cxZ -csG +lCE +fMe sNI -mgR -gNi -wJL -oMC +jmn +sgD +kUR +vMM bdd hxZ rsM @@ -116826,16 +117250,16 @@ amO avj qVM csz -awE -qMe -nKJ -bYj -dyF -awE -bzs -gbQ -eKK -awE +pBG +xiU +xUa +eAN +mLe +pBG +pZH +nnL +lgt +pBG oLw qVM jmR @@ -116893,13 +117317,13 @@ aSm aSm kOf bdd -dYH +ljW bDP -tgE -okB -tgE -crK -xkY +lCr +ijr +lCr +mpn +pZR bdd beB aYT @@ -116929,13 +117353,13 @@ buH bHL buH bdd -qWy -uZX -wJL -wJL -eCS -xqM -udV +tSF +lsn +kUR +kUR +mkl +gXB +car bdd hTf rsM @@ -117029,16 +117453,16 @@ akU avj qVM csz -awE -awE -awE -hIL -awE -awE -awE -awE -awE -awE +pBG +pBG +pBG +qIx +pBG +pBG +pBG +pBG +pBG +pBG vGk qVM qVM @@ -117087,7 +117511,7 @@ gsg vHq vvY nsY -pPV +rNb bxC jiU nsY @@ -117096,13 +117520,13 @@ mhl aSm ylY bdd -qgw -qgw -qgw -tMc -vlR -uLe -qin +asr +asr +asr +mki +nYp +fZG +phd pmv tBF fSK @@ -117134,11 +117558,11 @@ bFu hLS vKe vKe -sgE -ljz -xzB -epq -fCt +uSH +uwt +rLP +pPA +ycx bdd hTf rKO @@ -117235,7 +117659,7 @@ vGk vGk csz vzl -bvY +ljt vGk vGk csz @@ -117495,19 +117919,19 @@ wNl nGh fPp lqN -uoh +vlO nsY xCN pOB hfk aLf bdd -gVm -kKL -gOm -hFX -dAO -cEG +dJI +jaf +kwc +ebp +mPR +osU vKe dYX tBF @@ -117538,13 +117962,13 @@ buH uXu bFu iUk -cIl -gkJ +cIx +fUC vKe -cum -mVZ -kTx -jIG +sDA +kWN +tln +bko bdd hTf wRO @@ -117705,13 +118129,13 @@ lQu lQu aSm bdd -iFG -iWE -jUo -iXd -iXd -wwk -hMJ +fva +lkL +mBO +cHB +cHB +hDV +vmP bdd aLG awb @@ -117741,13 +118165,13 @@ buH hOR buH bdd -wLV -nza -mwz -mwz -mwz -ukA -jIG +oNP +tge +yjU +yjU +yjU +tEC +bko bdd gKB rsM @@ -117901,20 +118325,20 @@ juD twW vHh pvh -rgJ +sZs nsY hhw yfy ugV vUi bdd -jEI -iXd -xzp -vEn +cDH +cHB +scN +vvw wmz -npS -qsa +rhy +rec bdg aLG aYO @@ -117944,13 +118368,13 @@ bGe bHL buH bdg -kxF -elX +jLS +xdP gAj -bHS -aLA -ldj -oMC +dBI +sMu +eYF +vMM bdd sOt cNX @@ -118111,13 +118535,13 @@ aLf qce aSm bdd -gcw -xPR -nIW -uzb +xXW +gVu +ydO +krU wmz -idJ -qsa +vbI +rec bdg beB aYT @@ -118147,13 +118571,13 @@ bJz bHT bJz bdg -kxF -lad -thE -hIt +jLS +frb +kNX +mZf gAj -wlH -sGX +ngn +jUq bdd pEl roU @@ -118162,7 +118586,7 @@ uVh nsY kzK lFh -mus +jYc pVA mzV pML @@ -118195,19 +118619,19 @@ aaa aaa aaa lYA -aaG -aaG -aaI -abC -abC -abC -abC -abC -abC -abC -jUW -tgS -ady +ojH +ojH +taV +ouf +ouf +ouf +ouf +ouf +ouf +ouf +aLc +wBI +hGG aar aIZ aIZ @@ -118261,19 +118685,19 @@ iBt iBt iBt qVM -aCX -tgS -uSL -asx -asx -asx -asx -asx -asx -asx -aLX -bbp -bbp +vmJ +elv +vRR +qXS +qXS +qXS +qXS +qXS +qXS +qXS +hXX +xDe +xDe czu aaa aaa @@ -118301,7 +118725,7 @@ aSm bUc nSN nsY -xgS +hUz dbn qvC tyb @@ -118314,13 +118738,13 @@ aLf tRc qEW bdd -gGo -mLb -qmB -vpt -kQU -rdb -kQU +sgm +kEg +nFA +jkD +xgN +vgn +xgN bdg aLG aYO @@ -118350,13 +118774,13 @@ buH bHL buH bdg -gKH -cgz -vyU -xGL -vkN -xDQ -bXc +vLg +loy +naK +mRq +xkB +qXO +eeh bdd pcO tJV @@ -118398,19 +118822,19 @@ aaa aaa aaa lYA -aaG -aaG -aaI -abC -abC -abC -abC -abC -abC -abC -acg -bAF -ady +ojH +ojH +taV +ouf +ouf +ouf +ouf +ouf +ouf +ouf +sdf +cRL +hGG aar aar aar @@ -118464,19 +118888,19 @@ ayo qVM qVM qVM -aEJ -bAF -aKB -asx -asx -asx -asx -asx -asx -asx -aLX -bbp -bbp +cna +nzD +xDV +qXS +qXS +qXS +qXS +qXS +qXS +qXS +hXX +xDe +xDe czu aaa aaa @@ -118601,30 +119025,30 @@ aaa aaa aaa lYA -aaG -aaG -aaI -abC -abC -abC -aaJ -abC -abC -abC -act -ajS -afq -lzW -buk -fgF -bYP -lBi -acH -cwd -bYy -tOd -adT -kqf +ojH +ojH +taV +ouf +ouf +ouf +ptA +ouf +ouf +ouf +fTj +jOD +oOw +cPK +oXt +loz +sAz +jZC +uyd +ito +cuN +cQW +lQa +wjE aeU bUE bYe @@ -118656,30 +119080,30 @@ bUE bYe nBW bWP -tSc -spT -fHC -dHr -bYQ -cwd -lBi -qmt -ayG -saW -tMf -ajq -ajS -dGw -asx -asx -asx -aKJ -asx -asx -asx -aLX -bbp -bbp +qtj +fpA +qUx +gUS +wrX +kMp +jkB +hlT +qNI +hRc +tqO +kdn +nyS +qec +qXS +qXS +qXS +jpn +qXS +qXS +qXS +hXX +xDe +xDe czu aaa aaa @@ -118814,20 +119238,20 @@ lYA lYA lYA lYA -aey -azY -azY -adi -atC -abx -acC -abx -abx -abx -adi -abx -acC -atC +dho +wVt +wVt +jlc +ngE +kbv +dTn +kbv +kbv +kbv +jlc +kbv +dTn +ngE abg abg abg @@ -118859,20 +119283,20 @@ aZE aZE aZE aZE -xwG -chu -aZE -cgI -abt -aZE -aZE -chu -aZE -xwG -cgI -agl -agN -ahH +usL +gsC +cMz +qLg +aXD +cMz +cMz +gsC +cMz +usL +qLg +iup +ryY +cnn czu czu czu @@ -119017,20 +119441,20 @@ lYA bRK aao aiv -aaW -pjb -abM -iCe -cLp -cZZ -ccY -aJs -cdu -aaw -abl -jUs -abu -xaF +bGa +dVn +vwC +fbR +gcq +xci +eON +gxn +vEV +xMz +sdv +xMO +wDg +vHA aaL aJs bYe @@ -119062,20 +119486,20 @@ cjo bYe kSN aTQ -uGo -abl -wba -abu -aaw -wbj -aJs -cdu -ayH -uGo -eoT -aGR -pjb -aKC +kfo +rCl +ePM +pzd +oWx +nNx +pMA +ncT +gHh +kfo +dbc +cNM +ofU +njk xCX vGk hoX @@ -119226,12 +119650,12 @@ aar aar aar aar -acG -abg -caF +hZE +sVV +oON aar aar -wYZ +lIl aar aar ael @@ -119270,9 +119694,9 @@ xeG qVM qVM qVM -acG -abg -caF +mKi +sfT +hGV qVM qVM qVM @@ -119429,14 +119853,14 @@ aIZ aIZ aLC aar -bWs -abg -caF +xVe +sVV +mbx aar -rcW +vUk sTB -jrV -qmr +lUA +tqd ael afE agT @@ -119473,9 +119897,9 @@ vGk vGk adI qVM -acG -abg -caF +aDS +sfT +hGV qVM iBt iBt @@ -119632,13 +120056,13 @@ aIZ aIZ aIZ aar -acO -aJs -cbN +hHe +gxn +ioH aar -lDK +fQY aap -eXU +elM vFb ael afH @@ -119676,9 +120100,9 @@ csz vGk xHG qVM -aJd -aJs -cbN +uRY +pMA +waJ qVM iBt iBt @@ -119835,14 +120259,14 @@ aIZ aIZ aIZ aba -pNQ -abx -hTy +aGA +kbv +fZo aar -pJn +thR aao aao -erz +gDP ael afI agY @@ -119879,9 +120303,9 @@ vGk vGk csz qVM -jSY -abx -hLO +mzs +aPT +xyB ceD iBt iBt @@ -120038,14 +120462,14 @@ aIZ aIZ aIZ aar -acP -bUE -qFQ +mAF +ilq +pjj aar -jBY +xtQ aap aao -mYX +sxT ael afJ agY @@ -120082,9 +120506,9 @@ csz vGk csz qVM -sah -bUE -cbO +gfN +efj +sxE qVM iBt iBt @@ -120241,14 +120665,14 @@ aIZ aIZ aIZ aar -acG -abx -caF +hZE +kbv +mbx aar -ydr +com aap aao -mYX +sxT ael afK ahc @@ -120285,9 +120709,9 @@ vzl vGk csz qVM -acG -abx -caF +aDS +aPT +hGV qVM iBt iBt @@ -120444,13 +120868,13 @@ aar aar aar aar -oPD -abx -lCz +laM +kbv +nkH aar tAV sTB -uck +xfk wKn ael afL @@ -120488,9 +120912,9 @@ qVM xeG qVM qVM -oPD -abx -lCz +oIa +aPT +bqY qVM qVM qVM @@ -120647,11 +121071,11 @@ aIZ aIZ aLC aar -acG -abx -caF +hZE +kbv +mbx aar -wYZ +lIl aar aar aar @@ -120691,9 +121115,9 @@ xWF vGk yji qVM -acG -abx -caF +aDS +aPT +hGV qVM iBt iBt @@ -120804,7 +121228,7 @@ vra cmd cmh wAR -aLB +bGb uaa uaa uaa @@ -120850,14 +121274,14 @@ aIZ aIZ aIZ aar -acO -aJs -arJ +hHe +gxn +gKd aar aao aao -rOZ -dfP +wkL +mts adO afM fpR @@ -120894,9 +121318,9 @@ csz vGk csz qVM -acO -aJs -arJ +lCL +pMA +gcm qVM iBt iBt @@ -121007,7 +121431,7 @@ vra ajX ajX ajX -aLB +bGb uaa uaa uaa @@ -121053,14 +121477,14 @@ aIZ aIZ aIZ bWh -jSY -abx -hTy +hmj +kbv +fZo aar -lAj +hLB aao aao -xgE +laY adO afN ahh @@ -121097,9 +121521,9 @@ csz vGk csz qVM -jSY -abx -hLO +mzs +aPT +xyB cix iBt iBt @@ -121256,14 +121680,14 @@ aIZ aIZ aIZ aar -acP -bUE -qFQ +mAF +ilq +pjj aar -jkL -iaE +xYe +kZH aao -mXa +frY adO afO ahh @@ -121300,9 +121724,9 @@ csz vGk xHG qVM -sah -bUE -cbO +gfN +efj +sxE qVM iBt iBt @@ -121459,14 +121883,14 @@ aIZ aIZ aIZ aar -aJa -abg -ccf +xXT +sVV +tkR aar -cRg +mko uaZ aap -epK +svC adO jkj ahh @@ -121503,9 +121927,9 @@ csz yji uso qVM -aJa -abg -ccf +nme +sfT +vAH qVM iBt iBt @@ -121662,9 +122086,9 @@ aar aar aar aar -eQi -atL -kOG +ehL +kyr +chb aar aar aar @@ -121706,9 +122130,9 @@ qVM qVM qVM qVM -eQi -atL -pef +tCx +ncG +tZg qVM qVM qVM @@ -121865,9 +122289,9 @@ aap aap ahg aiv -lMM -abg -lCS +cSa +aeA +sjz aiv ahg aap @@ -121909,9 +122333,9 @@ vGk aip vzl xCX -bWC -abg -sSR +wcm +lJY +guo xCX weU csz @@ -122068,9 +122492,9 @@ aar aar aar aar -bWE -aJs -mXU +wYa +nBK +mzS aar aar aar @@ -122112,9 +122536,9 @@ qVM qVM qVM qVM -bWE -aJs -mXU +nuM +uHr +xwX qVM qVM qVM @@ -122395,7 +122819,7 @@ rbY gwD bOK bPD -nSj +bYa bPD jOk bNB @@ -122598,7 +123022,7 @@ rbY bEc bKA bCA -gJs +bQS bCA bKA bEc @@ -122676,7 +123100,7 @@ aeA aeC aeC aeC -tpt +cVb aeC aeC aeC @@ -122724,7 +123148,7 @@ lJY vcE vcE vcE -oDO +iTd vcE vcE vcE @@ -123011,7 +123435,7 @@ bmD mYv doP jac -isS +xxa cai bdl bII @@ -123076,7 +123500,7 @@ aag aag abh acx -adQ +pMk ajs aeC wXh @@ -123136,7 +123560,7 @@ eyG kpo vcE kUV -mvH +xyL rRq uOi aag @@ -123278,8 +123702,8 @@ aah aah aah abi -acE -adZ +nGY +gyU ajk aeA asY @@ -123339,8 +123763,8 @@ deg wLu lJY xVS -fqg -uGa +kPH +knL uyC aah aah @@ -123402,7 +123826,7 @@ aYW bzV beB mCo -xfw +iwZ lBF bKA sbM @@ -123417,7 +123841,7 @@ bmD lyk bOR eHa -opj +cmo xAB mCo bJz @@ -123481,8 +123905,8 @@ bdH bdH bdH abi -acT -adZ +dEJ +gyU ajk aeA atp @@ -123542,8 +123966,8 @@ pfH wlF lJY xVS -fqg -mIA +kPH +qGU uyC bdH aaa @@ -123685,7 +124109,7 @@ aaa bdH abh acx -umR +gCB ajs aeC wXh @@ -123745,7 +124169,7 @@ eyG kpo vcE kUV -pPF +bxA rRq uOi bdH @@ -124097,7 +124521,7 @@ amH aeC aeC aeC -tpt +cVb aeC aeC aeC @@ -124145,7 +124569,7 @@ kKR vcE vcE vcE -oDO +iTd vcE vcE vcE @@ -124230,7 +124654,7 @@ bZr bNQ bNQ bNQ -ohl +bGz hMs cbw iEb @@ -124433,7 +124857,7 @@ bZr krN krN krN -llt +oqY can buH iEb @@ -124539,9 +124963,9 @@ alG anG apf oIB -tSF -qyM -jog +jgr +gGp +dMf oIB sFR vuv @@ -124636,7 +125060,7 @@ bZr ibc uly bNN -fXt +vbR pky cbv cbS @@ -124742,9 +125166,9 @@ alG aYD uPI oIB -hJh -vMC -iUC +fXE +kaS +aiQ oIB sFR vuv @@ -124945,9 +125369,9 @@ sUF anG apd oIB -ufS +wqr bZw -kaJ +xUV oIB sFR hPo @@ -125042,7 +125466,7 @@ bZr bKA dyx eYr -iii +bUo uys cbz cbU @@ -125149,8 +125573,8 @@ aYD aTS qgK tEB -llD -gGl +uBM +dXo oIB lBR nVu @@ -125245,7 +125669,7 @@ bmD bKA dyx hGN -ddN +pVx uys ttM iEb @@ -125352,8 +125776,8 @@ anG mPX oIB wKF -fOh -diM +hzb +ltU oIB fbx cFA @@ -125554,9 +125978,9 @@ aSC aZH iAB oIB -gqF -imW -qbh +phj +vEf +cNK oIB fbx cxo @@ -125757,8 +126181,8 @@ rFY ctC gPF oIB -kUb -rJg +opI +dha pxj oIB fbx @@ -126250,7 +126674,7 @@ bNs nwb mrM bdl -uWI +ycH pMJ xnI ayj @@ -127779,8 +128203,8 @@ auu aoT aFm xBe -cij -jRZ +aIV +qqr arH xBe alG @@ -128187,7 +128611,7 @@ anO nFX atv auV -ift +amE xBe alG aDZ @@ -128390,7 +128814,7 @@ atc nFX atv auV -ift +amE xBe alG aYj @@ -128794,8 +129218,8 @@ atq aDr aFu xBe -rwT -wdv +azp +qJf anV xBe alG @@ -130703,7 +131127,7 @@ aQL aQL ksp rou -rou +ksp aQL aLG aZl @@ -131121,13 +131545,13 @@ bHt bJi bKE bKE -bkZ -bpX -bpX -bpX -bpX -bpX -bkZ +oJk +lNR +lNR +lNR +lNR +lNR +oJk bWV jkd bYE @@ -131319,23 +131743,23 @@ hlz hlz rdK rdK -aVl -bHu -aVl -bkZ -bkZ -bkZ -bpY -brw -bqf -buK -bvI -bkZ -bkZ -bkZ -aVl -bZA -aVl +sqg +rPQ +sqg +oJk +oJk +oJk +oRW +mxT +pHc +eVE +jMy +oJk +oJk +oJk +sqg +mgu +sqg haq haq cAH @@ -131522,23 +131946,23 @@ hlz eFH eFH rdK -bEU -bjl -bJj -bkZ -bmM -cEx -bpZ -brx -boH -jnf -hfO -bxo -byz -bkZ -bEV -bCI -ccW +fcS +gdJ +oyR +oJk +nHL +wfx +ijf +osI +qXk +fie +tRs +pqP +fqC +oJk +ppn +nAY +cjt haq pFM hzV @@ -131716,37 +132140,37 @@ wVb wVb wVb wVb -aUx -aVl -aVl -aVl -bxE -aVl +vgw +sqg +sqg +sqg +mpP +sqg rdK iDm rdK -bEU -bjl -bJj -bkZ -bmN -boI -boI -brx -boH -jnf -shb -boI -byA -bkZ -bBc -bCI -ccW +fcS +gdJ +oyR +oJk +uZF +xoj +xoj +osI +qXk +fie +pUj +xoj +sfV +oJk +pkA +nAY +cjt haq vuR haq -aVl -bxE +sqg +mpP aep aep aep @@ -131919,37 +132343,37 @@ aaa aad aag aag -aUx -pXj -btm -aVl -bxF -byJ -aVl +vgw +wct +hqc +sqg +rwB +lKM +sqg vsV rdK -bEU -bjl -ccW -bKO -bvL -bvL -bvL -bPR -bRi -bSk -bvL -bvL -bvL -bKO -bEU -bCI -uVR +fcS +gdJ +cjt +pRZ +ish +ish +ish +kzC +jUl +wud +ish +ish +ish +pRZ +fcS +nAY +jOE haq mHR -aVl -ccx -bBm +sqg +qEL +vmE ggQ afk afk @@ -132051,7 +132475,7 @@ vuv vuv jWh jWh -olk +sWC jWh jWh jWh @@ -132122,37 +132546,37 @@ aaa aad aag aag -aUx -pXj -btm -aVl -bxG -byK -aVl +vgw +wct +hqc +sqg +eKy +wQA +sqg hlz rdK -wun -bht -pfh -pWf -bmP -pop -lJa -bPZ -bRj -bSl -smr -nel -bQu -bRu -bYI -pIf -bJk +uYn +jaM +oXM +kvf +rDy +uVc +bxN +cYN +nhr +vuD +skL +dTr +gfG +mkP +muQ +ojh +nxx haq cAH -aVl -byQ -ccR +sqg +gEC +skC aWZ bLx bMJ @@ -132253,10 +132677,10 @@ vuv nfS emx jWh -qCg -xjw -pfA -xAC +duz +hXG +htG +doU jWh lbB uIv @@ -132325,37 +132749,37 @@ aaa aae aah aah -aUx -uLN -btm -btm -bxH -byL -aVl -bxE -aVl -vWK -bjl -ccW -bKO -bqa -bqa -aaj -bQa -bRk -bSm -bvK -bUI -bqa -bKO -bEU -bCI -ccW -aVl -bxE -aVl -ccy -diF +vgw +utn +hqc +hqc +eqL +vxu +sqg +mpP +sqg +qWQ +gdJ +cjt +pRZ +wuB +wuB +qAs +dIH +nKP +uTV +sHx +vgv +wuB +pRZ +fcS +nAY +cjt +sqg +mpP +sqg +efC +yaF aep aep aep @@ -132456,10 +132880,10 @@ iEs cxo cxo jWh -uUV -rsW -djN -fnQ +axR +mIP +tcZ +fWi jWh lbB cKL @@ -132528,37 +132952,37 @@ aaa aaa aaa aaa -aUx -btn -btm -btm -bxI -byM -aVl -nmb -aVl -brI -bjl -sPA -bkZ -bmR -boI -bqe -brx -tzz -jnf -ePY -bxr -byD -bkZ -bYK -bCI -oAd -aVl -fLX -aVl -byQ -ccS +vgw +noP +hqc +hqc +xNg +spH +sqg +aFe +sqg +scE +gdJ +acy +oJk +jRc +xoj +eKQ +osI +xrI +fie +fsR +lkV +quS +oJk +bcM +nAY +mFP +sqg +pCq +sqg +gEC +unx ggQ bLy bLy @@ -132659,10 +133083,10 @@ vuv xct cxo jWh -dkS -vba -naQ -fnQ +vpv +pgw +rmE +fWi jWh xPZ pcv @@ -132731,37 +133155,37 @@ aaa aaa aaa aaa -aUx -sXV -cWt -cWt -pFA -byN -bAf -bBq -bAf -bje -bhw -ccW -bkZ -bkZ -wie -boI -brx -bNZ -jnf -boI -gXq -bkZ -bkZ -hdg -bCJ -bEj -cce -cbH -cce -ccz -ccT +vgw +gOC +nou +nou +dQA +sKM +uuD +eYD +uuD +bSH +gLD +cjt +oJk +oJk +lwp +xoj +osI +rYh +fie +xoj +ehc +oJk +oJk +gNO +vTT +heS +uPP +hlH +uPP +wVA +hJg aWZ bLz bMK @@ -132843,7 +133267,7 @@ ptK dmQ psm psm -qyH +lDn arV wZX eky @@ -132857,7 +133281,7 @@ aDQ eky wZX arV -dtv +wkA vuv vuv cxo @@ -132938,33 +133362,33 @@ dKL aep aep aep -bkt -btm -fxu -bBp -fxu -bFc -bjl -bjd -gXY -bkZ -xlY -boI -brx -bNZ -jnf -boI -kqc -bkZ -tmA -bfs -bCI -cay -fxu -cbG -fxu -ccA -bZE +ikv +hqc +vZf +ykI +vZf +aEo +gdJ +trh +hgo +oJk +sVT +xoj +osI +rYh +fie +xoj +bmp +oJk +haD +jTB +nAY +iUm +vZf +bYF +vZf +fiQ +pgN aep aep aep @@ -133045,8 +133469,8 @@ hWU dmQ aeq psm -aNe -hiN +xrq +vVu arV wZX eky @@ -133060,8 +133484,8 @@ aHe eky wZX arV -fXM -aNe +oIt +xrq vuv ahb cxo @@ -133141,33 +133565,33 @@ dKL afk aWo aWZ -byg -byO -aVl -bxE -aVl -bFe -bjl -bjg -ccW -bKO -boI -boI -brx -tzz -jnf -boI -boI -bKO -bEU -bYM -cxe -caz -aVl -bxE -aVl -ccB -ccV +iyF +vrR +sqg +mpP +sqg +dYC +gdJ +elx +cjt +pRZ +xoj +xoj +osI +xrI +fie +xoj +xoj +pRZ +fcS +hMG +qQy +erF +sqg +mpP +sqg +fLu +hEw aWZ bLA afk @@ -133248,8 +133672,8 @@ rwb dmQ jXY psm -atY -qkj +vlk +mKy aMT svl pzJ @@ -133263,8 +133687,8 @@ qDt pzJ sQO aMT -rWF -atY +wNS +vlk vuv woM nqD @@ -133344,33 +133768,33 @@ dKL aVo aWp aWZ -byh -byQ -aVl -hlz -rdK -bFf -aVp -ddj -sfU -fWT -bKT -bKT -ect -lrs -put -bKT -bKT -bWZ -kJC -mbn -mUZ -caA -haq -cAH -aVl -ccC -ccW +qAB +gEC +sqg +rEb +qXR +kkW +iwf +uFg +rEm +rnF +oFm +oFm +fVo +jUF +nxb +oFm +oFm +glH +vXo +gWu +xMl +lft +qXR +rEb +sqg +siN +cjt ggQ afk bML @@ -133452,7 +133876,7 @@ dmQ atD psm psm -vHl +vjd aRp jBX akS @@ -133466,7 +133890,7 @@ aHe tKf jBX aRp -edx +quy vuv vuv myC @@ -133547,33 +133971,33 @@ dKL afk afk ggQ -aAb -byR -aVl -eFH -rdK -bFg -bHv -bjg -bld -bkZ -boN -gUI -brC -bsZ -buQ -mOr -kFq -bkZ -bzP -bjg -gJq -caB -haq -vuR -aVl -ccD -ccX +pYS +ivS +sqg +jqT +qXR +hbs +vZU +elx +jnI +oJk +eIT +dPQ +ams +eni +nri +gMd +toO +oJk +nYn +elx +mDL +fSF +qXR +jqT +sqg +lvh +iks aWZ bLC afk @@ -133750,33 +134174,33 @@ dKL dKL aep aep -byk -byQ -aVl -eFH -rdK -bhB -bhB -uEc -bKU -bhB -gir -bpX -bpX -bpX -bpX -bpX -gir -bhB -bXP -bjn -bhB -bhB -haq -mHR -aVl -ccE -bjd +mkL +gEC +sqg +jqT +qXR +hsy +hsy +baJ +kbw +hsy +ldc +lNR +lNR +lNR +lNR +lNR +ldc +hsy +foC +kph +hsy +hsy +qXR +oGF +sqg +wWl +trh aep aep dKL @@ -133848,8 +134272,8 @@ cuC bNM tgK tfb -skg -eaX +wuT +lMx pVZ pVZ pVZ @@ -133881,8 +134305,8 @@ qMu qMu qMu qMu -euY -iuw +jFY +qKY jHL wOK uIv @@ -133950,39 +134374,39 @@ aaa aaa aaa bdH -aUx -bvQ -bwj -byl -bzj -aVl -eFH -eFH -bhB -bfA -bLe -bKV -bhB -fEg -bOl -bOm -bRr -bXt -bUX -szm -bhB -bXQ -bLe -psp -bhB -cAH -vuR -aVl -bzj -cHO -cdr -cer -aUx +vgw +usZ +wpS +fZA +fEe +sqg +jqT +jqT +hsy +shL +uXk +mlF +hsy +hgV +osM +ghX +dTS +okQ +xIO +nxZ +hsy +tos +uXk +tkn +hsy +rEb +jqT +sqg +fEe +nqW +kfI +vFH +vgw aaa aaa aaa @@ -134051,8 +134475,8 @@ cuC riJ kHY uhM -uvk -xJn +kdv +lkm cuC aag aag @@ -134084,8 +134508,8 @@ aag aag aag bYn -tAh -bfe +dRs +uAl rDb qjV rID @@ -134153,39 +134577,39 @@ aaa aaa aaa bdH -aUx -aWr -aUx -aUx -aUx -aUx -hlz -hlz -bhB -bHy -bLe -bKV -bMB -bOc -plE -plE -plE -plE -plE -bxs -bMB -bXQ -bLe -bHy -bhB -kpX -lGr -aUx -aUx -aUx -aUx -aWr -aUx +vgw +ckW +vgw +vgw +vgw +vgw +rEb +rEb +hsy +wed +uXk +mlF +jWb +unZ +aPU +aPU +aPU +aPU +aPU +fbu +jWb +tos +uXk +wed +hsy +pJt +hAY +vgw +vgw +vgw +vgw +ckW +vgw aaa aaa aaa @@ -134254,7 +134678,7 @@ cuC cuC umy iKZ -tiw +pnL cuC cuC mNX @@ -134288,7 +134712,7 @@ mNX qOk bYn bYn -qQL +cWE kHS rID bYn @@ -134361,29 +134785,29 @@ aah aag aag aag -wVb -iDm -eFH -bhB -ozi -bJF -bKW -bXR -bUJ -bTi -aut -aut -aut -xjC -fxW -bXl -bzU -bYO -bZD -bhB -vim -woG -vTK +gXZ +gBM +jqT +hsy +npn +bVN +oGJ +xpZ +llK +mVr +mZL +mZL +mZL +gSa +coH +oTO +uqh +iAE +gNG +hsy +nNC +iuA +gXZ aag aag aag @@ -134564,29 +134988,29 @@ bdH aad aag aag -wVb -hlz -hlz -bhB -bJQ -bLe -usw -bMF -blo -ktO -bUW -bMQ -bXr -lfQ -blo -bXm -bXS -bLe -bJR -bhB -cAH -cAH -vTK +gXZ +rEb +rEb +hsy +cGe +uXk +rae +jIV +pzM +mtZ +bqP +fyd +qYo +fQn +pzM +nac +xNf +uXk +fbH +hsy +rEb +rEb +gXZ aag aag ajZ @@ -134767,29 +135191,29 @@ bdH aad aag aag -wVb -eFH -eFH -bhB -bHz -bJI -bKW -bEn -rFu -pQq -bQe -bTl -bSt -buW -bUL -bXn -bzU -bYS -bJR -bhB -cAH -cAH -vTK +gXZ +jqT +jqT +hsy +ebt +nCn +oGJ +uSW +kzO +vaZ +kYL +dLi +sCV +rjO +suY +pdK +uqh +pJr +fbH +hsy +rEb +rEb +gXZ aag aag ajZ @@ -134970,29 +135394,29 @@ bdH aad aag aag -wVb -hlz -eFH -bhB -bhB -hxp -bKV -bLe -laj -xjC -ktO -bPd -lfQ -ddK -qXx -bLe -bXQ -bJR -bhB -bhB -vuR -mHR -vTK +gXZ +rEb +jqT +hsy +hsy +vVX +mlF +uXk +hmw +gSa +mtZ +nbv +fQn +wSV +ulp +uXk +tos +fbH +hsy +hsy +jqT +oGF +gXZ aag aag ajZ @@ -135173,29 +135597,29 @@ bdH aad aag aag -wVb -hlz -hlz -hlz -bhB -bYV -bKV -bhB -bOh -lfQ -ktO -bOk -lfQ -ktO -bnc -bhB -bXU -bYV -bhB -jcK -cAH -cAH -vTK +gXZ +rEb +rEb +rEb +hsy +hwd +mlF +hsy +kag +fQn +mtZ +xxl +fQn +mtZ +dKc +hsy +beL +hwd +hsy +cGI +rEb +rEb +gXZ aag aag ajZ @@ -135281,8 +135705,8 @@ xVk xVk aad jbq -jXW -jcZ +kRg +uRs aDO qqu eky @@ -135290,8 +135714,8 @@ aNl eky dFk aDO -nzI -jXW +nPY +kRg jbq ajZ xVk @@ -135376,29 +135800,29 @@ bdH aad aag aag -wVb -eFH -eFH -eFH -bhB -bJK -bLc -bhB -bUY -lfQ -brJ -plE -buW -ktO -bMW -bhB -bXV -bJK -bhB -rbp -vuR -rbp -vTK +gXZ +jqT +jqT +jqT +hsy +ylh +opH +hsy +kJn +fQn +qoR +aPU +rjO +mtZ +rDB +hsy +iEw +ylh +hsy +xgZ +jqT +xgZ +gXZ aag aag ajZ @@ -135484,8 +135908,8 @@ xVk xVk aad jbq -qtR -jWC +hBL +dID eky eky nJu @@ -135493,8 +135917,8 @@ aNl eky eky eky -aDc -qtR +etn +hBL jbq ajZ xVk @@ -135579,29 +136003,29 @@ bdH aad aag aag -wVb -wVb -rVo -hlz -bhB -bJK -bKV -bhB -bXu -boU -rFu -blo -riQ -okz -bMV -bhB -bXQ -bJK -bhB -kpX -emG -vTK -vTK +gXZ +gXZ +nTi +rEb +hsy +ylh +mlF +hsy +nFM +eZp +kzO +pzM +hip +ptZ +urW +hsy +tos +ylh +hsy +pJt +uTa +gXZ +gXZ aag aag ajZ @@ -135688,7 +136112,7 @@ xVk eJQ aPw aHe -dnJ +mRQ eky eky eky @@ -135696,7 +136120,7 @@ aNl eky eky eky -hfw +biJ aHe aPw eJQ @@ -135783,27 +136207,27 @@ aad aag aag aag -wVb -qnP -uia -bhB -bhB -blm -bhB -bhB -bOi -xcp -kkO -gzr -kXK -bhB -bhB -bzX -bhB -bhB -ybr -vuR -vTK +gXZ +pJt +hAY +hsy +hsy +suJ +hsy +hsy +gLG +khf +bhI +iIj +hQw +hsy +hsy +wdv +hsy +hsy +fiI +jqT +gXZ aag aag aag @@ -135986,27 +136410,27 @@ aad aag aag aag -wVb -hlz -moE -bhB -bJM -bLd -fir -jfM -bQi -bMM -bSy -bMM -bSx -hbZ -ebJ -xiC -fYG -bhB -vuR -woG -vTK +gXZ +rEb +pRY +hsy +uiC +sIr +jCn +kkk +kjO +pAm +gzq +pAm +eAI +tdv +rlc +hfb +hUk +hsy +jqT +iuA +gXZ aag aag aag @@ -136189,27 +136613,27 @@ aad aag aag aag -wVb -eFH -eFH -bhB -bJN -bLd -bMM -bMM -bMM -bMM -bSy -bMM -bMM -bMM -bMM -bLd -bYU -bhB -jdy -cAH -vTK +gXZ +jqT +jqT +hsy +thc +sIr +pAm +pAm +pAm +pAm +gzq +pAm +pAm +pAm +pAm +sIr +fZl +hsy +nYC +rEb +gXZ aag aag aag @@ -136392,27 +136816,27 @@ aad aag aag aag -wVb -hlz -hlz -bhB -bJP -mzO -bMN -bMN -fcI -bSy -bSy -bSy -dNx -bMN -bMN -tdx -bYW -bhB -vuR -ydx -vTK +gXZ +rEb +rEb +hsy +tIe +uAK +bVv +bVv +xTu +gzq +gzq +gzq +ern +bVv +bVv +nJa +jPd +hsy +jqT +htP +gXZ aag aag aag @@ -136595,27 +137019,27 @@ aad aag aag aag -wVb -eFH -eFH -bhB -hrX -fIx -bMM -bMM -hgt -bMM -bMM -bMM -bMM -bMM -bMM -bYU -gNd -bhB -cAH -cAH -vTK +gXZ +jqT +jqT +hsy +dPH +sov +pAm +pAm +nAd +pAm +pAm +pAm +pAm +pAm +pAm +fZl +oex +hsy +rEb +rEb +gXZ aag aag aag @@ -136798,27 +137222,27 @@ aad aag aag aag -wVb -hlz -hlz -bhB -sgM -fIx -bMM -bMM -bhB -kvz -kvz -kvz -bhB -kGX -bMM -bYU -upe -bhB -vuR -vuR -vTK +gXZ +rEb +rEb +hsy +rBv +sov +pAm +pAm +hsy +nDa +nDa +nDa +hsy +gDH +pAm +fZl +snt +hsy +jqT +jqT +gXZ aag aag aag @@ -137001,27 +137425,27 @@ aad aag aag aag -wVb -eFH -eFH -bhB -svd -bLf -dCS -bMM -bhB -bQk -xfi -bSG -bhB -bMM -dCS -tLy -svd -bhB -cAH -cAH -vTK +gXZ +jqT +jqT +hsy +fqW +qYq +mQn +pAm +hsy +kiG +aSk +pUv +hsy +pAm +mQn +wQD +fqW +hsy +rEb +rEb +gXZ aag aag aag @@ -137204,27 +137628,27 @@ aad aag aag aag -wVb -hlz -eFH -bhB -bhB -bhB -bhB -cZJ -bhB -bhB -bhB -bhB -bhB -cZJ -bhB -bhB -bhB -bhB -vuR -vuR -vTK +gXZ +rEb +jqT +hsy +hsy +hsy +hsy +hNP +hsy +hsy +hsy +hsy +hsy +hNP +hsy +hsy +hsy +hsy +jqT +jqT +gXZ aag aag aag @@ -137407,27 +137831,27 @@ aad aag aag aag -wVb -hlz -eFH -fKg -tce -bhB -heg -lfQ -blo -vNF -xuU -vNF -blo -ktO -heg -bhB -osE -gai -cAH -cAH -vTK +gXZ +rEb +jqT +lhW +lAU +hsy +haz +fQn +pzM +qra +tqE +qra +pzM +mtZ +haz +hsy +lAU +qqW +rEb +rEb +gXZ aag aag aag @@ -137515,7 +137939,7 @@ xVk oee aPw aHe -tqB +iTe eky eky atg @@ -137523,7 +137947,7 @@ aBE ouB eky eky -gwu +qPX aHe aPw oee @@ -137610,27 +138034,27 @@ aad aag aag aag -wVb -hlz -hlz -hlz -hlz -bhB -heg -mKX -aut -aut -aut -aut -aut -riA -heg -bhB -pFP -cAH -cAH -cAH -vTK +gXZ +rEb +rEb +rEb +rEb +hsy +haz +pLt +mZL +mZL +mZL +mZL +mZL +lOX +haz +hsy +gfs +rEb +rEb +rEb +gXZ aag aag aag @@ -137717,8 +138141,8 @@ xVk xVk aad jbq -aNe -jWC +xrq +dID eky eky esT @@ -137726,8 +138150,8 @@ nYE orH eky eky -aDc -aNe +etn +xrq jbq ajZ xVk @@ -137813,27 +138237,27 @@ aad aag aag aag -wVb -wVb -gcK -jPf -jPf -bhB -dVZ -jyi -bPe -bQm -wlj -bQm -bTp -jyi -cDj -bhB -vuR -vuR -woG -vTK -vTK +gXZ +gXZ +fBd +uTa +uTa +hsy +mkI +aPS +gsM +ukP +eCt +ukP +nop +aPS +ddf +hsy +juF +jqT +iuA +gXZ +gXZ aag aag aag @@ -137920,8 +138344,8 @@ xVk xVk aad jbq -atY -jWC +vlk +dID eky eky bAe @@ -137929,8 +138353,8 @@ aBG sGh eky eky -aDc -atY +etn +vlk jbq ajZ xVk @@ -138017,25 +138441,25 @@ aag aag aag aag -wVb -hlz -eFH -uzg -bhB -bhB -bhB -bhB -bhB -bhB -bhB -bhB -bhB -bhB -bhB -cAH -cAH -cAH -vTK +gXZ +rEb +jqT +fYN +hsy +hsy +hsy +hsy +hsy +hsy +hsy +hsy +hsy +hsy +hsy +rEb +rEb +rEb +gXZ aag aag aag @@ -138123,8 +138547,8 @@ xVk xVk aad aPw -qpU -ykD +uYd +xnz dqj eky xaS @@ -138132,8 +138556,8 @@ ejt mPf eky gUV -wKS -qpU +neG +uYd aPw ajZ xVk @@ -138220,25 +138644,25 @@ aag aag aag aag -wVb -hlz -eFH -hlz -eFH -wul -hlz -gnz -eFH -eFH -vuR -hOe -cAH -fXd -vuR -vuR -vuR -cAH -vTK +gXZ +rEb +jqT +rEb +jqT +hWS +rEb +hJN +jqT +jqT +jqT +hJN +rEb +cyy +jqT +jqT +jqT +rEb +gXZ aag aag aag @@ -138423,25 +138847,25 @@ aag aag aag aag -wVb -wVb -rdK -rdK -rdK -rdK -bOn -rdK -rdK -rdK -haq -haq -xnl -haq -haq -haq -haq -vTK -vTK +gFP +gFP +qjZ +qjZ +qjZ +qjZ +dXI +qjZ +qjZ +qjZ +qjZ +qjZ +dXI +qjZ +qjZ +qjZ +qjZ +gFP +gFP aag aag aag @@ -138626,25 +139050,25 @@ aah aah aah aah -wVb -wVb -bdo -bdo -bLg -bMX -bOo -uvG -dSs -bOo -otX -cII -koT -tZF -bUZ -ovn -ovn -vTK -vTK +gFP +gFP +lMb +lMb +fLv +cLq +vON +sgs +ioP +vAI +kXm +eSk +vON +cLq +oLN +lMb +lMb +gFP +gFP aah aah aah @@ -138830,23 +139254,23 @@ aaa aaa aaa aaa -wVb -qsF -bdo -bdo -bdo -bdo -bdo -bdo -bdo -ovn -ovn -ovn -ovn -ovn -bjy -aXQ -vTK +gFP +vVI +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +fXZ +gsi +gFP aaa aaa aaa @@ -139033,23 +139457,23 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo -ovn -ovn -ovn -ovn -ovn -ovn -ovn -vTK +gFP +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +gFP aaa aaa aaa @@ -139236,23 +139660,23 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo -ovn -ovn -ovn -ovn -ovn -ovn -ovn -vTK +gFP +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +gFP aaa aaa aaa @@ -139439,23 +139863,23 @@ aaa aaa aaa aaa -wVb -bhD -bdo -bdo -bdo -bdo -bdo -bdo -bdo -ovn -ovn -ovn -ovn -ovn -ovn -bCR -vTK +gFP +riT +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +vFn +gFP aaa aaa aaa @@ -139642,23 +140066,23 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo -ovn -ovn -ovn -ovn -ovn -ovn -ovn -vTK +gFP +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +gFP aaa aaa aaa @@ -139845,23 +140269,23 @@ aaa aaa aaa aaa -wVb -bdo -bdo -bdo -bdo -bdo -bdo -bdo -bdo -ovn -ovn -ovn -ovn -ovn -ovn -ovn -vTK +gFP +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +gFP aaa aaa aaa @@ -140048,23 +140472,23 @@ aaa aaa aaa aaa -wVb -qsF -bdo -bdo -bdo -bdo -bdo -bdo -bdo -ovn -ovn -ovn -ovn -ovn -ovn -aXQ -vTK +gFP +vVI +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +lMb +gsi +gFP aaa aaa aaa @@ -140251,23 +140675,23 @@ aaa aaa aaa aaa -wVb -bdo -jbB -bdo -bne -bdo -jbB -bdo -bne -ovn -gXv -ovn -grX -ovn -gXv -ovn -vTK +gFP +lMb +wgf +lMb +qbD +lMb +wgf +lMb +qbD +lMb +wgf +lMb +qbD +lMb +wgf +lMb +gFP aaa aaa aaa @@ -140454,23 +140878,23 @@ aaa aaa aaa aaa -wVb -wVb -wVb -wVb -wVb -wVb -wVb -wVb -wVb -vTK -vTK -vTK -vTK -vTK -vTK -vTK -vTK +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP +gFP aaa aaa aaa @@ -141220,9 +141644,9 @@ lmz lmz lmz daz -rzf -bRo -wyv +ltc +eXk +xns pTt gAe rCi @@ -141423,9 +141847,9 @@ lmz lmz lmz daz -czG -ylg -oIY +tId +wJB +tJN daz daz daz diff --git a/maps/new_varadero.json b/maps/new_varadero.json index d695652d0ceb..ec90142c2295 100644 --- a/maps/new_varadero.json +++ b/maps/new_varadero.json @@ -11,7 +11,7 @@ "/datum/equipment_preset/survivor/chaplain/nv", "/datum/equipment_preset/survivor/engineer/nv", "/datum/equipment_preset/survivor/trucker/nv", - "/datum/equipment_preset/survivor/interstellar_commerce_commission_liason/nv", + "/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/nv", "/datum/equipment_preset/survivor/security/nv", "/datum/equipment_preset/survivor/beachbum", "/datum/equipment_preset/survivor/miner", diff --git a/maps/prison_station_fop.json b/maps/prison_station_fop.json index b29f7255c21b..f2c22dbe4bb8 100644 --- a/maps/prison_station_fop.json +++ b/maps/prison_station_fop.json @@ -24,7 +24,10 @@ "survivor_message": "You are a survivor of the attack on Fiorina Orbital Penitentiary. You worked or lived on the prison station, and managed to avoid the alien attacks... until now.", "map_item_type": "/obj/item/map/FOP_map", "announce_text": "An automated distress signal has been received from maximum-security prison \"Fiorina Orbital Penitentiary\". A response team from the ###SHIPNAME### will be dispatched shortly to investigate.", - "environment_traits": { "Lockdown": true }, + "environment_traits": { + "Lockdown": true, + "InSpace": true + }, "traits": [{ "Ground": true }], "nightmare_path": "maps/Nightmare/maps/FOP_v2_Cellblocks/", "xvx_hives": { diff --git a/maps/shuttles/dropship_alamo.dmm b/maps/shuttles/dropship_alamo.dmm index 6cd6922c22b0..1e78347c1721 100644 --- a/maps/shuttles/dropship_alamo.dmm +++ b/maps/shuttles/dropship_alamo.dmm @@ -18,6 +18,14 @@ /obj/structure/shuttle/part/dropship1/transparent/nose_center, /turf/template_noop, /area/shuttle/drop1/sulaco) +"bc" = ( +/obj/effect/attach_point/electronics/dropship1{ + dir = 1; + attach_id = 5 + }, +/obj/structure/shuttle/part/dropship1/transparent/inner_left_weapons, +/turf/template_noop, +/area/shuttle/drop1/sulaco) "be" = ( /obj/structure/shuttle/part/dropship1/transparent/upper_right_wing, /turf/template_noop, @@ -73,6 +81,15 @@ icon_state = "floor8" }, /area/shuttle/drop1/sulaco) +"ed" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds1{ + dir = 1; + id = "starboard_door" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/drop1/sulaco) "eD" = ( /obj/structure/shuttle/part/dropship1/transparent/engine_right_cap, /turf/template_noop, @@ -159,14 +176,6 @@ icon_state = "76" }, /area/shuttle/drop1/sulaco) -"os" = ( -/obj/effect/attach_point/fuel/dropship1{ - pixel_x = -32 - }, -/turf/closed/shuttle/dropship1/transparent{ - icon_state = "33" - }, -/area/shuttle/drop1/sulaco) "oW" = ( /obj/structure/shuttle/part/dropship1/transparent/middle_left_wing, /turf/template_noop, @@ -216,19 +225,18 @@ icon_state = "23" }, /area/shuttle/drop1/sulaco) -"rS" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds1{ - id = "port_door"; - dir = 2 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/drop1/sulaco) "rV" = ( /obj/structure/shuttle/part/dropship1/transparent/left_outer_bottom_wing, /turf/template_noop, /area/shuttle/drop1/sulaco) +"sm" = ( +/obj/effect/attach_point/fuel/dropship1{ + attach_id = 10 + }, +/turf/closed/shuttle/dropship1/transparent{ + icon_state = "28" + }, +/area/shuttle/drop1/sulaco) "sA" = ( /obj/structure/shuttle/part/dropship1/lower_left_wall, /turf/open/space/basic, @@ -248,12 +256,6 @@ /obj/structure/shuttle/part/dropship1/transparent/lower_right_wing, /turf/template_noop, /area/shuttle/drop1/sulaco) -"wr" = ( -/obj/effect/attach_point/crew_weapon/dropship1, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/drop1/sulaco) "ws" = ( /obj/structure/bed/chair/vehicle{ dir = 1; @@ -344,20 +346,6 @@ icon_state = "rasputin15" }, /area/shuttle/drop1/sulaco) -"Da" = ( -/obj/effect/attach_point/electronics/dropship1{ - dir = 1 - }, -/obj/structure/shuttle/part/dropship1/transparent/inner_left_weapons, -/turf/template_noop, -/area/shuttle/drop1/sulaco) -"De" = ( -/obj/effect/attach_point/electronics/dropship1{ - dir = 1 - }, -/obj/structure/shuttle/part/dropship1/transparent/inner_right_weapons, -/turf/template_noop, -/area/shuttle/drop1/sulaco) "Et" = ( /turf/closed/shuttle/dropship1{ icon_state = "72" @@ -427,6 +415,14 @@ icon_state = "62" }, /area/shuttle/drop1/sulaco) +"Kk" = ( +/obj/effect/attach_point/crew_weapon/dropship1{ + attach_id = 7 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/drop1/sulaco) "KC" = ( /obj/structure/machinery/door/airlock/hatch/cockpit, /obj/structure/blocker/forcefield/multitile_vehicles, @@ -453,6 +449,23 @@ icon_state = "64" }, /area/shuttle/drop1/sulaco) +"Nv" = ( +/obj/effect/attach_point/crew_weapon/dropship1{ + attach_id = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/drop1/sulaco) +"ND" = ( +/obj/effect/attach_point/fuel/dropship1{ + pixel_x = -32; + attach_id = 11 + }, +/turf/closed/shuttle/dropship1/transparent{ + icon_state = "33" + }, +/area/shuttle/drop1/sulaco) "NQ" = ( /obj/structure/shuttle/part/dropship1/transparent/left_inner_bottom_wing, /turf/template_noop, @@ -481,15 +494,6 @@ icon_state = "rasputin5" }, /area/shuttle/drop1/sulaco) -"Pf" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds1{ - dir = 1; - id = "starboard_door" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/drop1/sulaco) "Ph" = ( /turf/closed/shuttle/dropship1{ icon_state = "68" @@ -502,6 +506,14 @@ icon_state = "rasputin15" }, /area/shuttle/drop1/sulaco) +"PV" = ( +/obj/effect/attach_point/crew_weapon/dropship1{ + attach_id = 9 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/drop1/sulaco) "Qh" = ( /turf/closed/shuttle/dropship1/transparent{ icon_state = "32" @@ -575,12 +587,6 @@ /obj/structure/shuttle/part/dropship1/transparent/outer_left_weapons, /turf/template_noop, /area/shuttle/drop1/sulaco) -"Ua" = ( -/obj/effect/attach_point/fuel/dropship1, -/turf/closed/shuttle/dropship1/transparent{ - icon_state = "28" - }, -/area/shuttle/drop1/sulaco) "UG" = ( /obj/structure/prop/ice_colony/hula_girl{ pixel_x = -10; @@ -628,6 +634,23 @@ icon_state = "rasputin7" }, /area/shuttle/drop1/sulaco) +"XP" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds1{ + id = "port_door"; + dir = 2 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/drop1/sulaco) +"Ye" = ( +/obj/effect/attach_point/electronics/dropship1{ + dir = 1; + attach_id = 6 + }, +/obj/structure/shuttle/part/dropship1/transparent/inner_right_weapons, +/turf/template_noop, +/area/shuttle/drop1/sulaco) "Za" = ( /turf/closed/shuttle/dropship1{ icon_state = "77" @@ -660,7 +683,7 @@ mb mb FA Oq -Ua +sm iz EN mb @@ -677,7 +700,7 @@ Et iI JP il -rS +XP mW qn sA @@ -694,7 +717,7 @@ NQ mb mb mb -Da +bc oo TK ws @@ -773,11 +796,11 @@ BB OK OU il -wr +Kk il -wr +Nv il -wr +PV il mb mb @@ -832,7 +855,7 @@ Wg mb mb mb -De +Ye oo TK cr @@ -861,7 +884,7 @@ iv zV MP il -Pf +ed nC nE rl @@ -890,7 +913,7 @@ mb mb eD Gw -os +ND qy Jm mb diff --git a/maps/shuttles/dropship_normandy.dmm b/maps/shuttles/dropship_normandy.dmm index a2847ae62611..5a733f6a9e9b 100644 --- a/maps/shuttles/dropship_normandy.dmm +++ b/maps/shuttles/dropship_normandy.dmm @@ -36,20 +36,6 @@ /obj/structure/shuttle/part/dropship2/transparent/right_outer_bottom_wing, /turf/template_noop, /area/shuttle/drop2/sulaco) -"do" = ( -/obj/effect/attach_point/crew_weapon/dropship2, -/turf/open/shuttle/dropship{ - icon_state = "rasputin3" - }, -/area/shuttle/drop2/sulaco) -"es" = ( -/obj/effect/attach_point/fuel/dropship2{ - pixel_x = -32 - }, -/turf/closed/shuttle/dropship2/transparent{ - icon_state = "33" - }, -/area/shuttle/drop2/sulaco) "eu" = ( /turf/closed/shuttle/dropship2{ icon_state = "75" @@ -93,6 +79,14 @@ icon_state = "54" }, /area/shuttle/drop2/sulaco) +"gH" = ( +/obj/effect/attach_point/electronics/dropship2{ + dir = 1; + attach_id = 6 + }, +/obj/structure/shuttle/part/dropship2/transparent/inner_right_weapons, +/turf/template_noop, +/area/shuttle/drop2/sulaco) "gP" = ( /obj/structure/bed/chair/dropship/pilot{ dir = 1 @@ -101,6 +95,14 @@ icon_state = "rasputin15" }, /area/shuttle/drop2/sulaco) +"hn" = ( +/obj/effect/attach_point/crew_weapon/dropship2{ + attach_id = 8 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/drop2/sulaco) "it" = ( /obj/structure/bed/chair/vehicle{ dir = 1; @@ -173,6 +175,14 @@ icon_state = "62" }, /area/shuttle/drop2/sulaco) +"mn" = ( +/obj/effect/attach_point/fuel/dropship2{ + attach_id = 10 + }, +/turf/closed/shuttle/dropship2/transparent{ + icon_state = "28" + }, +/area/shuttle/drop2/sulaco) "mz" = ( /obj/structure/machinery/camera/autoname/almayer/dropship_two{ dir = 4; @@ -190,6 +200,15 @@ icon_state = "rasputin15" }, /area/shuttle/drop2/sulaco) +"mA" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2{ + id = "port_door"; + dir = 2 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" + }, +/area/shuttle/drop2/sulaco) "nq" = ( /obj/effect/attach_point/weapon/dropship2/left_fore, /obj/structure/shuttle/part/dropship2/transparent/outer_left_weapons, @@ -253,10 +272,13 @@ icon_state = "rasputin3" }, /area/shuttle/drop2/sulaco) -"vw" = ( -/obj/effect/attach_point/fuel/dropship2, -/turf/closed/shuttle/dropship2/transparent{ - icon_state = "28" +"vh" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2{ + dir = 1; + id = "starboard_door" + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin15" }, /area/shuttle/drop2/sulaco) "wX" = ( @@ -264,13 +286,6 @@ icon_state = "83" }, /area/shuttle/drop2/sulaco) -"xd" = ( -/obj/effect/attach_point/electronics/dropship2{ - dir = 1 - }, -/obj/structure/shuttle/part/dropship2/transparent/inner_right_weapons, -/turf/template_noop, -/area/shuttle/drop2/sulaco) "xe" = ( /turf/closed/shuttle/dropship2{ icon_state = "18" @@ -310,6 +325,14 @@ icon_state = "56" }, /area/shuttle/drop2/sulaco) +"Bg" = ( +/obj/effect/attach_point/crew_weapon/dropship2{ + attach_id = 7 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/drop2/sulaco) "Bi" = ( /turf/closed/shuttle/dropship2/transparent{ icon_state = "97" @@ -349,15 +372,6 @@ /obj/structure/shuttle/part/dropship2/transparent/lower_right_wing, /turf/template_noop, /area/shuttle/drop2/sulaco) -"En" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2{ - dir = 1; - id = "starboard_door" - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/drop2/sulaco) "Eo" = ( /turf/closed/shuttle/dropship2{ icon_state = "47" @@ -463,6 +477,14 @@ /obj/structure/shuttle/part/dropship2/transparent/nose_top_left, /turf/template_noop, /area/shuttle/drop2/sulaco) +"MA" = ( +/obj/effect/attach_point/crew_weapon/dropship2{ + attach_id = 9 + }, +/turf/open/shuttle/dropship{ + icon_state = "rasputin3" + }, +/area/shuttle/drop2/sulaco) "ME" = ( /turf/closed/shuttle/dropship2/transparent{ icon_state = "96" @@ -494,6 +516,15 @@ /obj/structure/shuttle/part/dropship2/left_outer_wing_connector, /turf/open/space/basic, /area/shuttle/drop2/sulaco) +"Od" = ( +/obj/effect/attach_point/fuel/dropship2{ + pixel_x = -32; + attach_id = 11 + }, +/turf/closed/shuttle/dropship2/transparent{ + icon_state = "33" + }, +/area/shuttle/drop2/sulaco) "Ov" = ( /obj/structure/shuttle/part/dropship2/transparent/right_inner_bottom_wing, /turf/template_noop, @@ -582,15 +613,6 @@ /obj/structure/shuttle/part/dropship2/nose_front_left, /turf/template_noop, /area/shuttle/drop2/sulaco) -"SC" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/dropshipside/ds2{ - id = "port_door"; - dir = 2 - }, -/turf/open/shuttle/dropship{ - icon_state = "rasputin15" - }, -/area/shuttle/drop2/sulaco) "SO" = ( /turf/closed/shuttle/dropship2{ icon_state = "36" @@ -693,7 +715,7 @@ Rr Rr BG SQ -vw +mn sk Xr Rr @@ -710,7 +732,7 @@ OI GE lJ PJ -SC +mA jc pU nS @@ -806,11 +828,11 @@ Bb Iv rc vd -do +Bg vd -do +hn vd -do +MA PJ Rr Rr @@ -865,7 +887,7 @@ RJ Rr Rr Rr -xd +gH yl SY it @@ -894,7 +916,7 @@ fI fx Tp PJ -En +vh gG RG QK @@ -923,7 +945,7 @@ Rr Rr yh UP -es +Od zt Uu Rr diff --git a/nano/templates/dropship_weapons_console.tmpl b/nano/templates/dropship_weapons_console.tmpl deleted file mode 100644 index fabfdee2467b..000000000000 --- a/nano/templates/dropship_weapons_console.tmpl +++ /dev/null @@ -1,245 +0,0 @@ - -{{if data.screen_mode == 0}} -
-

Equipment installed:

-
- {{for data.equipment_data}} - {{if value.is_interactable}} -
- {{:helper.link(value.name, null, {'equip_interact' : value.eqp_tag}, null , null)}} -
- {{else}} -
- {{:value.name}} -
- {{/if}} - {{empty}} - No equipment installed. - {{/for}} -
-
- {{if data.has_firemission}} -
-

Fire Missions:

-
- {{for data.firemission_data}} -
- - {{:value.name}} - - -   - - {{if !value.can_interact}} - - *!SELECT* - - {{/if}} - {{if !value.can_edit}} - - *!EDIT* - - {{/if}} - - {{if value.can_interact}} - - {{if value.selected}} - {{:helper.link("[UNSELECT]", null, {'mission_tag' : value.mission_tag}, null , null)}} - {{else}} - {{:helper.link("[SELECT]", null, {'mission_tag' : value.mission_tag}, null , null)}} - {{/if}} - - {{/if}} - - {{if value.can_edit}} - - {{:helper.link("[EDIT]", null, {'mission_tag_edit' : value.mission_tag}, null , null)}} - - {{/if}} - - - {{:helper.link("[DELETE]", null, {'mission_tag_delete' : value.mission_tag}, null , null)}} - -
- - {{empty}} - No Fire Missions Detected - {{/for}} -
- {{:helper.link("Create New Fire Mission", null, {'create_mission' : 1}, null , null)}} -
- -
-
-
-

Fire Mission Control:

- {{if data.can_firemission}} -
- {{:helper.link("Switch to Fire Mission", null, {'switch_to_firemission' : 1}, null , null)}} -
-
- {{else}} -
- Have to be in Transit, have to select a Fire Mission and Fire Mission has to be without errors. -
- {{/if}} -
-
-

Fire Mission Simulator:

- {{if data.shuttle_state != "in_transit"}} -
- {{:helper.link("Switch To Simulation", null, {'switch_to_simulation' : 1}, null , null)}} -
-
- {{else}} -
- Have to be Stationary, have to select a Fire Mission and Fire Mission has to be without errors. -
- {{/if}} -
- {{/if}} -{{else data.screen_mode == 1}} -

Weapon Selected: {{:data.selected_eqp}}

- {{if data.selected_eqp_ammo_name}} -
- Ammo loaded: {{:data.selected_eqp_ammo_name}} -
-
- {{if data.selected_eqp_ammo_amt > data.selected_eqp_max_ammo_amt*0.5}} - Ammo count: {{:data.selected_eqp_ammo_amt}} / {{:data.selected_eqp_max_ammo_amt}} - {{else data.selected_eqp_ammo_amt > 0}} - Ammo count: {{:data.selected_eqp_ammo_amt}} / {{:data.selected_eqp_max_ammo_amt}} - {{else}} - Ammo count: {{:data.selected_eqp_ammo_amt}} / {{:data.selected_eqp_max_ammo_amt}} - {{/if}} -
- {{else}} -
- No ammo loaded -
- {{/if}} - -
- Available Targets -
- {{:helper.link('Deselect Weapon', null, {'deselect' : '1'}, null , null)}} -
-
- -
- {{for data.targets_data}} - {{:helper.link(value.target_name, null, {'open_fire' : value.target_tag}, (data.shuttle_state == "in_transit") ? null : 'disabled' , 'fixedLeftLongText')}} {{:helper.link('View', 'search', {'cas_camera' : value.target_tag}, (data.shuttle_state == "in_transit") ? null : 'disabled' , 'fixedLeft')}} - {{empty}} - No laser target detected. - {{/for}} -
- - - -{{else data.screen_mode == 2}} -

Fire Mission Editing: {{:data.editing_firemission}}

- {{if data.current_mission_error}} -
- ERROR DETECTED: {{:data.current_mission_error}} -
- {{else}} -
- No errors detected -
- {{/if}} - -
- Mission Tile Coverage: {{:data.editing_firemission_length}} -
- - - - - - - {{for data.firemission_edit_timeslices}} - - {{/for}} - - {{for data.firemission_edit_data :fm_value:fm_id}} - - - - - {{for fm_value.offsets :offset_value:offset_id}} - - {{/for}} - - {{/for}} -
NameAmmoGimbal - {{:value}} -
{{:fm_value.name}} - {{if fm_value.ammo==null}} - 0/0 - {{else}} - {{if fm_value.ammo.used > fm_value.ammo.count}} - {{:fm_value.ammo.count?fm_value.ammo.count:0}}/{{:fm_value.ammo.max?fm_value.ammo.max:0}} - {{else fm_value.ammo.used * 2 > fm_value.ammo.count}} - {{:fm_value.ammo.count?fm_value.ammo.count:0}}/{{:fm_value.ammo.max?fm_value.ammo.max:0}} - {{else}} - {{:fm_value.ammo.count?fm_value.ammo.count:0}}/{{:fm_value.ammo.max?fm_value.ammo.max:0}} - {{/if}} - {{/if}} - - {{if(fm_value.gimbal)}} - {{:fm_value.gimbal.min}} to {{:fm_value.gimbal.max}} - {{else}} - Not installed - {{/if}} - - {{:helper.link(offset_value == null ? '-' : offset_value, null, {'fm_weapon_id' : fm_id, 'fm_offset_id' : offset_id, 'fm_offset_previous': offset_value}, null , null)}} -
- -
- {{:helper.link("BACK", null, {'leave_firemission_editing' : 1}, null , null)}} -
- -{{else data.screen_mode == 3 && data.has_firemission}} -

Fire Mission Selected: {{:data.firemission_name}}

- -

- Fire Mission Status: {{:data.firemission_message}} -

- -
-

Fire Mission Options:

- - - - - - - - - - - - - -
Target:{{:data.firemission_selected_laser}}
Direction:{{:helper.link(data.firemission_direction, null, {'change_direction' : 1}, (data.shuttle_state == "in_transit" && data.firemission_step < 2) ? null : 'disabled' , null)}}
Offset:{{:helper.link(data.firemission_offset, null, {'change_offset' : 1}, (data.shuttle_state == "in_transit" && data.firemission_step < 2) ? null : 'disabled' , null)}}
-
- -
-

Fire Mission Actions:

-
- {{:helper.link('BACK', null, {'leave_firemission_execution' : '1'}, null , 'fixedLeft')}} - {{:helper.link('Activate Camera', null, {'firemission_camera' : 1}, (data.shuttle_state == "in_transit" && data.firemission_selected_laser) ? null : 'disabled' , 'fixedLeft')}} - {{:helper.link('Execute Fire Mission', null, {'execute_firemission' : 1}, (data.shuttle_state == "in_transit" && data.firemission_step == 0) ? null : 'disabled' , "linkDanger fixedLeftWide")}} -
-
-
-
Available Targets:
-
- {{for data.targets_data}} - {{:helper.link(value.target_name, null, {'select_laser_firemission' : value.target_tag}, (data.shuttle_state == "in_transit") ? null : 'disabled' , 'fixedLeftLongText')}} - {{empty}} - No CAS signal detected. - {{/for}} -
- -{{/if}} diff --git a/sound/voice/human_male_scream_6.ogg b/sound/voice/human_male_scream_6.ogg new file mode 100644 index 000000000000..0005a26bf7ac Binary files /dev/null and b/sound/voice/human_male_scream_6.ogg differ diff --git a/tgui/packages/tgui-panel/chat/renderer.js b/tgui/packages/tgui-panel/chat/renderer.js index f7ce9277cf68..fe175ee6d94e 100644 --- a/tgui/packages/tgui-panel/chat/renderer.js +++ b/tgui/packages/tgui-panel/chat/renderer.js @@ -193,6 +193,7 @@ class ChatRenderer { const matchWord = setting.matchWord; const matchCase = setting.matchCase; const allowedRegex = /^[a-z0-9_\-$/^[\s\]\\]+$/gi; + const regexEscapeCharacters = /[!#$%^&*)(+=.<>{}[\]:;'"|~`_\-\\/]/g; const lines = String(text) .split(',') .map((str) => str.trim()) @@ -228,19 +229,27 @@ class ChatRenderer { if (!highlightWords) { highlightWords = []; } + // We're not going to let regex characters fuck up our RegEx operation. + line = line.replace(regexEscapeCharacters, '\\$&'); + highlightWords.push(line); } } - const regexStr = regexExpressions.join('|'); - const flags = 'g' + (matchCase ? '' : 'i'); - // setting regex overrides matchword - if (regexStr) { - highlightRegex = new RegExp('(' + regexStr + ')', flags); - } else { - const pattern = `${matchWord ? '\\b' : ''}(${lines.join('|')})${ - matchWord ? '\\b' : '' - }`; - highlightRegex = new RegExp(pattern, flags); + // We wrap this in a try-catch to ensure that broken regex doesn't break + // the entire chat. + try { + // setting regex overrides matchword + if (regexStr) { + highlightRegex = new RegExp('(' + regexStr + ')', flags); + } else { + const pattern = `${matchWord ? '\\b' : ''}(${highlightWords.join( + '|' + )})${matchWord ? '\\b' : ''}`; + highlightRegex = new RegExp(pattern, flags); + } + } catch { + // We just reset it if it's invalid. + highlightRegex = null; } // Lazy init if (!this.highlightParsers) { diff --git a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss index b4e59f32c121..a0dd2608befc 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss @@ -1101,7 +1101,7 @@ em { .xenoboldnotice { color: #51a16c; - font-style: italic; + font-weight: bold; } .xenowarning { diff --git a/tgui/packages/tgui-panel/styles/goon/chat-light.scss b/tgui/packages/tgui-panel/styles/goon/chat-light.scss index 8501d0b9526c..07fc0504e890 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-light.scss @@ -1133,7 +1133,7 @@ h2.alert { .xenoboldnotice { color: #2a623d; - font-style: italic; + font-weight: bold; } .xenowarning { diff --git a/tgui/packages/tgui/interfaces/CasSim.js b/tgui/packages/tgui/interfaces/CasSim.js deleted file mode 100644 index 2346435e336a..000000000000 --- a/tgui/packages/tgui/interfaces/CasSim.js +++ /dev/null @@ -1,109 +0,0 @@ -import { useBackend } from '../backend'; -import { Button, Section, ProgressBar, NoticeBox, Box, Stack } from '../components'; -import { Window } from '../layouts'; - -export const CasSim = (_props, context) => { - const { act, data } = useBackend(context); - - const timeLeft = data.nextdetonationtime - data.worldtime; - const timeLeftPct = timeLeft / data.detonation_cooldown; - - const canDetonate = timeLeft < 0 && data.configuration && data.looking; - - return ( - - -
- {(!!data.configuration && ( - - Configuration : Executing {data.configuration}! - - )) || ( - - No firemission configuration loaded! - - )} - - Target dummy type : {data.dummy_mode} - - {timeLeft > 0 && ( - - - {Math.ceil(timeLeft / 10)} seconds until the console's - processors finish cooling! - - - )} -
-
- - - {(!data.looking && ( -
-
-
- ); -}; diff --git a/tgui/packages/tgui/interfaces/CasSim.tsx b/tgui/packages/tgui/interfaces/CasSim.tsx new file mode 100644 index 000000000000..b81e1baafe9c --- /dev/null +++ b/tgui/packages/tgui/interfaces/CasSim.tsx @@ -0,0 +1,106 @@ +import { useBackend } from '../backend'; +import { Box, Button, Section, ProgressBar, NoticeBox, Stack } from '../components'; + +interface CasSimData { + configuration: any; + looking: 0 | 1; + dummy_mode: string; + worldtime: number; + nextdetonationtime: number; + detonation_cooldown: number; +} + +export const CasSim = (_props, context) => { + const { act, data } = useBackend(context); + + const timeLeft = data.nextdetonationtime - data.worldtime; + const timeLeftPct = timeLeft / data.detonation_cooldown; + + const canDetonate = timeLeft < 0 && data.configuration && data.looking; + + return ( + +
+ {(!!data.configuration && ( + + Configuration : Executing {data.configuration}! + + )) || ( + No firemission configuration loaded! + )} + Target dummy type : {data.dummy_mode} + {timeLeft > 0 && ( + + + {Math.ceil(timeLeft / 10)} seconds until the console's + processors finish cooling! + + + )} +
+
+ + + {(!data.looking && ( +
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/CrtPanel.tsx b/tgui/packages/tgui/interfaces/CrtPanel.tsx new file mode 100644 index 000000000000..5745bd29c5a9 --- /dev/null +++ b/tgui/packages/tgui/interfaces/CrtPanel.tsx @@ -0,0 +1,20 @@ +import { classes } from 'common/react'; +import { Box } from '../components'; +import { BoxProps } from '../components/Box'; +interface CrtPanelProps extends BoxProps { + color: 'green' | 'yellow' | 'blue'; +} +export const CrtPanel = (props: CrtPanelProps) => { + return ( +
+ + {props.children} + +
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/DropshipWeaponsConsole.tsx b/tgui/packages/tgui/interfaces/DropshipWeaponsConsole.tsx new file mode 100644 index 000000000000..629191b3ba70 --- /dev/null +++ b/tgui/packages/tgui/interfaces/DropshipWeaponsConsole.tsx @@ -0,0 +1,366 @@ +import { useBackend } from '../backend'; +import { Window } from '../layouts'; +import { Box, Divider, Flex, Stack } from '../components'; +import { CasSim } from './CasSim'; +import { MfdPanel, MfdProps } from './MfdPanels/MultifunctionDisplay'; +import { CameraMfdPanel } from './MfdPanels/CameraPanel'; +import { EquipmentMfdPanel } from './MfdPanels/EquipmentPanel'; +import { MapMfdPanel } from './MfdPanels/MapPanel'; +import { WeaponMfdPanel } from './MfdPanels/WeaponPanel'; +import { SupportMfdPanel } from './MfdPanels/SupportPanel'; +import { FiremissionMfdPanel } from './MfdPanels/FiremissionPanel'; +import { TargetAquisitionMfdPanel } from './MfdPanels/TargetAquisition'; +import { mfdState } from './MfdPanels/stateManagers'; +import { Dpad } from './common/Dpad'; + +export interface DropshipProps { + equipment_data: Array; + medevac_targets: Array; + fulton_targets: Array; + selected_eqp: number; + tactical_map_ref?: string; + camera_map_ref?: string; + camera_target_id?: string; + targets_data: Array; +} + +type MedevacTargets = { + area: string; + occupant: string; + ref: string; + triage_card?: string; + damage?: { + hp: number; + brute: number; + oxy: number; + tox: number; + fire: number; + undefib: number; + }; +}; + +type LazeTarget = { + target_name: string; + target_tag: number; +}; + +export type DropshipEquipment = { + name: string; + shorthand: string; + eqp_tag: number; + is_missile: 0 | 1; + is_weapon: 0 | 1; + is_interactable: 0 | 1; + mount_point: number; + ammo_name: string; + ammo?: number; + burst?: number; + max_ammo?: number; + firemission_delay?: number; + data?: any; +}; + +const xOffset = 40; +const yOffset = 0; +const xLookup = (index: number) => [0, 40, 80, 120][index] + xOffset; +const yLookup = (index: number) => [150, 20, 20, 150][index] + yOffset; +const OutlineColor = '#00e94e'; +const OutlineWidth = '2'; + +const DrawShipOutline = () => { + const drawLine = (pos0, pos1) => ( + + ); + return ( + <> + {drawLine(0, 1)} + {drawLine(1, 2)} + {drawLine(2, 3)} + + ); +}; + +const DrawWeapon = (props: { weapon: DropshipEquipment }, context) => { + const { data, act } = useBackend(context); + const position = props.weapon.mount_point; + const index = position - 1; + const x = xLookup(index); + const y = yLookup(index); + return ( + <> + + act('select_equipment', { 'equipment_id': props.weapon.eqp_tag }) + } + /> + + {props.weapon.shorthand} + + + ); +}; + +const WeaponStatsPanel = (props: { + slot: number; + weapon?: DropshipEquipment; +}) => { + if (props.weapon === undefined) { + return ; + } + return ( + + {props.weapon.name ?? 'Empty'} + {props.weapon.is_missile === 0 && props.weapon.ammo !== null && ( + + Ammo: {props.weapon?.ammo ?? 'Empty'} /{' '} + {props.weapon.max_ammo ?? 'Empty'} + + )} + {props.weapon?.is_missile === 1 && ( + + Loaded:
+ {props.weapon.ammo_name} +
+ )} + {props.weapon?.ammo === null && Empty} +
+ ); +}; + +const EmptyWeaponStatsPanel = (props: { slot: number }) => { + return ( + + Bay {props.slot} is empty + + ); +}; + +const DropshipWeaponsPanel = (props: { + equipment: Array; +}) => { + const weapons = props.equipment.filter((x) => x.is_weapon === 1); + const support = props.equipment.filter((x) => x.is_weapon === 0); + return ( + + + + + + x.mount_point === 2)} + /> + + + + + + x.mount_point === 1)} + /> + + + + + + + + + {weapons.map((x) => ( + + ))} + + + + + {support.map((x) => ( + {x.name} + ))} + + + + + + + + x.mount_point === 3)} + /> + + + + + + x.mount_point === 4)} + /> + + + + + + ); +}; + +const LcdPanel = (props, context) => { + const { data } = useBackend(context); + return ( + + + + ); +}; + +const FiremissionSimulationPanel = (props, context) => { + return ( + + + + ); +}; + +const FiremissionsSimMfdPanel = (props: MfdProps, context) => { + const { setPanelState } = mfdState(context, props.panelStateId); + return ( + setPanelState(''), + }, + ]}> + + + ); +}; + +const WeaponsMfdPanel = (props, context) => { + return ( + + + + ); +}; + +const BaseMfdPanel = (props: MfdProps, context) => { + const { setPanelState } = mfdState(context, props.panelStateId); + + return ( + setPanelState('equipment') }, + { + children: 'F-MISS', + onClick: () => setPanelState('firemission'), + }, + {}, + { + children: 'TARGETS', + onClick: () => setPanelState('target-aquisition'), + }, + ]} + bottomButtons={[ + {}, + { children: 'MAPS', onClick: () => setPanelState('map') }, + { children: 'CAMS', onClick: () => setPanelState('camera') }, + ]}> + +
+

U.S.C.M.

+

Dropship Weapons Control System

+

UA Northbridge

+

V 0.1

+
+
+
+ ); +}; + +const PrimaryPanel = (props: MfdProps, context) => { + const { panelState } = mfdState(context, props.panelStateId); + switch (panelState) { + case 'camera': + return ; + case 'equipment': + return ; + case 'map': + return ; + case 'weapons': + return ; + case 'firemission': + return ; + case 'firemission-sim': + return ; + case 'target-aquisition': + return ; + case 'weapon': + return ; + case 'support': + return ; + default: + return ; + } +}; + +export const DropshipWeaponsConsole = () => { + return ( + + + + + + + + + + + + + + + + Offset +
+ Calibration +
+ +
+
+ + + + +
+
+
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/CameraPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/CameraPanel.tsx new file mode 100644 index 000000000000..f3a1197e9802 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/CameraPanel.tsx @@ -0,0 +1,37 @@ +import { MfdProps, MfdPanel } from './MultifunctionDisplay'; +import { ByondUi } from '../../components'; +import { useBackend } from '../../backend'; +import { Box } from '../../components'; +import { mfdState } from './stateManagers'; +import { CameraProps } from './types'; + +export const CameraMfdPanel = (props: MfdProps, context) => { + const { act } = useBackend(context); + const { setPanelState } = mfdState(context, props.panelStateId); + return ( + act('nvg-enable') }, + { children: 'nvgoff', onClick: () => act('nvg-disable') }, + ]} + bottomButtons={[{ children: 'EXIT', onClick: () => setPanelState('') }]}> + + + ); +}; + +const CameraPanel = (_, context) => { + const { data } = useBackend(context); + return ( + + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/EquipmentPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/EquipmentPanel.tsx new file mode 100644 index 000000000000..05a500563b52 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/EquipmentPanel.tsx @@ -0,0 +1,350 @@ +import { useBackend } from '../../backend'; +import { Box } from '../../components'; +import { DropshipEquipment } from '../DropshipWeaponsConsole'; +import { MfdProps, MfdPanel } from './MultifunctionDisplay'; +import { mfdState, useEquipmentState, useWeaponState } from './stateManagers'; +import { EquipmentContext } from './types'; + +const equipment_xs = [140, 160, 320, 340, 180, 300, 240, 240, 240, 140, 340]; +const equipment_ys = [120, 100, 100, 120, 100, 100, 260, 300, 340, 320, 320]; + +const DrawWeapon = (props: { x: number; y: number }, context) => { + return ( + + ); +}; + +const DrawEquipmentBox = (props: { x: number; y: number }, context) => { + return ( + + ); +}; + +const equipment_text_xs = [ + 100, 120, 360, 380, 180, 320, 250, 250, 250, 100, 400, +]; +const equipment_text_ys = [120, 60, 60, 120, 20, 20, 240, 280, 320, 320, 320]; + +const DrawWeaponText = (props: { + x: number; + y: number; + desc: string; + sub_desc?: string; +}) => { + return ( + + {props.desc.split(' ').map((x) => ( + + {x} + + ))} + + {props.sub_desc && ( + + {props.sub_desc} + + )} + + ); +}; + +const DrawWeaponEquipment = (props: DropshipEquipment) => { + return ( + <> + + + + ); +}; + +const DrawMiscEquipment = (props: DropshipEquipment, context) => { + return ( + <> + + + + ); +}; + +const DrawEquipment = (props, context) => { + const { data } = useBackend(context); + return ( + <> + {data.equipment_data.map((x) => { + if (x.is_weapon) { + return ; + } + return ; + })} + + ); +}; + +const DrawDropshipOutline = () => { + return ( + <> + {/* cockpit */} + + + {/* left body */} + + + {/* left weapon */} + + {/* left engine */} + + + {/* left tail */} + + + {/* right body */} + + {/* right weapon */} + + + {/* right engine */} + + + {/* right tail */} + + + ); +}; +const DrawAirlocks = () => { + return ( + <> + {/* cockpit door */} + + {/* left airlock */} + + {/* right airlock */} + + {/* rear ramp */} + + + ); +}; + +const EquipmentPanel = () => { + return ( + + + + + + + + + + + + + + + + + + + + + + ); +}; + +const ShipOutline = () => { + return ; +}; + +export const EquipmentMfdPanel = (props: MfdProps, context) => { + const { data } = useBackend(context); + const { setPanelState } = mfdState(context, props.panelStateId); + + const { setWeaponState } = useWeaponState(context, props.panelStateId); + + const { setEquipmentState } = useEquipmentState(context, props.panelStateId); + + const weap1 = data.equipment_data.find((x) => x.mount_point === 1); + const weap2 = data.equipment_data.find((x) => x.mount_point === 2); + const weap3 = data.equipment_data.find((x) => x.mount_point === 3); + const weap4 = data.equipment_data.find((x) => x.mount_point === 4); + const support1 = data.equipment_data.find((x) => x.mount_point === 7); + const support2 = data.equipment_data.find((x) => x.mount_point === 8); + const support3 = data.equipment_data.find((x) => x.mount_point === 9); + + const elec1 = data.equipment_data.find((x) => x.mount_point === 5); + const elec2 = data.equipment_data.find((x) => x.mount_point === 6); + + const generateWeaponButton = (equip: DropshipEquipment) => { + return { + children: equip.shorthand, + onClick: () => { + setWeaponState(equip.mount_point); + setPanelState('weapon'); + }, + }; + }; + + const generateEquipmentButton = (equip: DropshipEquipment) => { + return { + children: equip.shorthand, + onClick: () => { + setEquipmentState(equip.mount_point); + setPanelState('support'); + }, + }; + }; + + const generateButton = (equip: DropshipEquipment) => { + return equip.is_weapon + ? generateWeaponButton(equip) + : generateEquipmentButton(equip); + }; + + return ( + setPanelState('firemission'), + }, + {}, + {}, + ]} + leftButtons={[ + weap2 ? generateButton(weap2) : {}, + weap1 ? generateButton(weap1) : {}, + support1 ? generateButton(support1) : {}, + support2 ? generateButton(support2) : {}, + support3 ? generateButton(support3) : {}, + ]} + rightButtons={[ + weap3 ? generateButton(weap3) : {}, + weap4 ? generateButton(weap4) : {}, + elec1 ? generateButton(elec1) : {}, + elec2 ? generateButton(elec2) : {}, + {}, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + ]}> + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/FiremissionPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/FiremissionPanel.tsx new file mode 100644 index 000000000000..fd71dab8f045 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/FiremissionPanel.tsx @@ -0,0 +1,580 @@ +import { MfdPanel, MfdProps } from './MultifunctionDisplay'; +import { Box, Button, Divider, Icon, Input, Stack } from '../../components'; +import { useBackend, useLocalState } from '../../backend'; +import { CasFiremission, FiremissionContext } from './types'; +import { range } from 'common/collections'; +import { DropshipEquipment, DropshipProps } from '../DropshipWeaponsConsole'; +import { fmEditState, fmState, fmWeaponEditState, mfdState } from './stateManagers'; + +const sortWeapons = (a: DropshipEquipment, b: DropshipEquipment) => { + return (a?.mount_point ?? 0) < (b?.mount_point ?? 0) ? -1 : 1; +}; + +const CreateFiremissionPanel = (props, context) => { + const { act } = useBackend(context); + const [fmName, setFmName] = useLocalState(context, 'fmname', ''); + return ( + + +

Create Fire Mission

+
+ + Firemission Name{' '} + setFmName(value)} + onEnter={() => { + if (fmName === '') { + return; + } + act('firemission-create', { + firemission_name: fmName, + firemission_length: 12, + }); + setFmName(''); + }} + /> + +
+ ); +}; + +const FiremissionList = (props, context) => { + const { data } = useBackend(context); + return ( + + +

Existing Fire Missions

+
+ + {data.firemission_data.map((x, i) => ( + + FM {i + 1}. {x.name} + + ))} + +
+ ); +}; + +const FiremissionMfdHomePage = (props: MfdProps, context) => { + const { setSelectedFm } = fmState(context, props.panelStateId); + const [fmName, setFmName] = useLocalState(context, 'fmname', ''); + const { data, act } = useBackend(context); + const { setPanelState } = mfdState(context, props.panelStateId); + + const firemission_mapper = (x: number) => { + const firemission = + data.firemission_data.length > x ? data.firemission_data[x] : undefined; + return { + children: firemission ? ( +
+ FM {x + 1}
{firemission?.name} +
+ ) : undefined, + onClick: () => setSelectedFm(firemission?.name), + }; + }; + + const [fmOffset, setFmOffset] = useLocalState( + context, + `${props.panelStateId}_fm_select_offset`, + 0 + ); + + const left_firemissions = range(fmOffset, fmOffset + 5).map( + firemission_mapper + ); + const right_firemissions = range(fmOffset + 5, fmOffset + 10).map( + firemission_mapper + ); + + return ( + { + act('firemission-create', { + firemission_name: fmName, + firemission_length: 12, + }); + setFmName(''); + }, + } + : {}, + { + children: , + onClick: () => { + if (fmOffset >= 1) { + setFmOffset(fmOffset - 1); + } + }, + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + {}, + {}, + {}, + { + children: , + onClick: () => { + if (fmOffset + 8 < data.firemission_data.length) { + setFmOffset(fmOffset + 1); + } + }, + }, + ]}> + + + + + + + + + + + + + + + + + + ); +}; + +interface GimbalInfo { + min: number; + max: number; + values: string[]; +} + +const ViewFiremissionMfdPanel = ( + props: MfdProps & { firemission: CasFiremission }, + context +) => { + const { data, act } = useBackend(context); + const { setPanelState } = mfdState(context, props.panelStateId); + const { setSelectedFm } = fmState(context, props.panelStateId); + const { editFm, setEditFm } = fmEditState(context, props.panelStateId); + const { editFmWeapon, setEditFmWeapon } = fmWeaponEditState( + context, + props.panelStateId + ); + + const rightButtons = [ + editFmWeapon === undefined + ? {} + : { children: 'BACK', onClick: () => setEditFmWeapon(undefined) }, + ...data.equipment_data + .filter((x) => x.is_weapon === 1) + .sort((a, b) => (a.mount_point < b.mount_point ? -1 : 1)) + .map((x) => { + return { + children: `${x.shorthand} ${x.mount_point}`, + onClick: () => setEditFmWeapon(x.mount_point), + }; + }), + ]; + + const firemission = props.firemission; + return ( + { + act('firemission-delete', { + firemission_name: firemission.mission_tag, + }); + setSelectedFm(undefined); + }, + }, + { children: 'F-MISS', onClick: () => setSelectedFm(undefined) }, + editFm + ? { children: 'VIEW', onClick: () => setEditFm(false) } + : { children: 'EDIT', onClick: () => setEditFm(true) }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + ]} + rightButtons={editFm === true ? rightButtons : []}> + + + + + + + + +

Firemission:

+
+ +

{firemission.name}

+
+
+
+ + + +
+
+ +
+
+
+ ); +}; + +const FiremissionView = (props: MfdProps & { fm: CasFiremission }, context) => { + const { data } = useBackend(context); + + const { editFm } = fmEditState(context, props.panelStateId); + + const { editFmWeapon } = fmWeaponEditState(context, props.panelStateId); + + const weaponData = props.fm.records + .map((x) => data.equipment_data.find((y) => y.mount_point === x.weapon)) + .filter((x) => x !== undefined) + .sort(sortWeapons) as Array; + + const selectedWeapon = weaponData.find((x) => x.mount_point === editFmWeapon); + const displayDetail = editFm; + return ( + + + + Weapon + Ammunition + {!displayDetail && ( + <> + Consumption + + + )} + {displayDetail && ( + <> + Gimbals + Fire Delay + Offset + + )} + + + + + {range(1, 13).map((x) => ( + + {x} + + ))} + + + + + + + {!editFm && + weaponData.map((x) => ( + + + + ))} + {editFm && selectedWeapon === undefined && ( + Select weapon on right panel + )} + {editFm && selectedWeapon && ( + + + + )} + + ); +}; + +const gimbals: GimbalInfo[] = [ + { min: -1, max: -1, values: [] }, + { min: -6, max: 0, values: ['-6', '-5', '-4', '-3', '-2', '-1', '0', '-'] }, + { min: -6, max: 0, values: ['-6', '-5', '-4', '-3', '-2', '-1', '0', '-'] }, + { min: 0, max: 6, values: ['-', '0', '1', '2', '3', '4', '5', '6'] }, + { min: 0, max: 6, values: ['-', '0', '1', '2', '3', '4', '5', '6'] }, +]; + +const OffsetOverview = ( + props: MfdProps & { fm: CasFiremission; equipment: DropshipEquipment } +) => { + const weaponFm = props.fm.records.find( + (x) => x.weapon === props.equipment.mount_point + ); + if (weaponFm === undefined) { + return <>error; + } + const ammoConsumption = weaponFm.offsets + .map((x) => (x !== '-' ? props.equipment.burst ?? 0 : 0)) + .reduce((accumulator, currentValue) => accumulator + currentValue, 0); + return ( + <> + + {props.equipment.shorthand} {props.equipment.mount_point} + + + {props.equipment.ammo} / {props.equipment.max_ammo} + + + {ammoConsumption} + + + ); +}; + +const OffsetDetailed = ( + props: MfdProps & { + fm: CasFiremission; + equipment: DropshipEquipment; + } +) => { + const availableGimbals = gimbals[props.equipment.mount_point]; + const weaponFm = props.fm.records.find( + (x) => x.weapon === props.equipment.mount_point + ); + if (weaponFm === undefined) { + return <>error; + } + const ammoConsumption = weaponFm.offsets + .map((x) => (x === '-' ? props.equipment.burst : 0)) + .reduce( + (accumulator, currentValue) => (accumulator ?? 0) + (currentValue ?? 0), + 0 + ); + return ( + <> + + {props.equipment.shorthand} {props.equipment.mount_point} + + + {props.equipment.ammo} / {props.equipment.max_ammo} using{' '} + {ammoConsumption} per run. + + + {availableGimbals.min} to {availableGimbals.max} + + + {(props.equipment.firemission_delay ?? 0) - 1} + + + ); +}; + +const FMOffsetError = ( + props: MfdProps & { + fm: CasFiremission; + equipment: DropshipEquipment; + displayDetail?: boolean; + } +) => { + return ( + + {props.displayDetail ? ( + + ) : ( + + )} + + + + Unable to set firemission offsets. +
+ Offsets depend on ammunition. +
+ Load ammunition to adjust. +
+
+ ); +}; + +const FMOffsetStack = ( + props: MfdProps & { + fm: CasFiremission; + equipment: DropshipEquipment; + displayDetail?: boolean; + }, + context +) => { + const { fm } = props; + const { act } = useBackend(context); + const offsets = props.fm.records.find( + (x) => x.weapon === props.equipment.mount_point + )?.offsets; + + const { editFm } = fmEditState(context, props.panelStateId); + const availableGimbals = gimbals[props.equipment.mount_point]; + + const firemissionOffsets = props.equipment.firemission_delay ?? 0; + + if (firemissionOffsets === 0) { + return ; + } + + const availableMap = range(0, 13).map((_) => true); + offsets?.forEach((x, index) => { + if (x === undefined || x === '-') { + return; + } + // if offset is 0 then not allowed on strike. + if (firemissionOffsets === 0) { + range(0, availableMap.length - 1).forEach( + (value) => (availableMap[value] = false) + ); + return; + } + const indexMin = Math.max(index - firemissionOffsets + 1, 0); + const indexMax = Math.max( + Math.min(index + firemissionOffsets, availableMap.length - 1), + indexMin + ); + range(indexMin, indexMax).forEach((value) => (availableMap[value] = false)); + }); + + return ( + + {props.displayDetail ? ( + + ) : ( + + )} + + + {editFm && + availableGimbals.values.map((x) => ( + + {x === '-' ? 'UNSET' : x} + + ))} + + + + + + {editFm === false && + offsets && + offsets.map((x, i) => ( + + {x} + + ))} + + {editFm === true && + offsets && + offsets.map((x, i) => { + if (availableMap[i] === false && x === '-') { + return ( + + WEAPON BUSY + + ); + } + if (props.equipment.firemission_delay === 0) { + return ( + + + Ammo unusable for firemissions + + + ); + } + return ( + + + {availableGimbals.values.map((y) => { + const is_selected = x.toString() === y; + return ( + + + + ); + })} + + + ); + })} + + ); +}; + +export const FiremissionMfdPanel = (props: MfdProps, context) => { + const { data, act } = useBackend(context); + const { selectedFm } = fmState(context, props.panelStateId); + const firemission = data.firemission_data.find((x) => x.name === selectedFm); + if (firemission === undefined) { + return ; + } + return ( + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/FultonPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/FultonPanel.tsx new file mode 100644 index 000000000000..05d33e51a8d1 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/FultonPanel.tsx @@ -0,0 +1,161 @@ +import { MfdPanel, MfdProps } from './MultifunctionDisplay'; +import { Box, Stack } from '../../components'; +import { useBackend, useLocalState } from '../../backend'; +import { mfdState, useEquipmentState } from './stateManagers'; +import { range } from 'common/collections'; +import { Icon } from '../../components'; +import { FultonProps } from './types'; + +export const FultonMfdPanel = (props: MfdProps, context) => { + const { data, act } = useBackend(context); + const [fulltonOffset, setFultonOffset] = useLocalState( + context, + `${props.panelStateId}_fultonoffset`, + 0 + ); + const { setPanelState } = mfdState(context, props.panelStateId); + const { equipmentState } = useEquipmentState(context, props.panelStateId); + + const fultons = [...data.fulton_targets]; + const regex = /(\d+)/; + + const result = data.equipment_data.find( + (x) => x.mount_point === equipmentState + ); + + const fulton_mapper = (x: number) => { + const target = fultons.length > x ? fultons[x] : undefined; + return { + children: target ? (regex.exec(target) ?? [target])[0] : undefined, + onClick: () => + act('fulton-target', { + equipment_id: result?.mount_point, + ref: target, + }), + }; + }; + + const left_targets = range(fulltonOffset, fulltonOffset + 5).map( + fulton_mapper + ); + + const right_targets = range(fulltonOffset + 5, fulltonOffset + 8).map( + fulton_mapper + ); + + const all_targets = range(fulltonOffset, fulltonOffset + 8) + .map((x) => fultons[x]) + .filter((x) => x !== undefined); + + return ( + , + onClick: () => { + if (fulltonOffset >= 1) { + setFultonOffset(fulltonOffset - 1); + } + }, + }, + ...right_targets, + { + children: , + onClick: () => { + if (fulltonOffset + 8 < data.fulton_targets.length) { + setFultonOffset(fulltonOffset + 1); + } + }, + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + ]}> + + + + + {all_targets.length > 0 && ( + + )} + {all_targets.length > 1 && ( + + )} + {all_targets.length > 2 && ( + + )} + {all_targets.length > 3 && ( + + )} + {all_targets.length > 4 && ( + + )} + + + + + +

Active Fultons

+
+ {all_targets.map((x) => ( + +

{x}

+
+ ))} +
+
+ + + {all_targets.length > 5 && ( + + )} + {all_targets.length > 6 && ( + + )} + {all_targets.length > 7 && ( + + )} + + +
+
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/MGPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/MGPanel.tsx new file mode 100644 index 000000000000..dc6df25e17c1 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/MGPanel.tsx @@ -0,0 +1,69 @@ +import { MfdPanel, MfdProps } from './MultifunctionDisplay'; +import { Box, Stack } from '../../components'; +import { DropshipEquipment } from '../DropshipWeaponsConsole'; +import { useBackend } from '../../backend'; +import { mfdState, useEquipmentState } from './stateManagers'; +import { EquipmentContext, MGSpec } from './types'; + +const MgPanel = (props: DropshipEquipment) => { + const mgData = props.data as MGSpec; + return ( + + + + + + + +

{props.name}

+
+ +

+ Health: {mgData.health} / {mgData.health_max} +

+
+ +

+ Ammo {mgData.rounds} / {mgData.max_rounds} +

+
+ +

{mgData.deployed === 1 ? 'DEPLOYED' : 'UNDEPLOYED'}

+
+
+
+ + + +
+ ); +}; + +export const MgMfdPanel = (props: MfdProps, context) => { + const { act, data } = useBackend(context); + const { setPanelState } = mfdState(context, props.panelStateId); + const { equipmentState } = useEquipmentState(context, props.panelStateId); + const mg = data.equipment_data.find((x) => x.mount_point === equipmentState); + return ( + setPanelState('equipment') }, + ]} + leftButtons={[ + { + children: 'DEPLOY', + onClick: () => + act('deploy-equipment', { equipment_id: mg?.mount_point }), + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + ]}> + {mg && } + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/MapPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/MapPanel.tsx new file mode 100644 index 000000000000..83ecaac24a5c --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/MapPanel.tsx @@ -0,0 +1,37 @@ +import { useBackend } from '../../backend'; +import { Box } from '../../components'; +import { MfdPanel, MfdProps } from './MultifunctionDisplay'; +import { ByondUi } from '../../components'; +import { MapProps } from './types'; +import { mfdState } from './stateManagers'; + +export const MapMfdPanel = (props: MfdProps, context) => { + const { setPanelState } = mfdState(context, props.panelStateId); + return ( + setPanelState(''), + }, + ]}> + + + ); +}; + +const MapPanel = (_, context) => { + const { data } = useBackend(context); + return ( + + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/MedevacPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/MedevacPanel.tsx new file mode 100644 index 000000000000..634b4ef2a52e --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/MedevacPanel.tsx @@ -0,0 +1,208 @@ +import { MfdProps, MfdPanel } from './MultifunctionDisplay'; +import { Box, Divider, Flex, Stack } from '../../components'; +import { useBackend, useLocalState } from '../../backend'; +import { range } from 'common/collections'; +import { Icon } from '../../components'; +import { mfdState, useEquipmentState } from './stateManagers'; +import { MedevacContext, MedevacTargets } from './types'; + +const MedevacOccupant = (props: { data: MedevacTargets }) => ( + + + + + {props.data.occupant ?? 'Empty'} + {props.data.area ?? 'Unknown'} + + + + + + HP +
+ {props.data.damage?.hp} +
+ + Brute +
+ {props.data.damage?.brute} +
+ + Fire +
+ {props.data.damage?.fire} +
+ + Tox +
+ {props.data.damage?.tox} +
+ + Oxy +
{props.data.damage?.oxy} +
+
+
+
+
+); + +export const MedevacMfdPanel = (props: MfdProps, context) => { + const [medevacOffset, setMedevacOffset] = useLocalState( + context, + `${props.panelStateId}_medevacoffset`, + 0 + ); + const { setPanelState } = mfdState(context, props.panelStateId); + const { equipmentState } = useEquipmentState(context, props.panelStateId); + + const { data, act } = useBackend(context); + + const result = data.equipment_data.find( + (x) => x.mount_point === equipmentState + ); + const medevacs = data.medevac_targets === null ? [] : data.medevac_targets; + const medevac_mapper = (x: number) => { + const target = medevacs.length > x ? medevacs[x] : undefined; + return { + children: target ? target.occupant?.split(' ')[0] ?? 'Empty' : undefined, + onClick: () => + act('medevac-target', { + equipment_id: result?.mount_point, + ref: target?.ref, + }), + }; + }; + + const left_targets = range(medevacOffset, medevacOffset + 5).map( + medevac_mapper + ); + + const right_targets = range(medevacOffset + 5, medevacOffset + 8).map( + medevac_mapper + ); + + const all_targets = range(medevacOffset, medevacOffset + 8) + .map((x) => data.medevac_targets[x]) + .filter((x) => x !== undefined); + return ( + , + onClick: () => { + if (medevacOffset >= 1) { + setMedevacOffset(medevacOffset - 1); + } + }, + }, + ...right_targets, + { + children: , + onClick: () => { + if (medevacOffset + 8 < data.medevac_targets.length) { + setMedevacOffset(medevacOffset + 1); + } + }, + }, + ]} + topButtons={[ + { + children: 'EQUIP', + onClick: () => setPanelState('equipment'), + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + ]}> + + + + + {all_targets.length > 0 && ( + + )} + {all_targets.length > 1 && ( + + )} + {all_targets.length > 2 && ( + + )} + {all_targets.length > 3 && ( + + )} + {all_targets.length > 4 && ( + + )} + + + + + +

Medevac Requests

+
+ {all_targets.map((x) => ( + <> + + + + + + ))} +
+
+ + + {all_targets.length > 5 && ( + + )} + {all_targets.length > 6 && ( + + )} + {all_targets.length > 7 && ( + + )} + + +
+
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/MultifunctionDisplay.tsx b/tgui/packages/tgui/interfaces/MfdPanels/MultifunctionDisplay.tsx new file mode 100644 index 000000000000..9df7eaffcde4 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/MultifunctionDisplay.tsx @@ -0,0 +1,152 @@ +import { useBackend } from '../../backend'; +import { Button, Flex } from '../../components'; +import { CrtPanel } from '../CrtPanel'; +import { Table, TableCell, TableRow } from '../../components/Table'; +import { InfernoNode } from 'inferno'; +import { ButtonProps } from './types'; +import { classes } from 'common/react'; + +export interface MfdProps { + panelStateId: string; + topButtons?: Array; + leftButtons?: Array; + rightButtons?: Array; + bottomButtons?: Array; + children?: InfernoNode; +} + +export const MfdButton = (props: ButtonProps, context) => { + const { act } = useBackend(context); + return ( + + ); +}; + +export const EmptyMfdButton = () => { + return ; +}; + +export const HorizontalPanel = ( + props: { buttons: Array }, + context +) => { + return ( + + {props.buttons.map((x, i) => ( + + {x ? : } + + ))} + + ); +}; + +export const VerticalPanel = ( + props: { buttons?: Array }, + context +) => { + return ( + + {props.buttons?.map((x, i) => ( + + {x ? : } + + ))} + + ); +}; + +const HexScrew = () => { + return ( + + + + + ); +}; + +export const MfdPanel = (props: MfdProps) => { + const topProps = props.topButtons ?? []; + const botProps = props.bottomButtons ?? []; + const leftProps = props.leftButtons ?? []; + const rightProps = props.rightButtons ?? []; + + const topButtons = Array.from({ length: 5 }).map((_, i) => topProps[i] ?? {}); + const bottomButtons = Array.from({ length: 5 }).map( + (_, i) => botProps[i] ?? {} + ); + const leftButtons = Array.from({ length: 5 }).map( + (_, i) => leftProps[i] ?? {} + ); + const rightButtons = Array.from({ length: 5 }).map( + (_, i) => rightProps[i] ?? {} + ); + return ( + + + + + + + + + + + + + + + + + + + {props.children} + + + + + + + + + + + + + + + + + +
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/SentryPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/SentryPanel.tsx new file mode 100644 index 000000000000..d8ea220ec986 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/SentryPanel.tsx @@ -0,0 +1,89 @@ +import { MfdPanel, MfdProps } from './MultifunctionDisplay'; +import { Box, Stack } from '../../components'; +import { DropshipEquipment } from '../DropshipWeaponsConsole'; +import { useBackend } from '../../backend'; +import { mfdState, useEquipmentState } from './stateManagers'; +import { EquipmentContext, SentrySpec } from './types'; + +const SentryPanel = (props: DropshipEquipment, context) => { + const sentryData = props.data as SentrySpec; + return ( + + + + + + + +

{props.name}

+
+ +

+ Health: {sentryData.health} / {sentryData.health_max} +

+
+ +

+ Ammo {sentryData.rounds} / {sentryData.max_rounds} +

+
+ +

{sentryData.deployed === 1 ? 'DEPLOYED' : 'UNDEPLOYED'}

+
+ +

+ {sentryData.engaged === 1 + ? 'ENGAGED' + : sentryData.deployed === 1 + ? 'STANDBY' + : 'OFFLINE'} +

+
+
+
+ + + +
+ ); +}; + +export const SentryMfdPanel = (props: MfdProps, context) => { + const { act, data } = useBackend(context); + const { setPanelState } = mfdState(context, props.panelStateId); + const { equipmentState } = useEquipmentState(context, props.panelStateId); + const sentry = data.equipment_data.find( + (x) => x.mount_point === equipmentState + ); + const deployLabel = + (sentry?.data?.deployed ?? 0) === 1 ? 'RETRACT' : 'DEPLOY'; + return ( + setPanelState('equipment') }, + ]} + leftButtons={[ + { + children: deployLabel, + onClick: () => + act('deploy-equipment', { equipment_id: sentry?.mount_point }), + }, + { + children: 'CAMERA', + onClick: () => + act('set-camera-sentry', { equipment_id: sentry?.mount_point }), + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + ]}> + + {sentry && } + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/SpotlightPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/SpotlightPanel.tsx new file mode 100644 index 000000000000..ce241420497e --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/SpotlightPanel.tsx @@ -0,0 +1,60 @@ +import { MfdPanel, MfdProps } from './MultifunctionDisplay'; +import { Box, Stack } from '../../components'; +import { useBackend } from '../../backend'; +import { mfdState, useEquipmentState } from './stateManagers'; +import { EquipmentContext, SpotlightSpec } from './types'; +import { DropshipEquipment } from '../DropshipWeaponsConsole'; + +const SpotPanel = (props: DropshipEquipment) => { + const spotData = props.data as SpotlightSpec; + return ( + + + + + + + +

{props.name}

+
+
+
+ + + +
+ ); +}; + +export const SpotlightMfdPanel = (props: MfdProps, context) => { + const { act, data } = useBackend(context); + const { setPanelState } = mfdState(context, props.panelStateId); + const { equipmentState } = useEquipmentState(context, props.panelStateId); + const spotlight = data.equipment_data.find( + (x) => x.mount_point === equipmentState + ); + return ( + setPanelState('equipment') }, + ]} + leftButtons={[ + { + children: 'DEPLOY', + onClick: () => + act('deploy-equipment', { equipment_id: spotlight?.mount_point }), + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + ]}> + + {spotlight && } + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/SupportPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/SupportPanel.tsx new file mode 100644 index 000000000000..1eca123173b0 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/SupportPanel.tsx @@ -0,0 +1,62 @@ +import { useBackend } from '../../backend'; +import { MfdPanel, MfdProps } from './MultifunctionDisplay'; +import { MedevacMfdPanel } from './MedevacPanel'; +import { FultonMfdPanel } from './FultonPanel'; +import { Box, Stack } from '../../components'; +import { SentryMfdPanel } from './SentryPanel'; +import { MgMfdPanel } from './MGPanel'; +import { SpotlightMfdPanel } from './SpotlightPanel'; +import { EquipmentContext } from './types'; +import { mfdState, useEquipmentState } from './stateManagers'; + +export const SupportMfdPanel = (props: MfdProps, context) => { + const { equipmentState } = useEquipmentState(context, props.panelStateId); + + const { setPanelState } = mfdState(context, props.panelStateId); + + const { data } = useBackend(context); + const result = data.equipment_data.find( + (x) => x.mount_point === equipmentState + ); + if (result?.shorthand === 'Medevac') { + return ; + } + if (result?.shorthand === 'Fulton') { + return ; + } + if (result?.shorthand === 'Sentry') { + return ; + } + if (result?.shorthand === 'MG') { + return ; + } + if (result?.shorthand === 'Spotlight') { + return ; + } + return ( + setPanelState(''), + }, + ]}> + + + +

Component {result?.shorthand} not found

+
+ +

Is this authorised equipment?

+
+ +

+ Contact your local WY representative for further upgrade options +

+
+
+
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/TargetAquisition.tsx b/tgui/packages/tgui/interfaces/MfdPanels/TargetAquisition.tsx new file mode 100644 index 000000000000..49f22db18104 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/TargetAquisition.tsx @@ -0,0 +1,519 @@ +import { range } from 'common/collections'; +import { useBackend, useLocalState, useSharedState } from '../../backend'; +import { Box, Icon, Stack } from '../../components'; +import { MfdProps, MfdPanel } from './MultifunctionDisplay'; +import { mfdState, useFiremissionXOffsetValue, useFiremissionYOffsetValue, useLazeTarget } from './stateManagers'; +import { CasFiremission, EquipmentContext, FiremissionContext, TargetContext } from './types'; + +const directionLookup = new Map(); +directionLookup['SOUTH'] = 2; +directionLookup['NORTH'] = 1; +directionLookup['WEST'] = 8; +directionLookup['EAST'] = 4; + +const useStrikeMode = (context) => { + const [data, set] = useSharedState( + context, + 'strike-mode', + undefined + ); + return { + strikeMode: data, + setStrikeMode: set, + }; +}; + +const useStrikeDirection = (context) => { + const [data, set] = useSharedState( + context, + 'strike-direction', + undefined + ); + return { + strikeDirection: data, + setStrikeDirection: set, + }; +}; + +const useWeaponSelectedState = (context) => { + const [data, set] = useSharedState( + context, + 'target-weapon-select', + undefined + ); + return { + weaponSelected: data, + setWeaponSelected: set, + }; +}; + +const useTargetFiremissionSelect = (context) => { + const [data, set] = useSharedState( + context, + 'target-firemission-select', + undefined + ); + return { + firemissionSelected: data, + setFiremissionSelected: set, + }; +}; + +const useTargetOffset = (context, panelId: string) => { + const [data, set] = useLocalState(context, `${panelId}_targetOffset`, 0); + return { + targetOffset: data, + setTargetOffset: set, + }; +}; + +const useTargetSubmenu = (context, panelId: string) => { + const [data, set] = useSharedState( + context, + `${panelId}_target_left`, + undefined + ); + return { + leftButtonMode: data, + setLeftButtonMode: set, + }; +}; + +const TargetLines = (props: { panelId: string }, context) => { + const { data } = useBackend< + EquipmentContext & FiremissionContext & TargetContext + >(context); + const { targetOffset } = useTargetOffset(context, props.panelId); + return ( + <> + {data.targets_data.length > targetOffset && ( + + )} + {data.targets_data.length > targetOffset + 1 && ( + + )} + {data.targets_data.length > targetOffset + 2 && ( + + )} + + {data.targets_data.length > targetOffset + 3 && ( + + )} + {data.targets_data.length > targetOffset + 4 && ( + + )} + + ); +}; + +const leftButtonGenerator = (context, panelId: string) => { + const { data } = useBackend< + EquipmentContext & FiremissionContext & TargetContext + >(context); + const { leftButtonMode, setLeftButtonMode } = useTargetSubmenu( + context, + panelId + ); + const { strikeMode, setStrikeMode } = useStrikeMode(context); + const { setStrikeDirection } = useStrikeDirection(context); + const { firemissionSelected, setFiremissionSelected } = + useTargetFiremissionSelect(context); + const { weaponSelected, setWeaponSelected } = useWeaponSelectedState(context); + const weapons = data.equipment_data.filter((x) => x.is_weapon); + if (leftButtonMode === undefined) { + return [ + { + children: 'STRIKE', + onClick: () => setLeftButtonMode('STRIKE'), + }, + { + children: 'VECTOR', + onClick: () => setLeftButtonMode('VECTOR'), + }, + ]; + } + if (leftButtonMode === 'STRIKE') { + if (strikeMode === 'weapon' && weaponSelected === undefined) { + return weapons.map((x) => { + return { + children: x.shorthand, + onClick: () => { + setWeaponSelected(x.mount_point); + setLeftButtonMode(undefined); + }, + }; + }); + } + if (strikeMode === 'firemission' && firemissionSelected === undefined) { + return data.firemission_data.map((x) => { + return { + children: x.name, + onClick: () => { + setFiremissionSelected(x); + setLeftButtonMode(undefined); + }, + }; + }); + } + return [ + { children: 'CANCEL', onClick: () => setLeftButtonMode(undefined) }, + { + children: 'WEAPON', + onClick: () => { + setWeaponSelected(undefined); + setStrikeMode('weapon'); + }, + }, + { + children: 'F-MISS', + onClick: () => { + setFiremissionSelected(undefined); + setStrikeMode('firemission'); + }, + }, + ]; + } + if (leftButtonMode === 'VECTOR') { + return [ + { children: 'CANCEL', onClick: () => setLeftButtonMode(undefined) }, + { + children: 'SOUTH', + onClick: () => { + setStrikeDirection('SOUTH'); + setLeftButtonMode(undefined); + }, + }, + { + children: 'NORTH', + onClick: () => { + setStrikeDirection('NORTH'); + setLeftButtonMode(undefined); + }, + }, + { + children: 'EAST', + onClick: () => { + setStrikeDirection('EAST'); + setLeftButtonMode(undefined); + }, + }, + { + children: 'WEST', + onClick: () => { + setStrikeDirection('WEST'); + setLeftButtonMode(undefined); + }, + }, + ]; + } + + return []; +}; + +const lazeMapper = (context, offset) => { + const { act, data } = useBackend(context); + const { setSelectedTarget } = useLazeTarget(context); + + const { fmXOffsetValue } = useFiremissionXOffsetValue(context); + const { fmYOffsetValue } = useFiremissionYOffsetValue(context); + + const target = + data.targets_data.length > offset ? data.targets_data[offset] : undefined; + const isDebug = target?.target_name.includes('debug'); + + const buttomLabel = () => { + if (isDebug) { + return 'd-' + target?.target_name.split(' ')[3]; + } + const label = target?.target_name.split(' ')[0] ?? ''; + const squad = label[0] ?? undefined; + const number = label.split('-')[1] ?? undefined; + return squad !== undefined && number !== undefined + ? `${squad}-${number}` + : target?.target_name; + }; + + return { + children: buttomLabel(), + onClick: target + ? () => { + setSelectedTarget(target.target_tag); + act('firemission-dual-offset-camera', { + 'target_id': target.target_tag, + 'x_offset_value': fmXOffsetValue, + 'y_offset_value': fmYOffsetValue, + }); + } + : () => { + act('set-camera', { 'equipment_id': null }); + setSelectedTarget(undefined); + }, + }; +}; + +export const TargetAquisitionMfdPanel = (props: MfdProps, context) => { + const { panelStateId } = props; + + const { act, data } = useBackend< + EquipmentContext & FiremissionContext & TargetContext + >(context); + + const { setPanelState } = mfdState(context, panelStateId); + const { selectedTarget, setSelectedTarget } = useLazeTarget(context); + const { strikeMode } = useStrikeMode(context); + const { strikeDirection } = useStrikeDirection(context); + const { weaponSelected } = useWeaponSelectedState(context); + const { firemissionSelected } = useTargetFiremissionSelect(context); + const { targetOffset, setTargetOffset } = useTargetOffset( + context, + panelStateId + ); + + const { fmXOffsetValue } = useFiremissionXOffsetValue(context); + const { fmYOffsetValue } = useFiremissionYOffsetValue(context); + + const lazes = range(0, 5).map((x) => + x > data.targets_data.length ? undefined : data.targets_data[x] + ); + + const strikeConfigLabel = + strikeMode === 'weapon' + ? data.equipment_data.find((x) => x.mount_point === weaponSelected)?.name + : firemissionSelected !== undefined + ? data.firemission_data.find( + (x) => x.mission_tag === firemissionSelected.mission_tag + )?.name + : 'NONE'; + + const lazeIndex = lazes.findIndex((x) => x?.target_tag === selectedTarget); + const strikeReady = strikeMode !== undefined && lazeIndex !== -1; + + const targets = range(targetOffset, targetOffset + 5).map((x) => + lazeMapper(context, x) + ); + + const getLastName = () => { + const target = data.targets_data[data.targets_data.length - 1] ?? undefined; + const isDebug = target?.target_name.includes('debug'); + if (isDebug) { + return 'debug ' + target.target_name.split(' ')[3]; + } + const label = target?.target_name.split(' ')[0] ?? ''; + const squad = label[0] ?? undefined; + const number = label.split('-')[1] ?? undefined; + + return squad !== undefined && number !== undefined + ? `${squad}-${number}` + : target?.target_name; + }; + + if ( + selectedTarget && + data.targets_data.find((x) => `${x.target_tag}` === `${selectedTarget}`) === + undefined + ) { + setSelectedTarget(undefined); + } + + return ( + { + if (strikeMode === undefined) { + return; + } + if (strikeMode === 'firemission') { + act('firemission-execute', { + tag: firemissionSelected?.mission_tag, + direction: strikeDirection + ? directionLookup[strikeDirection] + : 1, + target_id: selectedTarget, + offset_x_value: fmXOffsetValue, + offset_y_value: fmYOffsetValue, + }); + } + if (strikeMode === 'weapon') { + act('fire-weapon', { eqp_tag: weaponSelected }); + } + }, + }, + {}, + {}, + {}, + { + children: targetOffset > 0 ? : undefined, + onClick: () => { + if (targetOffset > 0) { + setTargetOffset(targetOffset - 1); + } + }, + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + {}, + {}, + {}, + { + children: + targetOffset < lazes.length ? ( + + ) : undefined, + onClick: () => { + if (targetOffset < lazes.length) { + setTargetOffset(targetOffset + 1); + } + }, + }, + ]} + leftButtons={leftButtonGenerator(context, panelStateId)} + rightButtons={targets}> + + + + + + + + + + + + + + + + + + + + +

Target Aquisition

+
+ +

Strike mode: {strikeMode?.toUpperCase() ?? 'NONE'}

+
+ +

Strike configuration {strikeConfigLabel}

+
+ +

+ Target selected:{' '} + {lazes.find((x) => x?.target_tag === selectedTarget) + ?.target_name ?? 'NONE'} +

+
+ +

Attack Vector {strikeDirection ?? 'NONE'}

+
+ +

+ Offset {fmXOffsetValue},{fmYOffsetValue} +

+
+ +

+ Guidance computer {strikeReady ? 'READY' : 'INCOMPLETE'} +

+
+
+
+ + + + + {data.targets_data.length === 0 && ( + + + NO TARGETS + + + )} + {data.targets_data.length > 0 && ( + + + SELECT + + + TARGETS + + + {Math.min(5, data.targets_data.length)} of{' '} + {data.targets_data.length} + + {data.targets_data.length > 0 && ( + <> + + LATEST + + + {getLastName()} + + + )} + + )} + + + + +
+
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/WeaponPanel.tsx b/tgui/packages/tgui/interfaces/MfdPanels/WeaponPanel.tsx new file mode 100644 index 000000000000..090001aa3ac9 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/WeaponPanel.tsx @@ -0,0 +1,179 @@ +import { range } from 'common/collections'; +import { useBackend } from '../../backend'; +import { Box, Stack } from '../../components'; +import { DropshipEquipment } from '../DropshipWeaponsConsole'; +import { MfdProps, MfdPanel } from './MultifunctionDisplay'; +import { mfdState, useWeaponState } from './stateManagers'; +import { LazeTarget } from './types'; + +const EmptyWeaponPanel = (props, context) => { + return
Nothing Listed
; +}; +interface EquipmentContext { + equipment_data: Array; + targets_data: Array; +} + +const getLazeButtonProps = (context) => { + const { act, data } = useBackend(context); + const lazes = range(0, 5).map((x) => + x > data.targets_data.length ? undefined : data.targets_data[x] + ); + const get_laze = (index: number) => { + const laze = lazes.find((_, i) => i === index); + if (laze === undefined) { + return { + children: '', + onClick: () => act('set-camera', { equipment_id: null }), + }; + } + return { + children: laze?.target_name.split(' ')[0] ?? 'NONE', + onClick: laze + ? () => act('set-camera', { 'equipment_id': laze.target_tag }) + : undefined, + }; + }; + return [get_laze(0), get_laze(1), get_laze(2), get_laze(3), get_laze(4)]; +}; + +const WeaponPanel = (props: { equipment: DropshipEquipment }, context) => { + return ( + + + + + ACTIONS + + {false && ( + + )} + {false && ( + + )} + {false && ( + + )} + + {false && ( + + )} + {false && ( + + )} + + + + + + +

{props.equipment.name}

+
+ +

{props.equipment.ammo_name}

+
+ +

+ Ammo {props.equipment.ammo} / {props.equipment.max_ammo} +

+
+
+
+
+ + + + + SELECT + + + TARGETS + + + + + + + + + + +
+ ); +}; + +export const WeaponMfdPanel = (props: MfdProps, context) => { + const { setPanelState } = mfdState(context, props.panelStateId); + const { weaponState } = useWeaponState(context, props.panelStateId); + const { data, act } = useBackend(context); + const weap = data.equipment_data.find((x) => x.mount_point === weaponState); + + return ( + act('fire-weapon', { eqp_tag: weap?.eqp_tag }), + }, + ]} + bottomButtons={[ + { + children: 'EXIT', + onClick: () => setPanelState(''), + }, + {}, + ]} + topButtons={[ + { + children: 'EQUIP', + onClick: () => setPanelState('equipment'), + }, + ]} + rightButtons={getLazeButtonProps(context)}> + + {weap ? : } + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/stateManagers.ts b/tgui/packages/tgui/interfaces/MfdPanels/stateManagers.ts new file mode 100644 index 000000000000..e639938eabf8 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/stateManagers.ts @@ -0,0 +1,109 @@ +import { useLocalState, useSharedState } from '../../backend'; + +export const useEquipmentState = (context, panelId: string) => { + const [data, set] = useSharedState( + context, + `${panelId}_equipmentstate`, + undefined + ); + return { + equipmentState: data, + setEquipmentState: set, + }; +}; + +export const fmState = (context, panelId: string) => { + const [data, set] = useLocalState( + context, + `${panelId}_selected_fm`, + undefined + ); + return { + selectedFm: data, + setSelectedFm: set, + }; +}; + +export const fmEditState = (context, panelId: string) => { + const [data, set] = useLocalState( + context, + `${panelId}_edit_fm`, + false + ); + return { + editFm: data, + setEditFm: set, + }; +}; + +export const fmWeaponEditState = (context, panelId: string) => { + const [data, set] = useLocalState( + context, + `${panelId}_edit_fm_weapon`, + undefined + ); + return { + editFmWeapon: data, + setEditFmWeapon: set, + }; +}; + +export const mfdState = (context, panelId: string) => { + const [data, set] = useSharedState( + context, + `${panelId}_panelstate`, + '' + ); + return { + panelState: data, + setPanelState: set, + }; +}; + +export const useWeaponState = (context, panelId: string) => { + const [data, set] = useSharedState( + context, + `${panelId}_weaponstate`, + undefined + ); + return { + weaponState: data, + setWeaponState: set, + }; +}; + +export const useFiremissionXOffsetValue = (context) => { + const [data, set] = useSharedState( + context, + 'firemission-x-offset-value', + 0 + ); + return { + fmXOffsetValue: data, + setFmXOffsetValue: set, + }; +}; + +export const useFiremissionYOffsetValue = (context) => { + const [data, set] = useSharedState( + context, + 'firemission-y-offset-value', + 0 + ); + return { + fmYOffsetValue: data, + setFmYOffsetValue: set, + }; +}; + +export const useLazeTarget = (context) => { + const [data, set] = useSharedState( + context, + 'laze-target', + undefined + ); + return { + selectedTarget: data, + setSelectedTarget: set, + }; +}; diff --git a/tgui/packages/tgui/interfaces/MfdPanels/types.ts b/tgui/packages/tgui/interfaces/MfdPanels/types.ts new file mode 100644 index 000000000000..78e7c3314b30 --- /dev/null +++ b/tgui/packages/tgui/interfaces/MfdPanels/types.ts @@ -0,0 +1,112 @@ +import { InfernoNode } from 'inferno'; +import { DropshipEquipment } from '../DropshipWeaponsConsole'; + +export interface ButtonProps { + children?: InfernoNode; + onClick?: () => void; +} + +export type LazeTarget = { + target_name: string; + target_tag: number; +}; + +export type TargetContext = { + targets_data: Array; +}; + +export type FultonProps = { + fulton_targets: Array; + equipment_data: Array; +}; + +export type MedevacTargets = { + area: string; + occupant: string; + ref: string; + triage_card?: string; + damage?: { + hp: number; + brute: number; + oxy: number; + tox: number; + fire: number; + undefib: number; + }; +}; + +export type CameraProps = { + camera_map_ref?: string; +}; + +export type EquipmentContext = { + equipment_data: Array; +}; + +export type MedevacContext = { + medevac_targets: Array; + equipment_data: Array; +}; + +export type FiremissionContext = { + firemission_data: Array; +}; + +export type SentrySpec = { + rounds?: number; + max_rounds?: number; + name: string; + area: string; + active: 0 | 1; + index: number; + engaged?: number; + nickname: string; + health: number; + health_max: number; + kills: number; + iff_status: string[]; + camera_available: number; + deployed: number; +}; + +export type SpotlightSpec = { + name: string; +}; + +export type MGSpec = { + name: string; + health: number; + health_max: number; + rounds: number; + max_rounds: number; + deployed: 0 | 1; +}; + +export type CasFiremissionStage = { + weapon: number; + offsets: Array; +}; + +export type CasFiremission = { + name: string; + mission_length: number; + records: Array; + mission_tag: number; +}; + +export type MapProps = { + tactical_map_ref: string; +}; + +export const dirMap = (dir) => { + switch (dir) { + case 'NORTH': + return 1; + case 'SOUTH': + return 2; + case 'EAST': + return 4; + case 'WEST': + return 8; + } +}; diff --git a/tgui/packages/tgui/interfaces/Orbit/index.tsx b/tgui/packages/tgui/interfaces/Orbit/index.tsx index 83dfe3b361b2..899947e1bec9 100644 --- a/tgui/packages/tgui/interfaces/Orbit/index.tsx +++ b/tgui/packages/tgui/interfaces/Orbit/index.tsx @@ -118,6 +118,15 @@ const ObservableContent = (props, context) => { survivors = [], xenos = [], ert_members = [], + upp = [], + clf = [], + wy = [], + twe = [], + freelancer = [], + mercenary = [], + contractor = [], + dutch = [], + marshal = [], synthetics = [], predators = [], animals = [], @@ -145,6 +154,43 @@ const ObservableContent = (props, context) => { section={synthetics} title="Synthetics" /> + + + + + + + + + diff --git a/tgui/packages/tgui/interfaces/Orbit/types.ts b/tgui/packages/tgui/interfaces/Orbit/types.ts index 3fe11af8e625..afbed5b16468 100644 --- a/tgui/packages/tgui/interfaces/Orbit/types.ts +++ b/tgui/packages/tgui/interfaces/Orbit/types.ts @@ -7,6 +7,15 @@ export type OrbitData = { survivors: Observable[]; xenos: Observable[]; ert_members: Observable[]; + upp: Observable[]; + twe: Observable[]; + clf: Observable[]; + wy: Observable[]; + freelancer: Observable[]; + contractor: Observable[]; + mercenary: Observable[]; + dutch: Observable[]; + marshal: Observable[]; synthetics: Observable[]; predators: Observable[]; animals: Observable[]; diff --git a/tgui/packages/tgui/interfaces/TacticalMap.tsx b/tgui/packages/tgui/interfaces/TacticalMap.tsx index 92996038719f..34f214b1d1d3 100644 --- a/tgui/packages/tgui/interfaces/TacticalMap.tsx +++ b/tgui/packages/tgui/interfaces/TacticalMap.tsx @@ -23,7 +23,7 @@ interface TacMapProps { mapRef: string; currentMenu: string; lastUpdateTime: any; - nextCanvasTime: any; + canvasCooldownDuration: any; canvasCooldown: any; exportedTacMapImage: any; tacmapReady: number; @@ -31,7 +31,7 @@ interface TacMapProps { const PAGES = [ { - title: 'tacmap', + title: 'Live Tacmap', canOpen: (data) => { return 1; }, @@ -42,7 +42,7 @@ const PAGES = [ }, }, { - title: 'old canvas', + title: 'Map View', canOpen: (data) => { return 1; }, @@ -53,7 +53,7 @@ const PAGES = [ }, }, { - title: 'new canvas', + title: 'Canvas', canOpen: (data) => { return data.tacmapReady; }, @@ -192,7 +192,7 @@ const OldMapPanel = (props, context) => { const DrawMapPanel = (props, context) => { const { data, act } = useBackend(context); - const timeLeftPct = data.canvasCooldown / data.nextCanvasTime; + const timeLeftPct = data.canvasCooldown / data.canvasCooldownDuration; const canUpdate = data.canvasCooldown <= 0 && !data.updatedCanvas; const handleTacMapExport = (image: any) => { diff --git a/tgui/packages/tgui/interfaces/common/Dpad.tsx b/tgui/packages/tgui/interfaces/common/Dpad.tsx new file mode 100644 index 000000000000..faa2264eb452 --- /dev/null +++ b/tgui/packages/tgui/interfaces/common/Dpad.tsx @@ -0,0 +1,113 @@ +import { useBackend } from '../../backend'; +import { Box, Button, Stack } from '../../components'; +import { useFiremissionXOffsetValue, useFiremissionYOffsetValue, useLazeTarget } from '../MfdPanels/stateManagers'; + +const SvgButton = ( + props: { transform?: string; onClick?: (e: any) => void }, + context +) => { + return ( + + + + + + + ); +}; + +export const Dpad = (props, context) => { + const { act } = useBackend(context); + const { selectedTarget } = useLazeTarget(context); + + const { fmXOffsetValue, setFmXOffsetValue } = + useFiremissionXOffsetValue(context); + const { fmYOffsetValue, setFmYOffsetValue } = + useFiremissionYOffsetValue(context); + + const min_value = -12; + const max_value = 12; + const updateOffset = (e, xValue, yValue) => { + if (xValue < min_value || yValue < min_value) { + return; + } + if (xValue > max_value || yValue > max_value) { + return; + } + setFmXOffsetValue(xValue); + setFmYOffsetValue(yValue); + act('firemission-dual-offset-camera', { + 'target_id': selectedTarget, + 'x_offset_value': xValue, + 'y_offset_value': yValue, + }); + }; + + return ( + + + + + + + + updateOffset(e, fmXOffsetValue - 1, fmYOffsetValue) + } + /> + + + + + + + + + updateOffset(e, fmXOffsetValue, fmYOffsetValue + 1) + } + /> + + +