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/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/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/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/_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/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/minimap.dm b/code/controllers/subsystem/minimap.dm index 64f4b92a1edd..50aec8845dd0 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -883,7 +883,7 @@ SUBSYSTEM_DEF(minimaps) else if(faction == XENO_HIVE_NORMAL) 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) + xeno_maptext("The Queen has updated our hive mind map", "We 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) toolbar_updated_selection = toolbar_color_selection 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/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/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/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/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/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/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/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/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/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/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/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm index eb33ca6b1d0f..0a1d0e8aad07 100644 --- a/code/game/objects/items/reagent_containers/food/snacks.dm +++ b/code/game/objects/items/reagent_containers/food/snacks.dm @@ -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/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/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/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/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/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/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 2854daff2add..d4e84195b0ed 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -1080,6 +1080,7 @@ 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/dropship name = "\improper scoped M56D heavy machine gun" diff --git a/code/modules/decorators/christmas.dm b/code/modules/decorators/christmas.dm index 2a87c7cb494d..5c4126510056 100644 --- a/code/modules/decorators/christmas.dm +++ b/code/modules/decorators/christmas.dm @@ -49,10 +49,12 @@ 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 + 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 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/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/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/survivors.dm b/code/modules/gear_presets/survivors/survivors.dm index ae26fc40938b..f443b46bb177 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,9 +368,58 @@ 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) + +/datum/equipment_preset/survivor/engineer/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/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 +// Used in Trijent Dam and New Varadero. /datum/equipment_preset/survivor/interstellar_commerce_commission_liason name = "Survivor - Interstellar Commerce Commission Liaison" assignment = "Interstellar Commerce Commission Corporate Liaison" @@ -429,7 +443,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/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..3095e805be6a 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,7 +1008,7 @@ 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() var/breakouttime = legcuffed.breakouttime @@ -1021,7 +1017,7 @@ last_special = world.time + 10 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)")) + to_chat(src, SPAN_WARNING("We attempt to remove [legcuffed]. (This will take around [displaytime] minute(s) and we must 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)) @@ -1030,7 +1026,7 @@ 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].")) + to_chat(src, SPAN_NOTICE(" We successfully remove [legcuffed].")) drop_inv_item_on_ground(legcuffed) /mob/living/carbon/xenomorph/IgniteMob() @@ -1088,24 +1084,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..1fb0f3a92269 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) @@ -34,12 +34,12 @@ 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.")) + to_chat(src, SPAN_WARNING("This [O.name] is too tough to be melted by our 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 +54,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 +69,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 +94,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 +123,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 +137,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 +157,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 +169,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 +314,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 +326,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 +339,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 +359,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..ea1c734d9482 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 @@ -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 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..87f58df34472 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 @@ -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..d661f2112a4d 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, 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_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_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..80e4130fccb9 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) @@ -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..81f500245a41 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, 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_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 e0c489c723eb..11317bed9af1 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 @@ -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) @@ -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 e7aa02bef824..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 claws through the area in front of it!"), SPAN_XENODANGER("You slash your claws 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") @@ -119,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) @@ -152,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 @@ -174,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)) @@ -190,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 ..() @@ -217,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)) @@ -280,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) @@ -310,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) @@ -320,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) @@ -395,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) @@ -468,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 @@ -494,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") @@ -509,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)) @@ -528,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()) @@ -565,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 @@ -609,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() @@ -638,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 @@ -650,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()) @@ -676,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 @@ -715,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]!")) @@ -746,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()) @@ -754,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) @@ -776,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) @@ -800,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 @@ -820,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) @@ -838,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 @@ -861,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) @@ -872,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) @@ -883,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 @@ -911,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) @@ -980,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 @@ -993,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) @@ -1007,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) @@ -1029,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_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_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/runner/runner_powers.dm index 06bf3e0e2e0a..dad3a992e404 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) @@ -80,15 +80,15 @@ 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.")) + to_chat(src, SPAN_WARNING("This [object.name] is too tough to be melted by our 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 +110,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 +131,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 +140,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 +156,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 +182,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 +213,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..abc1e43bfccd 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 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..2c16477c1414 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 @@ -10,7 +10,7 @@ // Configurables var/fling_distance = 4 - var/stun_power = 0 + var/stun_power = 0.5 var/weaken_power = 0.5 var/slowdown = 2 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..c25b7e5fc49f 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,14 @@ 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) 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 +68,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 +143,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..9015c0bc84ad 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 @@ -88,26 +88,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,8 +134,8 @@ 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 healer_delegate.salve_applied_recently = TRUE 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..3a97725a6fc4 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" 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/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 a473c06b2b9d..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) 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..6301a4c5ea5b 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 @@ -212,12 +212,12 @@ /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.")) + 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, 1) return if(xeno.hive_pos != XENO_QUEEN) - to_chat(xeno, SPAN_NOTICE("Lights flash from the terminal but you can't comprehend their meaning.")) + 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, 1) return 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/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/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/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..64f1338244b4 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" diff --git a/html/changelogs/AutoChangeLog-pr-5160.yml b/html/changelogs/AutoChangeLog-pr-5160.yml new file mode 100644 index 000000000000..730a2bc41181 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5160.yml @@ -0,0 +1,4 @@ +author: "Birdtalon" +delete-after: True +changes: + - bugfix: "Lurker can tail jab over ledges and window frames." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5174.yml b/html/changelogs/AutoChangeLog-pr-5174.yml deleted file mode 100644 index 5ed65eddc7a6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5174.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "InsaneRed" -delete-after: True -changes: - - 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" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5197.yml b/html/changelogs/AutoChangeLog-pr-5197.yml deleted file mode 100644 index 62024a427cc0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5197.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - bugfix: "M56D can no longer be used by the dead." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-5250.yml b/html/changelogs/AutoChangeLog-pr-5250.yml new file mode 100644 index 000000000000..a2229e1fa453 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5250.yml @@ -0,0 +1,4 @@ +author: "Drathek" +delete-after: True +changes: + - imageadd: "Update weeded warrior sprites to be compatible with knight strain sprite" \ No newline at end of file diff --git a/html/changelogs/archive/2023-12.yml b/html/changelogs/archive/2023-12.yml index e576f72b868b..b0bde6fe0753 100644 --- a/html/changelogs/archive/2023-12.yml +++ b/html/changelogs/archive/2023-12.yml @@ -239,3 +239,167 @@ - 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. 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..31df51cb5cb8 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", 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..9457ccbe9e9f 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" }, diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm index 9c84577bbbdd..ccaf5f201b6f 100644 --- a/maps/map_files/LV624/LV624.dmm +++ b/maps/map_files/LV624/LV624.dmm @@ -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..1c56dc0400ee 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -529,6 +529,17 @@ icon_state = "red" }, /area/almayer/hallways/aft_hallway) +"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{ + icon_state = "redfull" + }, +/area/almayer/command/cic) "abR" = ( /obj/item/tank/phoron, /turf/open/floor/almayer{ @@ -787,12 +798,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 @@ -915,12 +920,20 @@ icon_state = "red" }, /area/almayer/hallways/aft_hallway) -"acT" = ( -/obj/structure/closet/firecloset, +"acS" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = -29 + }, /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{ @@ -1170,15 +1183,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; @@ -1207,13 +1211,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 +1282,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) @@ -1563,17 +1548,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{ @@ -2573,6 +2547,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 +2602,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 +2655,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{ @@ -2950,7 +2948,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 +2960,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 +3310,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; @@ -3504,6 +3524,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 +3735,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 +3755,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; @@ -5350,10 +5414,29 @@ icon_state = "blue" }, /area/almayer/hallways/aft_hallway) +"asr" = ( +/obj/structure/bed/chair/comfy/alpha{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "ast" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer, /area/almayer/engineering/engineering_workshop/hangar) +"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{ + icon_state = "redfull" + }, +/area/almayer/medical/upper_medical) "asv" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/light{ @@ -5771,6 +5854,12 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/engineering/engineering_workshop/hangar) +"atx" = ( +/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_shotgun, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/command/cic) "aty" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ @@ -5946,14 +6035,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"; @@ -6563,13 +6644,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; @@ -7275,6 +7349,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 +7523,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" @@ -7736,6 +7821,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"; @@ -8027,7 +8118,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 +8751,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, @@ -8742,14 +8829,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 +9051,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; @@ -9058,30 +9147,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{ @@ -9474,20 +9539,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 +9594,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; @@ -9727,24 +9772,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 +9934,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 @@ -10139,6 +10160,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"; @@ -10308,19 +10335,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 +10415,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 @@ -10692,25 +10711,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) @@ -11052,14 +11052,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 +11069,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 +11423,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 @@ -11599,9 +11594,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{ @@ -12033,28 +12026,6 @@ 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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "aSl" = ( /obj/structure/machinery/light, /obj/structure/machinery/cm_vending/sorted/medical, @@ -12098,6 +12069,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, @@ -12239,14 +12233,6 @@ /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 +12290,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 +12468,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 @@ -12667,12 +12652,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 @@ -12878,10 +12857,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 +12894,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 @@ -13019,23 +13016,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{ @@ -13247,14 +13227,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; @@ -14633,16 +14605,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; @@ -15162,6 +15124,10 @@ icon_state = "bluefull" }, /area/almayer/living/bridgebunks) +"bhM" = ( +/obj/structure/safe/cl_office, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliason) "bhT" = ( /obj/structure/cargo_container/lockmart/mid{ layer = 3.1; @@ -15256,6 +15222,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,13 +15261,6 @@ /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, @@ -15308,6 +15283,21 @@ "bjg" = ( /turf/open/floor/almayer, /area/almayer/engineering/lower_engineering) +"bjk" = ( +/obj/structure/machinery/door_control{ + id = "perma_lockdown_2"; + name = "Maint Lockdown Shutters"; + pixel_y = -20; + req_one_access_txt = "24;31" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/sign/safety/bulkhead_door{ + pixel_y = -34 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "bjl" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -15419,6 +15409,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 +15450,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 @@ -15629,6 +15635,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, @@ -16239,6 +16255,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 +16285,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{ @@ -16494,6 +16507,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 +16523,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 +16550,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, @@ -16642,12 +16682,6 @@ }, /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, @@ -16738,6 +16772,18 @@ 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, @@ -16955,6 +17001,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) @@ -17491,13 +17546,6 @@ 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 @@ -17551,12 +17599,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,6 +17615,17 @@ icon_state = "silver" }, /area/almayer/living/cryo_cells) +"bvH" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/recharger, +/obj/item/tool/hand_labeler{ + pixel_x = -8; + pixel_y = 3 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/general_equipment) "bvI" = ( /obj/structure/surface/table/almayer, /obj/item/tool/extinguisher, @@ -17644,15 +17697,6 @@ 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" - }, -/area/almayer/hull/upper_hull/u_m_p) "bwc" = ( /obj/structure/barricade/handrail{ dir = 8 @@ -17921,6 +17965,16 @@ 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; @@ -18521,18 +18575,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 @@ -19882,6 +19924,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 @@ -20185,28 +20237,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 +20405,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; @@ -21634,10 +21645,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 @@ -22148,6 +22155,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"; @@ -22241,6 +22261,25 @@ icon_state = "orangefull" }, /area/almayer/engineering/engineering_workshop) +"bQc" = ( +/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 6"; + 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) "bQe" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -22378,6 +22417,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 @@ -22461,24 +22506,6 @@ 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{ @@ -22560,9 +22587,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 @@ -22923,12 +22947,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) @@ -23145,6 +23163,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{ @@ -23357,13 +23388,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 +23421,12 @@ 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) "bVw" = ( /turf/open/floor/almayer{ dir = 4; @@ -23410,35 +23440,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"; @@ -23490,11 +23491,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) @@ -23706,16 +23713,6 @@ 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) @@ -23819,20 +23816,16 @@ 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, /area/almayer/lifeboat_pumps/north2) +"bXE" = ( +/obj/structure/machinery/door_control/cl/office/door{ + pixel_y = 25 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliason) "bXH" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -23916,12 +23909,6 @@ 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 +23932,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, @@ -24301,14 +24295,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 +24387,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 +24402,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; @@ -24845,6 +24846,27 @@ icon_state = "red" }, /area/almayer/living/cryo_cells) +"ccc" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/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 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/medical/containment) "ccd" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, /turf/open/floor/almayer{ @@ -24899,15 +24921,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" @@ -25042,17 +25055,6 @@ 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{ @@ -25184,15 +25186,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, @@ -25270,6 +25263,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{ @@ -25652,30 +25652,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 @@ -25731,10 +25707,7 @@ }, /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 }, @@ -25794,6 +25767,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 +25909,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 +26003,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 +26081,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{ @@ -26168,6 +26140,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 +26307,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{ @@ -26812,6 +26786,16 @@ icon_state = "plating" }, /area/almayer/shipboard/port_point_defense) +"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) "cmp" = ( /turf/closed/wall/almayer, /area/almayer/engineering/engineering_workshop/hangar) @@ -26819,6 +26803,19 @@ /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 +26868,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 +26881,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" @@ -27140,19 +27139,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,6 +27168,14 @@ 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{ @@ -27274,18 +27289,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 +27349,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 +27366,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{ @@ -27379,25 +27385,22 @@ icon_state = "greencorner" }, /area/almayer/hallways/starboard_hallway) +"csp" = ( +/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) "csz" = ( /turf/open/floor/almayer{ 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 +27432,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 +27474,18 @@ 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) "cus" = ( /obj/docking_port/stationary/lifeboat_dock/starboard, /turf/open/floor/almayer_hull{ @@ -27543,6 +27533,18 @@ }, /turf/open/floor/almayer, /area/almayer/command/corporateliason) +"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/shipboard/brig/cells) "cvZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -27641,13 +27643,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{ @@ -27687,18 +27682,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 +27706,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 +27809,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 +27855,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 @@ -27934,6 +27967,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{ @@ -28009,16 +28057,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 +28102,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,12 +28120,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"cFX" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) "cGr" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -28125,17 +28159,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 @@ -28153,6 +28181,15 @@ icon_state = "plate" }, /area/almayer/engineering/lower_engineering) +"cHP" = ( +/obj/structure/machinery/light/small, +/obj/effect/decal/warning_stripes{ + icon_state = "N" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hull/upper_hull/u_f_s) "cIe" = ( /obj/structure/machinery/light{ dir = 4 @@ -28174,19 +28211,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, @@ -28212,14 +28249,6 @@ 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 +28266,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 +28363,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{ @@ -28405,6 +28430,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 @@ -28476,6 +28512,15 @@ 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) "cNX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28485,13 +28530,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{ @@ -28563,29 +28601,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"; @@ -28618,16 +28646,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" @@ -28750,6 +28768,12 @@ 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) "cVs" = ( /obj/structure/platform_decoration{ dir = 8 @@ -28767,12 +28791,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,9 +28847,11 @@ /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, /turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" + icon_state = "red" }, /area/almayer/shipboard/brig/main_office) "cWt" = ( @@ -28859,6 +28879,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 +28899,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; @@ -28992,15 +29003,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" @@ -29064,12 +29087,6 @@ 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) @@ -29148,13 +29165,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 +29172,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 @@ -29219,22 +29237,6 @@ 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) "deg" = ( /obj/structure/platform_decoration{ dir = 1 @@ -29307,15 +29309,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 +29326,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 +29349,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,6 +29382,23 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) +"dha" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) +"dhd" = ( +/obj/structure/window/reinforced/ultra{ + pixel_y = -12 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/bed/chair/bolted, +/turf/open/floor/almayer{ + icon_state = "plating_striped" + }, +/area/almayer/shipboard/brig/execution) "dhQ" = ( /obj/structure/sign/safety/terminal{ pixel_x = -17 @@ -29427,16 +29445,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"; @@ -29475,24 +29483,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" +"diP" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 }, -/area/almayer/command/combat_correspondent) -"djm" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + name = "\improper Brig Lobby"; + closeOtherId = "brignorth" }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +/turf/open/floor/almayer{ + icon_state = "test_floor4" }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/execution) +/area/almayer/shipboard/brig/lobby) "djp" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/mineral/plastic{ @@ -29537,14 +29539,6 @@ icon_state = "orange" }, /area/almayer/engineering/engineering_workshop/hangar) -"djN" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/engineering/upper_engineering/port) "djQ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -29582,25 +29576,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 +29593,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 +29609,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 +29629,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 +29680,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 +29743,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 +29806,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 @@ -29970,34 +29922,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 +29945,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 +29993,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 +30012,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 +30025,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 +30078,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{ @@ -30239,9 +30150,6 @@ }, /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 +30181,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; @@ -30335,19 +30236,20 @@ icon_state = "cargo" }, /area/almayer/engineering/engineering_workshop/hangar) -"dxT" = ( -/obj/structure/machinery/light{ - dir = 4 +"dya" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + dir = 2; + id = "Perma 2"; + name = "\improper cell shutter" }, -/obj/structure/bed/chair{ - dir = 8; - pixel_y = 3 +/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 +30272,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 +30304,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 @@ -30426,23 +30324,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 +30348,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 +30403,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 +30434,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 @@ -30663,14 +30596,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"dDQ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_f_p) "dEm" = ( /obj/structure/machinery/power/apc/almayer, /obj/effect/decal/warning_stripes{ @@ -30712,6 +30637,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 +30667,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 +30695,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, @@ -30818,26 +30769,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; @@ -30886,20 +30828,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 +30869,16 @@ 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) "dII" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/marine/shared/alpha_bravo, /obj/effect/decal/warning_stripes{ @@ -30963,6 +30901,24 @@ 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) "dKm" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -31005,6 +30961,16 @@ 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) "dLt" = ( /obj/structure/sign/safety/hazard{ pixel_x = -17; @@ -31029,6 +30995,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; @@ -31108,10 +31088,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 +31102,21 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/lifeboat) +"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 +31134,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 @@ -31201,6 +31196,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 @@ -31256,27 +31257,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" @@ -31358,6 +31338,15 @@ }, /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) "dTZ" = ( /turf/open/floor/almayer{ icon_state = "sterile_green_side" @@ -31461,23 +31450,6 @@ /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 +31465,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 +31483,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 +31500,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 +31508,17 @@ icon_state = "plate" }, /area/almayer/squads/req) +"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 +31550,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/chapel) -"dYH" = ( -/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) "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."; @@ -31684,12 +31649,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 +31662,31 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) -"ebt" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" +"ebp" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/bed/chair/comfy/bravo{ + dir = 4 }, -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" +/turf/open/floor/almayer{ + icon_state = "plate" }, -/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/living/briefing) +"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 @@ -31769,23 +31733,6 @@ 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) @@ -31802,6 +31749,10 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_s) +"ecP" = ( +/obj/structure/largecrate/random/barrel/blue, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_p) "ecQ" = ( /obj/structure/machinery/door_display/research_cell{ dir = 4; @@ -31846,37 +31797,33 @@ icon_state = "plate" }, /area/almayer/shipboard/navigation) +"edo" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/shipboard/brig/processing) "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 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) -"edM" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/hallways/vehiclehangar) "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 +31882,6 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"eeN" = ( -/obj/structure/bed/chair, -/turf/open/floor/almayer{ - dir = 1; - 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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/main_office) "efK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31991,6 +31893,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 +31963,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, @@ -32126,6 +32027,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 +32075,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 +32087,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 +32145,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 +32152,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 +32193,6 @@ 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" - }, -/area/almayer/shipboard/brig/perma) "elA" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -32330,27 +32211,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 @@ -32420,14 +32294,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"eni" = ( -/obj/structure/surface/table/almayer, -/obj/item/prop/magazine/book/spacebeast, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/evidence_storage) "enx" = ( /obj/structure/pipes/vents/pump, /obj/structure/machinery/status_display{ @@ -32438,18 +32304,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,16 +32323,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"; @@ -32492,22 +32336,6 @@ 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 +32357,6 @@ 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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "eqb" = ( /obj/structure/surface/table/almayer, /obj/item/tool/stamp/denied{ @@ -32650,27 +32466,6 @@ 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" - }, -/area/almayer/shipboard/brig/cryo) -"erz" = ( -/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) "erG" = ( /obj/structure/disposalpipe/junction{ dir = 2; @@ -32714,20 +32509,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 +32559,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 +32622,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 +32653,6 @@ icon_state = "logo_c" }, /area/almayer/command/cic) -"euY" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/engineering/upper_engineering/port) "eva" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 32 @@ -32917,6 +32690,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 +32724,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 +32766,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 +32796,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 +32852,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 +32876,15 @@ 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) "eAL" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -33128,6 +32892,14 @@ icon_state = "red" }, /area/almayer/command/lifeboat) +"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 +32948,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 +32973,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 +33004,35 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) -"eCS" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 +"eCG" = ( +/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/corporateliason) +"eCI" = ( +/obj/structure/window/reinforced/ultra{ + pixel_y = -12 + }, +/obj/structure/bed/chair/bolted, /turf/open/floor/almayer{ - icon_state = "bluefull" + dir = 5; + icon_state = "plating" }, -/area/almayer/living/briefing) +/area/almayer/shipboard/brig/execution) "eDo" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -33254,6 +33043,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 +33092,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 +33147,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 +33201,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{ @@ -33560,6 +33385,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; @@ -33659,6 +33495,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; @@ -33706,24 +33552,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 +33581,6 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"eOR" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - 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) "ePk" = ( /obj/structure/airlock_assembly, /turf/open/floor/plating, @@ -33780,12 +33601,6 @@ 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; @@ -33819,19 +33634,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 @@ -33899,47 +33713,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 @@ -34006,23 +33779,15 @@ }, /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 @@ -34055,6 +33820,28 @@ }, /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 +33888,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 +33907,28 @@ /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) "eYr" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -34160,6 +33968,12 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"eYF" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + icon_state = "emeraldfull" + }, +/area/almayer/living/briefing) "eYH" = ( /obj/structure/platform{ dir = 4 @@ -34211,13 +34025,19 @@ allow_construction = 0 }, /area/almayer/hallways/port_hallway) -"eZj" = ( -/obj/structure/closet/secure_closet/guncabinet, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" +"eZo" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/area/almayer/shipboard/brig/main_office) +/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) "eZz" = ( /obj/structure/sign/safety/water{ pixel_x = 8; @@ -34245,6 +34065,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 +34080,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 +34145,6 @@ 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 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/shipboard/brig/cic_hallway) "fbw" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34338,26 +34167,6 @@ 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" - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/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 - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/execution) "fcf" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -34468,6 +34277,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 +34326,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 @@ -34662,38 +34456,11 @@ icon_state = "orange" }, /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/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) "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 +34540,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{ @@ -34828,18 +34587,6 @@ 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{ @@ -34940,35 +34687,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, @@ -35002,6 +34720,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 +34773,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 +34806,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 +34816,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 +34825,6 @@ 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" - }, -/area/almayer/shipboard/brig/armory) "fsU" = ( /obj/structure/machinery/floodlight/landing{ name = "bolted floodlight" @@ -35174,21 +34879,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 +34899,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 +34913,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 +34953,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,6 +34997,17 @@ 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 @@ -35336,6 +35047,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; @@ -35375,6 +35093,15 @@ icon_state = "plate" }, /area/almayer/shipboard/weapon_room) +"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{ @@ -35440,12 +35167,32 @@ /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) +"fAN" = ( +/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) "fAS" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -35500,15 +35247,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 +35275,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{ @@ -35649,16 +35381,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 +35416,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 +35456,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 +35484,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; @@ -35807,19 +35522,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; @@ -35941,6 +35643,15 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_s) +"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 +35679,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,14 +35737,12 @@ icon_state = "plate" }, /area/almayer/living/grunt_rnr) -"fLn" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "red" +"fLF" = ( +/obj/structure/machinery/brig_cell/perma_2{ + pixel_x = -32 }, -/area/almayer/shipboard/brig/general_equipment) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "fLX" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -36026,6 +35754,20 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/lower_engineering) +"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 +35841,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 +35848,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" @@ -36244,6 +35968,20 @@ /obj/effect/step_trigger/clone_cleaner, /turf/closed/wall/almayer, /area/almayer/hull/upper_hull/u_m_p) +"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 +36004,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"; @@ -36301,6 +36047,13 @@ /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 +36103,21 @@ "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) "fVz" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -36370,6 +36138,18 @@ icon_state = "dark_sterile" }, /area/almayer/medical/chemistry) +"fWi" = ( +/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) "fWT" = ( /obj/structure/machinery/door/airlock/almayer/engineering{ dir = 2; @@ -36398,16 +36178,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 +36198,33 @@ /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) "fYb" = ( /turf/open/floor/almayer{ dir = 8; @@ -36464,34 +36250,12 @@ /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 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "fYG" = ( /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/shipboard/brig/chief_mp_office) "fYZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -36524,6 +36288,21 @@ 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 +36325,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 +36413,29 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"gbw" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"gbO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera" + }, +/obj/structure/closet/emcloset, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hull/upper_hull/u_f_p) "gbQ" = ( /obj/structure/toilet{ dir = 8 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/corporateliason) -"gbX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) "gcc" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -36650,12 +36445,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"gcw" = ( -/obj/structure/bed/chair/comfy/bravo, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "gcK" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -36710,15 +36499,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 @@ -36795,20 +36575,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 +36588,12 @@ }, /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) "gfu" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -36839,10 +36611,6 @@ /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) "gfS" = ( /obj/structure/sign/safety/cryo{ pixel_y = -26 @@ -36907,14 +36675,6 @@ /obj/effect/landmark/start/liaison, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_m_p) -"ghX" = ( -/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) "gio" = ( /obj/structure/closet/emcloset, /obj/structure/sign/safety/restrictedarea{ @@ -36948,19 +36708,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 +36811,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, @@ -37142,16 +36899,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{ @@ -37183,6 +36930,15 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) +"gob" = ( +/obj/structure/closet/fireaxecabinet{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "goj" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 2; @@ -37222,17 +36978,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 +37024,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 +37040,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{ @@ -37427,6 +37154,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 @@ -37507,6 +37247,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 +37287,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{ @@ -37671,23 +37416,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 +37481,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 @@ -37890,21 +37631,17 @@ 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) +"gBt" = ( +/obj/structure/window/framed/almayer, +/obj/structure/machinery/door/poddoor/shutters/almayer/cl/quarter/window, +/turf/open/floor/plating, +/area/almayer/command/corporateliason) "gBW" = ( /obj/structure/machinery/floodlight/landing{ name = "bolted floodlight" @@ -37940,17 +37677,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 +37698,30 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"gDq" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 +"gDt" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/crew/alt{ + dir = 4 }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 2 +/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, -/area/almayer/hull/upper_hull/u_f_p) +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) +"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,22 +37755,6 @@ 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 @@ -38057,6 +37794,13 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_p) +"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 +37809,22 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"gGl" = ( -/obj/structure/surface/table/almayer, -/obj/item/device/taperecorder, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) -"gGo" = ( +"gGp" = ( /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 +37890,26 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) +"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) "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 +37945,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 @@ -38229,12 +37989,6 @@ 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" - }, -/area/almayer/squads/req) "gJP" = ( /obj/structure/machinery/light, /obj/structure/disposalpipe/segment{ @@ -38263,13 +38017,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; @@ -38350,6 +38097,14 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"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 +38129,6 @@ icon_state = "green" }, /area/almayer/hallways/aft_hallway) -"gMf" = ( -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "gMx" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating/plating_catwalk, @@ -38446,14 +38191,6 @@ 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 +38216,6 @@ /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 - }, -/obj/structure/bed/chair/comfy/bravo{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "gOs" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -38612,14 +38337,6 @@ 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 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) "gSj" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -38647,37 +38364,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 +38387,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" @@ -38768,18 +38455,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 +38465,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; @@ -38876,6 +38567,24 @@ icon_state = "plating" }, /area/almayer/hull/lower_hull/l_a_p) +"gXx" = ( +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silvercorner" + }, +/area/almayer/shipboard/brig/cic_hallway) +"gXB" = ( +/obj/structure/pipes/vents/pump, +/obj/structure/bed/chair/comfy/delta{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "bluefull" + }, +/area/almayer/living/briefing) "gXY" = ( /obj/structure/machinery/light{ dir = 8 @@ -39026,6 +38735,22 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"haI" = ( +/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) "haM" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/machinery/constructable_frame, @@ -39061,6 +38786,16 @@ icon_state = "silver" }, /area/almayer/living/auxiliary_officer_office) +"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{ + icon_state = "redfull" + }, +/area/almayer/medical/upper_medical) "hbZ" = ( /obj/structure/surface/table/almayer, /obj/structure/sign/safety/terminal{ @@ -39146,6 +38881,16 @@ "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; @@ -39226,13 +38971,27 @@ icon_state = "plate" }, /area/almayer/engineering/engine_core) -"hey" = ( -/obj/effect/decal/cleanable/blood/oil/streak, -/obj/structure/machinery/sentry_holder/almayer, +"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 + }, /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 +39001,6 @@ 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 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "heV" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -39288,22 +39033,6 @@ 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, @@ -39361,21 +39090,6 @@ icon_state = "silvercorner" }, /area/almayer/command/computerlab) -"hgF" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera" - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/execution) "hgH" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 1; @@ -39433,6 +39147,17 @@ /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{ @@ -39449,6 +39174,14 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"hiy" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/lifeboat_pumps/north1) "hiB" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -39462,13 +39195,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 +39245,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 +39304,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 @@ -39683,6 +39444,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 +39479,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 +39521,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; @@ -39819,6 +39577,16 @@ icon_state = "cargo" }, /area/almayer/hull/lower_hull/l_f_s) +"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,6 +39643,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"hrO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) "hrX" = ( /obj/structure/closet/secure_closet/engineering_welding, /obj/structure/machinery/light{ @@ -39894,6 +39671,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) @@ -39918,6 +39704,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 @@ -39949,18 +39747,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; @@ -40033,22 +39819,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 @@ -40142,21 +39912,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 +39926,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 +39957,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 +39968,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" @@ -40338,6 +40066,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 +40081,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 +40120,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 +40161,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 @@ -40471,6 +40201,29 @@ }, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"hED" = ( +/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) "hEV" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -40504,23 +40257,6 @@ /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" @@ -40588,6 +40324,21 @@ icon_state = "plate" }, /area/almayer/hallways/vehiclehangar) +"hHM" = ( +/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) "hHR" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -40607,23 +40358,6 @@ 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 - }, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "hII" = ( /obj/structure/machinery/cm_vending/gear/tl{ density = 0; @@ -40638,36 +40372,12 @@ 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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/command/combat_correspondent) "hJk" = ( /obj/structure/stairs/perspective{ dir = 4; @@ -40741,6 +40451,61 @@ icon_state = "cargo_arrow" }, /area/almayer/engineering/engineering_workshop/hangar) +"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 + }, +/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{ @@ -40774,6 +40539,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, @@ -40795,20 +40566,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 +40590,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,6 +40599,15 @@ /obj/item/tool/shovel/etool/folded, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) +"hNY" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/chief_mp_office) "hOe" = ( /obj/structure/sign/safety/hazard{ pixel_x = 32; @@ -40898,6 +40665,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 +40705,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) -"hQh" = ( -/obj/structure/machinery/light, -/obj/structure/closet/secure_closet/fridge/groceries/stock, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) "hQU" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -40999,18 +40762,6 @@ }, /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 - }, -/obj/item/storage/firstaid/regular, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/execution) "hRW" = ( /obj/effect/decal/warning_stripes{ icon_state = "S"; @@ -41200,6 +40951,23 @@ /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/upper_hull/u_f_s) +"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; @@ -41304,24 +41072,12 @@ icon_state = "blue" }, /area/almayer/command/cichallway) -"hWS" = ( -/obj/structure/closet/secure_closet/fridge/organic/stock, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/grunt_rnr) "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 +41115,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; @@ -41424,6 +41183,12 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) +"hYN" = ( +/obj/structure/machinery/door_control/cl/quarter/officedoor{ + pixel_x = 25 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliason) "hZj" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -41433,6 +41198,16 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) +"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 +41224,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 +41233,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, @@ -41508,12 +41289,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 +41331,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 +41360,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 +41467,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,12 +41482,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{ @@ -41834,19 +41569,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"; @@ -41943,6 +41682,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,26 +41713,37 @@ /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 +"ikE" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 }, -/obj/structure/machinery/computer/card{ - pixel_x = -16 +/obj/structure/machinery/door_control/cl/quarter/windows{ + pixel_x = 11; + pixel_y = 37 }, -/obj/structure/machinery/light{ - dir = 1 +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliason) +"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/structure/sign/safety/terminal{ - pixel_x = 8; - pixel_y = 32 +/obj/item/paper_bin/uscm{ + pixel_x = 7; + pixel_y = 6 }, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/item/tool/pen/red/clicky{ + pixel_x = -6; + pixel_y = 3 }, -/area/almayer/shipboard/brig/main_office) +/obj/item/tool/pen/blue/clicky{ + pixel_x = -6; + pixel_y = -3 + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "ils" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, @@ -42051,14 +41809,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 +41856,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 +41866,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{ @@ -42143,6 +41886,13 @@ "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 +41965,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 +41985,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 +41996,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 +42022,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 +42054,6 @@ 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 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "isC" = ( /obj/effect/projector{ name = "Almayer_AresDown"; @@ -42336,19 +42068,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 +42090,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 @@ -42460,16 +42179,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, @@ -42487,16 +42196,6 @@ 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) "ivf" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/camera, @@ -42585,10 +42284,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 +42368,6 @@ }, /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" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/main_office) "iyH" = ( /obj/structure/surface/table/reinforced/almayer_B{ climbable = 0; @@ -42703,17 +42407,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; @@ -42786,6 +42479,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) @@ -42924,18 +42627,25 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_a_p) -"iET" = ( -/obj/structure/machinery/light{ - dir = 1 +"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 }, -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk, /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 +42687,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 @@ -43049,6 +42744,26 @@ "iHc" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/notunnel) +"iHC" = ( +/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/corporateliason) "iHF" = ( /obj/structure/largecrate/random, /obj/item/reagent_container/food/snacks/cheesecakeslice{ @@ -43081,18 +42796,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 +42907,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 +42939,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 +42974,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 +43016,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 +43034,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 +43073,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 +43142,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 +43257,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 +43289,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 @@ -43622,14 +43378,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 +43426,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 +43466,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 +43493,6 @@ 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" - }, -/area/almayer/living/briefing) "iXT" = ( /obj/item/trash/uscm_mre, /turf/open/floor/almayer, @@ -43870,15 +43584,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 +43610,6 @@ 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) "iZH" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -43953,6 +43653,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 +43690,15 @@ 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) "jaR" = ( /obj/structure/largecrate/random/mini/small_case/b{ pixel_x = 8; @@ -44064,6 +43776,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{ @@ -44091,19 +43837,6 @@ 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 @@ -44131,6 +43864,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_a_p) +"jdF" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/almayer/command/corporateliason) "jdG" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -44197,15 +43936,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 @@ -44273,7 +44003,7 @@ /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 +44062,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 +44166,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 +44210,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 +44257,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 +44292,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 +44314,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 +44382,28 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"jkL" = ( +"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) "jlA" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -44684,6 +44464,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" @@ -44753,31 +44546,12 @@ 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 - }, -/area/almayer/shipboard/brig/lobby) "jnX" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -44788,36 +44562,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{ @@ -44875,11 +44619,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 +44639,12 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) +"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 +44672,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 +44721,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"; @@ -45027,14 +44756,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 +44793,14 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_p) -"jvJ" = ( -/obj/effect/decal/cleanable/dirt, +"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,16 +44867,16 @@ }, /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) @@ -45184,6 +44907,15 @@ 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{ @@ -45216,18 +44948,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 +44998,6 @@ 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 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) "jCK" = ( /obj/effect/decal/medical_decals{ icon_state = "triagedecalbottomleft"; @@ -45370,27 +45043,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 @@ -45437,17 +45095,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 +45193,31 @@ }, /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) -"jIV" = ( -/obj/structure/surface/rack, -/obj/item/book/manual/marine_law{ - pixel_x = -3; - pixel_y = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) +/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) "jJe" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -45572,17 +45239,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 +45348,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 +45422,16 @@ }, /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) "jMG" = ( /obj/structure/largecrate/random/case/small, /obj/structure/largecrate/random/mini/wooden{ @@ -45832,14 +45515,16 @@ 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) "jOi" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -45887,17 +45572,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" @@ -45927,18 +45601,24 @@ }, /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 @@ -45984,15 +45664,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{ @@ -46123,10 +45794,15 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/engineering_workshop/hangar) -"jUo" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, +"jUq" = ( +/obj/structure/machinery/firealarm{ + pixel_y = -28 + }, +/obj/structure/bed/chair/comfy/charlie{ + dir = 1 + }, /turf/open/floor/almayer{ - icon_state = "orangefull" + icon_state = "plate" }, /area/almayer/living/briefing) "jUs" = ( @@ -46226,6 +45902,13 @@ 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) "jWh" = ( /turf/closed/wall/almayer, /area/almayer/engineering/upper_engineering/port) @@ -46251,29 +45934,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 +45941,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 +45970,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" @@ -46322,6 +46026,16 @@ icon_state = "mono" }, /area/almayer/hallways/vehiclehangar) +"jYA" = ( +/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) "jYR" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -46347,23 +46061,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 +46096,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"jZL" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/almayer_network{ - dir = 1 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/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, -/area/almayer/shipboard/brig/main_office) "jZO" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ @@ -46508,20 +46187,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"; @@ -46580,6 +46259,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 +46294,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; @@ -46634,6 +46326,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, @@ -46672,28 +46372,23 @@ 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" - }, -/area/almayer/living/briefing) -"kfN" = ( -/obj/structure/closet/secure_closet/brig, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "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 +46399,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 +46438,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 @@ -46795,17 +46492,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 @@ -46868,12 +46560,23 @@ 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, -/area/almayer/shipboard/brig/surgery) +/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) "kkt" = ( /obj/structure/surface/table/almayer, /obj/item/book/manual/marine_law, @@ -46881,6 +46584,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{ @@ -46905,15 +46622,6 @@ icon_state = "plating" }, /area/almayer/engineering/engine_core) -"klG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) "klH" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -46931,6 +46639,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{ @@ -46983,12 +46697,6 @@ }, /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 +46721,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 @@ -47071,14 +46790,6 @@ /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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/aft_hallway) "kpo" = ( /obj/structure/machinery/floodlight/landing{ name = "bolted floodlight" @@ -47226,6 +46937,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 +46964,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 +46998,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 +47015,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,18 +47045,6 @@ }, /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{ @@ -47342,6 +47072,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 +47102,13 @@ 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) "kvh" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/station_alert{ @@ -47382,6 +47130,18 @@ /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 +47218,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 +47230,6 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) -"kxM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/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 - }, -/turf/open/floor/wood/ship, -/area/almayer/shipboard/brig/chief_mp_office) "kyN" = ( /obj/structure/disposalpipe/segment, /obj/structure/sign/safety/distribution_pipes{ @@ -47508,19 +47240,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 +47280,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{ @@ -47635,6 +47376,22 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"kAt" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 2 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/command/corporateliason) +"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 +47401,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 +47499,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 +47539,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 +47562,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 +47597,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{ @@ -47877,6 +47697,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; @@ -47938,13 +47770,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,6 +47822,12 @@ icon_state = "plate" }, /area/almayer/squads/alpha) +"kJm" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "kJC" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -48019,10 +47850,6 @@ 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) "kJL" = ( /obj/structure/machinery/constructable_frame{ icon_state = "box_2" @@ -48038,6 +47865,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 +47923,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 @@ -48191,18 +48015,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 +48064,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 +48084,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 @@ -48321,13 +48133,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/aft_hallway) -"kPo" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 4; - name = "ship-grade camera" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) "kPx" = ( /obj/structure/surface/table/almayer, /obj/item/device/mass_spectrometer, @@ -48365,6 +48170,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 +48211,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 +48235,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 +48244,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 @@ -48486,6 +48301,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 +48357,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 +48387,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 +48435,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 @@ -48675,6 +48490,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; @@ -48731,13 +48572,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{ @@ -48773,6 +48607,24 @@ 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{ @@ -48819,6 +48671,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,23 +48701,6 @@ 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 - }, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "lah" = ( /turf/open/floor/almayer{ dir = 6; @@ -48886,15 +48727,6 @@ }, /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 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "laO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48938,6 +48770,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 +48801,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 +48864,6 @@ }, /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) "ldl" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 @@ -49047,17 +48894,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 @@ -49148,26 +48984,6 @@ icon_state = "plating" }, /area/almayer/engineering/engine_core) -"lfT" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/card{ - dir = 4; - pixel_x = 2 - }, -/turf/open/floor/carpet, -/area/almayer/living/commandbunks) -"lfW" = ( -/obj/structure/sign/safety/high_voltage{ - pixel_y = -32 - }, -/obj/structure/sign/safety/maint{ - pixel_x = 14; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "lgy" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -49179,6 +48995,28 @@ }, /turf/open/floor/plating, /area/almayer/living/cryo_cells) +"lgF" = ( +/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 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "lgK" = ( /obj/structure/machinery/cm_vending/clothing/senior_officer{ density = 0; @@ -49345,15 +49183,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 +49214,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 +49261,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" @@ -49426,22 +49305,6 @@ 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 - }, -/turf/open/floor/almayer, -/area/almayer/squads/req) -"llD" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/command/combat_correspondent) "llM" = ( /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, @@ -49488,6 +49351,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 +49374,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 +49407,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 +49443,30 @@ 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) "loK" = ( /obj/structure/closet/crate/medical, /obj/item/storage/firstaid/adv, @@ -49630,6 +49518,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" @@ -49750,16 +49646,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 +49669,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 +49727,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 +49758,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 +49776,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 +49799,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 +49809,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{ @@ -49981,15 +49853,16 @@ 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; @@ -50029,6 +49902,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 +49921,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 +49996,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 +50030,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 @@ -50163,61 +50059,12 @@ 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; @@ -50340,20 +50187,17 @@ 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 +"lCp" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/obj/structure/sign/safety/hazard{ - pixel_y = 32 +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/main_office) +"lCr" = ( +/turf/open/floor/almayer{ + 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; @@ -50374,15 +50218,13 @@ 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) +/area/almayer/living/briefing) "lCS" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out"; @@ -50406,13 +50248,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 +50264,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 +50302,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 @@ -50540,6 +50374,14 @@ icon_state = "blue" }, /area/almayer/living/port_emb) +"lFj" = ( +/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) "lFm" = ( /turf/open/floor/almayer{ dir = 8; @@ -50555,19 +50397,6 @@ 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) "lFt" = ( /obj/structure/machinery/portable_atmospherics/powered/pump, /obj/structure/sign/safety/maint{ @@ -50605,6 +50434,29 @@ }, /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 @@ -50707,6 +50559,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 @@ -50779,6 +50640,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 +50670,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 @@ -50847,20 +50731,6 @@ /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 @@ -50901,6 +50771,12 @@ icon_state = "plating_striped" }, /area/almayer/squads/req) +"lMx" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/engineering/upper_engineering/starboard) "lMM" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -50925,27 +50801,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,19 +50825,12 @@ 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, +"lNN" = ( +/obj/structure/closet/secure_closet/medical2, /turf/open/floor/almayer{ - icon_state = "redcorner" + icon_state = "sterile_green_side" }, -/area/almayer/shipboard/brig/execution) +/area/almayer/shipboard/brig/surgery) "lOl" = ( /obj/structure/machinery/light{ dir = 8 @@ -51014,6 +50862,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{ @@ -51050,15 +50908,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{ @@ -51123,6 +50972,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 +51037,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 +51077,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 +51154,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 +51238,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,13 +51282,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; @@ -51478,25 +51340,6 @@ 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 +51370,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{ @@ -51672,19 +51499,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 +51534,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 +51592,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{ @@ -51840,25 +51676,35 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/engineering_workshop/hangar) -"mkk" = ( -/obj/structure/disposalpipe/segment, +"mki" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/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) +"mko" = ( +/obj/item/tool/weldpack{ + pixel_y = 15 }, +/obj/structure/surface/table/almayer, +/obj/item/clothing/head/welding, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "plate" }, -/area/almayer/command/corporateliason) +/area/almayer/hull/upper_hull/u_m_s) "mkG" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -52067,6 +51913,19 @@ /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) +"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 +52111,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; @@ -52296,48 +52166,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, @@ -52357,18 +52185,18 @@ icon_state = "plate" }, /area/almayer/squads/alpha) -"muQ" = ( -/obj/structure/machinery/cm_vending/clothing/dress{ - density = 0; - pixel_y = 16 +"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 }, /obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" + dir = 1 }, -/area/almayer/command/cic) +/turf/open/floor/wood/ship, +/area/almayer/living/commandbunks) "mvl" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52382,15 +52210,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 +52253,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 +52323,19 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) +"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 +52370,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 @@ -52556,25 +52451,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 @@ -52602,20 +52478,6 @@ /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" - }, -/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) "mAV" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ @@ -52672,12 +52534,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 +52574,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{ @@ -52746,6 +52625,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 +52669,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; @@ -52826,12 +52730,6 @@ /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 +52741,15 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_s) +"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 +52782,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 +52859,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 +52869,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 +52979,6 @@ /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 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/cryo) "mKq" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/living/bridgebunks) @@ -53075,6 +53006,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 @@ -53129,24 +53069,6 @@ /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 - }, -/obj/structure/prop/holidays/string_lights{ - dir = 8; - pixel_x = 29 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "mLu" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -53181,14 +53103,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 +53139,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 +53169,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, @@ -53360,6 +53291,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" @@ -53433,6 +53373,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 +53429,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 +53494,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 +53541,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; @@ -53622,11 +53614,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/lower_engineering) -"mVi" = ( -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/cryo) "mVE" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -53649,33 +53636,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,19 +53703,6 @@ 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) @@ -53793,17 +53740,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 +53763,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"; @@ -53866,6 +53806,17 @@ 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) "naf" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -53887,17 +53838,18 @@ "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 +53877,23 @@ icon_state = "test_floor4" }, /area/almayer/living/gym) -"nbr" = ( -/obj/structure/machinery/light{ - dir = 1 +"ncf" = ( +/obj/structure/machinery/cryopod/right{ + layer = 3.1; + pixel_y = 13 + }, +/obj/structure/machinery/status_display{ + pixel_x = 32 }, -/obj/structure/closet/secure_closet/guncabinet/red/cic_armory_shotgun, /turf/open/floor/almayer{ - icon_state = "redfull" + icon_state = "cargo" }, -/area/almayer/command/cic) +/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 @@ -54034,28 +53994,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 @@ -54119,6 +54079,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{ @@ -54202,7 +54187,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 +54210,7 @@ pixel_y = -6; req_access_txt = "3" }, +/obj/structure/surface/table/almayer, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) "nig" = ( @@ -54392,18 +54377,44 @@ 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/living/briefing) -"nlH" = ( -/turf/open/floor/almayer{ +/area/almayer/shipboard/brig/processing) +"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, @@ -54469,12 +54480,6 @@ 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) "nnc" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -54514,17 +54519,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 +54534,12 @@ /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" - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 +"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 +54550,6 @@ 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" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/armory) "nos" = ( /obj/structure/machinery/chem_storage/medbay{ dir = 1 @@ -54612,35 +54592,29 @@ icon_state = "dark_sterile" }, /area/almayer/medical/containment) -"npB" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 +"npO" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" }, -/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 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/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 +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/lobby) +"nqe" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 2 }, -/obj/structure/prop/server_equipment/laptop{ - pixel_x = -2; - pixel_y = 1 +/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 +54636,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 +54655,6 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north2) -"nqZ" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30; - pixel_y = -6 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "nrt" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -54753,6 +54723,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,20 +54769,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, @@ -54816,12 +54788,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 +54835,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{ @@ -54907,6 +54873,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 +54938,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 +54996,15 @@ icon_state = "green" }, /area/almayer/squads/req) -"nxq" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Warden Office" - }, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 2; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" +"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) "nxK" = ( /obj/structure/sign/safety/high_voltage{ pixel_y = -32 @@ -55098,17 +55059,6 @@ "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 - }, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) "nzv" = ( /obj/structure/filingcabinet/filingcabinet, /obj/item/clipboard, @@ -55129,18 +55079,6 @@ 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) "nzO" = ( /obj/effect/decal/cleanable/blood/oil, /obj/effect/decal/warning_stripes{ @@ -55165,41 +55103,12 @@ 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 - }, -/obj/structure/sign/safety/restrictedarea{ - pixel_x = -17; - pixel_y = -8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/perma) "nBw" = ( /turf/open/floor/almayer{ dir = 1; @@ -55242,6 +55151,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,6 +55199,19 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"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) "nDh" = ( /obj/structure/transmitter/rotary{ name = "CL Office Telephone"; @@ -55289,11 +55251,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 +55340,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{ @@ -55460,15 +55429,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 +55447,6 @@ icon_state = "plating_striped" }, /area/almayer/living/cryo_cells) -"nHV" = ( -/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/general_equipment) "nIj" = ( /turf/open/floor/almayer{ icon_state = "green" @@ -55553,22 +55507,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/basketball) -"nIW" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/obj/structure/bed/chair/comfy/bravo{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "orangefull" - }, -/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) "nJs" = ( /obj/structure/largecrate/random/case, /turf/open/floor/almayer{ @@ -55587,6 +55525,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 +55549,6 @@ icon_state = "red" }, /area/almayer/command/lifeboat) -"nKs" = ( -/obj/structure/machinery/cm_vending/clothing/dress{ - pixel_y = 0; - req_access = list(1) - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/living/commandbunks) -"nKJ" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "nLa" = ( /obj/structure/bed/chair{ dir = 4 @@ -55728,12 +55657,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 +55665,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 +55674,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{ @@ -55795,16 +55713,6 @@ 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 +55740,9 @@ 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" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/perma) +"nOC" = ( +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "nOG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55859,6 +55758,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 +55835,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 +55866,6 @@ /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) "nRq" = ( /obj/effect/decal/cleanable/blood/oil/streak, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -55970,17 +55881,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 +55891,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 +55911,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{ @@ -56054,6 +55948,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; @@ -56094,6 +55992,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 +56051,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 +56084,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 +56120,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 +56129,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 +56200,15 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_a_s) +"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"; @@ -56279,22 +56227,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 +56316,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 +56421,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; @@ -56608,22 +56534,26 @@ 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 +56601,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 +56694,19 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"ojv" = ( +/obj/structure/machinery/door/airlock/almayer/generic/corporate, +/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" + }, +/area/almayer/command/corporateliason) "ojF" = ( /obj/structure/machinery/cm_vending/clothing/tl/charlie{ density = 0; @@ -56828,14 +56783,6 @@ 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 +56791,6 @@ 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" - }, -/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) "olM" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -56950,10 +56849,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 +56866,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 +56919,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 +56948,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 +56959,34 @@ "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) +"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" - }, -/area/almayer/shipboard/brig/processing) "oqu" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -57135,14 +57035,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 +57049,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{ @@ -57207,6 +57109,21 @@ /obj/structure/largecrate/random/secure, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_p) +"orw" = ( +/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/corporateliason) "orH" = ( /turf/open/floor/almayer/uscm/directional{ dir = 10 @@ -57281,21 +57198,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_p) -"osJ" = ( -/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" - }, -/turf/open/floor/wood/ship, -/area/almayer/shipboard/brig/chief_mp_office) "osT" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/prop/ice_colony/hula_girl{ @@ -57304,21 +57206,19 @@ }, /turf/open/floor/almayer, /area/almayer/living/pilotbunks) -"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; - dir = 1; - name = "\improper Flight Crew Quarters"; - req_one_access_txt = "19;22" +"osU" = ( +/obj/structure/sign/poster{ + icon_state = "poster14"; + pixel_x = -27 }, +/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/living/pilotbunks) +/area/almayer/living/briefing) +"otu" = ( +/turf/closed/wall/almayer/research/containment/wall/connect_w, +/area/almayer/medical/containment/cell) "otX" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -57377,33 +57277,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; @@ -57505,14 +57378,6 @@ }, /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 +57400,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 @@ -57706,24 +57554,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 +57572,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 +57590,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 +57625,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 +57656,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 @@ -57929,6 +57763,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 @@ -58002,16 +57839,12 @@ icon_state = "test_floor4" }, /area/almayer/engineering/laundry) -"oIc" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 4 - }, -/obj/structure/machinery/light/small, +"oIh" = ( /turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" + dir = 8; + icon_state = "red" }, -/area/almayer/shipboard/brig/perma) +/area/almayer/shipboard/brig/processing) "oIn" = ( /obj/structure/bed/chair{ dir = 8; @@ -58034,7 +57867,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 +57877,15 @@ 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) "oJp" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -58171,7 +58002,7 @@ }, /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{ @@ -58221,13 +58052,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 +58074,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 +58108,16 @@ 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) "oOO" = ( /obj/structure/sign/safety/debark_lounge{ pixel_x = 15; @@ -58312,6 +58154,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,6 +58173,28 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"oPz" = ( +/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) "oPD" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -58457,18 +58330,6 @@ 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 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/processing) "oSq" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -58496,6 +58357,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 @@ -58572,6 +58442,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 @@ -58612,17 +58499,6 @@ 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, @@ -58710,6 +58586,35 @@ icon_state = "red" }, /area/almayer/living/offices/flight) +"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 +58638,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 +58673,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 +58688,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 +58777,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,18 +58792,6 @@ 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" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/chief_mp_office) "pef" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/sign/safety/maint{ @@ -58940,6 +58809,20 @@ icon_state = "test_floor4" }, /area/almayer/hallways/aft_hallway) +"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{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/lobby) "pfa" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -58958,19 +58841,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 @@ -58989,18 +58859,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 +58887,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 +58925,58 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"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, @@ -59139,6 +59052,16 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/engineering_workshop/hangar) +"pjR" = ( +/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) "pky" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/almayer{ @@ -59167,25 +59090,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 +59129,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,12 +59157,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) +"pnL" = ( +/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) "pop" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -59268,18 +59209,6 @@ }, /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{ @@ -59355,6 +59284,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 @@ -59458,6 +59396,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{ @@ -59488,6 +59439,36 @@ icon_state = "orange" }, /area/almayer/engineering/engineering_workshop) +"puv" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/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 +59557,6 @@ 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" - }, -/area/almayer/shipboard/brig/processing) "pwK" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -59634,20 +59606,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{ @@ -59723,16 +59681,6 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) -"pzc" = ( -/obj/structure/pipes/vents/pump, -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "pzG" = ( /obj/docking_port/stationary/emergency_response/port1, /turf/open/floor/almayer{ @@ -59889,6 +59837,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,32 +59905,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 @@ -59991,22 +59926,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 @@ -60083,6 +60002,15 @@ icon_state = "bluecorner" }, /area/almayer/living/basketball) +"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/surface/table/almayer, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/shipboard/brig/armory) "pIf" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -60101,18 +60029,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 +60043,28 @@ }, /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{ - dir = 1 +/area/almayer/lifeboat_pumps/north1) +"pJv" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 }, -/obj/structure/largecrate/random/secure{ - pixel_x = -5 +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 8; + icon_state = "redcorner" }, -/area/almayer/hull/upper_hull/u_m_s) +/area/almayer/shipboard/brig/main_office) "pJD" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 @@ -60175,48 +60084,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"; @@ -60288,6 +60161,15 @@ 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{ @@ -60321,6 +60203,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 +60238,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 @@ -60448,16 +60344,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,28 +60374,6 @@ 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" @@ -60504,6 +60384,12 @@ icon_state = "plating" }, /area/almayer/engineering/engine_core) +"pQr" = ( +/obj/structure/bed, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/brig/perma) "pQu" = ( /obj/structure/machinery/chem_dispenser/soda{ pixel_y = 20 @@ -60620,12 +60506,6 @@ icon_state = "test_floor5" }, /area/almayer/medical/hydroponics) -"pSH" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) "pSL" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -60681,16 +60561,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 +60584,6 @@ }, /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) "pUp" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -60750,6 +60611,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 +60649,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; @@ -60870,18 +60747,6 @@ 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{ @@ -60974,12 +60839,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 +60849,6 @@ }, /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" - }, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "pYX" = ( /turf/open/floor/almayer{ dir = 8; @@ -61020,6 +60867,14 @@ 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 +60882,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 +60893,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 +60930,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 @@ -61389,15 +61180,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 +61194,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 +61252,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{ @@ -61537,15 +61343,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{ @@ -61612,22 +61409,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 +61439,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 +61462,16 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/hallways/starboard_umbilical) +"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 +61481,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,21 +61518,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"; @@ -61741,18 +61566,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 +61574,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 +61593,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 +61604,25 @@ /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) "qnd" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -61872,15 +61680,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{ @@ -61941,16 +61740,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 +61747,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 +61797,10 @@ 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) "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 +61813,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{ @@ -62075,16 +61861,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 +61892,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 +61925,12 @@ 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) "quT" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ layer = 1.9 @@ -62151,14 +61957,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 @@ -62217,6 +62015,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 +62046,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 +62120,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 @@ -62351,35 +62176,6 @@ icon_state = "plating" }, /area/almayer/hallways/vehiclehangar) -"qyH" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/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) "qyW" = ( /obj/structure/bed/chair{ dir = 4 @@ -62444,6 +62240,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 +62273,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 +62296,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 +62396,17 @@ }, /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) "qEW" = ( /obj/structure/sign/poster/ad{ pixel_x = 30 @@ -62591,6 +62425,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 +62443,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{ @@ -62648,12 +62495,27 @@ 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) "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 +62558,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{ @@ -62737,6 +62588,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 +62607,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{ @@ -62792,6 +62662,15 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) +"qJU" = ( +/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) "qJY" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/drinks/bottle/orangejuice{ @@ -62837,6 +62716,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 +62754,16 @@ 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) "qLi" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -62978,6 +62877,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 +62918,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{ @@ -63107,6 +63009,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 +63035,6 @@ 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{ - dir = 4 - }, -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/surgery) "qQP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63187,46 +63076,6 @@ 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" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "qSm" = ( /obj/structure/pipes/vents/pump{ dir = 4 @@ -63261,6 +63110,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 +63128,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 +63161,22 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) +"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{ @@ -63386,12 +63251,6 @@ 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 @@ -63419,6 +63278,16 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"qXp" = ( +/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" + }, +/area/almayer/living/briefing) "qXx" = ( /obj/structure/platform, /obj/effect/decal/warning_stripes{ @@ -63430,6 +63299,12 @@ icon_state = "plating" }, /area/almayer/engineering/engine_core) +"qXE" = ( +/obj/structure/machinery/brig_cell/perma_1{ + pixel_x = 32 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "qXM" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -63438,6 +63313,24 @@ 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) "qXZ" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -63497,20 +63390,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 +63431,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 +63476,6 @@ 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" - }, -/area/almayer/shipboard/brig/main_office) "rav" = ( /obj/structure/platform{ dir = 4 @@ -63610,6 +63500,22 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) +"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{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/main_office) "rbp" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/almayer{ @@ -63662,6 +63568,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 +63631,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 +63664,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 +63685,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 +63720,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 +63777,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 +63809,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 +63831,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 +63855,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 +63894,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; @@ -64047,12 +63977,6 @@ 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{ @@ -64116,19 +64040,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 +64058,6 @@ /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, /area/almayer/living/gym) -"rkK" = ( -/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" - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/main_office) "rlf" = ( /obj/structure/machinery/cm_vending/clothing/synth/snowflake, /turf/open/floor/almayer{ @@ -64248,12 +64144,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, @@ -64367,6 +64282,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 +64348,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 +64382,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 +64467,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 +64546,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 +64577,6 @@ 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) "rvA" = ( /turf/open/floor/almayer, /area/almayer/living/numbertwobunks) @@ -64681,12 +64604,6 @@ /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 +64664,12 @@ 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) "rzN" = ( /turf/open/floor/almayer{ icon_state = "dark_sterile" @@ -64788,18 +64688,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 +64744,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{ @@ -64952,27 +64868,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 +64954,40 @@ icon_state = "plate" }, /area/almayer/living/offices) +"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) "rEf" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -65055,26 +64998,6 @@ }, /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 - }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliason) "rEn" = ( /obj/structure/surface/table/almayer, /obj/item/storage/firstaid/adv{ @@ -65113,28 +65036,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, @@ -65183,29 +65125,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; @@ -65381,11 +65300,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 +65322,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 +65358,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 @@ -65505,11 +65462,72 @@ 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) +"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; @@ -65561,30 +65579,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 +65602,15 @@ icon_state = "blue" }, /area/almayer/squads/delta) +"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 +65621,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 +65664,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 +65688,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 +65740,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 +65752,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 +65793,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 +65807,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 +65831,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 +65851,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 +65905,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{ @@ -65986,14 +65959,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,12 +65997,6 @@ 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"; @@ -66090,6 +66049,29 @@ 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) +"sbZ" = ( +/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/corporateliason) "scg" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -66134,14 +66116,6 @@ icon_state = "outerhull_dir" }, /area/space) -"scD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/general_equipment) "scH" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -66155,6 +66129,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 @@ -66191,20 +66173,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{ @@ -66226,16 +66194,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; @@ -66302,6 +66260,31 @@ 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) "sgw" = ( /obj/structure/surface/table/almayer, /obj/item/prop/almayer/flight_recorder{ @@ -66325,17 +66308,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) +"sgE" = ( +/obj/structure/bed, +/obj/structure/machinery/flasher{ + id = "Cell 3"; + pixel_x = -24 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/shipboard/brig/cells) "sgM" = ( /obj/structure/closet/toolcloset, /turf/open/floor/almayer{ @@ -66405,15 +66396,6 @@ /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 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "siz" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/cameras/hangar{ @@ -66475,18 +66457,13 @@ icon_state = "test_floor4" }, /area/almayer/command/lifeboat) -"skg" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "orange" +"skj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" }, -/area/almayer/engineering/upper_engineering/starboard) +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/processing) "skl" = ( /obj/structure/bed/chair/office/dark{ dir = 8 @@ -66500,6 +66477,13 @@ 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) "skF" = ( /turf/open/floor/almayer{ icon_state = "cargo_arrow" @@ -66516,6 +66500,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" @@ -66547,6 +66544,23 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/engineering_workshop) +"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; @@ -66638,25 +66652,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; @@ -66701,14 +66706,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, @@ -66802,6 +66799,14 @@ "sqf" = ( /turf/closed/wall/almayer/white/reinforced, /area/almayer/medical/upper_medical) +"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 +66826,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 +66851,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 +66879,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 +66922,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 +66953,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, @@ -66985,16 +67016,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 +67035,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 +67118,28 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) +"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 +67149,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,6 +67156,20 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/port_hallway) +"szf" = ( +/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) "szm" = ( /obj/structure/machinery/power/fusion_engine{ name = "\improper S-52 fusion reactor 10" @@ -67128,15 +67181,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/engine_core) -"szy" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/main_office) "szE" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -67168,6 +67212,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 @@ -67212,27 +67262,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, @@ -67297,6 +67339,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 +67374,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 +67474,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 +67568,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{ @@ -67586,11 +67648,6 @@ icon_state = "plate" }, /area/almayer/hull/upper_hull/u_f_p) -"sIw" = ( -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/shipboard/brig/evidence_storage) "sIx" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, @@ -67631,26 +67688,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{ @@ -67694,6 +67735,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 +67756,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" @@ -67805,6 +67862,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 @@ -67826,6 +67892,13 @@ icon_state = "orange" }, /area/almayer/engineering/lower_engineering) +"sPF" = ( +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/perma) "sPJ" = ( /obj/structure/machinery/firealarm{ dir = 4; @@ -67841,33 +67914,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 +67980,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; @@ -68106,12 +68151,27 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"sVy" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 +"sWs" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cryo) +/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; @@ -68218,6 +68278,25 @@ 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 +68334,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 +68373,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 +68464,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 @@ -68420,25 +68550,14 @@ 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 @@ -68467,13 +68586,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"tdv" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) "tdx" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -68482,6 +68594,20 @@ icon_state = "orangecorner" }, /area/almayer/engineering/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{ + dir = 1; + icon_state = "red" + }, +/area/almayer/shipboard/brig/lobby) "tdE" = ( /obj/structure/window/reinforced{ dir = 8 @@ -68549,6 +68675,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 +68711,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 +68749,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" = ( @@ -68658,6 +68785,19 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"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 +68820,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 +68834,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 +68906,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{ @@ -68876,13 +69011,6 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) -"tkV" = ( -/obj/structure/bed/chair, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "tld" = ( /obj/structure/machinery/prop/almayer/computer{ dir = 8; @@ -68892,6 +69020,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,22 +69090,6 @@ 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 @@ -68958,6 +69108,18 @@ }, /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{ @@ -69096,12 +69258,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 +69284,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,41 +69342,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_m_p) -"tqB" = ( -/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) -"tqI" = ( -/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) -"tqV" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 26 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/general_equipment) "trb" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, @@ -69361,6 +69489,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; @@ -69390,6 +69532,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 +69583,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 +69639,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 +69748,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 +69778,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{ @@ -69640,12 +69812,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 +69835,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 +69879,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 @@ -69812,6 +69979,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 +70014,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 +70054,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 +70067,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 +70135,16 @@ 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" - }, -/area/almayer/shipboard/brig/main_office) "tHS" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/shipboard/brig/cells) -"tHU" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/machinery/power/apc/almayer{ - dir = 8 - }, -/obj/item/storage/briefcase{ - pixel_y = 15 +"tId" = ( +/obj/structure/machinery/recharge_station, +/turf/open/floor/almayer{ + icon_state = "cargo" }, -/turf/open/floor/wood/ship, -/area/almayer/living/commandbunks) +/area/almayer/command/airoom) "tIp" = ( /obj/structure/machinery/door/airlock/almayer/generic{ name = "\improper Dorms" @@ -70057,48 +70210,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 +70277,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{ @@ -70172,17 +70340,6 @@ }, /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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "tMf" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -70195,14 +70352,28 @@ icon_state = "red" }, /area/almayer/hallways/aft_hallway) -"tMu" = ( -/obj/structure/machinery/cm_vending/clothing/commanding_officer{ - pixel_y = 0 +"tMH" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + name = "\improper Warden's Office"; + closeOtherId = "brigwarden" + }, +/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/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 +70383,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; @@ -70316,6 +70462,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 +70490,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 @@ -70363,16 +70539,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_m_s) -"tRA" = ( -/obj/structure/bed/chair, -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/processing) "tRD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70390,7 +70556,15 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hull/lower_hull/l_f_s) "tRX" = ( -/turf/closed/wall/almayer, +/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) "tSc" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -70426,28 +70600,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 +70613,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{ @@ -70579,14 +70721,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 +70756,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 +70783,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 +70841,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 +70862,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" @@ -70889,6 +71028,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 +71058,6 @@ 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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hull/upper_hull/u_m_s) "ucp" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -70955,15 +71090,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 +71143,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 +71190,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 +71267,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 +71312,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 +71330,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 +71344,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; @@ -71334,21 +71447,6 @@ /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, -/turf/open/floor/almayer{ - icon_state = "emeraldfull" - }, -/area/almayer/living/briefing) -"ukS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/general_equipment) "ukU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -71362,20 +71460,21 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) -"ula" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass{ - name = "Evidence Room" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/evidence_storage) "uli" = ( /turf/open/floor/grass, /area/almayer/living/starboard_garden) +"ulo" = ( +/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) "uly" = ( /obj/structure/bed/stool, /turf/open/floor/almayer{ @@ -71430,19 +71529,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 +71546,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, @@ -71521,40 +71608,6 @@ 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 - }, -/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/port_emb) "uoi" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -71586,16 +71639,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{ @@ -71677,6 +71720,17 @@ "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 +71765,6 @@ /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 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/shipboard/brig/chief_mp_office) "usi" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -71746,16 +71788,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 @@ -71799,27 +71831,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 +71845,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 +71861,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 @@ -71931,14 +71916,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,21 +71944,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" @@ -72014,6 +71976,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 +72003,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 +72024,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"; @@ -72130,25 +72132,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; @@ -72158,31 +72141,6 @@ 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 +72155,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 +72169,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 +72217,12 @@ icon_state = "emerald" }, /area/almayer/living/port_emb) +"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 +72262,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 +72301,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 +72335,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 @@ -72464,12 +72399,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 +72435,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{ @@ -72550,6 +72483,10 @@ }, /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{ @@ -72722,14 +72659,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,19 +72679,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{ @@ -72820,27 +72736,12 @@ 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 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "redcorner" - }, -/area/almayer/shipboard/brig/chief_mp_office) "uNB" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -72983,6 +72884,19 @@ icon_state = "plate" }, /area/almayer/engineering/engineering_workshop/hangar) +"uRs" = ( +/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) "uRt" = ( /obj/structure/machinery/light{ dir = 8 @@ -73039,6 +72953,26 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_f_p) +"uSB" = ( +/obj/structure/machinery/keycard_auth{ + pixel_x = 25 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/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) "uSL" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -73135,14 +73069,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 +73079,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 +73102,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{ @@ -73232,21 +73147,18 @@ icon_state = "plating_striped" }, /area/almayer/living/cryo_cells) -"uVF" = ( -/obj/structure/disposalpipe/segment{ - 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) +"uVV" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/cells) "uVX" = ( /obj/structure/machinery/light{ dir = 1 @@ -73271,16 +73183,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 @@ -73352,6 +73254,16 @@ 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, @@ -73379,17 +73291,6 @@ /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 - }, -/obj/item/tool/pen, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "uZZ" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ name = "\improper Basketball Court" @@ -73408,15 +73309,6 @@ }, /turf/closed/wall/almayer, /area/almayer/hallways/starboard_umbilical) -"vba" = ( -/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) "vbf" = ( /obj/structure/machinery/landinglight/ds2/delaytwo{ dir = 8 @@ -73431,6 +73323,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 +73354,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 +73393,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 +73423,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 +73517,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 +73539,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 +73583,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 +73598,29 @@ 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) "vgx" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -73755,6 +73705,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; @@ -73893,6 +73856,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 +73896,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 +73916,6 @@ 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 - }, -/turf/open/floor/wood/ship, -/area/almayer/command/corporateliason) "vjx" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/almayer{ @@ -74040,15 +74010,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 +74020,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 +74045,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{ @@ -74144,6 +74137,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; @@ -74213,32 +74214,17 @@ 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 +74237,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 @@ -74377,27 +74376,6 @@ 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" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/perma) "vrW" = ( /turf/open/floor/almayer{ dir = 8; @@ -74417,6 +74395,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 +74412,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 +74469,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 +74491,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) @@ -74583,6 +74579,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{ @@ -74660,10 +74671,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{ @@ -74699,11 +74706,21 @@ /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"vxC" = ( +"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 +74779,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 +74835,7 @@ name = "\improper Hydroponics Garden" }, /turf/open/floor/almayer{ - icon_state = "greenfull" + icon_state = "test_floor4" }, /area/almayer/shipboard/brig/cells) "vzK" = ( @@ -74960,26 +74978,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 +74990,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 +75005,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"; @@ -75126,16 +75117,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{ @@ -75367,6 +75348,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 +75372,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 +75448,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 +75480,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; @@ -75512,15 +75516,6 @@ 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, @@ -75537,6 +75532,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{ @@ -75640,22 +75644,6 @@ /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) "vRa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -75792,15 +75780,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"; @@ -75859,6 +75838,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 +75857,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,6 +75908,13 @@ 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" @@ -75951,12 +75941,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 +76011,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 @@ -76069,12 +76074,6 @@ icon_state = "ai_floors" }, /area/almayer/command/airoom) -"vXQ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/shipboard/brig/perma) "vXX" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -76189,16 +76188,6 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull) -"vZJ" = ( -/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) "wan" = ( /obj/structure/surface/table/almayer, /obj/item/facepaint/brown, @@ -76227,22 +76216,6 @@ }, /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 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/briefing) "wbh" = ( /obj/structure/machinery/light{ dir = 4 @@ -76273,40 +76246,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"; @@ -76418,10 +76357,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 +76388,6 @@ 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{ - dir = 4 - }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/engineering/upper_engineering) "wdz" = ( /obj/effect/landmark/start/marine/engineer/charlie, /obj/effect/landmark/late_join/charlie, @@ -76479,6 +76416,14 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) +"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 +76474,33 @@ 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 - }, -/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/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 +"wfB" = ( +/obj/structure/machinery/light{ + unacidable = 1; + unslashable = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/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 @@ -76680,16 +76613,6 @@ /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 +76621,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 +76695,10 @@ icon_state = "plate" }, /area/almayer/shipboard/port_point_defense) +"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 +76733,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 +76751,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,6 +76807,22 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"wld" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/sign/safety/ammunition{ + pixel_x = 15; + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/shipboard/brig/execution) "wlj" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/plasteel{ @@ -76908,15 +76855,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 +76871,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 +76904,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, @@ -77018,6 +76936,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 +77009,6 @@ icon_state = "rasputin3" }, /area/almayer/powered/agent) -"wpj" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 2 - }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) "wpw" = ( /obj/structure/bed/chair/comfy/ares{ dir = 1 @@ -77142,10 +77062,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 @@ -77203,6 +77129,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 +77164,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 +77196,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{ @@ -77331,6 +77268,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 +77296,22 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"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 +77322,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 +77331,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 +77448,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 +77479,19 @@ icon_state = "plate" }, /area/almayer/hull/lower_hull/l_a_s) -"wzx" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 +"wzA" = ( +/obj/structure/pipes/vents/pump{ + dir = 8 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_s) +/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) "wzZ" = ( /obj/structure/machinery/door/airlock/almayer/medical/glass{ dir = 1; @@ -77565,13 +77505,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 +77516,20 @@ 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) "wBY" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -77640,21 +77558,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 +77574,17 @@ 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) "wDm" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -77680,6 +77594,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 +77637,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{ @@ -77868,6 +77808,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 +77853,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 +77910,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 +77939,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 +77966,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 +77982,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 +78006,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 +78103,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 +78112,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 +78169,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 +78218,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,38 +78244,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 @@ -78333,16 +78265,15 @@ icon_state = "orange" }, /area/almayer/hull/upper_hull/u_a_s) -"wRm" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"wRa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/safety/bulkhead_door{ + pixel_y = -34 }, -/obj/structure/machinery/vending/snack{ - density = 0; - pixel_y = 16 +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) +/area/almayer/hull/upper_hull/u_f_p) "wRN" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/item/seeds/goldappleseed, @@ -78405,6 +78336,23 @@ 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 @@ -78580,12 +78528,6 @@ icon_state = "plate" }, /area/almayer/squads/charlie_delta_shared) -"wVz" = ( -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hull/upper_hull/u_f_p) "wVB" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -78609,25 +78551,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 @@ -78668,22 +78594,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{ @@ -78802,20 +78712,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!"; @@ -78858,6 +78754,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 +78766,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; @@ -79031,6 +78943,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{ @@ -79059,20 +78996,38 @@ icon_state = "tcomms" }, /area/almayer/engineering/engine_core) +"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 = "plate" + }, +/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"; @@ -79141,16 +79096,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 +79128,19 @@ 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'" - }, -/obj/item/folded_tent/big{ - pixel_x = -6; - pixel_y = 10 +"xgN" = ( +/obj/structure/bed/chair/comfy/bravo{ + dir = 1 }, -/obj/item/storage/box/mousetraps{ - pixel_x = 3; - pixel_y = 12 +/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/port_emb) +/area/almayer/living/briefing) "xhn" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -79213,7 +79163,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 +79192,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"; @@ -79268,18 +79227,14 @@ 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" @@ -79304,6 +79259,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 +79323,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 +79341,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, @@ -79447,6 +79424,11 @@ icon_state = "cargo" }, /area/almayer/medical/lower_medical_medbay) +"xmX" = ( +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/shipboard/brig/surgery) "xne" = ( /obj/structure/machinery/door/poddoor/almayer/blended{ id = "RoomDivider"; @@ -79466,16 +79448,32 @@ icon_state = "test_floor4" }, /area/almayer/hull/lower_hull/l_a_p) +"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{ + dir = 5; + icon_state = "red" + }, +/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; @@ -79545,27 +79543,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 @@ -79612,6 +79623,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,15 +79653,6 @@ }, /turf/closed/wall/almayer, /area/almayer/command/securestorage) -"xqM" = ( -/obj/structure/pipes/vents/pump, -/obj/structure/bed/chair/comfy/delta{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "bluefull" - }, -/area/almayer/living/briefing) "xqS" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -79652,20 +79660,32 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/engineering_workshop/hangar) -"xro" = ( -/obj/structure/toilet{ - pixel_y = 13 - }, +"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) "xrN" = ( /obj/structure/largecrate/supply/supplies/mre, /turf/open/floor/almayer{ @@ -79673,13 +79693,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 +79727,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 +79744,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{ @@ -79835,19 +79857,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 +79880,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,6 +79936,13 @@ /obj/structure/largecrate/supply/supplies/mre, /turf/open/floor/plating, /area/almayer/hull/lower_hull/l_f_p) +"xwE" = ( +/obj/structure/bed/chair/comfy/alpha, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/briefing) "xwG" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -79926,6 +79952,17 @@ icon_state = "test_floor4" }, /area/almayer/hallways/aft_hallway) +"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 +79972,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" @@ -80075,18 +80129,21 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"xyz" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, -/turf/open/floor/almayer, -/area/almayer/hull/upper_hull/u_f_p) "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 +80172,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 +80213,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 +80238,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 +80272,12 @@ 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) "xCj" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating/plating_catwalk, @@ -80283,6 +80311,13 @@ icon_state = "test_floor4" }, /area/almayer/hull/upper_hull/u_m_p) +"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 +80342,6 @@ 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" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/shipboard/brig/main_office) -"xEe" = ( -/obj/structure/bed, -/obj/structure/machinery/status_display{ - pixel_x = -32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/brig/perma) "xEz" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/book/manual/surgery, @@ -80365,24 +80367,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 +80458,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 +80469,6 @@ 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) "xHW" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -80567,12 +80517,28 @@ 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) "xIQ" = ( @@ -80581,6 +80547,26 @@ }, /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,12 +80587,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" @@ -80630,6 +80610,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 +80653,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 @@ -80741,13 +80754,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"xMQ" = ( -/obj/structure/machinery/vending/cola{ - density = 0; - pixel_y = 16 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/shipboard/brig/cells) "xMR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -80819,6 +80825,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 +80841,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{ @@ -80846,22 +80866,6 @@ /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 +80895,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 +81029,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,18 +81068,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/containment) -"xTp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/shipboard/brig/processing) "xTt" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -81126,6 +81080,13 @@ icon_state = "test_floor4" }, /area/almayer/hallways/stern_hallway) +"xTH" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/recharger, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/shipboard/brig/processing) "xTR" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -81190,6 +81151,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{ @@ -81215,6 +81184,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" @@ -81321,6 +81295,20 @@ "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) "xXr" = ( /obj/item/reagent_container/glass/beaker/bluespace, /obj/structure/machinery/chem_dispenser/research, @@ -81328,6 +81316,17 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) +"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 +81334,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 +81358,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 +81377,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; @@ -81467,20 +81488,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 +81506,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 +81530,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 +81580,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 +81622,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 +81669,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 +81688,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 +81725,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 +81740,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 +81796,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 +81824,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 +81839,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; @@ -81861,17 +81894,6 @@ }, /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 +81938,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 +81956,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 +81982,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{ @@ -81990,7 +82016,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 +82033,6 @@ icon_state = "plate" }, /area/almayer/squads/delta) -"ylg" = ( -/obj/structure/machinery/cryopod/right, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/command/airoom) "ylJ" = ( /obj/structure/sign/safety/maint{ pixel_x = 8; @@ -88789,10 +88810,10 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH aaa aaa aac @@ -88988,7 +89009,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -88999,13 +89020,13 @@ aaa aaa aaa aad -cZs -cZs -iZG -iZG -iZG -cZs -cZs +feb +feb +feb +feb +feb +feb +feb ajZ aaa aaa @@ -89191,7 +89212,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -89202,13 +89223,13 @@ aaf aaf aaf aag -cZs -cWN -dgx -dgx -dgx -sdq -cZs +feb +qmR +oog +dsA +rbK +tmH +feb aag aaf aaf @@ -89394,29 +89415,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 +89624,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 +89827,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 +90029,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 +90232,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 +90430,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 +90635,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 +90842,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 +91029,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91023,24 +91044,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 +91231,8 @@ aaa aaa aaa aaa -aaa -aaa +bdH +bdH bdH bdH aad @@ -91226,22 +91247,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 +91435,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91428,25 +91449,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 +xkd xkd -uvY -oBq xkd -rPh +umW iOD iOD tHS @@ -91617,7 +91638,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91632,24 +91653,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 +91841,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -91835,24 +91856,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 +92044,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -92031,29 +92052,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 +92247,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -92234,30 +92255,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 +92450,7 @@ aaa aaa aaa aaa -aaa +bdH bdH bdH aad @@ -92437,35 +92458,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 +92661,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 +92864,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 +93067,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 +93271,30 @@ pCi wcn wcn lrq +iwV +iwV +iwV +iwV lrq -bVC 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 +93473,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 +93506,7 @@ tov thL sUs xkd -mnm +lmk kIV xEF aag @@ -93655,31 +93676,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 +93879,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 +93912,7 @@ iFc thL tUx fgR -inC +kIV fQk ils aag @@ -94061,31 +94082,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 +94285,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 +94488,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 +94691,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 +94894,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 +95005,8 @@ poR mGL pNp kcp -pNK -bIA +wMv +nCR alU uDn bKf @@ -95077,38 +95098,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 +95299,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 +95413,9 @@ bTS lxo qcy kcp -edM -edM -mcl +kmk +kmk +mIJ bLt bXX bKh @@ -95472,7 +95493,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa bdH @@ -95481,41 +95502,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 +95616,9 @@ oQM aqI aqI kcp -pUl -tXz -rYZ +jaK +jxP +xNL bLu bBB bBB @@ -95684,41 +95705,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 +95908,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 +95925,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 +96111,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 +96314,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 +96338,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 +96517,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 +96541,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 +96720,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 +96745,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 +96923,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 +96949,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 +97127,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 +97152,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 +97332,12 @@ bzz akC cRc rPC -wcn -vxM -eyg -giZ -gTl -vxM +vBm +qkn +eRL +lwK +vlN +vBm pZS pEB jUY @@ -97334,12 +97355,12 @@ qwp pZS jHh jUY -fbY -uLJ -oog -sBH -vfv -mtl +wIC +wIC +vzj +wIC +wIC +wIC mnm dGc kCi @@ -97514,12 +97535,12 @@ aHZ akC oCL rPC -wcn -vxM -vxM -tXs -oCX -vxM +vBm +rJN +nJz +wgi +rEO +vBm vkR wsD jUY @@ -97537,12 +97558,12 @@ qwp vGA uwN uVd -mtl -mtl -qYH -mtl -mtl -mtl +wIC +wjY +aTg +rFg +kkv +wIC kIV kIV kCi @@ -97565,7 +97586,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -97717,12 +97738,12 @@ btv akC dDC rPC -wcn -vxM -wVV -erx -dsw -vxM +vBm +vBm +knO +wgi +ugT +vBm kfE wsD jUY @@ -97740,12 +97761,12 @@ qwp cDn uwN jUY -mtl -lNF -rkK -cIK -mtl -tzj +wIC +lcW +aTg +wIC +wIC +wIC kIV bbR kCi @@ -97768,7 +97789,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aaa aaa @@ -97920,12 +97941,12 @@ aHZ akC eKM ake -rPC -vxM -dFC -bRH -bRH -vxM +kif +vBm +rRr +dFU +fnC +vBm xDn pEB jUY @@ -97943,14 +97964,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 +98142,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 +98167,13 @@ qwp ora laO rKQ -mtl -qHF -fnl -mtl -mtl -utZ +wIC +yeR +aTg +nNg +wIC pUJ +wCZ pUJ kCi nRR @@ -98324,14 +98345,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 +98370,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 +98848,7 @@ aaa nXP ndx uNL -eRt +nDd soS sgy nsu @@ -99030,9 +99051,9 @@ aaa nXP hJp uNL -lUv +gka bwQ -gUr +oNf uNL aNw kXJ @@ -99374,7 +99395,7 @@ ukU bfP fvv vcK -wAd +wGI tuA tuA tuA @@ -100388,9 +100409,9 @@ vCO vCO vCO jxB -wpj -gDq -tJo +xDj +boc +eXS bGr hnV xEF @@ -100591,9 +100612,9 @@ wmT jhW mWD jxB -hWX -tYv -mRU +gvW +sWs +imJ xuB gpe xEF @@ -100754,7 +100775,7 @@ aad aai aai pCi -nMM +pmI avl avl agj @@ -100796,7 +100817,7 @@ aES aES aES aES -lDj +vbP uEv gpe xEF @@ -100955,20 +100976,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 +101179,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 +101385,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 +101588,13 @@ pCi kwS avl avl -yiL +mRp agj -utw -kmY -pSH -mES -lWD +nCx +tYM +mqb +kDK +jMx mXj kcN kcN @@ -101772,14 +101793,14 @@ avl hCo lIh agj -fiP +nXO hvH -pYp +bVs hvH hvH -iIm -odC -cQD +qBq +xxh +xpi agj bFA aov @@ -101975,14 +101996,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 +102190,7 @@ bdH aaa aaa bdH -bdH +aaa aaa aad ahE @@ -102180,7 +102201,7 @@ tDx agj mXj mXj -nRQ +lul mXj mXj mXj @@ -102372,7 +102393,7 @@ bdH bdH bdH aaa -bdH +aaa aaa aad pCi @@ -102382,12 +102403,12 @@ jgM lFb agj mXj -yeO -nQH -lnZ -lnZ -pxL -mzG +pjR +jND +aKk +aKk +szf +faE mXj agj amI @@ -102584,17 +102605,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 +102808,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 +103011,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 +103037,7 @@ hkG wVW fvB qEk -aGi +iaa wVW aKn aKz @@ -103193,19 +103214,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 +103240,7 @@ aEB wVW fvB qEk -aGi +iaa wVW aKn aKz @@ -103396,19 +103417,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 +103443,7 @@ aEC wVW dNZ qEk -xZf +mje wVW aKn aKz @@ -103600,18 +103621,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 +103644,9 @@ alX aIf aED wVW -xtg +ryR jvX -aGi +iaa wVW aKn aKy @@ -104646,7 +104667,7 @@ aJc ecr ecr ecr -ygs +ohS aET nUv aJU @@ -104848,8 +104869,8 @@ cST aTz aUl aET -aWA -jgu +esC +nsQ aET mSi wHp @@ -105047,7 +105068,7 @@ aGV rvA aKE awF -iYR +jzE aUw aUm aET @@ -105422,7 +105443,7 @@ awW add add add -juf +stu add add add @@ -105468,7 +105489,7 @@ baw aJU aJU aJU -hey +tBu aJU aJU aJU @@ -105822,7 +105843,7 @@ bdH aaC abs adq -jWH +myl ajI add fsU @@ -105880,7 +105901,7 @@ qys gBW aJU tiW -pUe +qgU pgD tQV aaC @@ -106052,13 +106073,13 @@ umS yjM qbO aqw -qRL +hnI bYe amO wZM aPm awF -aHk +nvG vGI aLp awF @@ -106263,7 +106284,7 @@ ejp awF aHn szU -aLt +fGa awF aRC aUw @@ -106431,7 +106452,7 @@ aaa aaY abs adq -ckE +tGj ajI add fsU @@ -106489,7 +106510,7 @@ qys gBW aJU tiW -hXD +bpw pgD tQV aaY @@ -106843,7 +106864,7 @@ aoC add add add -juf +stu add add add @@ -106889,7 +106910,7 @@ baw aJU aJU aJU -eyv +nnX aJU aJU aJU @@ -107567,7 +107588,7 @@ bsk sxu cBI bkA -nuI +eFG bej arX vSG @@ -107672,7 +107693,7 @@ aiX aiX aiX sHM -otK +kUh aiX aiX aiX @@ -107868,7 +107889,7 @@ awW awW awW fSm -vCz +hiy apl bbL bbL @@ -108071,7 +108092,7 @@ ajf ajf ajf oAO -dlN +pIZ aod qgG amC @@ -108274,7 +108295,7 @@ awW awW awW aSJ -dAi +isI dtM aii mce @@ -110309,7 +110330,7 @@ dtM akU ajC sqf -wQa +anp wjz fnA jZY @@ -110512,7 +110533,7 @@ dtM aii ajC sqf -udb +sOZ oNJ eDo eDo @@ -110715,7 +110736,7 @@ dtM ajt aik sqf -eTh +anq awn xsz jTj @@ -110918,11 +110939,11 @@ dtM aii ajC sqf -vZJ +anr awn tEi -iWb -ygM +asu +hbI sqf ajl vtx @@ -112669,8 +112690,8 @@ bJt xOL gGI eeu -dqQ -ccm +gfq +eFP gAz fiq uaa @@ -113072,7 +113093,7 @@ buH bHL buH lhB -tAJ +xCb bDs bIJ bDs @@ -113377,7 +113398,7 @@ kSJ avj cGr awE -vjn +sbZ wQv rne guC @@ -113579,11 +113600,11 @@ bYe bnD aWH aYn -bVB +hHM bXv bXv bph -rEm +iHC rne bYj xne @@ -113692,7 +113713,7 @@ jFE jFE idx hAz -hQh +gHj bJt vhI oed @@ -113781,9 +113802,9 @@ vOy qLK akU avj -kpl +eAT awE -hlq +bXE bYj btz bsc @@ -113891,11 +113912,11 @@ vzP bJt hjB bJt -neF +xfK bDs gSk bDs -khX +bpI bJt kTq oed @@ -113989,7 +114010,7 @@ awE xgr bYj eUR -gEI +haI nDh bYj xne @@ -114187,7 +114208,7 @@ kgs ayT aii avj -aYp +lFj aWS bYj bYj @@ -114390,7 +114411,7 @@ kgs ayT aii avj -aYp +lFj aZJ baD baD @@ -114504,7 +114525,7 @@ rBj bDs gSk bDs -hWS +fUB bJt oDf uqH @@ -114593,10 +114614,10 @@ mmN ayT aii avj -aYp -sQL +lFj +fAN dpV -bXW +hYN bqo bse bvc @@ -114707,7 +114728,7 @@ bJt oKb gSk bDs -ign +nqO bJt sIx bxX @@ -114800,7 +114821,7 @@ awE awE awE awE -mZA +ojv awE awE awE @@ -114999,10 +115020,10 @@ vOy ayT akU avj -aCv +gBt baa -fqe -bXx +hED +jYA bqo awE tnm @@ -115188,7 +115209,7 @@ mSK mSK vOy vOy -ylc +ccc wKP ylc vOy @@ -115202,9 +115223,9 @@ vOy atV akU avj -aCv +gBt bac -dWz +ikE bYj bqo aRD @@ -115312,7 +115333,7 @@ qBM wXI nUd lkd -xnQ +xOT bDs gSk oDE @@ -115405,7 +115426,7 @@ vOy vIN aii avj -aCv +gBt ilv rne rne @@ -115812,12 +115833,12 @@ ajr aii avm awE -wiF +orw rne rne fAo awE -knT +bhM wQv bBi awE @@ -116014,7 +116035,7 @@ akT amC bKe avj -aCv +gBt eYW rne rne @@ -116217,14 +116238,14 @@ akU abg abg avj -aCv +gBt aSP rne rne wft awE -hpf -pbl +eCG +qJU igp awE hoX @@ -116284,13 +116305,13 @@ ykF bgH uVb bdd -pfe -wsP -izr -aSh -ccF -rFV -iXR +uvU +xZk +dGU +lgF +eYj +aSp +mho bdg aLG awb @@ -116320,13 +116341,13 @@ buH hOR buH bdg -cxZ -wAU -diw -tSv -cxZ -ffl -wbe +lCE +oZD +lwh +oPz +lCE +xLi +qkY bdd qXo feq @@ -116420,7 +116441,7 @@ aii aow hee ioX -aCv +gBt aLQ bYj bYj @@ -116487,13 +116508,13 @@ hhw umv hhw bdd -hjT -jZr +xwE +dAQ tGG -fHe +kEs tGG -sBs -iXR +bpA +mho bdg aLG aYO @@ -116523,13 +116544,13 @@ buH bHL buH bdg -cxZ -hnH -kXH -kfG -dkH -cKX -oqP +lCE +uek +dkX +qXp +oCl +tPm +kiX bdd tLc rsM @@ -116631,7 +116652,7 @@ wft bvU dTc lOl -mkx +kAt awE ieH qVM @@ -116682,7 +116703,7 @@ kxd jgk nsY rSG -wWJ +rur oqS nsY lhu @@ -116690,13 +116711,13 @@ btk aSm eoM bdd -vTt -tgE -tgE -fNu +eUZ +lCr +lCr +fwM tGG -gmp -iXR +lJD +mho bdg aLG aYO @@ -116726,13 +116747,13 @@ buH bHL buH bdg -cxZ -csG +lCE +fMe sNI -mgR -gNi -wJL -oMC +jmn +sgD +kUR +vMM bdd hxZ rsM @@ -116828,9 +116849,9 @@ qVM csz awE qMe -nKJ +jdF bYj -dyF +wzA awE bzs gbQ @@ -116893,13 +116914,13 @@ aSm aSm kOf bdd -dYH +ljW bDP -tgE -okB -tgE -crK -xkY +lCr +ijr +lCr +mpn +pZR bdd beB aYT @@ -116929,13 +116950,13 @@ buH bHL buH bdd -qWy -uZX -wJL -wJL -eCS -xqM -udV +tSF +lsn +kUR +kUR +mkl +gXB +car bdd hTf rsM @@ -117032,7 +117053,7 @@ csz awE awE awE -hIL +csp awE awE awE @@ -117087,7 +117108,7 @@ gsg vHq vvY nsY -pPV +rNb bxC jiU nsY @@ -117096,13 +117117,13 @@ mhl aSm ylY bdd -qgw -qgw -qgw -tMc -vlR -uLe -qin +asr +asr +asr +mki +nYp +fZG +phd pmv tBF fSK @@ -117134,11 +117155,11 @@ bFu hLS vKe vKe -sgE -ljz -xzB -epq -fCt +uSH +uwt +rLP +pPA +ycx bdd hTf rKO @@ -117235,7 +117256,7 @@ vGk vGk csz vzl -bvY +ljt vGk vGk csz @@ -117495,19 +117516,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 +117559,13 @@ buH uXu bFu iUk -cIl -gkJ +cIx +fUC vKe -cum -mVZ -kTx -jIG +sDA +kWN +tln +bko bdd hTf wRO @@ -117705,13 +117726,13 @@ lQu lQu aSm bdd -iFG -iWE -jUo -iXd -iXd -wwk -hMJ +fva +lkL +mBO +cHB +cHB +hDV +vmP bdd aLG awb @@ -117741,13 +117762,13 @@ buH hOR buH bdd -wLV -nza -mwz -mwz -mwz -ukA -jIG +oNP +tge +yjU +yjU +yjU +tEC +bko bdd gKB rsM @@ -117901,20 +117922,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 +117965,13 @@ bGe bHL buH bdg -kxF -elX +jLS +xdP gAj -bHS -aLA -ldj -oMC +dBI +sMu +eYF +vMM bdd sOt cNX @@ -118111,13 +118132,13 @@ aLf qce aSm bdd -gcw -xPR -nIW -uzb +xXW +gVu +ydO +krU wmz -idJ -qsa +vbI +rec bdg beB aYT @@ -118147,13 +118168,13 @@ bJz bHT bJz bdg -kxF -lad -thE -hIt +jLS +frb +kNX +mZf gAj -wlH -sGX +ngn +jUq bdd pEl roU @@ -118162,7 +118183,7 @@ uVh nsY kzK lFh -mus +jYc pVA mzV pML @@ -118301,7 +118322,7 @@ aSm bUc nSN nsY -xgS +hUz dbn qvC tyb @@ -118314,13 +118335,13 @@ aLf tRc qEW bdd -gGo -mLb -qmB -vpt -kQU -rdb -kQU +sgm +kEg +nFA +jkD +xgN +vgn +xgN bdg aLG aYO @@ -118350,13 +118371,13 @@ buH bHL buH bdg -gKH -cgz -vyU -xGL -vkN -xDQ -bXc +vLg +loy +naK +mRq +xkB +qXO +eeh bdd pcO tJV @@ -119231,7 +119252,7 @@ abg caF aar aar -wYZ +lIl aar aar ael @@ -119433,10 +119454,10 @@ bWs abg caF aar -rcW +vUk sTB -jrV -qmr +lUA +tqd ael afE agT @@ -119636,9 +119657,9 @@ acO aJs cbN aar -lDK +fQY aap -eXU +elM vFb ael afH @@ -119839,10 +119860,10 @@ pNQ abx hTy aar -pJn +thR aao aao -erz +gDP ael afI agY @@ -120042,10 +120063,10 @@ acP bUE qFQ aar -jBY +xtQ aap aao -mYX +sxT ael afJ agY @@ -120245,10 +120266,10 @@ acG abx caF aar -ydr +com aap aao -mYX +sxT ael afK ahc @@ -120450,7 +120471,7 @@ lCz aar tAV sTB -uck +xfk wKn ael afL @@ -120651,7 +120672,7 @@ acG abx caF aar -wYZ +lIl aar aar aar @@ -120856,8 +120877,8 @@ arJ aar aao aao -rOZ -dfP +wkL +mts adO afM fpR @@ -121057,10 +121078,10 @@ jSY abx hTy aar -lAj +hLB aao aao -xgE +laY adO afN ahh @@ -121260,10 +121281,10 @@ acP bUE qFQ aar -jkL -iaE +xYe +kZH aao -mXa +frY adO afO ahh @@ -121463,10 +121484,10 @@ aJa abg ccf aar -cRg +mko uaZ aap -epK +svC adO jkj ahh @@ -122395,7 +122416,7 @@ rbY gwD bOK bPD -nSj +bYa bPD jOk bNB @@ -122598,7 +122619,7 @@ rbY bEc bKA bCA -gJs +bQS bCA bKA bEc @@ -122676,7 +122697,7 @@ aeA aeC aeC aeC -tpt +cVb aeC aeC aeC @@ -122724,7 +122745,7 @@ lJY vcE vcE vcE -oDO +iTd vcE vcE vcE @@ -123011,7 +123032,7 @@ bmD mYv doP jac -isS +xxa cai bdl bII @@ -123076,7 +123097,7 @@ aag aag abh acx -adQ +pMk ajs aeC wXh @@ -123136,7 +123157,7 @@ eyG kpo vcE kUV -mvH +xyL rRq uOi aag @@ -123278,8 +123299,8 @@ aah aah aah abi -acE -adZ +nGY +gyU ajk aeA asY @@ -123339,8 +123360,8 @@ deg wLu lJY xVS -fqg -uGa +kPH +knL uyC aah aah @@ -123402,7 +123423,7 @@ aYW bzV beB mCo -xfw +iwZ lBF bKA sbM @@ -123417,7 +123438,7 @@ bmD lyk bOR eHa -opj +cmo xAB mCo bJz @@ -123481,8 +123502,8 @@ bdH bdH bdH abi -acT -adZ +dEJ +gyU ajk aeA atp @@ -123542,8 +123563,8 @@ pfH wlF lJY xVS -fqg -mIA +kPH +qGU uyC bdH aaa @@ -123685,7 +123706,7 @@ aaa bdH abh acx -umR +gCB ajs aeC wXh @@ -123745,7 +123766,7 @@ eyG kpo vcE kUV -pPF +bxA rRq uOi bdH @@ -124097,7 +124118,7 @@ amH aeC aeC aeC -tpt +cVb aeC aeC aeC @@ -124145,7 +124166,7 @@ kKR vcE vcE vcE -oDO +iTd vcE vcE vcE @@ -124230,7 +124251,7 @@ bZr bNQ bNQ bNQ -ohl +bGz hMs cbw iEb @@ -124433,7 +124454,7 @@ bZr krN krN krN -llt +oqY can buH iEb @@ -124539,9 +124560,9 @@ alG anG apf oIB -tSF -qyM -jog +jgr +gGp +dMf oIB sFR vuv @@ -124636,7 +124657,7 @@ bZr ibc uly bNN -fXt +vbR pky cbv cbS @@ -124742,9 +124763,9 @@ alG aYD uPI oIB -hJh -vMC -iUC +fXE +kaS +aiQ oIB sFR vuv @@ -124945,9 +124966,9 @@ sUF anG apd oIB -ufS +wqr bZw -kaJ +xUV oIB sFR hPo @@ -125042,7 +125063,7 @@ bZr bKA dyx eYr -iii +bUo uys cbz cbU @@ -125149,8 +125170,8 @@ aYD aTS qgK tEB -llD -gGl +uBM +dXo oIB lBR nVu @@ -125245,7 +125266,7 @@ bmD bKA dyx hGN -ddN +pVx uys ttM iEb @@ -125352,8 +125373,8 @@ anG mPX oIB wKF -fOh -diM +hzb +ltU oIB fbx cFA @@ -125554,9 +125575,9 @@ aSC aZH iAB oIB -gqF -imW -qbh +phj +vEf +cNK oIB fbx cxo @@ -125757,8 +125778,8 @@ rFY ctC gPF oIB -kUb -rJg +opI +dha pxj oIB fbx @@ -126250,7 +126271,7 @@ bNs nwb mrM bdl -uWI +ycH pMJ xnI ayj @@ -127779,8 +127800,8 @@ auu aoT aFm xBe -cij -jRZ +aIV +qqr arH xBe alG @@ -128187,7 +128208,7 @@ anO nFX atv auV -ift +amE xBe alG aDZ @@ -128390,7 +128411,7 @@ atc nFX atv auV -ift +amE xBe alG aYj @@ -128794,8 +128815,8 @@ atq aDr aFu xBe -rwT -wdv +azp +qJf anV xBe alG @@ -132051,7 +132072,7 @@ vuv vuv jWh jWh -olk +sWC jWh jWh jWh @@ -132253,10 +132274,10 @@ vuv nfS emx jWh -qCg -xjw -pfA -xAC +duz +hXG +htG +doU jWh lbB uIv @@ -132456,10 +132477,10 @@ iEs cxo cxo jWh -uUV -rsW -djN -fnQ +axR +mIP +tcZ +fWi jWh lbB cKL @@ -132659,10 +132680,10 @@ vuv xct cxo jWh -dkS -vba -naQ -fnQ +vpv +pgw +rmE +fWi jWh xPZ pcv @@ -132843,7 +132864,7 @@ ptK dmQ psm psm -qyH +lDn arV wZX eky @@ -132857,7 +132878,7 @@ aDQ eky wZX arV -dtv +wkA vuv vuv cxo @@ -133045,8 +133066,8 @@ hWU dmQ aeq psm -aNe -hiN +xrq +vVu arV wZX eky @@ -133060,8 +133081,8 @@ aHe eky wZX arV -fXM -aNe +oIt +xrq vuv ahb cxo @@ -133248,8 +133269,8 @@ rwb dmQ jXY psm -atY -qkj +vlk +mKy aMT svl pzJ @@ -133263,8 +133284,8 @@ qDt pzJ sQO aMT -rWF -atY +wNS +vlk vuv woM nqD @@ -133452,7 +133473,7 @@ dmQ atD psm psm -vHl +vjd aRp jBX akS @@ -133466,7 +133487,7 @@ aHe tKf jBX aRp -edx +quy vuv vuv myC @@ -133848,8 +133869,8 @@ cuC bNM tgK tfb -skg -eaX +wuT +lMx pVZ pVZ pVZ @@ -133881,8 +133902,8 @@ qMu qMu qMu qMu -euY -iuw +jFY +qKY jHL wOK uIv @@ -134051,8 +134072,8 @@ cuC riJ kHY uhM -uvk -xJn +kdv +lkm cuC aag aag @@ -134084,8 +134105,8 @@ aag aag aag bYn -tAh -bfe +dRs +uAl rDb qjV rID @@ -134254,7 +134275,7 @@ cuC cuC umy iKZ -tiw +pnL cuC cuC mNX @@ -134288,7 +134309,7 @@ mNX qOk bYn bYn -qQL +cWE kHS rID bYn @@ -135281,8 +135302,8 @@ xVk xVk aad jbq -jXW -jcZ +kRg +uRs aDO qqu eky @@ -135290,8 +135311,8 @@ aNl eky dFk aDO -nzI -jXW +nPY +kRg jbq ajZ xVk @@ -135484,8 +135505,8 @@ xVk xVk aad jbq -qtR -jWC +hBL +dID eky eky nJu @@ -135493,8 +135514,8 @@ aNl eky eky eky -aDc -qtR +etn +hBL jbq ajZ xVk @@ -135688,7 +135709,7 @@ xVk eJQ aPw aHe -dnJ +mRQ eky eky eky @@ -135696,7 +135717,7 @@ aNl eky eky eky -hfw +biJ aHe aPw eJQ @@ -137515,7 +137536,7 @@ xVk oee aPw aHe -tqB +iTe eky eky atg @@ -137523,7 +137544,7 @@ aBE ouB eky eky -gwu +qPX aHe aPw oee @@ -137717,8 +137738,8 @@ xVk xVk aad jbq -aNe -jWC +xrq +dID eky eky esT @@ -137726,8 +137747,8 @@ nYE orH eky eky -aDc -aNe +etn +xrq jbq ajZ xVk @@ -137920,8 +137941,8 @@ xVk xVk aad jbq -atY -jWC +vlk +dID eky eky bAe @@ -137929,8 +137950,8 @@ aBG sGh eky eky -aDc -atY +etn +vlk jbq ajZ xVk @@ -138123,8 +138144,8 @@ xVk xVk aad aPw -qpU -ykD +uYd +xnz dqj eky xaS @@ -138132,8 +138153,8 @@ ejt mPf eky gUV -wKS -qpU +neG +uYd aPw ajZ xVk @@ -141220,9 +141241,9 @@ lmz lmz lmz daz -rzf -bRo -wyv +ltc +eXk +xns pTt gAe rCi @@ -141423,9 +141444,9 @@ lmz lmz lmz daz -czG -ylg -oIY +tId +wJB +tJN daz daz daz 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/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) {