diff --git a/code/__DEFINES/mob_hud.dm b/code/__DEFINES/mob_hud.dm index a39160cc2247..1b9cf6120535 100644 --- a/code/__DEFINES/mob_hud.dm +++ b/code/__DEFINES/mob_hud.dm @@ -13,8 +13,6 @@ #define XENO_HOSTILE_SLOW "13" // xeno-inflicted slow. used by a bunch of MOBA xenos stuff #define XENO_HOSTILE_TAG "14" // dancer prae 'tag' #define XENO_HOSTILE_FREEZE "15" // Any xeno-inflifcted root -#define XENO_EXECUTE "28" // Execute thershold, vampire - #define HEALTH_HUD_XENO "16" // health HUD for xenos #define PLASMA_HUD "17" // indicates the plasma level of xenos. #define PHEROMONE_HUD "18" // indicates which pheromone is active on a xeno. @@ -27,7 +25,9 @@ #define HUNTER_CLAN "25" //Displays a colored icon to represent ingame Hunter Clans #define HUNTER_HUD "26" //Displays various statuses on mobs for Hunters to identify targets #define HOLOCARD_HUD "27" //Displays the holocards set by medical personnel +#define XENO_EXECUTE "28" // Execute thershold, vampire #define NEW_PLAYER_HUD "29" //Makes it easy to see new players. +#define SPYCAM_HUD "30" //Remote control spy cameras. //data HUD (medhud, sechud) defines #define MOB_HUD_SECURITY_BASIC 1 @@ -49,6 +49,7 @@ #define MOB_HUD_HUNTER_CLAN 17 #define MOB_HUD_EXECUTE 18 #define MOB_HUD_NEW_PLAYER 19 +#define MOB_HUD_SPYCAMS 20 //for SL/FTL/LZ targeting on locator huds #define TRACKER_SL "track_sl" diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index 1bf5fd08fa38..8d8524cea81f 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -292,6 +292,11 @@ DEFINE_BITFIELD(whitelist_status, list( #define FACTION_LIST_MARINE_UPP list(FACTION_MARINE, FACTION_UPP) #define FACTION_LIST_MARINE_TWE list(FACTION_MARINE, FACTION_TWE) #define FACTION_LIST_YAUTJA list(FACTION_YAUTJA) +#define FACTION_LIST_COLONY list(FACTION_SURVIVOR, FACTION_COLONIST) +#define FACTION_LIST_NEUTRAL list(FACTION_NEUTRAL) + +/// The list of factions loosely allied with the USCM +#define FACTION_LIST_MARINE_FAXES list(FACTION_MARINE, FACTION_WY, FACTION_MARSHAL, FACTION_TWE) // Xenomorphs #define FACTION_PREDALIEN "Predalien" diff --git a/code/__DEFINES/paperwork.dm b/code/__DEFINES/paperwork.dm new file mode 100644 index 000000000000..65bd6503e73e --- /dev/null +++ b/code/__DEFINES/paperwork.dm @@ -0,0 +1,18 @@ +#define PAPER_CATEGORY_USCM "USCM" +#define PAPER_CATEGORY_USCM_HC "USCM HC" + +#define PAPER_CATEGORY_MP "Military Police" +#define PAPER_CATEGORY_PROVOST "Provost" + +#define PAPER_CATEGORY_LIAISON "WY Liaison" +#define PAPER_CATEGORY_WEYYU_HC "Weyland Yutani" + +#define PAPER_CATEGORY_UPP_HC "UPP HC" + +#define PAPER_CATEGORY_CMB_HC "CMB HC" + +#define PAPER_CATEGORY_CLF_HC "CLF HC" + +#define PAPER_CATEGORY_TWE_HC "TWE HC" + +#define PAPER_CATEGORY_PRESS_HC "PRESS HC" diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index 576e92ba79ff..433eca038d52 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -66,6 +66,11 @@ #define RADIO_CHANNEL_BUG_A "Listening Device A" #define RADIO_CHANNEL_BUG_B "Listening Device B" +//Fax Responder Bugs +#define RADIO_CHANNEL_FAX_WY "WY Monitor" +#define RADIO_CHANNEL_FAX_USCM_HC "USCM-HC Monitor" +#define RADIO_CHANNEL_FAX_USCM_PVST "Provost Monitor" + //1-Channel ERTs #define RADIO_CHANNEL_DUTCH_DOZEN "DD" #define RADIO_CHANNEL_VAI "VAI" diff --git a/code/_globalvars/lists/mapping_globals.dm b/code/_globalvars/lists/mapping_globals.dm index 772561dbf4a6..67cf01d7e170 100644 --- a/code/_globalvars/lists/mapping_globals.dm +++ b/code/_globalvars/lists/mapping_globals.dm @@ -33,6 +33,7 @@ GLOBAL_LIST_EMPTY(zombie_landmarks) GLOBAL_LIST_EMPTY(newplayer_start) GLOBAL_LIST_EMPTY_TYPED(observer_starts, /obj/effect/landmark/observer_start) +GLOBAL_LIST_EMPTY_TYPED(spycam_starts, /obj/effect/landmark/spycam_start) GLOBAL_LIST_EMPTY(map_items) GLOBAL_LIST_EMPTY(xeno_tunnels) diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index 1438c50ed986..06461ab18bc1 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -108,6 +108,11 @@ Radiochat range: 1441 to 1489 (most devices refuse to be tune to other frequency #define BUG_A_FREQ 1290 #define BUG_B_FREQ 1291 +//Listening Bugs (1296-1300) +#define FAX_WY_FREQ 1296 +#define FAX_USCM_HC_FREQ 1297 +#define FAX_USCM_PVST_FREQ 1298 + //General Radio #define MIN_FREQ 1460 // ------------------------------------------------------ #define PUB_FREQ 1461 @@ -212,6 +217,10 @@ GLOBAL_LIST_INIT(radiochannels, list( RADIO_CHANNEL_BUG_A = BUG_A_FREQ, RADIO_CHANNEL_BUG_B = BUG_B_FREQ, + + RADIO_CHANNEL_FAX_WY = FAX_WY_FREQ, + RADIO_CHANNEL_FAX_USCM_HC = FAX_USCM_HC_FREQ, + RADIO_CHANNEL_FAX_USCM_PVST = FAX_USCM_PVST_FREQ, )) // Response Teams @@ -229,6 +238,9 @@ GLOBAL_LIST_INIT(radiochannels, list( //Listening Device Frequencies #define BUG_FREQS list(BUG_A_FREQ, BUG_B_FREQ) +//Fax Responder internal monitor frequencies +#define FAX_RESP_FREQS list(FAX_WY_FREQ, FAX_USCM_HC_FREQ, FAX_USCM_PVST_FREQ) + //Depts - used for colors in headset.dm, as well as deciding what the marine comms tower can listen into #define DEPT_FREQS list(COMM_FREQ, MED_FREQ, ENG_FREQ, SEC_FREQ, SENTRY_FREQ, ALPHA_FREQ, BRAVO_FREQ, CHARLIE_FREQ, DELTA_FREQ, ECHO_FREQ, CRYO_FREQ, REQ_FREQ, JTAC_FREQ, INTEL_FREQ, WY_FREQ) @@ -307,6 +319,9 @@ SUBSYSTEM_DEF(radio) "[CLF_ENGI_FREQ]" = "opforeng", "[CLF_MED_FREQ]" = "opformed", "[CLF_CCT_FREQ]" = "opforcct", + "[FAX_WY_FREQ]" = "airadio", + "[FAX_USCM_HC_FREQ]" = "aiprivradio", + "[FAX_USCM_PVST_FREQ]" = "aiprivradio", ) /datum/controller/subsystem/radio/proc/add_object(obj/device as obj, new_frequency as num, filter = null as text|null) diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm index 7a8239615016..4404203576d1 100644 --- a/code/datums/mob_hud.dm +++ b/code/datums/mob_hud.dm @@ -21,6 +21,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( MOB_HUD_HUNTER_CLAN = new /datum/mob_hud/hunter_clan(), MOB_HUD_EXECUTE = new /datum/mob_hud/execute_hud(), MOB_HUD_NEW_PLAYER = new /datum/mob_hud/new_player(), + MOB_HUD_SPYCAMS = new /datum/mob_hud/spy_cams(), )) /datum/mob_hud @@ -219,6 +220,9 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( /datum/mob_hud/faction/observer hud_icons = list(FACTION_HUD, ORDER_HUD, HUNTER_CLAN, HOLOCARD_HUD) +/datum/mob_hud/spy_cams + hud_icons = list(SPYCAM_HUD) + ///////// MOB PROCS //////////////////////////////: diff --git a/code/datums/skills/civilian.dm b/code/datums/skills/civilian.dm index b37fdad883c7..56dc638a4d32 100644 --- a/code/datums/skills/civilian.dm +++ b/code/datums/skills/civilian.dm @@ -250,8 +250,9 @@ CIVILIAN SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, SKILL_LEADERSHIP = SKILL_LEAD_MASTER, SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, - SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, - SKILL_ENGINEER = SKILL_ENGINEER_NOVICE, + SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, + SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, SKILL_INTEL = SKILL_INTEL_EXPERT, + SKILL_POLICE = SKILL_POLICE_MAX, ) diff --git a/code/game/area/admin_level.dm b/code/game/area/admin_level.dm index f522ca24cd16..f66a225b2725 100644 --- a/code/game/area/admin_level.dm +++ b/code/game/area/admin_level.dm @@ -142,9 +142,18 @@ soundscape_playlist = SCAPE_PL_ELEVATOR_MUSIC icon_state = "yellow" +//Fax Responder areas /area/adminlevel/ert_station/fax_response_station name = "Sector Comms Relay" icon_state = "green" + unlimited_power = TRUE + +/area/adminlevel/ert_station/fax_response_station/exterior + name = "Sector Comms Relay" + icon_state = "red" + ambience_exterior = AMBIENCE_JUNGLE + //ambience = list('sound/ambience/jungle_amb1.ogg') + base_lighting_alpha = 185 //Simulation area /area/adminlevel/simulation diff --git a/code/game/bioscans.dm b/code/game/bioscans.dm index edd0b174212d..a37bf2838bdf 100644 --- a/code/game/bioscans.dm +++ b/code/game/bioscans.dm @@ -52,6 +52,8 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) for(var/mob/current_mob as anything in GLOB.living_xeno_list) if(current_mob.mob_flags & NOBIOSCAN) continue + if(istype(get_turf(current_mob), /area/adminlevel/ert_station/fax_response_station)) + continue var/area/A = get_area(current_mob) if(A?.flags_area & AREA_AVOID_BIOSCAN) xenos_on_ship++ @@ -70,6 +72,8 @@ GLOBAL_DATUM_INIT(bioscan_data, /datum/bioscan_data, new) for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) if(current_human.mob_flags & NOBIOSCAN) continue + if(istype(get_turf(current_human), /area/adminlevel/ert_station/fax_response_station)) + continue var/atom/where = current_human if(isspecieshuman(current_human)) if (where.z == 0 && current_human.loc) diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm index f4daf6e57bce..311ce590dfb3 100644 --- a/code/game/gamemodes/cm_initialize.dm +++ b/code/game/gamemodes/cm_initialize.dm @@ -321,9 +321,8 @@ Additional game mode variables. log_debug("Null client attempted to transform_fax_responder") return FALSE if(!loaded_fax_base) - loaded_fax_base = SSmapping.lazy_load_template(/datum/lazy_template/fax_response_base, force = TRUE) + load_fax_base() if(!loaded_fax_base) - log_debug("Error loading fax response base!") return FALSE responder_candidate.client.prefs.find_assigned_slot(JOB_FAX_RESPONDER) @@ -344,11 +343,18 @@ Additional game mode variables. GLOB.RoleAuthority.equip_role(new_responder, fax_responder_job, new_responder.loc) SSticker.minds += new_responder.mind - message_admins(FONT_SIZE_XL(SPAN_RED("([new_responder.key]) joined as a [sub_job], [new_responder.real_name]."))) + message_admins(FONT_SIZE_XL(SPAN_RED("[key_name(new_responder)] joined as a [sub_job]."))) new_responder.add_fax_responder() return TRUE +/datum/game_mode/proc/load_fax_base() + loaded_fax_base = SSmapping.lazy_load_template(/datum/lazy_template/fax_response_base, force = TRUE) + if(!loaded_fax_base) + log_debug("Error loading fax response base!") + return FALSE + return TRUE + //===================================================\\ diff --git a/code/game/gamemodes/cm_process.dm b/code/game/gamemodes/cm_process.dm index 2c11af9ca6f9..7dc31d6e55da 100644 --- a/code/game/gamemodes/cm_process.dm +++ b/code/game/gamemodes/cm_process.dm @@ -186,7 +186,7 @@ GLOBAL_VAR_INIT(next_admin_bioscan, 30 MINUTES) var/num_xenos = 0 for(var/i in GLOB.living_xeno_list) var/mob/M = i - if(M.z && (M.z in z_levels) && !istype(M.loc, /turf/open/space)) //If they have a z var, they are on a turf. + if(M.z && (M.z in z_levels) && !istype(M.loc, /turf/open/space) && !istype(M.loc, /area/adminlevel/ert_station/fax_response_station)) //If they have a z var, they are on a turf. num_xenos++ return num_xenos @@ -195,7 +195,7 @@ GLOBAL_VAR_INIT(next_admin_bioscan, 30 MINUTES) var/num_xenos = 0 for(var/mob/M in GLOB.player_list) - if(M.z && (M.z in z_levels) && M.stat != DEAD && !istype(M.loc, /turf/open/space)) //If they have a z var, they are on a turf. + if(M.z && (M.z in z_levels) && M.stat != DEAD && !istype(M.loc, /turf/open/space) && !istype(M.loc, /area/adminlevel/ert_station/fax_response_station)) //If they have a z var, they are on a turf. if(ishuman(M) && !isyautja(M) && !(M.status_flags & XENO_HOST) && !iszombie(M)) var/mob/living/carbon/human/H = M if(((H.species && H.species.name == "Human") || (H.is_important)) && !H.hivenumber) //only real humans count, or those we have set to also be included @@ -225,7 +225,7 @@ GLOBAL_VAR_INIT(next_admin_bioscan, 30 MINUTES) for(var/i in GLOB.alive_human_list) var/mob/M = i - if(M.z && (M.z in z_levels) && !istype(M.loc, /turf/open/space)) + if(M.z && (M.z in z_levels) && !istype(M.loc, /turf/open/space) && !istype(M.loc, /area/adminlevel/ert_station/fax_response_station)) if(M.faction in FACTION_LIST_WY) num_pmcs++ else if(M.faction == FACTION_MARINE) @@ -238,7 +238,7 @@ GLOBAL_VAR_INIT(next_admin_bioscan, 30 MINUTES) for(var/i in GLOB.alive_human_list) var/mob/M = i - if(M.z && (M.z in z_levels) && !istype(M.loc, /turf/open/space)) + if(M.z && (M.z in z_levels) && !istype(M.loc, /turf/open/space) && !istype(M.loc, /area/adminlevel/ert_station/fax_response_station)) if(M.faction == FACTION_MARINE) num_marines++ @@ -252,7 +252,7 @@ GLOBAL_VAR_INIT(next_admin_bioscan, 30 MINUTES) var/num_headcount = 0 for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) - if(!(current_human.z && (current_human.z in z_levels) && !istype(current_human.loc, /turf/open/space))) + if(!(current_human.z && (current_human.z in z_levels) && !istype(current_human.loc, /turf/open/space) && !istype(current_human.loc, /area/adminlevel/ert_station/fax_response_station))) continue if((current_human.faction in FACTION_LIST_WY) || current_human.job == "Corporate Liaison") //The CL is assigned the USCM faction for gameplay purposes num_WY++ diff --git a/code/game/gamemodes/colonialmarines/xenovsxeno.dm b/code/game/gamemodes/colonialmarines/xenovsxeno.dm index 2a7b29cea5b0..47ebd76d1b84 100644 --- a/code/game/gamemodes/colonialmarines/xenovsxeno.dm +++ b/code/game/gamemodes/colonialmarines/xenovsxeno.dm @@ -205,7 +205,7 @@ hivenumbers += list(HS.name = list()) for(var/mob/M in GLOB.player_list) - if(M.z && (M.z in z_levels) && M.stat != DEAD && !istype(M.loc, /turf/open/space)) //If they have a z var, they are on a turf. + if(M.z && (M.z in z_levels) && M.stat != DEAD && !istype(M.loc, /turf/open/space) && !istype(M.loc, /area/adminlevel/ert_station/fax_response_station)) //If they have a z var, they are on a turf. var/mob/living/carbon/xenomorph/X = M var/datum/hive_status/hive = GLOB.hive_datum[X.hivenumber] if(!hive) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 1b566dcd3717..8ac1a9590585 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -38,6 +38,8 @@ var/autoname = FALSE var/autonumber = 0 //camera number in area + var/list/owner_factions = FACTION_LIST_NEUTRAL + GLOBAL_LIST_EMPTY_TYPED(all_cameras, /obj/structure/machinery/camera) /obj/structure/machinery/camera/Initialize(mapload, ...) . = ..() @@ -314,6 +316,9 @@ GLOBAL_LIST_EMPTY_TYPED(all_cameras, /obj/structure/machinery/camera) linked_broadcasting = camera_item c_tag = linked_broadcasting.get_broadcast_name() +/obj/structure/machinery/camera/overwatch + network = list(CAMERA_NET_OVERWATCH) + /obj/structure/machinery/camera/mortar alpha = 0 mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index 6ab2d9569ab9..efe61436e1f4 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -59,6 +59,7 @@ icon = 'icons/obj/vehicles/interiors/general.dmi' icon_state = "vehicle_camera" network = list(CAMERA_NET_VEHICLE) + owner_factions = FACTION_LIST_HUMANOID /obj/structure/machinery/camera/vehicle/toggle_cam_status(on = FALSE) if(on) @@ -92,6 +93,7 @@ /obj/structure/machinery/camera/autoname/almayer name = "military-grade camera" network = list(CAMERA_NET_ALMAYER) + owner_factions = FACTION_LIST_MARINE_WY /obj/structure/machinery/camera/autoname/almayer/containment name = "containment camera" @@ -104,6 +106,7 @@ /obj/structure/machinery/camera/autoname/almayer/containment/hidden network = list(CAMERA_NET_CONTAINMENT_HIDDEN) + owner_factions = FACTION_LIST_WY /obj/structure/machinery/camera/autoname/almayer/containment/ares name = "ares core camera" @@ -125,6 +128,7 @@ colony_camera_mapload = FALSE emp_proof = TRUE + owner_factions = FACTION_LIST_HUMANOID /obj/structure/machinery/camera/autoname/lz_camera/ex_act() return diff --git a/code/game/machinery/computer/fax_responder_spy.dm b/code/game/machinery/computer/fax_responder_spy.dm new file mode 100644 index 000000000000..e179425ae6be --- /dev/null +++ b/code/game/machinery/computer/fax_responder_spy.dm @@ -0,0 +1,329 @@ +/obj/structure/machinery/computer/spy_camera + name = "remote monitoring computer" + + icon_state = "terminal" + + var/mob/hologram/spy_camera/spy_eye + var/spy_range = 5 + var/spy_faction = FACTION_NEUTRAL + + var/turf/last_location + var/turf/start_location + + /// Computer and Spycam can only be used if this variable is cleared + var/locked = FALSE + +/obj/structure/machinery/computer/spy_camera/attackby(obj/I as obj, mob/user as mob) //Can't break or disassemble. + return + +/obj/structure/machinery/computer/spy_camera/bullet_act(obj/projectile/Proj) //Can't shoot it + return FALSE + +/obj/structure/machinery/computer/spy_camera/proc/set_operator(mob/living/carbon/human/new_operator) + if(!istype(new_operator)) + return + remove_current_operator() + + operator = new_operator + var/datum/mob_hud/spy_hud = GLOB.huds[MOB_HUD_SPYCAMS] + spy_hud.add_hud_to(new_operator, src) + RegisterSignal(operator, COMSIG_PARENT_QDELETING, PROC_REF(remove_current_operator)) + RegisterSignal(operator, COMSIG_MOVABLE_MOVED, PROC_REF(remove_current_operator)) + + if(!last_location) + last_location = loc + + start_location = last_location + + spy_eye = new(last_location, new_operator, src) + //RegisterSignal(eye, COMSIG_MOVABLE_PRE_MOVE, PROC_REF(check_and_set_zlevel)) + RegisterSignal(spy_eye, COMSIG_PARENT_QDELETING, PROC_REF(remove_current_operator)) + +/obj/structure/machinery/computer/spy_camera/proc/remove_current_operator() + SIGNAL_HANDLER + if(!operator) return + + if(spy_eye) + last_location = spy_eye.loc + if(spy_eye.gc_destroyed) + spy_eye = null + else + QDEL_NULL(spy_eye) + + UnregisterSignal(operator, list( + COMSIG_PARENT_QDELETING, + COMSIG_MOVABLE_PRE_MOVE, + COMSIG_MOB_POST_CLICK + )) + operator.update_sight() + var/datum/mob_hud/spy_hud = GLOB.huds[MOB_HUD_SPYCAMS] + spy_hud.remove_hud_from(operator, src) + operator = null + +/obj/structure/machinery/computer/spy_camera/attack_hand(mob/living/carbon/human/pos_operator) + if(..()) + return + + if(!istype(pos_operator)) + return + + if(locked || (!(pos_operator.faction == FACTION_FAX) && !(spy_faction in pos_operator.faction_group))) + to_chat(pos_operator, SPAN_WARNING("The remote camera system is locked out!")) + return FALSE + + if(operator && operator.stat == CONSCIOUS) + to_chat(pos_operator, SPAN_WARNING("Someone is already using this computer!")) + return + + if(tgui_alert(pos_operator, "Change the camera focus?", "Spycam Computer", list("Yes", "No")) == "Yes") + var/obj/effect/landmark/spycam_start/start_point = tgui_input_list(pos_operator, "Where do you want to focus the camera?", "Camera Focus", GLOB.spycam_starts) + if(!start_point) + return + last_location = start_point.loc + + set_operator(pos_operator) + + +/obj/effect/landmark/spycam_start + name = "Spycam Landmark" + icon_state = "spycam" + +/obj/effect/landmark/spycam_start/Initialize() + . = ..() + name = "Spycam [get_area_name(src, TRUE)]" + GLOB.spycam_starts += src + +/obj/effect/landmark/spycam_start/Destroy() + GLOB.spycam_starts -= src + return ..() + +/mob/hologram/spy_camera + name = "Spy Camera" + motion_sensed = FALSE + icon_state = "spycam" + + color = "#10948d" + + hud_possible = list(SPYCAM_HUD) + hears_speech = TRUE + + var/mob/living/carbon/is_watching + + var/spy_range = 5 + var/spy_faction = FACTION_NEUTRAL + + var/list/temporary_list = list() + var/list/temporary_list_2 = list() + + ///Whether or not the camera is on cooldown for a warning message it can't move to a certain tile, locked to one message every 3 seconds. + var/move_warn = FALSE + + +/mob/hologram/spy_camera/Initialize(mapload, mob/living/carbon/spy_operator, obj/structure/machinery/computer/spy_camera/console) + if(!console || !spy_operator) + return INITIALIZE_HINT_QDEL + + if(!istype(console)) + stack_trace("Tried to initialize a /mob/hologram/spy_camera on type ([console.type])") + return INITIALIZE_HINT_QDEL + + spy_range = console.spy_range + spy_faction = console.spy_faction + faction = spy_faction + + switch(spy_faction) + if(FACTION_MARINE, FACTION_MARSHAL) + color = "#0947bb" + if(FACTION_CLF) + color = "#717fbd" + if(FACTION_UPP) + color = "#0f3d11" + if(FACTION_TWE) + color = "#b350c0" + if(FACTION_WY) + color = "#b6b6b6" + + . = ..() + + name = "Spy Camera ([spy_faction])" + RegisterSignal(spy_operator, COMSIG_MOB_PRE_CLICK, PROC_REF(handle_overwatch)) + //RegisterSignal(spy_operator, COMSIG_XENO_OVERWATCH_XENO, PROC_REF(start_watching)) + //RegisterSignal(spy_operator, list( + // COMSIG_XENO_STOP_OVERWATCH, + // COMSIG_XENO_STOP_OVERWATCH_XENO + //), PROC_REF(stop_watching)) + RegisterSignal(src, COMSIG_MOVABLE_TURF_ENTER, PROC_REF(can_spy_turf)) + + med_hud_set_status() + add_to_all_mob_huds() + + spy_operator.sight |= SEE_TURFS|SEE_OBJS + +/mob/hologram/spy_camera/proc/exit_hologram() + SIGNAL_HANDLER + qdel(src) + +/mob/hologram/spy_camera/handle_move(mob/living/carbon/human/spy_operator, NewLoc, direct) + if(is_watching && (can_spy_turf(src, is_watching.loc) & COMPONENT_TURF_DENY_MOVEMENT)) + return COMPONENT_OVERRIDE_MOVE + + return ..() + +/mob/hologram/spy_camera/proc/start_watching(mob/living/carbon/human/source_mob, mob/living/carbon/human/target_mob) + SIGNAL_HANDLER + forceMove(target_mob) + is_watching = target_mob + + RegisterSignal(target_mob, COMSIG_PARENT_QDELETING, PROC_REF(target_watching_qdeleted)) + return + +// able to stop watching here before the loc is set to null +/mob/hologram/spy_camera/proc/target_watching_qdeleted(mob/living/carbon/target) + SIGNAL_HANDLER + stop_watching(linked_mob, target) + +/mob/hologram/spy_camera/proc/stop_watching(mob/living/carbon/human/responder, mob/living/carbon/human/target) + SIGNAL_HANDLER + if(target) + if(loc == target) + var/turf/target_turf = get_turf(target) + + if(target_turf) + forceMove(target_turf) + UnregisterSignal(target, COMSIG_PARENT_QDELETING) + + if(!isturf(loc) || (can_spy_turf(src, loc) & COMPONENT_TURF_DENY_MOVEMENT)) + forceMove(target.loc) + + is_watching = null + target.reset_view() + return + +/mob/hologram/spy_camera/proc/can_spy_turf(mob/self, turf/crossing_turf) + SIGNAL_HANDLER + + if(!crossing_turf || istype(crossing_turf, /turf/open/space) || istype(get_area(crossing_turf), /area/space)) + return COMPONENT_TURF_DENY_MOVEMENT + + if(istype(crossing_turf, /turf/closed/wall)) + var/turf/closed/wall/crossing_wall = crossing_turf + if(crossing_wall.hull) + if(!move_warn) + move_warn = TRUE + addtimer(CALLBACK(src, PROC_REF(reset_warn)), 3 SECONDS) + to_chat(linked_mob, SPAN_WARNING("You cannot move the camera here, it's a solid wall!")) + return COMPONENT_TURF_DENY_MOVEMENT + + if(is_mainship_level(z)) + if(spy_faction in FACTION_LIST_MARINE_FAXES) + return COMPONENT_TURF_ALLOW_MOVEMENT + + var/list/turf_area = view(spy_range, crossing_turf) + temporary_list = turf_area + + var/list/obj/structure/machinery/camera/camera_list = list() + temporary_list_2 = camera_list + + for(var/obj/structure/machinery/camera/nearby_camera in turf_area) + camera_list += nearby_camera + for(var/mob/living/carbon/human/local_mob in turf_area) + if(istype(local_mob.head, /obj/item/clothing/head/helmet/marine)) + var/obj/item/clothing/head/helmet/marine/helm = local_mob.head + camera_list += helm.camera + + for(var/obj/structure/machinery/camera/possible_camera in camera_list) + if(spy_faction in possible_camera.owner_factions) + return COMPONENT_TURF_ALLOW_MOVEMENT + + if(!move_warn) + move_warn = TRUE + addtimer(CALLBACK(src, PROC_REF(reset_warn)), 3 SECONDS) + to_chat(linked_mob, SPAN_WARNING("You can't move the spy here, there's no camera you have access to nearby!")) + return COMPONENT_TURF_DENY_MOVEMENT + +/mob/hologram/spy_camera/proc/reset_warn() + move_warn = FALSE + +/mob/hologram/spy_camera/proc/is_spy_faction(atom/target_atom) + if(!ismob(target_atom)) + return FALSE + var/mob/living/carbon/target_mob = target_atom + if(!(spy_faction in target_mob.faction_group)) + return FALSE + return TRUE + +/mob/hologram/spy_camera/proc/handle_overwatch(mob/living/carbon/human/spy_operator, atom/target_atom, mods) + SIGNAL_HANDLER + + var/turf/target_turf = get_turf(target_atom) + if(!istype(target_turf)) + return + + if(!mods["ctrl"]) + return + + // I want to make this mimic observer follow. + //if(is_spy_faction(target_atom)) + // var/mob/living/carbon/target_mob = target_atom + // return COMPONENT_INTERRUPT_CLICK + + + if(!(can_spy_turf(src, target_turf) & COMPONENT_TURF_ALLOW_MOVEMENT)) + return + + forceMove(target_turf) + + return COMPONENT_INTERRUPT_CLICK + +/mob/hologram/spy_camera/handle_view(mob/spy_operator, atom/target) + if(spy_operator.client) + spy_operator.client.perspective = EYE_PERSPECTIVE + + if(is_watching) + spy_operator.client.eye = is_watching + else + spy_operator.client.eye = src + + return COMPONENT_OVERRIDE_VIEW + +/mob/hologram/spy_camera/Destroy() + if(linked_mob) + linked_mob.sight &= ~(SEE_TURFS|SEE_OBJS) + + remove_from_all_mob_huds() + is_watching = null + + return ..() + +/mob/hologram/spy_camera/add_to_all_mob_huds() + var/datum/mob_hud/hud = GLOB.huds[MOB_HUD_SPYCAMS] + hud.add_to_hud(src) + +/mob/hologram/spy_camera/remove_from_all_mob_huds() + var/datum/mob_hud/hud = GLOB.huds[MOB_HUD_SPYCAMS] + hud.remove_from_hud(src) + +/mob/hologram/spy_camera/med_hud_set_status() + var/image/holder = hud_list[SPYCAM_HUD] + holder.icon_state = "hudeye" + holder.color = color + + + +/obj/structure/machinery/computer/spy_camera/uscm + spy_faction = FACTION_MARINE + +/obj/structure/machinery/computer/spy_camera/wy + spy_faction = FACTION_WY + +/obj/structure/machinery/computer/spy_camera/twe + spy_faction = FACTION_TWE + +/obj/structure/machinery/computer/spy_camera/clf + spy_faction = FACTION_CLF + +/obj/structure/machinery/computer/spy_camera/upp + spy_faction = FACTION_UPP + +/obj/structure/machinery/computer/spy_camera/cmb + spy_faction = FACTION_MARSHAL diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index ac6de251ab45..eee97c0e2ec0 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -477,7 +477,7 @@ var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) var/obj/item/paper/P = new /obj/item/paper( src.loc ) P.name = text("Scan: [], []",record.fields["name"],worldtime2text()) - P.info += text("

Official Weyland-Yutani Document
Scan Record

[]

\n
",record.fields["name"]) + P.info += text("

Official Weyland-Yutani Document
Scan Record

[]

\n
",record.fields["name"]) for(var/datum/data/record/R as anything in GLOB.data_core.medical) if (R.fields["name"] == record.fields["name"]) if(R.fields["last_scan_time"] && R.fields["last_scan_result"]) diff --git a/code/game/machinery/fax_machine.dm b/code/game/machinery/fax_machine.dm index 4b5df130c96d..96564a0342b7 100644 --- a/code/game/machinery/fax_machine.dm +++ b/code/game/machinery/fax_machine.dm @@ -68,6 +68,10 @@ GLOBAL_LIST_EMPTY(all_faxcodes) var/machine_id_tag /// Whether or not the ID tag can be changed by proc. var/fixed_id_tag = FALSE + /// Whether or not the next fax to be sent is a priority one. + var/is_priority_fax = FALSE + /// If this machine can send priority faxes. + var/can_send_priority = FALSE /obj/structure/machinery/faxmachine/Initialize(mapload, ...) . = ..() @@ -274,43 +278,54 @@ GLOBAL_LIST_EMPTY(all_faxcodes) data["nextfaxtime"] = send_cooldown data["faxcooldown"] = fax_cooldown + data["can_send_priority"] = can_send_priority + data["is_priority_fax"] = is_priority_fax + + return data /obj/structure/machinery/faxmachine/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return + var/mob/user = ui.user switch(action) + if("toggle_priority") + is_priority_fax = !is_priority_fax + to_chat(user, SPAN_NOTICE("Priority Alert is now [is_priority_fax ? "Enabled" : "Disabled"].")) + . = TRUE + if("send") if(!original_fax) - to_chat(ui.user, SPAN_NOTICE("No paper loaded.")) + to_chat(user, SPAN_NOTICE("No paper loaded.")) return if(istype(original_fax, /obj/item/paper_bundle)) var/obj/item/paper_bundle/bundle = original_fax if(bundle.amount > 5) - to_chat(ui.user, SPAN_NOTICE("\The [src] is jammed!")) + to_chat(user, SPAN_NOTICE("\The [src] is jammed!")) return copy_fax_paper() - outgoing_fax_message(ui.user) + outgoing_fax_message(user, is_priority_fax) + is_priority_fax = FALSE COOLDOWN_START(src, send_cooldown, fax_cooldown) - to_chat(ui.user, "Message transmitted successfully.") + to_chat(user, "Message transmitted successfully.") . = TRUE if("ejectpaper") if(!original_fax) - to_chat(ui.user, SPAN_NOTICE("No paper loaded.")) - if(!ishuman(ui.user)) - to_chat(ui.user, SPAN_NOTICE("You can't do that.")) + to_chat(user, SPAN_NOTICE("No paper loaded.")) + if(!ishuman(user)) + to_chat(user, SPAN_NOTICE("You can't do that.")) return - original_fax.forceMove(ui.user.loc) - ui.user.put_in_hands(original_fax) - to_chat(ui.user, SPAN_NOTICE("You take \the [original_fax.name] out of \the [src].")) + original_fax.forceMove(user.loc) + user.put_in_hands(original_fax) + to_chat(user, SPAN_NOTICE("You take the [original_fax.name] out of [src].")) original_fax = null fax_paper_copy = null photo_list = null @@ -318,31 +333,31 @@ GLOBAL_LIST_EMPTY(all_faxcodes) if("insertpaper") var/jammed = FALSE - var/obj/item/I = ui.user.get_active_hand() + var/obj/item/I = user.get_active_hand() if(istype(I, /obj/item/paper_bundle)) var/obj/item/paper_bundle/bundle = I if(bundle.amount > 5) jammed = TRUE // Repeating code? This is not ideal. Why not put this functionality inside of a proc? if(istype(I, /obj/item/paper) || istype(I, /obj/item/paper_bundle) || istype(I, /obj/item/photo)) - ui.user.drop_inv_item_to_loc(I, src) + user.drop_inv_item_to_loc(I, src) original_fax = I if(!jammed) - to_chat(ui.user, SPAN_NOTICE("You put \the [original_fax.name] into \the [src].")) + to_chat(user, SPAN_NOTICE("You put the [original_fax.name] into [src].")) else - to_chat(ui.user, SPAN_NOTICE("\The [src] jammed! It can only accept up to five papers at once.")) + to_chat(user, SPAN_NOTICE("[src] jammed! It can only accept up to five papers at once.")) playsound(src, "sound/machines/terminal_insert_disc.ogg", 50, TRUE) flick("[initial(icon_state)]send", src) . = TRUE if("ejectid") - if(!scan || !ishuman(ui.user)) - to_chat(ui.user, SPAN_WARNING("You can't do that.")) + if(!scan || !ishuman(user)) + to_chat(user, SPAN_WARNING("You can't do that.")) return - to_chat(ui.user, SPAN_NOTICE("You take \the [scan] out of \the [src].")) - scan.forceMove(ui.user.loc) - if(!ui.user.get_active_hand()) - ui.user.put_in_hands(scan) + to_chat(user, SPAN_NOTICE("You take [scan] out of [src].")) + scan.forceMove(user.loc) + if(!user.get_active_hand()) + user.put_in_hands(scan) scan = null else scan.forceMove(src.loc) @@ -353,11 +368,11 @@ GLOBAL_LIST_EMPTY(all_faxcodes) if("select") var/last_target_department = target_department - target_department = tgui_input_list(ui.user, "Which department?", "Choose a department", GLOB.all_fax_departments) + target_department = tgui_input_list(user, "Which department?", "Choose a department", GLOB.all_fax_departments) if(!target_department) target_department = last_target_department if(target_department == DEPARTMENT_TARGET) - var/new_target_machine_id = tgui_input_list(ui.user, "Which machine?", "Choose a machine code", GLOB.all_faxcodes) + var/new_target_machine_id = tgui_input_list(user, "Which machine?", "Choose a machine code", GLOB.all_faxcodes) if(!new_target_machine_id) target_department = last_target_department else @@ -375,7 +390,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) authenticated = FALSE . = TRUE - add_fingerprint(ui.user) + add_fingerprint(user) /obj/structure/machinery/faxmachine/vv_get_dropdown() . = ..() @@ -422,9 +437,9 @@ GLOBAL_LIST_EMPTY(all_faxcodes) photo_list += list("tmp_photo[content].png" = (faxed_photo.img)) fax_paper_copy.info += "" -/obj/structure/machinery/faxmachine/proc/outgoing_fax_message(mob/user) +/obj/structure/machinery/faxmachine/proc/outgoing_fax_message(mob/user, sending_priority) - var/datum/fax/faxcontents = new(fax_paper_copy.info, photo_list, fax_paper_copy.name) + var/datum/fax/faxcontents = new(fax_paper_copy.info, photo_list, fax_paper_copy.name, target_department, machine_id_tag) GLOB.fax_contents += faxcontents @@ -472,7 +487,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) var/msg_ghost = SPAN_NOTICE("[the_target_department]: ") msg_ghost += "Receiving fax via secure connection ... view message" - send_fax(faxcontents) + send_fax(faxcontents, sending_priority) announce_fax(msg_admin, msg_ghost) @@ -500,7 +515,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) C << 'sound/effects/incoming-fax.ogg' -/obj/structure/machinery/faxmachine/proc/send_fax(datum/fax/faxcontents) +/obj/structure/machinery/faxmachine/proc/send_fax(datum/fax/faxcontents, sending_priority) var/list/target_machines = list() for(var/obj/structure/machinery/faxmachine/pos_target in GLOB.all_faxmachines) if(target_department == DEPARTMENT_TARGET) @@ -517,6 +532,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) flick("[initial(icon_state)]receive", target) + playsound(target.loc, "sound/machines/fax.ogg", 15) // give the sprite some time to flick spawn(30) var/obj/item/paper/P = new(target.loc,faxcontents.photo_list) @@ -564,7 +580,10 @@ GLOBAL_LIST_EMPTY(all_faxcodes) else P.stamps += "
This paper has been sent by [machine_id_tag]." P.overlays += stampoverlay - playsound(target.loc, "sound/items/polaroid1.ogg", 15, 1) + if(sending_priority) + playsound(target.loc, "sound/machines/twobeep.ogg", 45) + target.langchat_speech("beeps with a priority message", get_mobs_in_view(GLOB.world_view_size, target), GLOB.all_languages, skip_language_check = TRUE, animation_style = LANGCHAT_FAST_POP, additional_styles = list("langchat_small", "emote")) + target.visible_message("[SPAN_BOLD(target)] beeps with a priority message.") qdel(faxcontents) /obj/structure/machinery/faxmachine/cmb @@ -584,6 +603,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) department = DEPARTMENT_WY target_department = "W-Y Liaison" network = FAX_NET_WY_HC + can_send_priority = TRUE /obj/structure/machinery/faxmachine/uscm name = "\improper USCM Military Fax Machine" @@ -596,11 +616,13 @@ GLOBAL_LIST_EMPTY(all_faxcodes) /obj/structure/machinery/faxmachine/uscm/command/capt department = "Commanding Officer" + can_send_priority = TRUE /obj/structure/machinery/faxmachine/uscm/command/highcom department = DEPARTMENT_HC target_department = "Commanding Officer" network = FAX_NET_USCM_HC + can_send_priority = TRUE /obj/structure/machinery/faxmachine/uscm/brig name = "\improper USCM Provost Fax Machine" @@ -614,6 +636,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) department = DEPARTMENT_PROVOST target_department = "Brig" network = FAX_NET_USCM_HC + can_send_priority = TRUE /obj/structure/machinery/faxmachine/upp name = "\improper UPP Military Fax Machine" @@ -625,6 +648,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) department = DEPARTMENT_UPP network = FAX_NET_UPP_HC target_department = "UPP Local Operations" + can_send_priority = TRUE /obj/structure/machinery/faxmachine/clf name = "\improper Hacked General Purpose Fax Machine" @@ -636,6 +660,7 @@ GLOBAL_LIST_EMPTY(all_faxcodes) department = DEPARTMENT_CLF network = FAX_NET_CLF_HC target_department = "CLF Local Operations" + can_send_priority = TRUE /obj/structure/machinery/faxmachine/twe name = "\improper TWE Military Fax Machine" @@ -647,11 +672,27 @@ GLOBAL_LIST_EMPTY(all_faxcodes) department = DEPARTMENT_TWE network = FAX_NET_TWE_HC target_department = "TWE Local Operations" + can_send_priority = TRUE /obj/structure/machinery/faxmachine/press/highcom department = DEPARTMENT_PRESS network = FAX_NET_PRESS_HC target_department = "General Public" + can_send_priority = TRUE + +/obj/structure/machinery/faxmachine/Initialize(mapload, ...) + . = ..() + + if(mapload && (department in HIGHCOM_DEPARTMENTS)) + for(var/datum/fax/fax as anything in GLOB.fax_contents) + if(fax.department != department) + continue + + var/obj/item/paper/paper = new(get_turf(src)) + paper.info = fax.data + paper.update_icon() + + paper.stamps += "
This paper has been sent by [fax.fax_id_tag]." ///The deployed fax machine backpack /obj/structure/machinery/faxmachine/backpack @@ -748,13 +789,21 @@ GLOBAL_LIST_EMPTY(all_faxcodes) var/list/photo_list var/paper_name -/datum/fax/New(new_data, new_photo_list, new_name) + /// Where this fax was sent to + var/department + + /// The ID tag of the fax machine that sent this + var/fax_id_tag + +/datum/fax/New(new_data, new_photo_list, new_name, department, fax_id_tag) . = ..() data = new_data photo_list = new_photo_list if(new_name != "paper") paper_name = new_name + src.department = department + src.fax_id_tag = fax_id_tag /obj/structure/machinery/faxmachine/proc/is_department_responder_awake(target_department) diff --git a/code/game/machinery/vending/vending_types.dm b/code/game/machinery/vending/vending_types.dm index ad6f201d8662..66daf5b036b5 100644 --- a/code/game/machinery/vending/vending_types.dm +++ b/code/game/machinery/vending/vending_types.dm @@ -442,7 +442,7 @@ /obj/item/tool/pen = 10, /obj/item/tool/pen/blue = 10, /obj/item/tool/pen/red = 10, - /obj/item/tool/pen/fountain = 3, + /obj/item/tool/pen/multicolor/fountain = 3, /obj/item/storage/fancy/cigarettes/trading_card = 20, /obj/item/storage/fancy/trading_card = 20, /obj/item/toy/trading_card = 50, @@ -473,7 +473,7 @@ /obj/item/tool/pen = 2, /obj/item/tool/pen/blue = 2, /obj/item/tool/pen/red = 2, - /obj/item/tool/pen/fountain = 30, + /obj/item/tool/pen/multicolor/fountain = 30, /obj/item/storage/fancy/cigarettes/trading_card = 30, /obj/item/storage/fancy/trading_card = 20, /obj/item/toy/trading_card = 5, diff --git a/code/game/objects/effects/spawners/random.dm b/code/game/objects/effects/spawners/random.dm index 0deac38469af..dbcd8b3c8101 100644 --- a/code/game/objects/effects/spawners/random.dm +++ b/code/game/objects/effects/spawners/random.dm @@ -203,7 +203,7 @@ /obj/item/storage/belt/champion,\ /obj/item/tool/soap/deluxe,\ /obj/item/tool/pickaxe/silver,\ - /obj/item/tool/pen/invisible,\ + /obj/item/tool/pen/white,\ /obj/item/explosive/grenade/smokebomb,\ /obj/item/corncob,\ /obj/item/poster,\ diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 21159e2bf94b..089886db0e56 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -310,12 +310,12 @@ /obj/item/device/encryptionkey/highcom name = "\improper USCM High Command Radio Encryption Key" icon_state = "binary_key" - channels = list(RADIO_CHANNEL_HIGHCOM = TRUE, SQUAD_SOF = TRUE, RADIO_CHANNEL_PROVOST = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = FALSE, RADIO_CHANNEL_JTAC = FALSE, RADIO_CHANNEL_INTEL = TRUE) + channels = list(RADIO_CHANNEL_HIGHCOM = TRUE, SQUAD_SOF = TRUE, RADIO_CHANNEL_PROVOST = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = FALSE, RADIO_CHANNEL_JTAC = FALSE, RADIO_CHANNEL_INTEL = TRUE, RADIO_CHANNEL_ALMAYER = TRUE) /obj/item/device/encryptionkey/provost name = "\improper USCM Provost Radio Encryption Key" icon_state = "sec_key" - channels = list(RADIO_CHANNEL_PROVOST = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = FALSE, RADIO_CHANNEL_JTAC = FALSE, RADIO_CHANNEL_INTEL = TRUE) + channels = list(RADIO_CHANNEL_PROVOST = TRUE, RADIO_CHANNEL_COMMAND = TRUE, RADIO_CHANNEL_MP = TRUE, SQUAD_MARINE_1 = FALSE, SQUAD_MARINE_2 = FALSE, SQUAD_MARINE_3 = FALSE, SQUAD_MARINE_4 = FALSE, SQUAD_MARINE_5 = FALSE, SQUAD_MARINE_CRYO = FALSE, RADIO_CHANNEL_ENGI = TRUE, RADIO_CHANNEL_MEDSCI = TRUE, RADIO_CHANNEL_REQ = FALSE, RADIO_CHANNEL_JTAC = FALSE, RADIO_CHANNEL_INTEL = TRUE, RADIO_CHANNEL_ALMAYER = TRUE) /obj/item/device/encryptionkey/contractor diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 76585f27f605..f9bde46f93d8 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -45,6 +45,9 @@ ///The type of minimap this headset is added to var/minimap_type = MINIMAP_FLAG_USCM + var/obj/item/device/radio/listening_bug/spy_bug + var/spy_bug_type + var/mob/living/carbon/human/wearer /obj/item/device/radio/headset/Initialize() @@ -67,8 +70,15 @@ if(GLOB.radiochannels[cycled_channel] == frequency) default_freq = cycled_channel + if(spy_bug_type) + spy_bug = new spy_bug_type + spy_bug.forceMove(src) + /obj/item/device/radio/headset/Destroy() wearer = null + if(spy_bug) + qdel(spy_bug) + spy_bug = null QDEL_NULL_LIST(keys) return ..() @@ -569,6 +579,12 @@ maximum_keys = 5 initial_keys = list(/obj/item/device/encryptionkey/mcom/cl) + spy_bug_type = /obj/item/device/radio/listening_bug/radio_linked/fax/wy + +/obj/item/device/radio/headset/almayer/mcl/Initialize() + . = ..() + spy_bug.nametag = "CL Radio" + /obj/item/device/radio/headset/almayer/reporter name = "reporter radio headset" desc = "Used by the combat correspondent to get the scoop. Channels are as follows: :v - marine command, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad, :n - engineering, :m - medbay, :u - requisitions, :j - JTAC, :t - intel." diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index baef29b84e81..2bfc9054b1a0 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -93,3 +93,16 @@ /obj/item/device/radio/intercom/devana name = "dropship devana intercom" frequency = UPP_DS2_FREQ + +/obj/item/device/radio/intercom/fax + name = "Monitoring Frequency Speaker" + canhear_range = 4 + +/obj/item/device/radio/intercom/fax/wy + frequency = FAX_WY_FREQ + +/obj/item/device/radio/intercom/fax/uscm_hc + frequency = FAX_USCM_HC_FREQ + +/obj/item/device/radio/intercom/fax/uscm_pvst + frequency = FAX_USCM_PVST_FREQ diff --git a/code/game/objects/items/devices/radio/listening_bugs.dm b/code/game/objects/items/devices/radio/listening_bugs.dm index 5ca8503196af..d498a7247f3c 100644 --- a/code/game/objects/items/devices/radio/listening_bugs.dm +++ b/code/game/objects/items/devices/radio/listening_bugs.dm @@ -278,3 +278,23 @@ /obj/item/device/encryptionkey/listening_bug/freq_b name = "Listening Bug Encryption Key (B)" channels = list(RADIO_CHANNEL_BUG_B = TRUE) + + + +///An automatically active bug used to listen to things by a Fax Responder. +/obj/item/device/radio/listening_bug/radio_linked/fax + name = "Comms Relay Device" + subspace_switchable = FALSE + broadcasting = TRUE + +/obj/item/device/radio/listening_bug/radio_linked/fax/wy + frequency = FAX_WY_FREQ + req_one_access = list(ACCESS_WY_SENIOR_LEAD) + +/obj/item/device/radio/listening_bug/radio_linked/fax/uscm_pvst + frequency = FAX_USCM_PVST_FREQ + req_one_access = list(ACCESS_MARINE_CO) + +/obj/item/device/radio/listening_bug/radio_linked/fax/uscm_hc + frequency = FAX_USCM_HC_FREQ + req_one_access = list(ACCESS_MARINE_CO) diff --git a/code/game/objects/items/gift_wrappaper.dm b/code/game/objects/items/gift_wrappaper.dm index 82d4871fc4c0..98332773c3dd 100644 --- a/code/game/objects/items/gift_wrappaper.dm +++ b/code/game/objects/items/gift_wrappaper.dm @@ -72,7 +72,7 @@ /obj/item/storage/belt/champion, /obj/item/tool/soap/deluxe, /obj/item/tool/pickaxe/silver, - /obj/item/tool/pen/invisible, + /obj/item/tool/pen/white, /obj/item/explosive/grenade/smokebomb, /obj/item/corncob, /obj/item/poster, diff --git a/code/game/objects/items/tools/misc_tools.dm b/code/game/objects/items/tools/misc_tools.dm index fae2c3916448..ffae36ae76e3 100644 --- a/code/game/objects/items/tools/misc_tools.dm +++ b/code/game/objects/items/tools/misc_tools.dm @@ -192,6 +192,16 @@ if(on) overlays += "+[pen_color]_tip" +/obj/item/tool/pen/attack(mob/M as mob, mob/user as mob) + if(!ismob(M)) + return + to_chat(user, SPAN_WARNING("You stab [M] with the pen.")) + M.last_damage_data = create_cause_data(initial(name), user) + M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [key_name(M)]") + msg_admin_attack("[key_name(user)] Used the [name] to stab [key_name(M)] in [get_area(user)] ([user.loc.x],[user.loc.y],[user.loc.z]).", user.loc.x, user.loc.y, user.loc.z) + return + /obj/item/tool/pen/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() if(!isobj(target)) @@ -283,11 +293,33 @@ name = "WY green pen" clicky = TRUE -/obj/item/tool/pen/invisible - desc = "It's an invisible pen marker." +/obj/item/tool/pen/white + desc = "It's a rare white ink pen." pen_color = "white" -/obj/item/tool/pen/fountain +/obj/item/tool/pen/white/clicky + desc = "It's a WY brand extra clicky white ink pen." + name = "WY white pen" + clicky = TRUE + +/obj/item/tool/pen/multicolor + name = "multicolor pen" + desc = "A color switching pen!" + var/list/colour_list = list("red", "blue", "black") + var/current_colour_index = 1 + +/obj/item/tool/pen/multicolor/attack_self(mob/living/carbon/human/user) + if(on) + current_colour_index = (current_colour_index % length(colour_list)) + 1 + pen_color = colour_list[current_colour_index] + balloon_alert(user,"you twist the pen and change the ink color to [pen_color].") + if(clicky) + playsound(user.loc, 'sound/items/pen_click_on.ogg', 100, 1, 5) + update_pen_state() + else + ..() + +/obj/item/tool/pen/multicolor/fountain desc = "A lavish testament to the ingenuity of ARMAT's craftsmanship, this fountain pen is a paragon of design and functionality. Detailed with golden accents and intricate mechanics, the pen allows for a swift change between a myriad of ink colors with a simple twist. A product of precision engineering, each mechanism inside the pen is designed to provide a seamless, effortless transition from one color to the next, creating an instrument of luxurious versatility." desc_lore = "More than just a tool for writing, ARMAT's fountain pen is a symbol of distinction and authority within the ranks of the United States Colonial Marine Corps (USCM). It is a legacy item, exclusively handed out to the top-tier command personnel, each pen a tribute to the recipient's leadership and dedication.\n \nARMAT, renowned for their weapons technology, took a different approach in crafting this piece. The fountain pen, though seemingly a departure from their usual field, is deeply ingrained with the company's engineering philosophy, embodying precision, functionality, and robustness.\n \nThe golden accents are not mere embellishments; they're an identifier, setting apart these pens and their owners from the rest. The gold is meticulously alloyed with a durable metallic substance, granting it resilience to daily wear and tear. Such resilience is symbolic of the tenacity and perseverance required of USCM command personnel.\n \nEach pen is equipped with an intricate color changing mechanism, allowing the user to switch between various ink colors. This feature, inspired by the advanced targeting systems of ARMAT's weaponry, uses miniaturized actuators and precision-ground components to smoothly transition the ink flow. A simple twist of the pen's body activates the change, rotating the internal ink cartridges into place with mechanical grace, ready for the user's command.\n \nThe ink colors are not chosen arbitrarily. Each represents a different echelon within the USCM, allowing the pen's owner to write in the hue that corresponds with their rank or the rank of the recipient of their written orders. This acts as a silent testament to the authority of their words, as if each stroke of the pen echoes through the halls of USCM authority.\n \nDespite its ornate appearance, the pen is as robust as any ARMAT weapon, reflecting the company's commitment to reliability and durability. The metal components are corrosion-resistant, ensuring the pen's longevity, even under the challenging conditions often faced by USCM high command.\n \nThe fusion of luxury and utility, the blend of gold and metal, is an embodiment of the hard-won elegance of command, of the fusion between power and grace. It's more than a writing instrument - it's an emblem of leadership, an accolade to the dedication and strength of those who bear it. ARMAT's fountain pen stands as a monument to the precision, integrity, and courage embodied by the USCM's highest-ranking officers." name = "fountain pen" @@ -295,66 +327,45 @@ item_state = "fountain_pen" item_state_slots = list(WEAR_AS_GARB = "fountain_pen") matter = list("metal" = 20, "gold" = 10) - var/static/list/color_list = list("red", "blue", "green", "yellow", "purple", "pink", "brown", "black", "orange") // Can add more colors as required - var/current_color_index = 1 + colour_list = list("red", "blue", "green", "yellow", "purple", "pink", "brown", "black", "orange") // Can add more colors as required var/owner_name -/obj/item/tool/pen/fountain/pickup(mob/user, silent) +/obj/item/tool/pen/multicolor/fountain/pickup(mob/user, silent) . = ..() if(!owner_name) RegisterSignal(user, COMSIG_POST_SPAWN_UPDATE, PROC_REF(set_owner), override = TRUE) ///Sets the owner of the pen to who it spawns with, requires var/source for signals -/obj/item/tool/pen/fountain/proc/set_owner(datum/source) +/obj/item/tool/pen/multicolor/fountain/proc/set_owner(datum/source) SIGNAL_HANDLER UnregisterSignal(source, COMSIG_POST_SPAWN_UPDATE) var/mob/living/carbon/human/user = source owner_name = user.name -/obj/item/tool/pen/fountain/get_examine_text(mob/user) +/obj/item/tool/pen/multicolor/fountain/get_examine_text(mob/user) . = ..() if(owner_name) . += "There's a laser engraving of [owner_name] on it." -/obj/item/tool/pen/fountain/attack_self(mob/living/carbon/human/user) - if(on) - current_color_index = (current_color_index % length(color_list)) + 1 - pen_color = color_list[current_color_index] - balloon_alert(user,"you twist the pen and change the ink color to [pen_color].") - if(clicky) - playsound(user.loc, 'sound/items/pen_click_on.ogg', 100, 1, 5) - update_pen_state() - else - ..() - -/obj/item/tool/pen/attack(mob/M as mob, mob/user as mob) - if(!ismob(M)) - return - to_chat(user, SPAN_WARNING("You stab [M] with the pen.")) -// to_chat(M, SPAN_WARNING("You feel a tiny prick!")) //That's a whole lot of meta! - M.last_damage_data = create_cause_data(initial(name), user) - M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [key_name(user)]") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [key_name(M)]") - msg_admin_attack("[key_name(user)] Used the [name] to stab [key_name(M)] in [get_area(user)] ([user.loc.x],[user.loc.y],[user.loc.z]).", user.loc.x, user.loc.y, user.loc.z) - return - +/obj/item/tool/pen/multicolor/provost + name = "provost pen" + desc = "A sleek black shell pen with the Provost Office sigil engraved into the side. It can change colors as needed for various functions within the Provost and Military Police." + icon_state = "provost_pen" + colour_list = list("blue", "green", "black", "orange", "red", "white") /* - * Sleepy Pens + * Antag pens */ /obj/item/tool/pen/sleepypen desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" flags_atom = FPRINT|OPENCONTAINER flags_equip_slot = SLOT_WAIST - - /obj/item/tool/pen/sleepypen/Initialize() . = ..() create_reagents(30) reagents.add_reagent("chloralhydrate", 22) - /obj/item/tool/pen/sleepypen/attack(mob/M as mob, mob/user as mob) if(!(istype(M,/mob))) return @@ -363,16 +374,10 @@ if(M.reagents) reagents.trans_to(M, 50) return - -/* - * Parapens - */ /obj/item/tool/pen/paralysis flags_atom = FPRINT|OPENCONTAINER flags_equip_slot = SLOT_WAIST - - /obj/item/tool/pen/paralysis/attack(mob/living/M as mob, mob/user as mob) if(!(istype(M))) return @@ -387,6 +392,9 @@ reagents.add_reagent("zombiepowder", 10) reagents.add_reagent("cryptobiolin", 15) +/* + * Stamps + */ /obj/item/tool/stamp name = "rubber stamp" desc = "A rubber stamp for stamping important documents." diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 8974eb36187f..fc5744dcbbf1 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -1141,7 +1141,7 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) temp += "Back to all categories


" temp += SPAN_DANGER("ERR0R UNK7OWN C4T2G#!$0-


") if(black_market_lockout) - temp += "





Unauthorized Access Removed.
This console is currently under CMB investigation.
Thank you for your cooperation.
" + temp += "





Unauthorized Access Removed.
This console is currently under CMB investigation.
Thank you for your cooperation.
" return temp += "KHZKNHZH#0-" if(!GLOB.supply_controller.mendoza_status) // he's daed diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index be210ea70099..1fcd74ecc724 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -862,7 +862,8 @@ no_overlay = TRUE supports_surgery = FALSE - +/turf/open/gm/river/no_overlay/sewage + name = "sewage" //ELEVATOR SHAFT-----------------------------------// diff --git a/code/game/turfs/shiva.dm b/code/game/turfs/shiva.dm index 26e9cbb29c18..b155c46d60d2 100644 --- a/code/game/turfs/shiva.dm +++ b/code/game/turfs/shiva.dm @@ -186,6 +186,9 @@ /turf/open/floor/shiva/bluecorners icon_state = "bluecorners" +/turf/open/floor/shiva/bluecorners/east + dir = EAST + /turf/open/floor/shiva/bluecorners/west dir = WEST diff --git a/code/modules/admin/fax_templates.dm b/code/modules/admin/fax_templates.dm index 2522acf92b3b..210915a3f7b8 100644 --- a/code/modules/admin/fax_templates.dm +++ b/code/modules/admin/fax_templates.dm @@ -7,7 +7,7 @@ dat += "body {" dat += "margin:0 auto;" dat += "padding:0;" - dat += "background-image: url('[asset.get_url_mappings()["faxbackground.jpg"]]');" + dat += "background-image: url('[asset.get_url_mappings()["background_white.jpg"]]');" dat += "font-family: monospace;" dat += "}" @@ -65,7 +65,7 @@ if(show_wy_logo) dat += "" dat += "
" diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index c1b90889ee5f..3f843a52ba57 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -117,13 +117,17 @@ /datum/asset/simple/paper keep_local_name = TRUE assets = list( - "wylogo.png" = 'html/images/wylogo.png', - "uscmlogo.png" = 'html/images/uscmlogo.png', - "upplogo.png" = 'html/images/upplogo.png', - "cmblogo.png" = 'html/images/cmblogo.png', - "faxwylogo.png" = 'html/images/faxwylogo.png', - "faxbackground.jpg" = 'html/images/faxbackground.jpg', - "colonialspacegruntsEZ.png" = 'html/images/colonialspacegruntsEZ.png', + "logo_wy.png" = 'paper_reference_files/logo_wy.png', + "logo_wy_inv.png" = 'paper_reference_files/logo_wy_inv.png', + "logo_uscm.png" = 'paper_reference_files/logo_uscm.png', + "logo_provost.png" = 'paper_reference_files/logo_provost.png', + "logo_upp.png" = 'paper_reference_files/logo_upp.png', + "logo_cmb.png" = 'paper_reference_files/logo_cmb.png', + "background_white.jpg" = 'paper_reference_files/background_white.jpg', + "background_dark.jpg" = 'paper_reference_files/background_dark.jpg', + "background_dark2.jpg" = 'paper_reference_files/background_dark2.jpg', + "background_dark_fractal.png" = 'paper_reference_files/background_dark_fractal.png', + "colonialspacegruntsEZ.png" = 'paper_reference_files/colonialspacegruntsEZ.png', ) /datum/asset/spritesheet/chat diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index b016626c0d04..65282794598b 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -124,6 +124,16 @@ GLOBAL_LIST_INIT(bgstate_options, list( var/commander_status = WHITELIST_NORMAL var/synth_status = WHITELIST_NORMAL + // Fax Responder Names + var/fax_name_uscm + var/fax_name_pvst + var/fax_name_wy + var/fax_name_upp + var/fax_name_twe + var/fax_name_cmb + var/fax_name_press + var/fax_name_clf + //character preferences var/real_name //our character's name var/be_random_name = FALSE //whether we are a random name every round @@ -655,6 +665,18 @@ GLOBAL_LIST_INIT(bgstate_options, list( dat += "Spawn as Synth: [toggles_ert & PLAY_SYNTH ? "Yes" : "No"]
" dat += "Spawn as Miscellaneous: [toggles_ert & PLAY_MISC ? "Yes" : "No"]
" dat += "
" + if(owner.check_whitelist_status(WHITELIST_FAX_RESPONDER)) + dat += "
" + dat += "

Fax Responder Names:

" + dat += "USCM High Command: [fax_name_uscm]
" + dat += "USCM Provost: [fax_name_pvst]
" + dat += "Weyland-Yutani: [fax_name_wy]
" + dat += "UPP Command: [fax_name_upp]
" + dat += "TWE Command: [fax_name_twe]
" + dat += "Colonial Marshal Bureau: [fax_name_cmb]
" + dat += "Free Press: [fax_name_press]
" + dat += "CLF Command: [fax_name_clf]
" + dat += "
" dat += "" @@ -1366,6 +1388,33 @@ GLOBAL_LIST_INIT(bgstate_options, list( synth_status = options[new_synth_status] + if("fax_name") + var/faction = href_list["fax_faction"] + var/raw_name = tgui_input_text(user, "Choose your Fax Responder's name:", "Responder Name") + if(raw_name) // Check to ensure that the user entered text (rather than cancel.) + var/new_name = reject_bad_name(raw_name) + if(!new_name) + to_chat(user, SPAN_RED("Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .")) + return + + switch(faction) + if("uscm") + fax_name_uscm = new_name + if("pvst") + fax_name_pvst = new_name + if("wy") + fax_name_wy = new_name + if("upp") + fax_name_upp = new_name + if("twe") + fax_name_twe = new_name + if("cmb") + fax_name_cmb = new_name + if("press") + fax_name_press = new_name + if("clf") + fax_name_clf = new_name + if("xeno_prefix") if(xeno_name_ban) to_chat(user, SPAN_WARNING(FONT_SIZE_BIG("You are banned from xeno name picking."))) @@ -2225,3 +2274,37 @@ GLOBAL_LIST_INIT(bgstate_options, list( #undef MENU_MENTOR #undef MENU_SETTINGS #undef MENU_SPECIAL + +/datum/preferences/proc/generate_name(faction = FACTION_MARINE) + var/female = prob(50) + var/name = "John Doe" + if(female) + name = "Jane Doe" + + switch(faction) + if(FACTION_MARINE) + if(female) + name = "[pick(GLOB.first_names_female)] [pick(GLOB.last_names)]" + else + name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]" + if(FACTION_WY, FACTION_TWE) + if(female) + name = "[pick(GLOB.first_names_female_pmc)] [pick(GLOB.last_names_pmc)]" + else + name = "[pick(GLOB.first_names_male_pmc)] [pick(GLOB.last_names_pmc)]" + if(FACTION_COLONIST, FACTION_MARSHAL) + if(female) + name = "[pick(GLOB.first_names_female_colonist)] [pick(GLOB.last_names_colonist)]" + else + name = "[pick(GLOB.first_names_male_colonist)] [pick(GLOB.last_names_colonist)]" + if(FACTION_UPP) + if(female) + name = "[pick(GLOB.first_names_female_upp)] [pick(GLOB.last_names_upp)]" + else + name = "[pick(GLOB.first_names_male_upp)] [pick(GLOB.last_names_upp)]" + if(FACTION_CLF) + if(female) + name = "[pick(GLOB.first_names_female_clf)] [pick(GLOB.last_names_clf)]" + else + name = "[pick(GLOB.first_names_male_clf)] [pick(GLOB.last_names_clf)]" + return name diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index dc35ba261b2c..db613cbb563d 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -406,7 +406,7 @@ GLOBAL_LIST_EMPTY_TYPED(gear_datums_by_name, /datum/gear) /datum/gear/paperwork/pen_fountain display_name = "Pen, fountain" - path = /obj/item/tool/pen/fountain + path = /obj/item/tool/pen/multicolor/fountain cost = 3 /datum/gear/paperwork/paper diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index c0efc44e58a5..ff358566fcdf 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -296,6 +296,15 @@ S["yautja_status"] >> yautja_status S["synth_status"] >> synth_status + S["fax_name_uscm"] >> fax_name_uscm + S["fax_name_pvst"] >> fax_name_pvst + S["fax_name_wy"] >> fax_name_wy + S["fax_name_upp"] >> fax_name_upp + S["fax_name_twe"] >> fax_name_twe + S["fax_name_cmb"] >> fax_name_cmb + S["fax_name_press"] >> fax_name_press + S["fax_name_clf"] >> fax_name_clf + S["lang_chat_disabled"] >> lang_chat_disabled S["show_permission_errors"] >> show_permission_errors S["hear_vox"] >> hear_vox @@ -380,6 +389,16 @@ affiliation = sanitize_inlist(affiliation, FACTION_ALLEGIANCE_USCM_COMMANDER, initial(affiliation)) yautja_status = sanitize_inlist(yautja_status, GLOB.whitelist_hierarchy + list("Elder"), initial(yautja_status)) synth_status = sanitize_inlist(synth_status, GLOB.whitelist_hierarchy, initial(synth_status)) + + fax_name_uscm = fax_name_uscm ? sanitize_text(fax_name_uscm, initial(fax_name_uscm)) : generate_name(FACTION_MARINE) + fax_name_pvst = fax_name_pvst ? sanitize_text(fax_name_pvst, initial(fax_name_pvst)) : generate_name(FACTION_MARINE) + fax_name_wy = fax_name_wy ? sanitize_text(fax_name_wy, initial(fax_name_wy)) : generate_name(FACTION_WY) + fax_name_upp = fax_name_upp ? sanitize_text(fax_name_upp, initial(fax_name_upp)) : generate_name(FACTION_UPP) + fax_name_twe = fax_name_twe ? sanitize_text(fax_name_twe, initial(fax_name_twe)) : generate_name(FACTION_TWE) + fax_name_cmb = fax_name_cmb ? sanitize_text(fax_name_cmb, initial(fax_name_cmb)) : generate_name(FACTION_MARSHAL) + fax_name_press = fax_name_press ? sanitize_text(fax_name_press, initial(fax_name_press)) : generate_name(FACTION_COLONIST) + fax_name_clf = fax_name_clf ? sanitize_text(fax_name_clf, initial(fax_name_clf)) : generate_name(FACTION_CLF) + key_bindings = sanitize_keybindings(key_bindings) remembered_key_bindings = sanitize_islist(remembered_key_bindings, null) hotkeys = sanitize_integer(hotkeys, FALSE, TRUE, TRUE) @@ -498,6 +517,15 @@ S["yautja_status"] << yautja_status S["synth_status"] << synth_status + S["fax_name_uscm"] << fax_name_uscm + S["fax_name_pvst"] << fax_name_pvst + S["fax_name_wy"] << fax_name_wy + S["fax_name_upp"] << fax_name_upp + S["fax_name_twe"] << fax_name_twe + S["fax_name_cmb"] << fax_name_cmb + S["fax_name_press"] << fax_name_press + S["fax_name_clf"] << fax_name_clf + S["lang_chat_disabled"] << lang_chat_disabled S["show_permission_errors"] << show_permission_errors S["key_bindings"] << key_bindings diff --git a/code/modules/clothing/head/head.dm b/code/modules/clothing/head/head.dm index cf2911efda52..7e5ead990ec6 100644 --- a/code/modules/clothing/head/head.dm +++ b/code/modules/clothing/head/head.dm @@ -363,7 +363,7 @@ GLOBAL_LIST_INIT(allowed_hat_items, list( /obj/item/tool/pen = PREFIX_HAT_GARB_OVERRIDE, /obj/item/tool/pen/blue = PREFIX_HAT_GARB_OVERRIDE, /obj/item/tool/pen/red = PREFIX_HAT_GARB_OVERRIDE, - /obj/item/tool/pen/fountain = NO_GARB_OVERRIDE, + /obj/item/tool/pen/multicolor = NO_GARB_OVERRIDE, /obj/item/clothing/glasses/welding = "welding-c", /obj/item/clothing/glasses/mgoggles = PREFIX_HAT_GARB_OVERRIDE, /obj/item/clothing/glasses/mgoggles/prescription = PREFIX_HAT_GARB_OVERRIDE, diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index fbbd04f0a2be..92a99e147c5e 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -248,7 +248,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( /obj/item/tool/pen = PREFIX_HELMET_GARB_OVERRIDE, // helmet_ /obj/item/tool/pen/blue = PREFIX_HELMET_GARB_OVERRIDE, // helmet_ /obj/item/tool/pen/red = PREFIX_HELMET_GARB_OVERRIDE, // helmet_ - /obj/item/tool/pen/fountain = NO_GARB_OVERRIDE, + /obj/item/tool/pen/multicolor = NO_GARB_OVERRIDE, /obj/item/clothing/glasses/welding = NO_GARB_OVERRIDE, /obj/item/clothing/head/headband = NO_GARB_OVERRIDE, /obj/item/clothing/head/headband/tan = NO_GARB_OVERRIDE, @@ -346,6 +346,9 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( ///Designates a visor type that should start down when initialized var/start_down_visor_type + ///Faction owners of the inbuilt camera + var/list/camera_factions = FACTION_LIST_MARINE_WY + /obj/item/clothing/head/helmet/marine/Initialize(mapload, new_protection[] = list(MAP_ICE_COLONY = ICE_PLANET_MIN_COLD_PROT)) . = ..() if(!(flags_atom & NO_NAME_OVERRIDE)) @@ -367,8 +370,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( pockets.bypass_w_limit = GLOB.allowed_helmet_items pockets.max_storage_space = storage_max_storage_space - camera = new /obj/structure/machinery/camera(src) - camera.network = list(CAMERA_NET_OVERWATCH) + camera = new /obj/structure/machinery/camera/overwatch(src) + camera.owner_factions = camera_factions for(var/obj/visor as anything in built_in_visors) visor.forceMove(src) @@ -1048,6 +1051,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( flags_inventory = BLOCKSHARPOBJ flags_inv_hide = NO_FLAGS flags_marine_helmet = NO_FLAGS + camera_factions = FACTION_LIST_WY /obj/item/clothing/head/helmet/marine/veteran/pmc/leader name = "\improper PMC beret" @@ -1143,6 +1147,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( item_icons = list( WEAR_HEAD = 'icons/mob/humans/onmob/clothing/head/misc_ert_colony.dmi', ) + camera_factions = FACTION_LIST_COLONY //==========================//DISTRESS\\=================================\\ //=======================================================================\\ @@ -1161,6 +1166,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( armor_bomb = CLOTHING_ARMOR_MEDIUM armor_rad = CLOTHING_ARMOR_MEDIUM flags_marine_helmet = HELMET_GARB_OVERLAY|HELMET_DAMAGE_OVERLAY + camera_factions = list(FACTION_DUTCH) /obj/item/clothing/head/helmet/marine/veteran/dutch/cap name = "\improper Dutch's Dozen cap" @@ -1201,6 +1207,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( armor_internaldamage = CLOTHING_ARMOR_HIGH min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT clothing_traits = list(TRAIT_EAR_PROTECTION) //the sprites clearly fully cover the ears and most of the head + camera_factions = FACTION_LIST_UPP /obj/item/clothing/head/helmet/marine/veteran/UPP/engi name = "\improper UM4-V helmet" @@ -1246,7 +1253,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( flags_inv_hide = HIDEEARS /obj/item/clothing/head/uppcap/civi - name = "\improper UL2 UPP cap" + name = "\improper UL2C UPP cap" desc = "UPP civilian headgear. It's of poor quality, and isn't expected to last all that long, however for as long as it's whole, it appears quite stylish." icon_state = "upp_cap_civi" @@ -1288,7 +1295,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( /obj/item/clothing/head/uppcap/ushanka/civi - name = "\improper UL8c UPP ushanka" + name = "\improper UL8C UPP ushanka" icon_state = "upp_ushanka_civi" item_state = "upp_ushanka_civi" original_state = "upp_ushanka_civi" @@ -1303,6 +1310,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( WEAR_HEAD = 'icons/mob/humans/onmob/clothing/head/misc_ert_colony.dmi', ) flags_marine_helmet = NO_FLAGS + camera_factions = FACTION_LIST_COLONY //head rag @@ -1425,8 +1433,9 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( flags_inventory = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR flags_marine_helmet = HELMET_DAMAGE_OVERLAY + camera_factions = FACTION_LIST_MERCENARY -/obj/item/clothing/head/helmet/marine/veteran/mercenary +/obj/item/clothing/head/helmet/marine/veteran/mercenary/heavy name = "\improper Modified K12 ceramic helmet" desc = "A sturdy helmet worn by an unknown mercenary group. Reinforced with extra plating." armor_melee = CLOTHING_ARMOR_ULTRAHIGH @@ -1447,6 +1456,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( armor_bomb = CLOTHING_ARMOR_MEDIUM armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS +/obj/item/clothing/head/helmet/marine/veteran/mercenary/miner/clf + camera_factions = FACTION_LIST_CLF /obj/item/clothing/head/helmet/marine/veteran/mercenary/support name = "\improper Z7 helmet" @@ -1488,6 +1499,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( var/mob/activator = null var/active = FALSE var/det_time = 40 + camera_factions = list(FACTION_HEFA) /obj/item/clothing/head/helmet/marine/specialist/hefa/Initialize(mapload, list/new_protection) . = ..() @@ -1604,6 +1616,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( flags_inv_hide = NO_FLAGS flags_marine_helmet = NO_FLAGS flags_atom = NO_NAME_OVERRIDE|NO_GAMEMODE_SKIN + camera_factions = FACTION_LIST_TWE /obj/item/clothing/head/helmet/marine/veteran/royal_marine/breacher name = "\improper L5A3 ballistic helmet" diff --git a/code/modules/cm_tech/hologram.dm b/code/modules/cm_tech/hologram.dm index 1d85df9e49ad..2365808cd17a 100644 --- a/code/modules/cm_tech/hologram.dm +++ b/code/modules/cm_tech/hologram.dm @@ -18,6 +18,8 @@ GLOBAL_LIST_EMPTY_TYPED(hologram_list, /mob/hologram) var/datum/action/leave_hologram/leave_button ///If can be detected on motion detectors. var/motion_sensed = FALSE + ///If this hologram can hear speech. + var/hears_speech = FALSE /mob/hologram/movement_delay() . = -2 // Very fast speed, so they can navigate through easily, they can't ever have movement delay whilst as a hologram diff --git a/code/modules/gear_presets/clf.dm b/code/modules/gear_presets/clf.dm index 81cb64644b93..4cbb173573b3 100644 --- a/code/modules/gear_presets/clf.dm +++ b/code/modules/gear_presets/clf.dm @@ -987,7 +987,7 @@ access = get_access(ACCESS_LIST_CLF_ALL) /datum/equipment_preset/clf/commander/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/mercenary/miner(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/mercenary/miner/clf(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CLF/command(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/clf(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/militia/smartgun(new_human), WEAR_JACKET) @@ -1014,7 +1014,7 @@ list("Combat Pack", 0, /obj/item/storage/backpack/lightpack, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY), list("HELMET (CHOOSE 1)", 0, null, null, null), - list("Y8 Miner Helmet", 0, /obj/item/clothing/head/helmet/marine/veteran/mercenary/miner, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("Y8 Miner Helmet", 0, /obj/item/clothing/head/helmet/marine/veteran/mercenary/miner/clf, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("POUCHES (CHOOSE 2)", 0, null, null, null), list("Bayonet Sheath", 0, /obj/item/storage/pouch/bayonet/upp, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), diff --git a/code/modules/gear_presets/fax_responders.dm b/code/modules/gear_presets/fax_responders.dm index 80212547d67b..636f4964595d 100644 --- a/code/modules/gear_presets/fax_responders.dm +++ b/code/modules/gear_presets/fax_responders.dm @@ -7,6 +7,9 @@ flags = EQUIPMENT_PRESET_EXTRA faction = FACTION_FAX + faction_group = list(FACTION_FAX) + + uses_special_name = TRUE access = list(ACCESS_CIVILIAN_PUBLIC) skills = /datum/skills/civilian/fax_responder @@ -28,16 +31,51 @@ uniform.has_sensor = UNIFORM_HAS_SENSORS return ..() +/datum/equipment_preset/fax_responder/load_name(mob/living/carbon/human/new_human, randomise) + var/final_name = "John Doe" + if(new_human.gender == FEMALE) + final_name = "Jane Doe" + + if(new_human.client && new_human.client.prefs) + var/new_name = get_fax_responder_name(new_human.client) + if(new_name) + final_name = new_name + + new_human.change_real_name(new_human, final_name) + +/datum/equipment_preset/fax_responder/proc/get_fax_responder_name(client/target_client) + var/datum/preferences/target_prefs = target_client.prefs + var/new_name + switch(assignment) + if(JOB_FAX_RESPONDER_USCM_HC) + new_name = target_prefs.fax_name_uscm + if(JOB_FAX_RESPONDER_USCM_PVST) + new_name = target_prefs.fax_name_pvst + if(JOB_FAX_RESPONDER_WY) + new_name = target_prefs.fax_name_wy + if(JOB_FAX_RESPONDER_UPP) + new_name = target_prefs.fax_name_upp + if(JOB_FAX_RESPONDER_CLF) + new_name = target_prefs.fax_name_clf + if(JOB_FAX_RESPONDER_CMB) + new_name = target_prefs.fax_name_cmb + if(JOB_FAX_RESPONDER_PRESS) + new_name = target_prefs.fax_name_press + if(JOB_FAX_RESPONDER_TWE) + new_name = target_prefs.fax_name_twe + + return new_name + //*****************************************************************************************************/ /datum/equipment_preset/fax_responder/uscm name = "Fax Responder - USCM HC" assignment = JOB_FAX_RESPONDER_USCM_HC rank = JOB_FAX_RESPONDER_USCM_HC + faction_group = list(FACTION_FAX, FACTION_MARINE) paygrades = list(PAY_SHORT_MO2 = JOB_PLAYTIME_TIER_0, PAY_SHORT_MO3 = JOB_PLAYTIME_TIER_1, PAY_SHORT_MO4 = JOB_PLAYTIME_TIER_3) idtype = /obj/item/card/id/gold - skills = /datum/skills/XO access = list(ACCESS_MARINE_COMMAND, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_DATABASE, ACCESS_MARINE_MEDBAY, ACCESS_MARINE_BRIG, ACCESS_MARINE_AI) headset_type = /obj/item/device/radio/headset/almayer/highcom idtype = /obj/item/card/id/gold @@ -50,12 +88,14 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/dress(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/notepad/blue(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) . = ..() /datum/equipment_preset/fax_responder/uscm/provost name = "Fax Responder - USCM Provost" assignment = JOB_FAX_RESPONDER_USCM_PVST rank = JOB_FAX_RESPONDER_USCM_PVST + faction_group = list(FACTION_FAX, FACTION_MARINE) idtype = /obj/item/card/id/provost /datum/equipment_preset/fax_responder/uscm/provost/load_gear(mob/living/carbon/human/new_human) @@ -67,7 +107,9 @@ 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/glasses/sunglasses/sechud, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/notepad/red(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_L_STORE) . = ..() //*****************************************************************************************************/ @@ -76,6 +118,7 @@ name = "Fax Responder - WY" assignment = JOB_FAX_RESPONDER_WY rank = JOB_FAX_RESPONDER_WY + faction_group = list(FACTION_FAX, FACTION_MARINE, FACTION_WY, FACTION_WY_DEATHSQUAD, FACTION_PMC) paygrades = list(PAY_SHORT_WYC5 = JOB_PLAYTIME_TIER_0, PAY_SHORT_WYC6 = JOB_PLAYTIME_TIER_1, PAY_SHORT_WYC7 = JOB_PLAYTIME_TIER_3) access = list(ACCESS_MARINE_COMMAND, ACCESS_WY_COLONIAL, ACCESS_WY_EXEC, ACCESS_WY_GENERAL, ACCESS_WY_LEADERSHIP) headset_type = /obj/item/device/radio/headset/distress/pmc/command @@ -86,6 +129,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/corporate/blue(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/notepad/black(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) ..() @@ -95,8 +139,8 @@ name = "Fax Responder - UPP" assignment = JOB_FAX_RESPONDER_UPP rank = JOB_FAX_RESPONDER_UPP + faction_group = list(FACTION_FAX, FACTION_UPP) paygrades = list(PAY_SHORT_UO2 = JOB_PLAYTIME_TIER_0, PAY_SHORT_UO3 = JOB_PLAYTIME_TIER_1, PAY_SHORT_UO4 = JOB_PLAYTIME_TIER_3) - skills = /datum/skills/upp/kapitan headset_type = /obj/item/device/radio/headset/distress/UPP/kdo/command idtype = /obj/item/card/id/gold @@ -115,6 +159,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/notepad/green(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) ..() @@ -125,6 +170,7 @@ name = "Fax Responder - TWE" assignment = JOB_FAX_RESPONDER_TWE rank = JOB_FAX_RESPONDER_TWE + faction_group = list(FACTION_FAX, FACTION_MARINE, FACTION_TWE) headset_type = /obj/item/device/radio/headset/distress/royal_marine idtype = /obj/item/card/id/gold paygrades = list(PAY_SHORT_RNO2 = JOB_PLAYTIME_TIER_0, PAY_SHORT_RNO3 = JOB_PLAYTIME_TIER_1, PAY_SHORT_RNO4 = JOB_PLAYTIME_TIER_3) @@ -136,6 +182,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/notepad/blue(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) ..() @@ -145,6 +192,7 @@ name = "Fax Responder - CLF" assignment = JOB_FAX_RESPONDER_CLF rank = JOB_FAX_RESPONDER_CLF + faction_group = list(FACTION_FAX, FACTION_CLF) headset_type = /obj/item/device/radio/headset/distress/CLF/command paygrades = list(PAY_SHORT_REBC = JOB_PLAYTIME_TIER_0) @@ -157,6 +205,9 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/notepad/black(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + ..() //*****************************************************************************************************/ @@ -165,6 +216,7 @@ name = "Fax Responder - CMB" assignment = JOB_FAX_RESPONDER_CMB rank = JOB_FAX_RESPONDER_CMB + faction_group = list(FACTION_FAX, FACTION_MARINE, FACTION_MARSHAL) headset_type = /obj/item/device/radio/headset/distress/CMB idtype = /obj/item/card/id/marshal paygrades = list(PAY_SHORT_CMBM = JOB_PLAYTIME_TIER_0) @@ -182,6 +234,9 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc, WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/notepad/red(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) + ..() //*****************************************************************************************************/ @@ -190,6 +245,7 @@ name = "Fax Responder - Press" assignment = JOB_FAX_RESPONDER_PRESS rank = JOB_FAX_RESPONDER_PRESS + faction_group = list(FACTION_FAX, FACTION_MARINE, FACTION_COLONIST) headset_type = /obj/item/device/radio/headset/almayer/reporter idtype = /obj/item/card/id/silver/cl paygrades = list(PAY_SHORT_CIV = JOB_PLAYTIME_TIER_0) @@ -202,6 +258,8 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/reporter(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/reporter(new_human), WEAR_JACKET) 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/storage/pouch/general/large(new_human), WEAR_L_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/notepad/blue(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health, WEAR_EYES) ..() diff --git a/code/modules/gear_presets/survivors/misc.dm b/code/modules/gear_presets/survivors/misc.dm index 7d02b5084a66..4e8b83235cdb 100644 --- a/code/modules/gear_presets/survivors/misc.dm +++ b/code/modules/gear_presets/survivors/misc.dm @@ -296,7 +296,7 @@ Everything below isn't used or out of place. new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/full(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/notepad(new_human), WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/pen/fountain(new_human), WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/pen/multicolor/fountain(new_human), WEAR_IN_R_STORE) 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/stack/sheet/metal/med_small_stack(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/m1911(new_human), WEAR_WAIST) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 83664697fa09..b8714b3a2c48 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -388,28 +388,28 @@ the_hud = GLOB.huds[MOB_HUD_MEDICAL_OBSERVER] the_hud.add_hud_to(src, src) if("Security HUD") - the_hud= GLOB.huds[MOB_HUD_SECURITY_ADVANCED] + the_hud = GLOB.huds[MOB_HUD_SECURITY_ADVANCED] the_hud.add_hud_to(src, src) if("Squad HUD") - the_hud= GLOB.huds[MOB_HUD_FACTION_OBSERVER] + the_hud = GLOB.huds[MOB_HUD_FACTION_OBSERVER] the_hud.add_hud_to(src, src) if("Xeno Status HUD") - the_hud= GLOB.huds[MOB_HUD_XENO_STATUS] + the_hud = GLOB.huds[MOB_HUD_XENO_STATUS] the_hud.add_hud_to(src, src) if("Faction UPP HUD") - the_hud= GLOB.huds[MOB_HUD_FACTION_UPP] + the_hud = GLOB.huds[MOB_HUD_FACTION_UPP] the_hud.add_hud_to(src, src) if("Faction Wey-Yu HUD") - the_hud= GLOB.huds[MOB_HUD_FACTION_WY] + the_hud = GLOB.huds[MOB_HUD_FACTION_WY] the_hud.add_hud_to(src, src) if("Faction TWE HUD") - the_hud= GLOB.huds[MOB_HUD_FACTION_TWE] + the_hud = GLOB.huds[MOB_HUD_FACTION_TWE] the_hud.add_hud_to(src, src) if("Faction CLF HUD") - the_hud= GLOB.huds[MOB_HUD_FACTION_CLF] + the_hud = GLOB.huds[MOB_HUD_FACTION_CLF] the_hud.add_hud_to(src, src) if(HUD_MENTOR_SIGHT) - the_hud= GLOB.huds[MOB_HUD_NEW_PLAYER] + the_hud = GLOB.huds[MOB_HUD_NEW_PLAYER] the_hud.add_hud_to(src, src) see_invisible = INVISIBILITY_OBSERVER diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 166bd76c9837..2192bcc35052 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -150,6 +150,8 @@ if(istype(get_area(human), /area/tdome)) in_thunderdome += list(serialized) + else if(human.job in FAX_RESPONDER_JOB_LIST) + responders += list(serialized) else if(SSticker.mode.is_in_endgame == TRUE && !is_mainship_level(human.z) && !(human.faction in FACTION_LIST_ERT_ALL) && !(isyautja(human))) escaped += list(serialized) else if(human.faction in FACTION_LIST_WY) @@ -180,8 +182,6 @@ marines += list(serialized) else if(issurvivorjob(human.job)) survivors += list(serialized) - else if(human.job in FAX_RESPONDER_JOB_LIST) - responders += list(serialized) else humans += list(serialized) continue diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm index ef9ac4b6cfcc..e2af9022a2b6 100644 --- a/code/modules/mob/hear_say.dm +++ b/code/modules/mob/hear_say.dm @@ -2,6 +2,19 @@ /mob/proc/hear_apollo() return FALSE +/mob/hologram/hear_say(message, verb = "says", datum/language/language = null, alt_name = "", italics = 0, mob/speaker = null, sound/speech_sound, sound_vol) + if(!hears_speech || !linked_mob) + return + if(speaker == linked_mob) + return + linked_mob.hear_say(message, verb, language, alt_name, italics, speaker, speech_sound, sound_vol) + /// I had to bastardise this because it was duplicating messages for some reason. + if(speaker && linked_mob.client && !linked_mob.ear_deaf) + if(!linked_mob.client?.prefs.lang_chat_disabled && linked_mob.say_understands(speaker, language)) + speaker.langchat_display_image(linked_mob) + return + + /mob/proc/hear_say(message, verb = "says", datum/language/language = null, alt_name = "", italics = 0, mob/speaker = null, sound/speech_sound, sound_vol) if(!client && !(mind && mind.current != src)) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index ecb35b363734..ff927a597cda 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1050,7 +1050,7 @@ set name = "View Crew Manifest" set category = "IC" - if(faction != FACTION_MARINE && !(faction in FACTION_LIST_WY)) + if(faction != FACTION_MARINE && !((faction in FACTION_LIST_WY) || faction == FACTION_FAX)) to_chat(usr, SPAN_WARNING("You have no access to [MAIN_SHIP_NAME] crew manifest.")) return var/dat = GLOB.data_core.get_manifest() diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index b5294e626b70..7a3d90ddb279 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -140,21 +140,26 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/mob/M = I listening += M hearturfs += M.locs[1] - for(var/obj/O in M.contents) - var/obj/item/clothing/worn_item = O - if((O.flags_atom & USES_HEARING) || ((istype(worn_item) && worn_item.accessories))) - listening_obj |= O + for(var/obj/hearing_obj in M.contents) + var/obj/item/clothing/worn_item = hearing_obj + if((hearing_obj.flags_atom & USES_HEARING) || ((istype(worn_item) && worn_item.accessories))) + listening_obj |= hearing_obj + for(var/obj/item/device/radio/listening_bug/bug in hearing_obj.contents) + listening_obj |= bug else if(istype(I, /obj/structure/surface)) var/obj/structure/surface/table = I hearturfs += table.locs[1] - for(var/obj/O in table.contents) - if(O.flags_atom & USES_HEARING) - listening_obj |= O + for(var/obj/hearing_obj in table.contents) + if(hearing_obj.flags_atom & USES_HEARING) + listening_obj |= hearing_obj else if(istype(I, /obj/)) - var/obj/O = I - hearturfs += O.locs[1] - if(O.flags_atom & USES_HEARING) - listening_obj |= O + var/obj/hearing_obj = I + hearturfs += hearing_obj.locs[1] + if(hearing_obj.flags_atom & USES_HEARING) + listening_obj |= hearing_obj + for(var/obj/item/device/radio/listening_bug/bug in hearing_obj.contents) + listening_obj |= bug + for(var/mob/M as anything in GLOB.player_list) if((M.stat == DEAD || isobserver(M)) && M.client && M.client.prefs && (M.client.prefs.toggles_chat & CHAT_GHOSTEARS)) @@ -175,9 +180,9 @@ GLOBAL_LIST_INIT(department_radio_keys, list( addtimer(CALLBACK(src, PROC_REF(remove_speech_bubble), speech_bubble), 3 SECONDS) - for(var/obj/O as anything in listening_obj) - if(O) //It's possible that it could be deleted in the meantime. - O.hear_talk(src, message, verb, speaking, italics) + for(var/obj/hearing_obj as anything in listening_obj) + if(hearing_obj) //It's possible that it could be deleted in the meantime. + hearing_obj.hear_talk(src, message, verb, speaking, italics) //used for STUI to stop logging of animal messages and radio //if(!nolog) diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm index 4ddefff61eb8..0ebd80d4a83d 100644 --- a/code/modules/paperwork/carbonpaper.dm +++ b/code/modules/paperwork/carbonpaper.dm @@ -2,9 +2,8 @@ name = "paper" icon_state = "paper_stack" item_state = "paper" - var/copied = 0 - var/iscopy = 0 - + var/copied = FALSE + var/iscopy = FALSE /obj/item/paper/carbon/update_icon() if(iscopy) @@ -23,8 +22,6 @@ return icon_state = "paper_stack" - - /obj/item/paper/carbon/verb/removecopy() set name = "Remove carbon-copy" set category = "Object" @@ -42,9 +39,57 @@ copy.fields = c.fields copy.updateinfolinks() to_chat(usr, SPAN_NOTICE("You tear off the carbon-copy!")) - c.copied = 1 - copy.iscopy = 1 + c.copied = TRUE + copy.iscopy = TRUE copy.update_icon() c.update_icon() else to_chat(usr, "There are no more carbon copies attached to this paper!") + +/obj/item/paper/prefab/carbon + name = "paper" + icon_state = "paper_stack" + item_state = "paper" + var/copied = FALSE + var/iscopy = FALSE + +/obj/item/paper/prefab/carbon/update_icon() + if(iscopy) + if(info) + icon_state = "cpaper_words" + return + icon_state = "cpaper" + else if (copied) + if(info) + icon_state = "paper_words" + return + icon_state = "paper" + else + if(info) + icon_state = "paper_stack_words" + return + icon_state = "paper_stack" + +/obj/item/paper/prefab/carbon/verb/removecopy() + set name = "Remove carbon-copy" + set category = "Object" + set src in usr + + if (!copied && !iscopy) + var/obj/item/paper/prefab/carbon/this_doc = src + var/copycontents = html_decode(this_doc.info) + var/obj/item/paper/carbon/copy = new /obj/item/paper/carbon (usr.loc) + copycontents = replacetext(copycontents, "" + copy.name = "Copy - " + this_doc.name + copy.fields = this_doc.fields + copy.updateinfolinks() + to_chat(usr, SPAN_NOTICE("You tear off the carbon-copy!")) + this_doc.copied = TRUE + copy.iscopy = TRUE + copy.update_icon() + this_doc.update_icon() + else + to_chat(usr, "There are no more carbon copies attached to this paper!") diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 5260f8f00231..9f3e0a14ca59 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -45,6 +45,14 @@ var/signfont = "Times New Roman" var/crayonfont = "Comic Sans MS" + /// If this paper imports a prefab on instance. + var/is_prefab = FALSE + /// Category of the paper. + var/document_category + /// Name of the document. + var/document_title + var/datum/prefab_document/doc_datum_type + //lipstick wiping is in code/game/obj/items/weapons/cosmetics.dm! /obj/item/paper/Initialize(mapload, photo_list) @@ -59,6 +67,8 @@ update_icon() updateinfolinks() + if(is_prefab) + compile_paper() /obj/item/paper/update_icon() switch(icon_state) @@ -219,82 +229,88 @@ update_icon() -/obj/item/paper/proc/parsepencode(t, obj/item/tool/pen/P, mob/user as mob, iscrayon = 0) +/obj/item/paper/proc/parsepencode(paper_text, obj/item/tool/pen/P, mob/user as mob, iscrayon = 0) var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) - t = replacetext(t, "\[center\]", "
") - t = replacetext(t, "\[/center\]", "
") - t = replacetext(t, "\[br\]", "
") - t = replacetext(t, "\[b\]", "") - t = replacetext(t, "\[/b\]", "") - t = replacetext(t, "\[i\]", "") - t = replacetext(t, "\[/i\]", "") - t = replacetext(t, "\[u\]", "") - t = replacetext(t, "\[/u\]", "") - t = replacetext(t, "\[large\]", "") - t = replacetext(t, "\[/large\]", "") - t = replacetext(t, "\[sign\]", "[user ? user.real_name : "Anonymous"]") - t = replacetext(t, "\[date\]", "[time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]") - t = replacetext(t, "\[shortdate\]", "[time2text(REALTIMEOFDAY, "DD/MM/[GLOB.game_year]")]") - t = replacetext(t, "\[time\]", "[worldtime2text("hh:mm")]") - t = replacetext(t, "\[date+time\]", "[worldtime2text("hh:mm")], [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]") - t = replacetext(t, "\[field\]", "") - - t = replacetext(t, "\[h1\]", "

") - t = replacetext(t, "\[/h1\]", "

") - t = replacetext(t, "\[h2\]", "

") - t = replacetext(t, "\[/h2\]", "

") - t = replacetext(t, "\[h3\]", "

") - t = replacetext(t, "\[/h3\]", "

") + paper_text = replacetext(paper_text, "\[center\]", "
") + paper_text = replacetext(paper_text, "\[/center\]", "
") + paper_text = replacetext(paper_text, "\[br\]", "
") + paper_text = replacetext(paper_text, "\[b\]", "") + paper_text = replacetext(paper_text, "\[/b\]", "") + paper_text = replacetext(paper_text, "\[i\]", "") + paper_text = replacetext(paper_text, "\[/i\]", "") + paper_text = replacetext(paper_text, "\[u\]", "") + paper_text = replacetext(paper_text, "\[/u\]", "") + paper_text = replacetext(paper_text, "\[large\]", "") + paper_text = replacetext(paper_text, "\[/large\]", "") + paper_text = replacetext(paper_text, "\[sign\]", "[user ? user.real_name : "Anonymous"]") + paper_text = replacetext(paper_text, "\[date\]", "[time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]") + paper_text = replacetext(paper_text, "\[shortdate\]", "[time2text(REALTIMEOFDAY, "DD/MM/[GLOB.game_year]")]") + paper_text = replacetext(paper_text, "\[time\]", "[worldtime2text("hh:mm")]") + paper_text = replacetext(paper_text, "\[date+time\]", "[worldtime2text("hh:mm")], [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]") + paper_text = replacetext(paper_text, "\[field\]", "") + + paper_text = replacetext(paper_text, "\[h1\]", "

") + paper_text = replacetext(paper_text, "\[/h1\]", "

") + paper_text = replacetext(paper_text, "\[h2\]", "

") + paper_text = replacetext(paper_text, "\[/h2\]", "

") + paper_text = replacetext(paper_text, "\[h3\]", "

") + paper_text = replacetext(paper_text, "\[/h3\]", "

") if(!iscrayon) - t = replacetext(t, "\[*\]", "
  • ") - t = replacetext(t, "\[hr\]", "
    ") - t = replacetext(t, "\[small\]", "") - t = replacetext(t, "\[/small\]", "") - t = replacetext(t, "\[list\]", "") - t = replacetext(t, "\[table\]", "") - t = replacetext(t, "\[/table\]", "
    ") - t = replacetext(t, "\[grid\]", "") - t = replacetext(t, "\[/grid\]", "
    ") - t = replacetext(t, "\[row\]", "") - t = replacetext(t, "\[cell\]", "") - t = replacetext(t, "\[logo\]", "") - t = replacetext(t, "\[wy\]", "") - t = replacetext(t, "\[uscm\]", "") - t = replacetext(t, "\[upp\]", "") - t = replacetext(t, "\[cmb\]", "") - - t = "[t]" + paper_text = replacetext(paper_text, "\[*\]", "
  • ") + paper_text = replacetext(paper_text, "\[hr\]", "
    ") + paper_text = replacetext(paper_text, "\[small\]", "") + paper_text = replacetext(paper_text, "\[/small\]", "") + paper_text = replacetext(paper_text, "\[list\]", "") + paper_text = replacetext(paper_text, "\[table\]", "") + paper_text = replacetext(paper_text, "\[/table\]", "
    ") + paper_text = replacetext(paper_text, "\[grid\]", "") + paper_text = replacetext(paper_text, "\[/grid\]", "
    ") + paper_text = replacetext(paper_text, "\[row\]", "") + paper_text = replacetext(paper_text, "\[cell\]", "") + paper_text = replacetext(paper_text, "\[wy\]", "") + paper_text = replacetext(paper_text, "\[wy_inv\]", "") + paper_text = replacetext(paper_text, "\[uscm\]", "") + paper_text = replacetext(paper_text, "\[upp\]", "") + paper_text = replacetext(paper_text, "\[cmb\]", "") + + paper_text = "[paper_text]" else // If it is a crayon, and he still tries to use these, make them empty! - t = replacetext(t, "\[*\]", "") - t = replacetext(t, "\[hr\]", "") - t = replacetext(t, "\[small\]", "") - t = replacetext(t, "\[/small\]", "") - t = replacetext(t, "\[list\]", "") - t = replacetext(t, "\[/list\]", "") - t = replacetext(t, "\[table\]", "") - t = replacetext(t, "\[/table\]", "") - t = replacetext(t, "\[row\]", "") - t = replacetext(t, "\[cell\]", "") - t = replacetext(t, "\[logo\]", "") - - t = "[t]" - -// t = replacetext(t, "#", "") // Junk converted to nothing! - -//Count the fields + paper_text = replacetext(paper_text, "\[*\]", "") + paper_text = replacetext(paper_text, "\[hr\]", "") + paper_text = replacetext(paper_text, "\[small\]", "") + paper_text = replacetext(paper_text, "\[/small\]", "") + paper_text = replacetext(paper_text, "\[list\]", "") + paper_text = replacetext(paper_text, "\[/list\]", "") + paper_text = replacetext(paper_text, "\[table\]", "") + paper_text = replacetext(paper_text, "\[/table\]", "") + paper_text = replacetext(paper_text, "\[row\]", "") + paper_text = replacetext(paper_text, "\[cell\]", "") + paper_text = replacetext(paper_text, "\[wy\]", "") + paper_text = replacetext(paper_text, "\[wy_inv\]", "") + paper_text = replacetext(paper_text, "\[uscm\]", "") + paper_text = replacetext(paper_text, "\[upp\]", "") + paper_text = replacetext(paper_text, "\[cmb\]", "") + + paper_text = "[paper_text]" + + + //Count the fields + calculate_fields(paper_text) + return paper_text + +/obj/item/paper/proc/calculate_fields(message) + var/check_text = message ? message : info var/laststart = 1 while(1) - var/i = findtext(t, "", laststart) + var/i = findtext(check_text, "", laststart) if(i==0) break laststart = i+1 fields = min(fields+1, MAX_FIELDS) //NOTE: The max here will include the auto-created field when hitting a paper with a pen. So it should be [your_desired_number]+1. - return t - /obj/item/paper/proc/openhelp(mob/user as mob) var/dat = {" @@ -345,6 +361,33 @@ else to_chat(user, SPAN_DANGER("You must hold \the [P] steady to burn \the [src].")) +/obj/item/paper/verb/seal_paper() + set name = "Seal paper" + set category = "Object" + set src in usr + + var/confirm = alert(usr, "Are you sure you wish to seal this document?\n\nNote: This will prevent the edit of any fields on the paper,\nexcluding the end of the page.", "Confirm", "Yes", "No") + if(confirm != "Yes") + return FALSE + info = replacetext(info, "", "
    ") + calculate_fields() + updateinfolinks() + return TRUE + +/obj/item/paper/proc/compile_paper() + if(!is_prefab) + return FALSE + if(!document_category || !doc_datum_type) + return FALSE + + var/datum/prefab_document/prefab = new doc_datum_type + info = prefab.contents + qdel(prefab) + + calculate_fields() + updateinfolinks() + update_icon() + return TRUE /obj/item/paper/Topic(href, href_list) ..() @@ -612,7 +655,7 @@ . = ..() var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) - info = "

    Union Of Progressive People's Fourth Fleet
    Orders For 173rd Airborne Reconnaissance: 2nd Platoon
    No.52

    Order of Military Officer of the UPP
    Kolonel Ganbaatar
    Commander of MV-35
    Date: 2182
    On Special Mission
    The actions of the hostile Weyland-Yutani corporation on the fringes of the Neroid sector have grown increasingly intolerable. However, evidence suggesting they are researching into the creation and deployment of some form of biological weapons program represent an unacceptable risk to the security of UPP interests in this sector. The risk of these items falling into UA/USCM hands is unacceptable.

    Orders for the Boris squad of the 173rd Airborne Recon are as follows. Initiate airborne reconnaissance of WY colony Oxley's Buttle, Trijent Dam, location on planet Raijin (UA Code: LV-670). Ascertain veracity of onsight biological weapons program. If positive confirmation of the weapons program is identified, authorization for rapid assault and recovery is granted. Avoid all contact with UA/USCM military forces, abort missions if UA/USCM forces are encountered.
    Authorizing Officer: Gaanbatar
    Name and Rank: Kolonel

    FOR SANCTIONED USE ONLY" + info = "

    Union Of Progressive People's Fourth Fleet
    Orders For 173rd Airborne Reconnaissance: 2nd Platoon
    No.52

    Order of Military Officer of the UPP
    Kolonel Ganbaatar
    Commander of MV-35
    Date: 2182
    On Special Mission
    The actions of the hostile Weyland-Yutani corporation on the fringes of the Neroid sector have grown increasingly intolerable. However, evidence suggesting they are researching into the creation and deployment of some form of biological weapons program represent an unacceptable risk to the security of UPP interests in this sector. The risk of these items falling into UA/USCM hands is unacceptable.

    Orders for the Boris squad of the 173rd Airborne Recon are as follows. Initiate airborne reconnaissance of WY colony Oxley's Buttle, Trijent Dam, location on planet Raijin (UA Code: LV-670). Ascertain veracity of onsight biological weapons program. If positive confirmation of the weapons program is identified, authorization for rapid assault and recovery is granted. Avoid all contact with UA/USCM military forces, abort missions if UA/USCM forces are encountered.
    Authorizing Officer: Gaanbatar
    Name and Rank: Kolonel

    FOR SANCTIONED USE ONLY" /obj/item/paper/crumpled name = "paper scrap" @@ -634,7 +677,7 @@ . = ..() var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) - info = "

    \n" + info = "

    \n" /obj/item/paper/uscm icon_state = "paper_uscm" @@ -643,7 +686,7 @@ . = ..() var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) - info = "

    \n" + info = "

    \n" /obj/item/paper/research_notes icon_state = "paper_wy_words" @@ -682,7 +725,7 @@ random_chem = pick(GLOB.chemical_gen_classes_list["T1"]) C = GLOB.chemical_reagents_list["[random_chem]"] var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) - var/txt = "

    Official Weyland-Yutani Document
    Experiment Notes

    " + var/txt = "

    Official Weyland-Yutani Document
    Experiment Notes

    " switch(note_type) if("synthesis") var/datum/chemical_reaction/G = GLOB.chemical_reactions_list[C.id] diff --git a/code/modules/paperwork/prefab_papers.dm b/code/modules/paperwork/prefab_papers.dm new file mode 100644 index 000000000000..e4df49c5e90f --- /dev/null +++ b/code/modules/paperwork/prefab_papers.dm @@ -0,0 +1,235 @@ +/datum/prefab_document + var/contents + +GLOBAL_REFERENCE_LIST_INDEXED(prefab_papers, /obj/item/paper/prefab, document_title) +/obj/structure/filingcabinet/documentation + name = "documents cabinet" + color = "#e78738" + + /// The categories available from this cabinet. Manually populated. + var/list/available_categories = list() + /// The possible options that can be withdrawn. Automatically populated by get_possible_documents(). + var/list/available_documents = list() + /// Number of prefab documents that can be withdrawn. Cap intended to prevent people spamming infinite copies. + var/remaining_documents = 30 + +/obj/structure/filingcabinet/documentation/Initialize() + . = ..() + get_possible_documents() + +/obj/structure/filingcabinet/documentation/proc/get_possible_documents() + available_documents.Cut() + for(var/docname in GLOB.prefab_papers) + var/obj/item/paper/prefab/document = GLOB.prefab_papers[docname] + if(!istype(document)) + continue + log_debug("DOCUMENT: Checking [document]") + if(!document.is_prefab || !document.doc_datum_type || (document.name == "paper")) + log_debug("DOCUMENT: Prefab, Name or Ref fail.") + continue + if(!document.document_category || !(document.document_category in available_categories)) + log_debug("DOCUMENT: Category fail.") + continue + available_documents += docname + return + +/obj/structure/filingcabinet/documentation/attack_hand(mob/user as mob) + var/choice = tgui_alert(user, "Do you wish to open the cabinet, or retrieve a document template?", "Action", list("Open", "Document"), 20 SECONDS) + switch(choice) + if("Open") + if(contents.len <= 0) + to_chat(user, SPAN_NOTICE("\The [src] is empty.")) + return + + user.set_interaction(src) + var/dat = "
    " + for(var/obj/item/P in src) + dat += "" + dat += "
    [P.name]
    " + show_browser(user, dat, name, "filingcabinet", "size=350x300") + return + if("Document") + if(!remaining_documents) + to_chat(user, SPAN_WARNING("[src] has no remaining official forms!")) + return + give_document(user) + return + +/obj/structure/filingcabinet/documentation/proc/give_document(mob/user as mob) + if(!remaining_documents) + to_chat(user, SPAN_WARNING("[src] has no remaining official forms!")) + return FALSE + for(var/paper in available_documents) + log_debug("Document: [paper]") + var/chosen = tgui_input_list(usr, "What document do you need?", "Choose Document", available_documents) + var/selected = GLOB.prefab_papers[chosen].type + var/obj/item/paper/prefab/document = new selected + document.forceMove(user.loc) + user.put_in_hands(document) + to_chat(user, SPAN_NOTICE("You take [document] out of [src].")) + remaining_documents-- + return TRUE + +/obj/structure/filingcabinet/documentation/military_police + available_categories = list(PAPER_CATEGORY_MP) + +/obj/structure/filingcabinet/documentation/uscm + available_categories = list(PAPER_CATEGORY_USCM) + +/obj/structure/filingcabinet/documentation/uscm_mp + available_categories = list(PAPER_CATEGORY_USCM, PAPER_CATEGORY_MP) + +/obj/structure/filingcabinet/documentation/liaison + available_categories = list(PAPER_CATEGORY_LIAISON) + remaining_documents = 45 //CL likely using more of these than most people. + +/obj/structure/filingcabinet/documentation/highcom + remaining_documents = 60 + +/obj/structure/filingcabinet/documentation/highcom/wy + available_categories = list(PAPER_CATEGORY_WEYYU_HC) + +/obj/structure/filingcabinet/documentation/highcom/uscm + available_categories = list(PAPER_CATEGORY_USCM_HC) + +/obj/structure/filingcabinet/documentation/highcom/provost + available_categories = list(PAPER_CATEGORY_PROVOST) + +/obj/structure/filingcabinet/documentation/highcom/upp + available_categories = list(PAPER_CATEGORY_UPP_HC) + +/obj/structure/filingcabinet/documentation/highcom/twe + available_categories = list(PAPER_CATEGORY_TWE_HC) + +/obj/structure/filingcabinet/documentation/highcom/cmb + available_categories = list(PAPER_CATEGORY_CMB_HC) + +/obj/structure/filingcabinet/documentation/highcom/press + available_categories = list(PAPER_CATEGORY_PRESS_HC) + +/obj/structure/filingcabinet/documentation/highcom/clf + available_categories = list(PAPER_CATEGORY_CLF_HC) + + +//######################################## +//######################################## +//######################################## +/obj/item/paper/prefab + is_prefab = TRUE + document_title = "BLANK" + +/obj/item/paper/prefab/Initialize() + . = ..() + name = document_title + +// ########## Provost MP Forms ########## \\ + +/obj/item/paper/prefab/carbon/military_police + name = "Blank MP Document" + document_category = PAPER_CATEGORY_MP + +/obj/item/paper/prefab/carbon/military_police/ops_report + document_title = "PR201 - Operations Report" + doc_datum_type = /datum/prefab_document/provost/mp/ops_report + +/obj/item/paper/prefab/carbon/military_police/appeal_form + document_title = "PR301a - Appeals Form" + doc_datum_type = /datum/prefab_document/provost/mp/appeal_form + +/obj/item/paper/prefab/carbon/military_police/dao_request + document_title = "PR301b - Delayed Action Order" + doc_datum_type = /datum/prefab_document/provost/mp/dao_request + +/obj/item/paper/prefab/carbon/military_police/confiscation_receipt + document_title = "PR356 - Confiscation Receipt" + doc_datum_type = /datum/prefab_document/provost/mp/confiscation_receipt + +/obj/item/paper/prefab/carbon/military_police/apology_notice + document_title = "NJ910 - Apology Notice" + doc_datum_type = /datum/prefab_document/provost/mp/apology_notice + +// ########## Provost HC Forms ########## \\ + +/obj/item/paper/prefab/provost + name = "Blank Provost Document" + document_category = PAPER_CATEGORY_PROVOST + +/obj/item/paper/prefab/provost/standard + document_title = "PR202 - Provost Missive" + doc_datum_type = /datum/prefab_document/provost/highcom/standard + +/obj/item/paper/prefab/provost/arrest_warrant + document_title = "PR211 - Arrest Warrant" + doc_datum_type = /datum/prefab_document/provost/highcom/arrest_warrant + +/obj/item/paper/prefab/provost/custody_transfer + document_title = "PR238 - Custody Transfer Order" + doc_datum_type = /datum/prefab_document/provost/highcom/custody_transfer + +/obj/item/paper/prefab/provost/dao_response + document_title = "PR301c - Delayed Action Order" + doc_datum_type = /datum/prefab_document/provost/highcom/dao_response + +// ########## USCM Standard Forms ########## \\ + +/obj/item/paper/prefab/uscm + name = "Blank USCM Document" + document_category = PAPER_CATEGORY_USCM + +/obj/item/paper/prefab/uscm/ops_report + document_title = "UAM421 - Operations Report" + doc_datum_type = /datum/prefab_document/uscm/ops_report + +// ########## USCM HC Forms ########## \\ + +/obj/item/paper/prefab/uscm_highcom + name = "Blank USCMHC Document" + document_category = PAPER_CATEGORY_USCM_HC + +/obj/item/paper/prefab/uscm_highcom/arrest_warrant + document_title = "UAM211 - Arrest Warrant" + doc_datum_type = /datum/prefab_document/uscm/highcom/arrest_warrant + +/obj/item/paper/prefab/uscm_highcom/custody_transfer + document_title = "UAM238 - Custody Transfer Order" + doc_datum_type = /datum/prefab_document/uscm/highcom/custody_transfer + +/obj/item/paper/prefab/uscm_highcom/standard + document_title = "UAM422 - USCM High Command Missive" + doc_datum_type = /datum/prefab_document/uscm/highcom/standard + +// ########## Wey-Yu Liaison Forms ########## \\ + +/obj/item/paper/prefab/liaison + name = "Blank WY Document" + document_category = PAPER_CATEGORY_LIAISON + +/obj/item/paper/prefab/liaison/ops_report + document_title = "WY435 - Liaison Operations Report" + doc_datum_type = /datum/prefab_document/wey_yu/liaison/ops_report + +/obj/item/paper/prefab/liaison/preserve_intent + document_title = "WY439 - Affidavit of Intent to Preserve" + doc_datum_type = /datum/prefab_document/wey_yu/liaison/preserve_intent + +/obj/item/paper/prefab/liaison/liability + document_title = "WY440 - Affidavit of Liability" + doc_datum_type = /datum/prefab_document/wey_yu/liaison/liability + +/obj/item/paper/prefab/liaison/nda_short + document_title = "WY441 - Confidentiality Agreement" + doc_datum_type = /datum/prefab_document/wey_yu/liaison/nda_short + +/obj/item/paper/prefab/liaison/nda_long + document_title = "WY442 - Non Disclosure Agreement" + doc_datum_type = /datum/prefab_document/wey_yu/liaison/nda_long + +// ########## Wey-Yu HC Forms ########## \\ + +/obj/item/paper/prefab/wey_yu + name = "Blank WYC Document" + document_category = PAPER_CATEGORY_WEYYU_HC + +/obj/item/paper/prefab/wey_yu/standard + document_title = "WY101 - Directorate Communication" + doc_datum_type = /datum/prefab_document/wey_yu/highcom/standard diff --git a/code/modules/paperwork/prefab_papers/provost/high_command/arrest_warrant.dm b/code/modules/paperwork/prefab_papers/provost/high_command/arrest_warrant.dm new file mode 100644 index 000000000000..389e2fab0d47 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/high_command/arrest_warrant.dm @@ -0,0 +1,142 @@ +/datum/prefab_document/provost/highcom/arrest_warrant/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Arrest Warrant

    " + dat += "

    PR211

    " + dat += "
    " + dat += "
    " + + dat += "
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "By order of The Provost Office,

    " + dat += "

    The defendant named in this missive is to surrender themselves into Military Police custody on the following charges:

    " + dat += "

    " + dat += "
    " + dat += "

    Should the defendant fail to submit to arrest they are to be further charged with Resisting Arrest and may face additional disciplinary action during a court marshal at a later date.

    " + dat += "
    " + dat += "Defendant
    " + dat += "Name:
    " + dat += "Rank:
    " + dat += "Station:
    " + dat += "
    " + dat += "Authorizing Provost Officer
    " + dat += "Name:
    " + dat += "Signature:
    " + dat += "
    " + + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/provost/high_command/custody_transfer.dm b/code/modules/paperwork/prefab_papers/provost/high_command/custody_transfer.dm new file mode 100644 index 000000000000..9908d7c1c224 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/high_command/custody_transfer.dm @@ -0,0 +1,147 @@ +/datum/prefab_document/provost/highcom/custody_transfer/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Custody Transfer Order

    " + dat += "

    PR238

    " + dat += "
    " + dat += "
    " + + dat += "
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "

    The following missive is an order to surrender the named person (hereinafter known as the defendant) into the legal custody of a third party (hereinafter known as the custodian).

    " + dat += "
    " + dat += "
    " + dat += "Defendant
    " + dat += "Name:
    " + dat += "Rank:
    " + dat += "Station:

    " + dat += "
    " + dat += "Custodian Organisation
    " + dat += "Organisation Name:
    " + dat += "Named Representative:

    " + dat += "
    " + dat += "Reason for Transfer:" + dat += "
    " + dat += "

    " + dat += "
    " + dat += "Authorizing Command Officer
    " + dat += "Name:
    " + dat += "Signature:
    " + dat += "
    " + + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/provost/high_command/dao_response.dm b/code/modules/paperwork/prefab_papers/provost/high_command/dao_response.dm new file mode 100644 index 000000000000..b929651d0b4d --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/high_command/dao_response.dm @@ -0,0 +1,143 @@ +/datum/prefab_document/provost/highcom/dao_response/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Delayed Action Order

    " + dat += "

    PR301c

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    DAO Request Decision


    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "Appeal Reference Number:
    " + dat += "Determinant Officer:
    " + dat += "Reason of Response:


    " + dat += "Notes or Comments:


    " + dat += "Determinant Signature:
    " + dat += "
    " + dat += "
    " + dat += "
    " + dat += "

    PR301b Function

    " + dat += "

    " + dat += "A PR301b Delayed Action Order (DAO) allows Military Police to reprosecute a defendant for charges they are previously released from due to the inability to adhere to the required timeframes.
    " + dat += "Request of a DAO requires the defendant be released from detainment, the 'PR301b Requested' section on the related PR301a form completed, and this form sent by fax to the Provost Office.
    " + dat += "Upon receipt of a response containing the Provost Office's decision the related PR301a form must be updated to indicate the answer. Should a DAO be approved the defendant must be presented with the response from the Provost Office upon, or prior to, being detained." + dat += "

    " + dat += "
    " + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/provost/high_command/standard.dm b/code/modules/paperwork/prefab_papers/provost/high_command/standard.dm new file mode 100644 index 000000000000..01ab6ea300da --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/high_command/standard.dm @@ -0,0 +1,141 @@ +/datum/prefab_document/provost/highcom/standard/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Provost Office Missive

    " + dat += "

    PR202

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Authorized Personnel Only


    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "Index:
    " + dat += "Subject:
    " + dat += "


    " + dat += "Signature:
    " + dat += "
    " + dat += "
    " + dat += "
    " + dat += "

    Disclaimer

    " + dat += "

    " + dat += "This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the aforementioned addressee you should not disseminate, distribute or copy this missive.
    " + dat += "If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.
    " + dat += "

    " + dat += "
    " + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/provost/military_police/apology_notice.dm b/code/modules/paperwork/prefab_papers/provost/military_police/apology_notice.dm new file mode 100644 index 000000000000..82eb49e96f27 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/military_police/apology_notice.dm @@ -0,0 +1,124 @@ +/datum/prefab_document/provost/mp/apology_notice/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Notice of Formal Apology

    " + dat += "

    NJ910

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "To: " + dat += "
    " + dat += "From: " + dat += "


    " + dat += "

    Statement

    " + dat += "" + dat += "

    " + dat += "Sincerely,
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/provost/military_police/appeal_form.dm b/code/modules/paperwork/prefab_papers/provost/military_police/appeal_form.dm new file mode 100644 index 000000000000..9ed41fa56039 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/military_police/appeal_form.dm @@ -0,0 +1,181 @@ +/datum/prefab_document/provost/mp/appeal_form/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Appeals Form

    " + dat += "

    PR301a

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    To be completed by Handler


    " + dat += "Handler Name:
    " + dat += "Appeal Decision:


    " + dat += "Notes or Comments:


    " + dat += "Handler Signature:
    " + dat += "
    " + dat += "

    Provost Decision


    " + dat += "

    " + dat += "For a Provost resolution please send this document by fax to the Provost Office.
    " + dat += "Provost Contacted?:
    " + dat += "Provost Response:
    " + dat += "

    " + dat += "
    " + dat += "

    To be completed by Military Police


    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "Appeal Reference Number: [generate_appeal_ref()]
    " + dat += "Arresting Officer:
    " + dat += "Department Representative:
    " + dat += "Testimonial:


    " + dat += "Notes or Comments:


    " + dat += "Representative Signature:
    " + dat += "
    " + dat += "

    PR301b Delayed Action Order


    " + dat += "

    " + dat += "PR301b Requested?:
    " + dat += "PR301b Response:
    " + dat += "

    " + dat += "
    " + dat += "

    To be completed by Defendant


    " + dat += "Defendant Name:
    " + dat += "Requested Handler:
    " + dat += "Testimonial:



    " + dat += "Notes or Comments:


    " + dat += "Defendant Signature:
    " + dat += "
    " + dat += "
    " + dat += "
    " + dat += "

    Right to Appeal

    " + dat += "

    Anyone under the jurisdiction of Marine Law has the right to appeal their punishment to their choice of the Chief of Military Police (CMP) or the Commander, the requested handler may designate another valid party to handle it in their place. Should either be involved in the arrest of the defendant they must designate another valid party.

    " + dat += "

    Valid parties are any Military Police personnel, or Commissioned Officer, who are not directly involved in the charging, arrest of, or processing of the defendant. In the event no valid party exists the appeal may be handled by the processor of the defendant so long as they are not also directly involved in the arrest, wherein the appeal should be sent to the Provost Office.

    " + dat += "

    Appeal resolutions are final and cannot be altered without intervention of the Provost Office, the handler can establish a charge as valid, modify a charge to a lower charge, reduce the punishment for a charge to the minimum punishment, and remove a charge that the prisoner is found not guilty of. Charges may not be removed if the defendant is guilty.

    " + dat += "

    Right to Appeal is suspended during Delta Alert, threats mandating evacuation, approach of a hostile force, unlawful/hostile boarders, riots or jailbreaks. Appeal rights are also postponed should the defendant be in need of medical treatment, unconscious or unlawfully free of custody.
    Appeals are handled on a first call basis, should a previously requested appeal be under review the required response time is postponed.

    " + dat += "

    " + dat += "This document must be completed by the defendant and then a Military Police representative prior to the handler beginning the appeal review. Should this document not be provided to the defendant within 5 minutes of request, all charges are void.
    " + dat += "Following completion of this document the handler must begin the appeal review within a further five minutes. In the event this is not possible, and not a result of a situation where Right to Appeal is suspended, Military Police may seek a PR301b Delayed Action Order by indicating their request on this document." + dat += "

    " + dat += "

    " + dat += "A PR301b Delayed Action Order (DAO) allows Military Police to reprosecute a defendant for charges they are previously released from due to the inability to adhere to the required timeframes.
    " + dat += "Request of a DAO requires the defendant be released from detainment, the 'PR301b Requested' section on this document completed, and a PR301b form sent by fax to the Provost Office.
    " + dat += "Upon receipt of a response from the DOA fax this document must be updated to indicate the Provost Office's decision. Should a DAO be approved the defendant must be presented with the response from the Provost Office upon, or prior to, being detained." + dat += "

    " + dat += "
    " + dat += "
    " + dat += "" + + + + + contents = dat + +/datum/prefab_document/provost/mp/appeal_form/proc/generate_appeal_ref() + return "PR_A[rand(1000, 9999)][pick(GLOB.alphabet_uppercase)][pick(GLOB.alphabet_uppercase)]" diff --git a/code/modules/paperwork/prefab_papers/provost/military_police/confiscation_receipt.dm b/code/modules/paperwork/prefab_papers/provost/military_police/confiscation_receipt.dm new file mode 100644 index 000000000000..e47f11e0da67 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/military_police/confiscation_receipt.dm @@ -0,0 +1,120 @@ +/datum/prefab_document/provost/mp/confiscation_receipt/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Military Police Confiscation Receipt

    " + dat += "

    PR356

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "Person Identification:
    " + dat += "

    " + dat += "Reasoning:
    " + dat += "

    " + dat += "Location Held:
    " + dat += "

    " + dat += "Items Confiscated:
    " + dat += "

    " + dat += "Issuing Officer signature:
    " + dat += "" + dat += "" + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/provost/military_police/dao_request.dm b/code/modules/paperwork/prefab_papers/provost/military_police/dao_request.dm new file mode 100644 index 000000000000..ae73436c9415 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/military_police/dao_request.dm @@ -0,0 +1,144 @@ +/datum/prefab_document/provost/mp/dao_request/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Delayed Action Order

    " + dat += "

    PR301b

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    To be completed by Military Police


    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "Appeal Reference Number:
    " + dat += "Department Representative:
    " + dat += "Charges of the accused, with reasoning:


    " + dat += "Reason for PR301b Request:


    " + dat += "Notes or Comments:


    " + dat += "Representative Signature:
    " + dat += "
    " + dat += "
    " + dat += "
    " + dat += "

    PR301b Function

    " + dat += "

    " + dat += "A PR301b Delayed Action Order (DAO) allows Military Police to reprosecute a defendant for charges they are previously released from due to the inability to adhere to the required timeframes.
    " + dat += "Request of a DAO requires the defendant be released from detainment, the 'PR301b Requested' section on the related PR301a form completed, and this form sent by fax to the Provost Office.
    " + dat += "Upon receipt of a response containing the Provost Office's decision the related PR301a form must be updated to indicate the answer. Should a DAO be approved the defendant must be presented with the response from the Provost Office upon, or prior to, being detained." + dat += "

    " + dat += "
    " + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/provost/military_police/ops_report.dm b/code/modules/paperwork/prefab_papers/provost/military_police/ops_report.dm new file mode 100644 index 000000000000..eca1047a011d --- /dev/null +++ b/code/modules/paperwork/prefab_papers/provost/military_police/ops_report.dm @@ -0,0 +1,124 @@ +/datum/prefab_document/provost/mp/ops_report/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"Provost" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Operations Report

    " + dat += "

    PR201

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "Index:
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "To:
    " + dat += "Subject: " + dat += "

    " + dat += "
    " + dat += "

    Communicant Name:
    " + dat += "Signature:

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/uscm/high_command/arrest_warrant.dm b/code/modules/paperwork/prefab_papers/uscm/high_command/arrest_warrant.dm new file mode 100644 index 000000000000..e33260ac5c6d --- /dev/null +++ b/code/modules/paperwork/prefab_papers/uscm/high_command/arrest_warrant.dm @@ -0,0 +1,142 @@ +/datum/prefab_document/uscm/highcom/arrest_warrant/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"USCM" + dat += "
    " + + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Arrest Warrant

    " + dat += "

    UAM211

    " + dat += "
    " + dat += "
    " + + dat += "
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "By order of USCM High Command,

    " + dat += "

    The defendant named in this missive is to surrender themselves into Military Police custody on the following charges:

    " + dat += "

    " + dat += "
    " + dat += "

    Should the defendant fail to submit to arrest they are to be further charged with Resisting Arrest and may face additional disciplinary action during a court marshal at a later date.

    " + dat += "
    " + dat += "Defendant
    " + dat += "Name:
    " + dat += "Rank:
    " + dat += "Station:

    " + dat += "
    " + dat += "Authorizing Command Officer
    " + dat += "Name:
    " + dat += "Signature:
    " + dat += "
    " + + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/uscm/high_command/custody_transfer.dm b/code/modules/paperwork/prefab_papers/uscm/high_command/custody_transfer.dm new file mode 100644 index 000000000000..b849448816e0 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/uscm/high_command/custody_transfer.dm @@ -0,0 +1,147 @@ +/datum/prefab_document/uscm/highcom/custody_transfer/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"USCM" + dat += "
    " + + dat += "" + dat += "
    " + dat += "
    " + dat += "

    Custody Transfer Order

    " + dat += "

    UAM238

    " + dat += "
    " + dat += "
    " + + dat += "
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "

    The following missive is an order to surrender the named person (hereinafter known as the defendant) into the legal custody of a third party (hereinafter known as the custodian).

    " + dat += "
    " + dat += "
    " + dat += "Defendant
    " + dat += "Name:
    " + dat += "Rank:
    " + dat += "Station:

    " + dat += "
    " + dat += "Custodian Organisation
    " + dat += "Organisation Name:
    " + dat += "Named Representative:

    " + dat += "
    " + dat += "Reason for Transfer:" + dat += "
    " + dat += "

    " + dat += "
    " + dat += "Authorizing Command Officer
    " + dat += "Name:
    " + dat += "Signature:
    " + dat += "
    " + + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/uscm/high_command/standard.dm b/code/modules/paperwork/prefab_papers/uscm/high_command/standard.dm new file mode 100644 index 000000000000..a36c577f0d34 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/uscm/high_command/standard.dm @@ -0,0 +1,141 @@ +/datum/prefab_document/uscm/highcom/standard/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"USCM" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "

    USCM High Command Missive

    " + dat += "

    UAM422

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Authorized Personnel Only


    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "Index:
    " + dat += "Subject:
    " + dat += "


    " + dat += "Signature:
    " + dat += "
    " + dat += "
    " + dat += "
    " + dat += "

    Disclaimer

    " + dat += "

    " + dat += "This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the aforementioned addressee you should not disseminate, distribute or copy this missive.
    " + dat += "If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.
    " + dat += "

    " + dat += "
    " + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/uscm/ops_report.dm b/code/modules/paperwork/prefab_papers/uscm/ops_report.dm new file mode 100644 index 000000000000..7ed1a4f27755 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/uscm/ops_report.dm @@ -0,0 +1,124 @@ +/datum/prefab_document/uscm/ops_report/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "\"USCM" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Operations Report

    " + dat += "

    UAM421

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "Index:
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "To:
    " + dat += "Subject: " + dat += "

    " + dat += "
    " + dat += "

    Communicant Name:
    " + dat += "Signature:

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/wey_yu/high_command/standard.dm b/code/modules/paperwork/prefab_papers/wey_yu/high_command/standard.dm new file mode 100644 index 000000000000..8e2526d2d6fe --- /dev/null +++ b/code/modules/paperwork/prefab_papers/wey_yu/high_command/standard.dm @@ -0,0 +1,137 @@ +/datum/prefab_document/wey_yu/highcom/standard/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "

    Directorate Communication

    " + dat += "

    WY101

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Index:
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "To:
    " + dat += "Subject:

    " + dat += "

    " + dat += "
    " + dat += "

    Communicant Name:
    " + dat += "Signature:

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/wey_yu/liaison/liability.dm b/code/modules/paperwork/prefab_papers/wey_yu/liaison/liability.dm new file mode 100644 index 000000000000..187d0b1b4cf8 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/wey_yu/liaison/liability.dm @@ -0,0 +1,135 @@ +/datum/prefab_document/wey_yu/liaison/liability/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "

    Affidavit of Liability

    " + dat += "

    WY440

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "

    I, , forfeit all right to bring a suit against the Weyland Yutani (Space) Corporation for any reason on the site. This agreement releases the Weyland Yutani (Space) Corporation from all liability relating to injuries and financial responsibilities for injuries that may occur on the site.

    " + dat += "

    Signature:
    Liaison Signature: Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    Our organization accepts no liability for the content of this missive, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/wey_yu/liaison/nda_long.dm b/code/modules/paperwork/prefab_papers/wey_yu/liaison/nda_long.dm new file mode 100644 index 000000000000..8f07339b1f2f --- /dev/null +++ b/code/modules/paperwork/prefab_papers/wey_yu/liaison/nda_long.dm @@ -0,0 +1,171 @@ +/datum/prefab_document/wey_yu/liaison/nda_long/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "WY Logo" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Non Disclosure Agreement

    " + dat += "

    WY442

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "This Non-disclosure Agreement is made effective as of [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")] by and between The Company and the United States Colonial Marines (the \"recipient\") of property and information regarding all operational procedures of .

    " + dat += "
    " + dat += "

    I . Confidential Information.
    The term \"Confidential Information\" means by any information which is proprietary to the Owner, whether or not owned or developed by the Owner, which is generally known other than by the Owner, which the Recipient may obtain through any direct or indirect contact with the owner, regardless of whether specifically identified as confidential or proprietary, Confidential Information shall include any information provided by the Owner concerning the business, technology and information of the Owner and any third party with which the owner deals, including, without limitation, business records and plans, trade secrets, technical data, product are ideas, contracts, financial information, pricing structure, health discounts, computer programs, listings and unknown wildlife, are all copyright and intellectual property. The nature of the information and the manner of disclosure are such that a reasonable person would understand is confidential.

    " + dat += "" + dat += "

    A. \"Confidential Information\" does not include:
    - Matters of public knowledge that result from disclosure by the Owner.
    - Information rightfully received by the recipient from a third party without a duty of confidentiality.
    - Information disclosed by operation contract of The Company.
    - Information disclosed by the recipient with the prior written consent of the Owner, and any other information that both parties agree in writing is not confidential.

    " + dat += "
    " + dat += "

    II. PROTECTION OF CONFIDENTIAL INFORMATION.
    The recipient understands and acknowledges that the Confidential Information has been developed or obtained by the owner of The Company by Investment of Significant time, effort and expense, and that the Confidential Information is valuable, special and a unique asset of the Owner which provides the Owner with significant competitive advantage, and needs to be protected from improper disclosure. In consideration for the receipt by the Recipient of the confidential Information, the Recipient agrees as follows:

    " + dat += "" + dat += "

    A. No Disclosure.
    The recipient will hold the confidential information in confidence and will not disclose the Confidential information to any person or entity without the prior written consent of the Owner.

    " + dat += "" + dat += "

    B. No copying/Modifying.
    The Recipient will not copy or modify any Confidential Information to any person or entity without the prior written consent of the Owner.

    " + dat += "" + dat += "

    C. Unauthorized Use.
    The Recipient shall promptly advise the Owner if the Recipient becomes aware of any possible unauthorized disclosures or use of the Confidential Information.

    " + dat += "" + dat += "

    D. application to employees.
    The Recipient shall not disclose any confidential Information to any employees of the Recipient, except those employees who are required to have the Confidential Information in order to perform jobs and duties in connection with the limited purpose of this Agreement. Each permitted employee to whom confidential information is disclosed shall sign a non-disclosure agreement substantially the same as this agreement at the request of the Owner.

    " + dat += "
    " + dat += "

    III . Unauthorized Disclosure of Information- Injunction.
    If it appears that the Recipient has disclosed (or has threatened to disclose) Confidential Information in violation of this Agreement, the Owner shall be entitled to a injunction to restrain the Recipient from disclosing the Confidential Information in whole or in part. The owner shall not be prohibited by this provision from pursuing other remedies, including a claim for losses and damages.

    " + dat += "
    " + dat += "

    IV. Non-Circumvention.
    For a period of five hundred (500) years after the end of the terms of this Agreement, the Recipient will not attempt to do business with or otherwise solicit any business contacts found or otherwise referred by owners to Recipient for the purpose of circumventing, the result of which shall be prevent the Owner from realizing or recognizing a profit, fees, or otherwise, without the specific written approval of the owner. If such circumvention shall occur the Owner shall be entitled to any Commissions due pursuant to this agreement or relating to such Transaction.

    " + dat += "
    " + dat += "

    V. Return of Confidential Information.
    Upon the written request of the owner, the recipient shall return to the owner all written material containing the Confidential Information. The recipient shall also deliver to the owner written statements signed by the Recipient certifying that all materials have been returned within one (1) days of receipt of the request.

    " + dat += "
    " + dat += "

    VI . Relationship of Parties.
    Neither party has an obligation under this agreement to purchase products by the owner under this claus you are free to purchase weapons within the owners inventory at the standard rate.

    " + dat += "
    " + dat += "

    VII. No Warranty.
    The Recipient acknowledges and agrees that the Confidential Information is provided on an \"AS IS\" basis. THE OWNER MAKES NO WARRANTIES, EXPRESS OR IMPLIED WITH RESPECT TO THE CONFIDENTIAL INFORMATION AND HEREBY EXPRESSLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES OR INJURIES OF MERCHANT-ABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO WAY SHALL THE OWNER BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING OUT OF THE PERFORMANCE OR USE OF ANY PORTION OF THE CONFIDENTIAL INFORMATION. The Owner does not represent or warrant that any product or business plans disclosed to the Recipient will be marketed or carried out as disclosed, or at all. Any actions taken by the Recipient in response to the disclosure of the Confidential Information shall be solely at the risk of the Recipient.

    " + dat += "
    " + dat += "

    VIII. Limited License to use.
    The Recipient Shall not acquire any intellectual property rights under this Agreement except the limited right to use as set forth above. The recipient acknowledges that, as between the Owner and the Recipient, the Confidential Information and all related copyrights and other intellectual property rights, are (and at all times will be) the property of the Owner, even if suggestions, comments, and/or ideas made by the Recipient are incorporated into the Confidential Information or related materials during the period of this Agreement.

    " + dat += "
    " + dat += "

    IX . Indemnity.
    Each party agrees to defend, indemnify, and hold harmless the other party and its officers, directors, agents, affiliates, representatives, and employees from any and all third party claims, demands, liabilities, costs and expenses, including reasonable attorney fees provided by the Owner. costs and expenses resulting from the indemnifying party's material breach of any duty, representation, or warranty under this Agreement.

    " + dat += "
    " + dat += "

    X . TERM.
    The obligations of this agreement shall survive 03/30/2293 from the Effective date or until the Owner sends the Recipient written notice releasing the Recipient from this Agreement. After that, the Recipient must continue to protect the confidential information that was received during the term of this agreement from unauthorized use or disclosure for a additional time of the Owners Choosing.

    " + dat += "
    " + dat += "

    XI. Signatories.
    This Agreement shall be executed by the named representative, on behalf of The Company and USS Almayer's Commander, on behalf of United States Colonial Marines and delivered in the manner prescribed by law as of the date first written above.

    " + dat += "

    A. The Company.
    Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    Representative:
    Title:
    Signature:

    " + dat += "

    B. USCM.
    Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    Representative:
    Rank:
    Signature:

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    Our organization accepts no liability for the content of this missive, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/wey_yu/liaison/nda_short.dm b/code/modules/paperwork/prefab_papers/wey_yu/liaison/nda_short.dm new file mode 100644 index 000000000000..32f10f303361 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/wey_yu/liaison/nda_short.dm @@ -0,0 +1,142 @@ +/datum/prefab_document/wey_yu/liaison/nda_short/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "WY Logo" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Confidentiality Agreement

    " + dat += "

    WY441

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "

    I, , agree to a Confidentiality Agreement with the Weyland-Yutani (Space) Corporation that no information regarding the events that took place on the facility named and subsequently the USS Almayer is to be delivered publicly. Only qualified Corporate personnel whose identities have been confirmed will receive such information.

    " + dat += "

    " + dat += "Signature:
    " + dat += "Liaison Signature:
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]" + dat += "

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    Our organization accepts no liability for the content of this missive, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/wey_yu/liaison/ops_report.dm b/code/modules/paperwork/prefab_papers/wey_yu/liaison/ops_report.dm new file mode 100644 index 000000000000..f8419d468267 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/wey_yu/liaison/ops_report.dm @@ -0,0 +1,138 @@ +/datum/prefab_document/wey_yu/liaison/ops_report/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "

    Liaison Operations Report

    " + dat += "

    WY435

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Index:
    " + dat += "Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]
    " + dat += "To:
    " + dat += "Subject:

    " + dat += "

    " + dat += "
    " + dat += "

    Liaison Name:
    " + dat += "Signature:

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + contents = dat diff --git a/code/modules/paperwork/prefab_papers/wey_yu/liaison/preserve_intent.dm b/code/modules/paperwork/prefab_papers/wey_yu/liaison/preserve_intent.dm new file mode 100644 index 000000000000..81af52075b77 --- /dev/null +++ b/code/modules/paperwork/prefab_papers/wey_yu/liaison/preserve_intent.dm @@ -0,0 +1,138 @@ +/datum/prefab_document/wey_yu/liaison/preserve_intent/New() + var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) + var/dat = "" + + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "
    " + dat += "WY Logo" + dat += "
    " + dat += "" + dat += "" + dat += "
    " + dat += "

    Affidavit of Intent to Preserve

    " + dat += "

    WY439

    " + dat += "
    " + dat += "
    " + dat += "" + dat += "" + dat += "" + dat += "
    " + dat += "

    I, , do hereby swear and affirm that they I will do everything within my power to preserve and protect the integrity and value of all proprietary interests of the Weyland Yutani (Space) Corporation on the surface of or above the surface of .

    " + dat += "

    Signature:
    Liaison Signature:
    Date: [time2text(REALTIMEOFDAY, "Day DD Month [GLOB.game_year]")]

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "

    Our organization accepts no liability for the content of this missive, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "

    This message and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. This message contains confidential information and is intended only for addressee, if you are not the aforementioned addressee you should not disseminate, distribute or copy this missive. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.

    " + dat += "
    " + dat += "" + dat += "
    " + dat += "" + + + + + contents = dat diff --git a/code/modules/reagents/chemistry_machinery/chem_simulator.dm b/code/modules/reagents/chemistry_machinery/chem_simulator.dm index 13e051f5dc20..c637695632ac 100644 --- a/code/modules/reagents/chemistry_machinery/chem_simulator.dm +++ b/code/modules/reagents/chemistry_machinery/chem_simulator.dm @@ -610,7 +610,7 @@ var/datum/reagent/D = GLOB.chemical_reagents_list[id] var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) report.name = "Simulation result for [D.id]" - report.info += "

    Official Company Document
    Simulated Synthesis Report

    Result for [D.id]

    " + report.info += "

    Official Company Document
    Simulated Synthesis Report

    Result for [D.id]

    " report.generate(D) report.info += "

    This report was automatically printed by the Synthesis Simulator.
    The [MAIN_SHIP_NAME], [time2text(world.timeofday, "MM/DD")]/[GLOB.game_year], [worldtime2text()]

    \n" playsound(loc, 'sound/machines/twobeep.ogg', 15, 1) diff --git a/code/modules/reagents/chemistry_machinery/reagent_analyzer.dm b/code/modules/reagents/chemistry_machinery/reagent_analyzer.dm index 967177bda978..038e0098ec66 100644 --- a/code/modules/reagents/chemistry_machinery/reagent_analyzer.dm +++ b/code/modules/reagents/chemistry_machinery/reagent_analyzer.dm @@ -109,7 +109,7 @@ else var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) report.name = "Analysis of ERROR" - report.info += "

    Official Weyland-Yutani Document
    Reagent Analysis Print

    Analysis ERROR

    " + report.info += "

    Official Weyland-Yutani Document
    Reagent Analysis Print

    Analysis ERROR

    " report.info += "Result:
    Analysis failed for sample #[sample_number].

    \n" report.info += "Reason for error:
    [reason]
    \n" report.info += "

    This report was automatically printed by the A-XRF Scanner.
    The [MAIN_SHIP_NAME], [time2text(world.timeofday, "MM/DD")]/[GLOB.game_year], [worldtime2text()]

    \n" @@ -120,7 +120,7 @@ report.name = "Analysis of [name]" var/datum/asset/asset = get_asset_datum(/datum/asset/simple/paper) - report.info += "

    Official Weyland-Yutani Document
    Automated A-XRF Report

    Analysis of [name]

    " + report.info += "

    Official Weyland-Yutani Document
    Automated A-XRF Report

    Analysis of [name]

    " if(sample_number) report.info += "Results for sample: #[sample_number]
    \n" report.generate(src, admin_spawned) diff --git a/colonialmarines.dme b/colonialmarines.dme index 660a912abefc..ba9afff9629b 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -88,6 +88,7 @@ #include "code\__DEFINES\objects.dm" #include "code\__DEFINES\origins.dm" #include "code\__DEFINES\pain.dm" +#include "code\__DEFINES\paperwork.dm" #include "code\__DEFINES\pred.dm" #include "code\__DEFINES\procpath.dm" #include "code\__DEFINES\qdel.dm" @@ -933,6 +934,7 @@ #include "code\game\machinery\computer\demo_sim.dm" #include "code\game\machinery\computer\dropship_weapons.dm" #include "code\game\machinery\computer\emails.dm" +#include "code\game\machinery\computer\fax_responder_spy.dm" #include "code\game\machinery\computer\fluff.dm" #include "code\game\machinery\computer\general_air_control.dm" #include "code\game\machinery\computer\groundside_operations.dm" @@ -2222,6 +2224,26 @@ #include "code\modules\paperwork\paperbin.dm" #include "code\modules\paperwork\photocopier.dm" #include "code\modules\paperwork\photography.dm" +#include "code\modules\paperwork\prefab_papers.dm" +#include "code\modules\paperwork\prefab_papers\provost\high_command\arrest_warrant.dm" +#include "code\modules\paperwork\prefab_papers\provost\high_command\custody_transfer.dm" +#include "code\modules\paperwork\prefab_papers\provost\high_command\dao_response.dm" +#include "code\modules\paperwork\prefab_papers\provost\high_command\standard.dm" +#include "code\modules\paperwork\prefab_papers\provost\military_police\apology_notice.dm" +#include "code\modules\paperwork\prefab_papers\provost\military_police\appeal_form.dm" +#include "code\modules\paperwork\prefab_papers\provost\military_police\confiscation_receipt.dm" +#include "code\modules\paperwork\prefab_papers\provost\military_police\dao_request.dm" +#include "code\modules\paperwork\prefab_papers\provost\military_police\ops_report.dm" +#include "code\modules\paperwork\prefab_papers\uscm\ops_report.dm" +#include "code\modules\paperwork\prefab_papers\uscm\high_command\arrest_warrant.dm" +#include "code\modules\paperwork\prefab_papers\uscm\high_command\custody_transfer.dm" +#include "code\modules\paperwork\prefab_papers\uscm\high_command\standard.dm" +#include "code\modules\paperwork\prefab_papers\wey_yu\high_command\standard.dm" +#include "code\modules\paperwork\prefab_papers\wey_yu\liaison\liability.dm" +#include "code\modules\paperwork\prefab_papers\wey_yu\liaison\nda_long.dm" +#include "code\modules\paperwork\prefab_papers\wey_yu\liaison\nda_short.dm" +#include "code\modules\paperwork\prefab_papers\wey_yu\liaison\ops_report.dm" +#include "code\modules\paperwork\prefab_papers\wey_yu\liaison\preserve_intent.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\batteryrack.dm" #include "code\modules\power\breaker_box.dm" diff --git a/html/images/faxwylogo.png b/html/images/faxwylogo.png deleted file mode 100644 index a67bd212e122..000000000000 Binary files a/html/images/faxwylogo.png and /dev/null differ diff --git a/html/images/uscmlogo.png b/html/images/uscmlogo.png deleted file mode 100644 index 6a065b5b60b1..000000000000 Binary files a/html/images/uscmlogo.png and /dev/null differ diff --git a/html/images/wylogo.png b/html/images/wylogo.png deleted file mode 100644 index 499e868896d0..000000000000 Binary files a/html/images/wylogo.png and /dev/null differ diff --git a/icons/landmarks.dmi b/icons/landmarks.dmi index 32fe9e0790a6..a7ed9ba34c3e 100644 Binary files a/icons/landmarks.dmi and b/icons/landmarks.dmi differ diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index 7b56684a49ff..1d929c9b0d01 100644 Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ diff --git a/icons/obj/items/paper.dmi b/icons/obj/items/paper.dmi index bb24ac6b3377..ccbb365806a7 100644 Binary files a/icons/obj/items/paper.dmi and b/icons/obj/items/paper.dmi differ diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm index b9f432079a10..7609c34f8d57 100644 --- a/maps/map_files/BigRed/BigRed.dmm +++ b/maps/map_files/BigRed/BigRed.dmm @@ -8,6 +8,10 @@ icon_state = "pwall" }, /area/space) +"aac" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/asteroidfloor/north, +/area/bigredv2/outside/space_port_lz2) "aad" = ( /turf/open/mars_cave/mars_cave_2, /area/bigredv2/caves_north) @@ -167,6 +171,10 @@ /obj/effect/landmark/objective_landmark/close, /turf/open/floor/dark, /area/bigredv2/outside/space_port) +"aaM" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/asteroidfloor/north, +/area/bigredv2/outside/space_port) "aaN" = ( /obj/structure/surface/table, /obj/effect/spawner/random/powercell, @@ -44682,7 +44690,7 @@ aah aah aah aek -aaf +aaM aaf aaf acJ @@ -48034,7 +48042,7 @@ eWd eWd eWd eWd -eWd +aac eWd eWd eWd diff --git a/maps/map_files/DesertDam/Desert_Dam.dmm b/maps/map_files/DesertDam/Desert_Dam.dmm index 631668649b77..9714afe29b05 100644 --- a/maps/map_files/DesertDam/Desert_Dam.dmm +++ b/maps/map_files/DesertDam/Desert_Dam.dmm @@ -10,6 +10,10 @@ /obj/effect/blocker/toxic_water, /turf/open/gm/river/desert/deep, /area/desert_dam/exterior/river/riverside_central_north) +"aac" = ( +/obj/effect/landmark/spycam_start, +/turf/open/desert/dirt, +/area/desert_dam/exterior/landing_pad_two) "aad" = ( /obj/structure/sign/safety/bulkhead_door, /turf/closed/wall/r_wall, @@ -190,6 +194,13 @@ /obj/effect/blocker/toxic_water/Group_2, /turf/open/gm/river/desert/deep, /area/desert_dam/exterior/river/riverside_central_north) +"aaR" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/obj/effect/landmark/spycam_start, +/turf/open/asphalt, +/area/desert_dam/exterior/landing_pad_one) "aaS" = ( /obj/effect/decal/sand_overlay/sand1{ dir = 4 @@ -54062,7 +54073,7 @@ lIt lIt lIt lIt -lIt +aac lIt lIt lIt @@ -56920,7 +56931,7 @@ aQW aQW aQW aQW -aQW +aaR aQW aQW aQW diff --git a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm index 94cb78af7e79..8ee647a9edfc 100644 --- a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm +++ b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm @@ -7,6 +7,14 @@ }, /turf/open/space, /area/fiorina/oob) +"aab" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/prison, +/area/fiorina/lz/near_lzII) +"aac" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/prison/floor_plate, +/area/fiorina/lz/near_lzI) "aak" = ( /obj/effect/decal/hefa_cult_decals/d32{ icon_state = "4" @@ -67133,7 +67141,7 @@ fAf nZB nZB nZB -fAf +aab nZB nZB nZB @@ -83170,7 +83178,7 @@ nGZ nGZ qaL fDJ -fDJ +aac uYi cUd cUd diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm index 59061d40dae3..e4a0d98dbb74 100644 --- a/maps/map_files/Kutjevo/Kutjevo.dmm +++ b/maps/map_files/Kutjevo/Kutjevo.dmm @@ -1,4 +1,12 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aaa" = ( +/obj/effect/landmark/spycam_start, +/turf/open/auto_turf/sand/layer1, +/area/kutjevo/exterior/lz_dunes) +"aab" = ( +/obj/effect/landmark/spycam_start, +/turf/open/auto_turf/sand/layer1, +/area/kutjevo/exterior/lz_pad) "aat" = ( /obj/structure/flora/grass/tallgrass/desert/corner{ dir = 10 @@ -19969,7 +19977,7 @@ gAM gAM gAM wGH -wGH +aaa wGH wGH wGH @@ -21034,7 +21042,7 @@ lKk lKk lKk lKk -lKk +aab lKk lKk lKk 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 a31a6b6358e9..c9a827dfd4bf 100644 --- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm +++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm @@ -77402,7 +77402,7 @@ tJa wQa eXG eXG -eXG +aaa eXG eXG wPN diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm index 8ad33cc54c03..28350af1f94b 100644 --- a/maps/map_files/LV624/LV624.dmm +++ b/maps/map_files/LV624/LV624.dmm @@ -13,6 +13,14 @@ icon_state = "pwall" }, /area/space) +"aad" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor, +/area/lv624/lazarus/landing_zones/lz1) +"aae" = ( +/obj/effect/landmark/spycam_start, +/turf/open/gm/dirt, +/area/lv624/lazarus/landing_zones/lz2) "aag" = ( /turf/open/gm/dirt, /area/lv624/ground/caves/north_east_caves) @@ -31393,7 +31401,7 @@ aDv aDv aDv aDv -aDv +aae aDv aDv aOB @@ -54427,7 +54435,7 @@ aGz aHM aGz eaJ -aGz +aad aHM aMq eaJ diff --git a/maps/map_files/New_Varadero/New_Varadero.dmm b/maps/map_files/New_Varadero/New_Varadero.dmm index d031ae9cd81e..f256769eddfd 100644 --- a/maps/map_files/New_Varadero/New_Varadero.dmm +++ b/maps/map_files/New_Varadero/New_Varadero.dmm @@ -1,4 +1,12 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aaa" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/asteroidfloor/north, +/area/varadero/exterior/lz1_near) +"aab" = ( +/obj/effect/landmark/spycam_start, +/turf/open/gm/dirt, +/area/varadero/exterior/lz2_near) "aae" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/shiva, @@ -41694,7 +41702,7 @@ wMw wMw wMw wMw -wMw +aaa xcE wMw wMw @@ -55145,7 +55153,7 @@ lTg wlB wlB wlB -wlB +aab wlB lTg wlB diff --git a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm index c0f8e74a4011..08b39b1d55ca 100644 --- a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm +++ b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm @@ -1,4 +1,8 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aaa" = ( +/obj/effect/landmark/spycam_start, +/turf/open/auto_turf/snow/brown_base/layer0, +/area/strata/ag/exterior/landing_zones/near_lz2) "aab" = ( /turf/closed/shuttle{ dir = 1; @@ -11,6 +15,10 @@ "aad" = ( /turf/closed/wall/strata_ice/jungle, /area/strata/ug/interior) +"aae" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/strata, +/area/strata/ag/interior/landing_zones/near_lz1) "aaf" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/strata/multi_tiles/southwest, @@ -37489,7 +37497,7 @@ cqE cqE cqE cqE -cqE +aae cqE cqE cqE @@ -43509,7 +43517,7 @@ wSb wSb bvD bvD -bvD +aaa xgU bvD xTU diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 95047cd617bd..7231eab98620 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -131,9 +131,46 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/starboard) +"aas" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/almayer/plate, +/area/almayer/hallways/hangar) +"aat" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/almayer/plate, +/area/almayer/engineering/lower/workshop) "aau" = ( /turf/closed/wall/almayer/reinforced/temphull, /area/almayer/living/pilotbunks) +"aav" = ( +/obj/structure/filingcabinet{ + pixel_x = 8 + }, +/obj/structure/filingcabinet/documentation/uscm{ + pixel_x = -8 + }, +/turf/open/floor/almayer/bluefull, +/area/almayer/command/cichallway) +"aaw" = ( +/obj/structure/filingcabinet{ + pixel_x = -8 + }, +/obj/structure/filingcabinet/documentation/uscm{ + pixel_x = 8 + }, +/turf/open/floor/almayer/bluefull, +/area/almayer/command/cichallway) +"aax" = ( +/obj/structure/filingcabinet/documentation/military_police{ + pixel_y = 24; + density = 0 + }, +/turf/open/floor/almayer/red/north, +/area/almayer/shipboard/brig/processing) +"aay" = ( +/obj/effect/landmark/spycam_start, +/turf/open/floor/almayer, +/area/almayer/command/lifeboat) "aaC" = ( /obj/structure/lattice, /turf/open/space/basic, @@ -6271,7 +6308,13 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/upper/aft_hallway) "aPD" = ( -/obj/structure/machinery/photocopier, +/obj/structure/machinery/photocopier{ + pixel_y = 12 + }, +/obj/structure/filingcabinet/documentation/uscm_mp{ + pixel_x = 8; + icon_state = "chestdrawer" + }, /turf/open/floor/almayer/plate, /area/almayer/command/cic) "aPE" = ( @@ -8798,6 +8841,7 @@ /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 }, +/obj/effect/landmark/spycam_start, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/upper/fore_hallway) "bjA" = ( @@ -21570,16 +21614,16 @@ pixel_x = -8; pixel_y = 18 }, -/obj/structure/filingcabinet{ - density = 0; - pixel_x = 8; - pixel_y = 18 - }, /obj/structure/machinery/power/apc/almayer/west, /obj/structure/sign/safety/rewire{ pixel_x = -17; pixel_y = 17 }, +/obj/structure/filingcabinet/documentation/military_police{ + pixel_y = 18; + density = 0; + pixel_x = 8 + }, /turf/open/floor/almayer/cargo, /area/almayer/shipboard/brig/evidence_storage) "eVT" = ( @@ -23577,8 +23621,11 @@ /turf/open/floor/carpet, /area/almayer/living/commandbunks) "fOz" = ( -/obj/structure/target{ - name = "punching bag" +/obj/structure/filingcabinet/documentation/uscm_mp{ + pixel_x = 8 + }, +/obj/structure/filingcabinet{ + pixel_x = -8 }, /turf/open/floor/almayer/plating/northeast, /area/almayer/shipboard/sea_office) @@ -35832,7 +35879,7 @@ /obj/structure/filingcabinet/security{ pixel_x = -8 }, -/obj/structure/filingcabinet/medical{ +/obj/structure/filingcabinet/documentation/uscm_mp{ pixel_x = 8 }, /turf/open/floor/wood/ship, @@ -43943,21 +43990,9 @@ /turf/open/floor/almayer/cargo, /area/almayer/hallways/upper/midship_hallway) "olM" = ( -/obj/structure/bed/chair{ - can_buckle = 0; - dir = 4 - }, -/obj/structure/bed/chair{ - can_buckle = 0; - dir = 4; - pixel_x = 1; - pixel_y = 3 - }, -/obj/structure/bed/chair{ - can_buckle = 0; - dir = 4; - pixel_x = 2; - pixel_y = 6 +/obj/structure/filingcabinet/documentation/uscm{ + pixel_y = 16; + density = 0 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) @@ -56177,6 +56212,12 @@ /obj/structure/machinery/keycard_auth{ pixel_y = 25 }, +/obj/structure/filingcabinet/documentation/military_police{ + pixel_y = 16; + pixel_x = 8; + icon_state = "chestdrawer"; + density = 0 + }, /turf/open/floor/almayer/red/northeast, /area/almayer/shipboard/brig/chief_mp_office) "tiI" = ( @@ -64653,7 +64694,7 @@ /turf/open/floor/almayer/red/northwest, /area/almayer/lifeboat_pumps/south1) "wvo" = ( -/obj/structure/filingcabinet, +/obj/structure/filingcabinet/documentation/liaison, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) "wvu" = ( @@ -80548,7 +80589,7 @@ cmM tzd tzd sgi -bju +aax wSm kAL xkd @@ -85220,7 +85261,7 @@ gwR sTm tdT qyo -tsy +aav qwp ora laO @@ -85520,7 +85561,7 @@ xyw xyw xyw xyw -xyw +aas xyw xyw xyw @@ -85626,7 +85667,7 @@ wjq wjq rHc qyo -tsy +aaw qwp vGA uwN @@ -118812,7 +118853,7 @@ uZF xoj xoj osI -qXk +aat fie pUj xoj @@ -119929,7 +119970,7 @@ eky aDQ pyy eky -eky +aay eky dLc aDQ diff --git a/maps/templates/Chinook.dmm b/maps/templates/Chinook.dmm index 98a8e8bb3f91..bd9b58f6b23d 100644 --- a/maps/templates/Chinook.dmm +++ b/maps/templates/Chinook.dmm @@ -387,7 +387,7 @@ pixel_x = -8; pixel_y = 8 }, -/obj/item/tool/pen/fountain{ +/obj/item/tool/pen/multicolor/fountain{ pixel_y = 4; pixel_x = -8 }, @@ -1525,7 +1525,7 @@ "fC" = ( /obj/structure/surface/table/reinforced/black, /obj/item/paper_bin/uscm, -/obj/item/tool/pen/fountain{ +/obj/item/tool/pen/multicolor/fountain{ pixel_y = -3 }, /turf/open/floor/wood, @@ -1588,7 +1588,7 @@ pixel_y = 8; pixel_x = 6 }, -/obj/item/tool/pen/fountain{ +/obj/item/tool/pen/multicolor/fountain{ pixel_x = -8; pixel_y = 5 }, @@ -10143,7 +10143,7 @@ /turf/open/floor/almayer/test_floor5, /area/adminlevel/chinook/engineering) "Qs" = ( -/obj/item/tool/pen/fountain{ +/obj/item/tool/pen/multicolor/fountain{ pixel_x = 3; pixel_y = -1 }, @@ -10153,7 +10153,7 @@ pixel_y = 2 }, /obj/structure/surface/table/reinforced/black, -/obj/item/tool/pen/fountain{ +/obj/item/tool/pen/multicolor/fountain{ pixel_x = 3; pixel_y = 3 }, @@ -10214,7 +10214,7 @@ pixel_y = 1; pixel_x = 1 }, -/obj/item/tool/pen/fountain{ +/obj/item/tool/pen/multicolor/fountain{ pixel_x = 10; pixel_y = 6 }, @@ -12269,7 +12269,7 @@ pixel_y = 8; pixel_x = 5 }, -/obj/item/tool/pen/fountain{ +/obj/item/tool/pen/multicolor/fountain{ pixel_x = 5; pixel_y = 6 }, diff --git a/maps/templates/lazy_templates/fax_responder_base.dmm b/maps/templates/lazy_templates/fax_responder_base.dmm index 44b88044d63d..25c3042de654 100644 --- a/maps/templates/lazy_templates/fax_responder_base.dmm +++ b/maps/templates/lazy_templates/fax_responder_base.dmm @@ -1,2751 +1,7314 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"am" = ( +"aa" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ - pixel_x = 6 - }, -/obj/item/folder/black{ - pixel_x = 12 - }, /obj/structure/transmitter/rotary/fax_responder{ networks_transmit = list("USCM","Colonist","UPP","Fax Responders"); phone_id = "UPP Communications Officer"; - phone_color = "green" + phone_color = "green"; + pixel_x = -8 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"fr" = ( -/obj/structure/machinery/cryopod/no_store, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"gu" = ( -/turf/open/floor/wood/ship, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 3; + anchored = 1 + }, +/obj/item/ashtray/plastic{ + pixel_y = -6; + pixel_x = -9 + }, +/obj/item/tool/pen/multicolor/fountain{ + pixel_x = 4; + pixel_y = 1 + }, +/turf/open/floor/darkgreen2, /area/adminlevel/ert_station/fax_response_station) -"id" = ( +"ab" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = -12; - faction = "UPP"; - name = "UPP monitoring computer" - }, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/blue/clicky{ - pixel_y = 8 +/obj/item/tool/pen/multicolor/fountain{ + pixel_x = -14; + pixel_y = 4 }, -/obj/item/tool/pen/green/clicky{ - pixel_y = 8; +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"ac" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 20; pixel_x = -8 }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -8 +/obj/effect/decal/cleanable/dirt, +/obj/structure/filingcabinet/documentation/highcom/upp{ + pixel_x = 8; + pixel_y = 20; + density = 0 }, -/obj/item/paper_bin/wy{ - pixel_y = 6; - pixel_x = 8 +/turf/open/floor/darkgreen2/north, +/area/adminlevel/ert_station/fax_response_station) +"ad" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 24; + pixel_x = -7 }, -/obj/structure/machinery/computer/crew/alt{ +/obj/structure/filingcabinet/documentation/highcom/press{ + pixel_x = 9; pixel_y = 24; - pixel_x = 8; - name = "USCM monitoring computer" + density = 0 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"jh" = ( -/turf/closed/wall/r_wall/prison_unmeltable, -/area/adminlevel/ert_station/fax_response_station) -"jV" = ( +"ae" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ - pixel_x = 6 - }, -/obj/item/folder/black{ - pixel_x = 12 +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 3; + anchored = 1 }, /obj/structure/transmitter/rotary/fax_responder{ networks_transmit = list("USCM","Colonist","TWE","Fax Responders"); phone_id = "TWE Communications Officer"; - phone_color = "yellow" + phone_color = "yellow"; + pixel_x = -8 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"kT" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/cameras/almayer{ - dir = 8; - admin_console = 1; - network = list("ARES","Almayer","Research","Containment","Containment Hidden"); - pixel_x = 16; - layer = 2.99; - name = "USS Almayer Cameras"; +/obj/item/ashtray/plastic{ pixel_y = -6; - colony_camera_mapload = 0 + pixel_x = -9 }, -/obj/structure/machinery/computer/cameras/almayer{ - dir = 8; - admin_console = 1; - network = list("Overwatch"); - pixel_x = 16; - pixel_y = 8; - name = "Overwatch Cameras"; - colony_camera_mapload = 0 +/obj/item/tool/pen/multicolor/fountain{ + pixel_x = 4; + pixel_y = 1 }, -/turf/open/floor/wood/ship, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"ny" = ( +"af" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/cmb{ - pixel_y = 8 +/turf/open/floor/almayer/red, +/area/adminlevel/ert_station/fax_response_station) +"ag" = ( +/obj/item/tool/warning_cone, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"ah" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 3; + anchored = 1 }, -/turf/open/floor/wood/ship, +/obj/structure/transmitter/rotary/fax_responder{ + networks_transmit = list("USCM","Colonist","Wey-Yu","PMC","Fax Responders"); + phone_id = "WY Communications Executive"; + pixel_y = 9 + }, +/obj/structure/sign/poster/art{ + pixel_y = -10; + pixel_x = 24 + }, +/obj/item/tool/pen/multicolor/fountain{ + pixel_x = 4; + pixel_y = 1 + }, +/turf/open/floor/corsat/white/east, /area/adminlevel/ert_station/fax_response_station) -"nB" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_x = -24 +"ai" = ( +/obj/item/device/flashlight/lamp/tripod/grey{ + anchored = 1; + pixel_y = 19 }, -/obj/structure/machinery/cm_vending/sorted/marine_food{ - pixel_y = 16; +/turf/open/asphalt/cement, +/area/adminlevel/ert_station/fax_response_station/exterior) +"aj" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 20; + pixel_x = -8 + }, +/obj/structure/filingcabinet/documentation/highcom/twe{ + pixel_x = 7; + pixel_y = 20; density = 0 }, -/turf/open/floor/wood/ship, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"ov" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/uscm/command/highcom{ - pixel_y = 8 +"ak" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 20; + pixel_x = -8 }, -/turf/open/floor/wood/ship, +/obj/structure/filingcabinet/documentation/highcom/wy{ + pixel_x = 8; + pixel_y = 20; + density = 0 + }, +/turf/open/floor/corsat/white/north, /area/adminlevel/ert_station/fax_response_station) -"oA" = ( +"al" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/twe/highcom{ - pixel_y = 8 +/obj/structure/transmitter/rotary/fax_responder{ + networks_transmit = list("USCM","Colonist","Fax Responders"); + phone_id = "USCM-HC Communications Officer"; + phone_color = "blue"; + pixel_x = -8 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"pu" = ( -/obj/structure/machinery/door_control/brbutton{ - pixel_y = 24; - id = "Faxes" +/obj/item/paper_bin/uscm{ + pixel_x = 5; + pixel_y = 3; + anchored = 1 }, -/turf/open/floor/plating, -/area/adminlevel/ert_station/fax_response_station) -"pH" = ( -/obj/structure/machinery/door/airlock/almayer/maint/reinforced/colony{ - dir = 1; - req_one_access = null +/obj/item/ashtray/plastic{ + pixel_y = -6; + pixel_x = -9 }, -/obj/structure/machinery/door/poddoor/almayer{ - unacidable = 1; - use_power = 0; - needs_power = 0; - id = "Faxes" +/obj/item/tool/pen/multicolor/provost{ + pixel_x = 5 }, -/turf/open/floor/almayer/test_floor4, +/turf/open/floor/almayer/blue, /area/adminlevel/ert_station/fax_response_station) -"qw" = ( +"am" = ( +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/adminlevel/ert_station/fax_response_station/exterior) +"an" = ( +/turf/open/auto_turf/snow/layer1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"ao" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/press/highcom{ - pixel_y = 8 +/obj/structure/transmitter/rotary/fax_responder{ + networks_transmit = list("USCM","Colonist","Fax Responders"); + phone_id = "Provost Communications Officer"; + phone_color = "blue"; + pixel_x = 9 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"rS" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ +/obj/item/paper_bin/uscm{ + pixel_x = -5; + pixel_y = 3; + anchored = 1 + }, +/obj/item/ashtray/plastic{ + pixel_y = -6; pixel_x = 6 }, -/obj/item/folder/black{ - pixel_x = 12 +/obj/item/tool/pen/multicolor/provost{ + pixel_x = -5 }, -/obj/structure/transmitter/rotary/fax_responder{ - networks_transmit = list("USCM","Colonist","Press","Fax Responders"); - phone_id = "Free Press Relay" +/turf/open/floor/almayer/red, +/area/adminlevel/ert_station/fax_response_station) +"ap" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 24; + pixel_x = -7 }, -/turf/open/floor/wood/ship, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/obj/structure/filingcabinet/documentation/highcom/clf{ + density = 0; + pixel_y = 24; + pixel_x = 9 + }, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"rV" = ( -/obj/effect/landmark/late_join/responder/uscm/provost, -/turf/open/floor/wood/ship, +"aq" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom"; + dir = 4 + }, +/turf/open/floor/shiva/multi_tiles/east, /area/adminlevel/ert_station/fax_response_station) -"sx" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/white{ - pixel_x = -6 +"ar" = ( +/obj/structure/machinery/door/airlock/almayer/secure{ + name = "\improper Base Entrance"; + req_access = null }, -/obj/item/folder/white, -/obj/item/folder/white{ - pixel_x = 6 +/turf/open/floor/shiva/multi_tiles/east, +/area/adminlevel/ert_station/fax_response_station) +"as" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 24; + pixel_x = -9 }, -/turf/open/floor/wood/ship, +/obj/structure/filingcabinet/documentation/highcom/uscm{ + pixel_y = 24; + pixel_x = 7; + density = 0 + }, +/turf/open/floor/almayer/blue/north, /area/adminlevel/ert_station/fax_response_station) -"sZ" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/cameras/almayer{ - dir = 8; - admin_console = 1; - network = list("Overwatch"); - pixel_x = 16; - pixel_y = 8; - name = "Overwatch Cameras"; - colony_camera_mapload = 0 +"at" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 24; + pixel_x = -9 }, -/obj/structure/machinery/computer/cameras/almayer{ - dir = 8; - admin_console = 1; - network = list("ARES","Almayer","Research","Containment","Containment Hidden"); - pixel_x = 16; - layer = 2.99; - name = "USS Almayer Cameras"; - pixel_y = -6; - colony_camera_mapload = 0 +/obj/structure/filingcabinet/documentation/highcom/provost{ + density = 0; + pixel_x = 7; + pixel_y = 24 }, -/turf/open/floor/wood/ship, +/turf/open/floor/almayer/red/north, /area/adminlevel/ert_station/fax_response_station) -"tq" = ( +"au" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ - pixel_x = 6 - }, -/obj/item/folder/black{ - pixel_x = 12 +/obj/item/paper_bin{ + pixel_x = 2; + pixel_y = 3; + anchored = 1 }, /obj/structure/transmitter/rotary/fax_responder{ - networks_transmit = list("USCM","Colonist","Fax Responders"); - phone_id = "USCM-HC Communications Officer"; - phone_color = "blue" + networks_transmit = list("USCM","Colonist","CLF","Fax Responders"); + phone_id = "CLF Information Correspondant"; + phone_color = "orange"; + pixel_x = -11 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"tM" = ( -/obj/effect/landmark/late_join/responder/clf, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"uX" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/clf/highcom{ - pixel_y = 8 +/obj/item/ashtray/plastic{ + pixel_y = -6; + pixel_x = -11 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"vc" = ( -/turf/open/floor/plating, -/area/adminlevel/ert_station/fax_response_station) -"wv" = ( -/obj/effect/landmark/late_join/responder/cmb, -/turf/open/floor/wood/ship, +/obj/item/tool/pen/multicolor/fountain{ + pixel_x = 4; + pixel_y = 1 + }, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"wx" = ( +"av" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = -12; - faction = "Colonial Marshal"; - name = "CMB monitoring computer" +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 3; + anchored = 1 }, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/blue/clicky{ - pixel_y = 8 +/obj/structure/transmitter/rotary/fax_responder{ + networks_transmit = list("USCM","Colonist","TWE","Fax Responders"); + phone_id = "CMB Communications Officer"; + phone_color = "yellow"; + pixel_x = -8 }, -/obj/item/tool/pen/green/clicky{ - pixel_y = 8; +/obj/item/ashtray/plastic{ + pixel_y = -6; pixel_x = -8 }, -/obj/item/tool/pen/red/clicky{ +/obj/item/tool/pen/multicolor/fountain{ + pixel_x = 4; + pixel_y = 1 + }, +/turf/open/floor/shiva/blue/southwest, +/area/adminlevel/ert_station/fax_response_station) +"aw" = ( +/obj/structure/filingcabinet/documentation/highcom/cmb{ + pixel_x = 8; + pixel_y = 24; + density = 0 + }, +/obj/structure/filingcabinet{ + density = 0; + pixel_y = 24; pixel_x = -8 }, -/obj/item/paper_bin/wy{ - pixel_y = 6; - pixel_x = 8 +/turf/open/floor/shiva/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"ax" = ( +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 17; + name = "USCM monitoring computer"; + pixel_x = 9 }, /obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = 8; - name = "USCM monitoring computer" + pixel_y = 17; + faction = "Wey-Yu"; + name = "WY monitoring computer"; + pixel_x = -7 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"wz" = ( -/turf/closed/wall/r_wall/bunker{ - hull = 1 +"az" = ( +/obj/structure/machinery/cryopod/no_store{ + pixel_y = 13 }, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"xb" = ( -/obj/effect/landmark/late_join/responder/wey_yu, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"xc" = ( -/turf/closed/wall/r_wall/chigusa{ - hull = 1 +"aF" = ( +/obj/structure/machinery/vending/walkman{ + pixel_x = -4; + wrenchable = 0; + prices = list(); + wires = 12 }, +/turf/open/floor/darkgreen2/west, /area/adminlevel/ert_station/fax_response_station) -"xX" = ( -/turf/closed/wall/r_wall/unmeltable, +"aJ" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 10 + }, +/turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"yv" = ( +"aK" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = -12; - faction = "TWE"; - name = "TWE monitoring computer" +/obj/item/folder/white{ + pixel_x = 6; + pixel_y = -6; + layer = 3 }, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/blue/clicky{ - pixel_y = 8 +/obj/item/folder/red{ + pixel_x = 6; + pixel_y = -1; + layer = 2.99 }, -/obj/item/tool/pen/green/clicky{ +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = 6; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; pixel_y = 8; - pixel_x = -8 + pixel_x = -5 }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -8 +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = -5 }, -/obj/item/paper_bin/wy{ - pixel_y = 6; - pixel_x = 8 +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = -5 }, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = 8; - name = "USCM monitoring computer" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"aM" = ( +/obj/structure/bed/chair/office/dark, +/obj/structure/coatrack{ + pixel_y = 16; + pixel_x = -10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"aT" = ( +/obj/structure/sign/prop2{ + pixel_x = 31 + }, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"ba" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"bc" = ( +/obj/structure/bed/chair/office/dark, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"Ba" = ( -/obj/structure/filingcabinet{ - density = 0; - pixel_y = 24; - pixel_x = 9 +"be" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/uscm/directional/west, +/area/adminlevel/ert_station/fax_response_station) +"bf" = ( +/obj/structure/mirror{ + pixel_y = 32; + pixel_x = -1 }, -/obj/structure/filingcabinet{ +/obj/structure/sink{ + pixel_y = 21 + }, +/obj/structure/machinery/light/small{ + dir = 1; + pixel_y = 13; + pixel_x = 13 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"bo" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"bp" = ( +/obj/structure/machinery/vending/cola{ + pixel_y = 0; + prices = list(); density = 0; - pixel_y = 24; - pixel_x = -7 + wrenchable = 0; + pixel_x = -6; + wires = 12 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"Bp" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/tool/stamp/hos{ - name = "red stamp"; - pixel_y = 8 +"bw" = ( +/obj/structure/machinery/shower{ + pixel_y = 16 }, -/obj/item/tool/stamp/hop{ - name = "blue stamp" +/obj/structure/machinery/door/window/tinted{ + dir = 2 }, -/obj/item/tool/stamp/ce{ - name = "yellow stamp"; - pixel_y = -8 +/obj/item/tool/soap/deluxe{ + pixel_y = 7; + pixel_x = 3 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"bx" = ( +/obj/structure/machinery/vending/coffee{ + pixel_x = 4; + wrenchable = 0; + prices = list(); + wires = 12 }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/red/northeast, +/area/adminlevel/ert_station/fax_response_station) +"bH" = ( +/obj/structure/bed/chair/office/dark, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"Bz" = ( -/obj/effect/landmark/late_join/responder/press, +"bI" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = 18 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/asphalt, +/area/adminlevel/ert_station/fax_response_station/exterior) +"bJ" = ( +/obj/structure/machinery/light{ + dir = 4 + }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"BC" = ( -/turf/closed/wall/r_wall/biodome/biodome_unmeltable, +"bT" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_TWE"; + name = "\improper Sewer Access"; + emp_proof = 1; + explo_proof = 1 + }, +/turf/open/floor/almayer/plate, /area/adminlevel/ert_station/fax_response_station) -"Du" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/blue/clicky{ - pixel_y = 8 +"bU" = ( +/obj/structure/sign/prop1{ + pixel_y = 32 }, -/obj/item/tool/pen/green/clicky{ - pixel_y = 8; - pixel_x = -8 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"bX" = ( +/obj/structure/window/reinforced/toughened{ + dir = 8 }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -8 +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1 + }, +/obj/item/reagent_container/food/drinks/coffeecup{ + pixel_y = 13 + }, +/obj/structure/machinery/light, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"cc" = ( +/turf/open/floor/shiva/blue, +/area/adminlevel/ert_station/fax_response_station) +"ch" = ( +/obj/structure/flora/grass/tallgrass/ice/corner{ + dir = 8; + layer = 2.9 + }, +/obj/structure/platform_decoration/stone/strata{ + dir = 8 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"ci" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/chem_dispenser/soda{ + wrenchable = 0; + pixel_x = 1; + pixel_y = 2 + }, +/turf/open/floor/corsat/white/east, +/area/adminlevel/ert_station/fax_response_station) +"ck" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0; + name = "\improper Food Vendor"; + desc = "Contains replica military prepared meals."; + pixel_x = 9 }, +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"cn" = ( +/obj/structure/surface/table/woodentable/fancy, /obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - name = "USCM monitoring computer" + pixel_y = 9; + pixel_x = -14; + faction = "CLF"; + name = "CLF monitoring computer"; + layer = 3.01 + }, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 9; + pixel_x = 3; + name = "USCM monitoring computer"; + layer = 3 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"cp" = ( +/obj/structure/pipes/vents/pump/no_boom, +/obj/effect/decal/siding, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"cr" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1; + pixel_y = 2; + pixel_x = 3; + layer = 2.97 + }, +/turf/open/floor/almayer/red/southeast, +/area/adminlevel/ert_station/fax_response_station) +"cz" = ( +/obj/effect/landmark/late_join/responder/uscm, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"cA" = ( +/turf/open/floor/almayer/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"cE" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/clf/highcom{ + pixel_y = 0 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"cI" = ( +/turf/open/floor/corsat/white, +/area/adminlevel/ert_station/fax_response_station) +"cJ" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom" + }, +/turf/open/floor/shiva/floor3, +/area/adminlevel/ert_station/fax_response_station) +"cV" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_CMB_Road"; + name = "\improper Road Blockade"; + dir = 4 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station/exterior) +"cW" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_x = 4; + wires = 12 + }, +/obj/item/reagent_container/spray/cleaner{ + pixel_y = 18; + pixel_x = 7 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"cX" = ( +/obj/structure/bed/chair/office/dark, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"db" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_CMB"; + name = "\improper Basement Access"; + emp_proof = 1; + explo_proof = 1 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"dk" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 10 }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"do" = ( +/obj/structure/window/reinforced/toughened{ + dir = 4 + }, +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp/on, /obj/item/paper_bin/uscm{ - pixel_x = 8; - pixel_y = 6 + pixel_x = -12; + pixel_y = 5 + }, +/obj/item/tool/pen/blue/clicky{ + pixel_x = -14 + }, +/turf/open/floor/almayer/uscm/directional/southwest, +/area/adminlevel/ert_station/fax_response_station) +"dC" = ( +/obj/effect/overlay/palmtree_l, +/turf/open/gm/grass/grass2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"dE" = ( +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"dL" = ( +/obj/structure/window/reinforced/toughened, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"dM" = ( +/obj/structure/ladder{ + id = "Faxes_CLF_Ladder"; + height = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt2, +/area/adminlevel/ert_station/fax_response_station) +"dS" = ( +/obj/structure/bed/chair/comfy/alpha{ + name = "comfy chair"; + desc = "A chair with leather padding and adjustable headrest. You could probably sit in one of these for ages." }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"Dy" = ( -/turf/closed/wall/solaris/reinforced/hull, +"dW" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/plate, /area/adminlevel/ert_station/fax_response_station) -"Ei" = ( -/turf/closed/wall/almayer/outer, +"ed" = ( +/obj/structure/machinery/cryopod/no_store{ + pixel_y = 13; + dir = 1 + }, +/turf/open/floor/almayer/blue/northeast, /area/adminlevel/ert_station/fax_response_station) -"EI" = ( -/obj/structure/filingcabinet{ +"ef" = ( +/obj/structure/machinery/space_heater/radiator/red{ + dir = 1; + pixel_y = -1; + layer = 5; + pixel_x = -16 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = -24; + pixel_x = 5 + }, +/turf/open/floor/darkgreen2, +/area/adminlevel/ert_station/fax_response_station) +"eo" = ( +/obj/structure/machinery/vending/coffee{ + pixel_x = -5; + wrenchable = 0; + prices = list(); + pixel_y = 16; density = 0; - pixel_y = 24; + wires = 12 + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"es" = ( +/obj/structure/machinery/vending/walkman{ + pixel_x = 5; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station/exterior) +"ex" = ( +/obj/structure/window/reinforced/toughened{ + dir = 8 + }, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin/uscm{ + pixel_x = 15; + pixel_y = 5 + }, +/obj/item/tool/pen/clicky{ + pixel_x = 13 + }, +/turf/open/floor/almayer/red, +/area/adminlevel/ert_station/fax_response_station) +"eQ" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/drinks/coffeecup/wy{ pixel_x = -7 }, -/obj/structure/filingcabinet{ +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/corsat/white/east, +/area/adminlevel/ert_station/fax_response_station) +"eS" = ( +/obj/structure/machinery/computer/arcade{ + pixel_y = 17; + density = 0 + }, +/turf/open/floor/darkgreen2/north, +/area/adminlevel/ert_station/fax_response_station) +"eV" = ( +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/adminlevel/ert_station/fax_response_station/exterior) +"fj" = ( +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"fk" = ( +/obj/structure/machinery/vending/snack{ + pixel_x = -16; + wrenchable = 0; + prices = list(); + pixel_y = 16; density = 0; - pixel_y = 24; - pixel_x = 9 + wires = 12 + }, +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0; + name = "\improper Food Vendor"; + desc = "Contains replica military prepared meals."; + pixel_x = 10 + }, +/turf/open/floor/prison/kitchen, +/area/adminlevel/ert_station/fax_response_station) +"fo" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"EK" = ( +"fs" = ( +/obj/structure/bed/chair/comfy/orange{ + dir = 4 + }, +/turf/open/floor/almayer/w_y2, +/area/adminlevel/ert_station/fax_response_station) +"fv" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = -12; - faction = "Wey-Yu"; - name = "WY monitoring computer" +/obj/structure/machinery/computer/spy_camera/upp{ + dir = 4; + pixel_y = 2; + pixel_x = 2 }, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/blue/clicky{ - pixel_y = 8 +/turf/open/floor/darkgreen2/northwest, +/area/adminlevel/ert_station/fax_response_station) +"fJ" = ( +/obj/structure/window/reinforced/toughened{ + dir = 4 + }, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin/uscm{ + pixel_x = -12; + pixel_y = 5 }, /obj/item/tool/pen/green/clicky{ - pixel_y = 8; - pixel_x = -8 + pixel_x = -13 }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -8 +/turf/open/floor/almayer/blue, +/area/adminlevel/ert_station/fax_response_station) +"fO" = ( +/turf/open/auto_turf/snow/layer4, +/area/adminlevel/ert_station/fax_response_station/exterior) +"fQ" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 }, -/obj/item/paper_bin/wy{ - pixel_y = 6; - pixel_x = 8 +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/adminlevel/ert_station/fax_response_station/exterior) +"fW" = ( +/turf/closed/wall/strata_ice, +/area/adminlevel/ert_station/fax_response_station/exterior) +"gk" = ( +/obj/structure/machinery/door/airlock/almayer/secure{ + name = "\improper Office Entrance"; + req_access = null; + dir = 1 }, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = 8; - name = "USCM monitoring computer" +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"go" = ( +/turf/open/floor/shiva/floor3, +/area/adminlevel/ert_station/fax_response_station) +"gv" = ( +/obj/structure/window/framed/almayer/hull, +/turf/open/floor/plating, +/area/adminlevel/ert_station/fax_response_station) +"gw" = ( +/obj/structure/coatrack{ + pixel_y = 19; + pixel_x = 7 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"FB" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ - pixel_x = 6 +"gx" = ( +/obj/structure/bed/chair/comfy/beige{ + dir = 1 }, -/obj/item/folder/black{ - pixel_x = 12 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"gz" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 }, -/obj/structure/transmitter/rotary/fax_responder{ - networks_transmit = list("USCM","Colonist","Wey-Yu","PMC","Fax Responders"); - phone_id = "WY Communications Executive" +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"gC" = ( +/obj/structure/coatrack, +/turf/open/floor/shiva/blue, +/area/adminlevel/ert_station/fax_response_station) +"gD" = ( +/obj/structure/ladder{ + id = "Faxes_PRESS_Ladder"; + height = 1 }, -/turf/open/floor/wood/ship, +/turf/open/floor/almayer/cargo, /area/adminlevel/ert_station/fax_response_station) -"FD" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/corporate/highcom{ - pixel_y = 8 +"gG" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom" }, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - faction = "PMC"; - name = "PMC monitoring computer" +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"gX" = ( +/turf/closed/shuttle{ + dir = 1; + icon_state = "pwall"; + unacidable = 1 }, -/turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"IO" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/cameras/almayer{ - dir = 8; - admin_console = 1; - network = list("Overwatch"); - pixel_x = 16; - pixel_y = 16; - name = "Overwatch Cameras"; - colony_camera_mapload = 0 +"hd" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + layer = 3.33; + pixel_y = 1 }, -/obj/structure/machinery/computer/cameras/almayer{ - dir = 8; - admin_console = 1; - network = list("WY","Containment Hidden","Colony"); - pixel_x = 16; - name = "WY Cameras"; - colony_camera_mapload = 0 +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + dir = 1; + pixel_x = 1 }, -/obj/structure/machinery/computer/cameras/almayer{ - dir = 8; - admin_console = 1; - network = list("ARES","Almayer","Research","Containment"); - pixel_x = 16; +/obj/structure/ladder{ + height = 2; + id = "Faxes_CLF_Ladder"; + pixel_y = 21; + name = "CLF Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"hh" = ( +/turf/open/floor/whitered/north, +/area/adminlevel/ert_station/fax_response_station) +"hk" = ( +/obj/structure/sign/prop1{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/rack{ + pixel_y = 12; + layer = 3.51; + density = 0 + }, +/obj/item/storage/box/cups{ + pixel_y = 12; + layer = 3.52 + }, +/turf/open/floor/almayer/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"hn" = ( +/obj/structure/machinery/space_heater{ + pixel_x = 5; + pixel_y = 15; layer = 2.99; - name = "USS Almayer Cameras"; - pixel_y = -16; - colony_camera_mapload = 0 + anchored = 1 }, -/turf/open/floor/wood/ship, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"hs" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/shiva/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"hy" = ( +/turf/open/floor/almayer/uscm/directional/north, +/area/adminlevel/ert_station/fax_response_station) +"hC" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/white{ + pixel_x = 6; + pixel_y = -6; + layer = 3 + }, +/obj/item/folder/red{ + pixel_x = 6; + pixel_y = -1; + layer = 2.99 + }, +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = 6; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = -5 + }, +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = -5 + }, +/turf/open/floor/corsat/white/southeast, +/area/adminlevel/ert_station/fax_response_station) +"hH" = ( +/obj/structure/prop/fishing/pole_interactive{ + pixel_x = 3 + }, +/turf/open/gm/grass/grassbeach/east, +/area/adminlevel/ert_station/fax_response_station/exterior) +"hJ" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_y = 0; + pixel_x = 4; + wires = 12 + }, +/turf/open/floor/shiva/blue/southeast, +/area/adminlevel/ert_station/fax_response_station) +"hK" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/uscm/directional/east, +/area/adminlevel/ert_station/fax_response_station) +"hO" = ( +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, +/turf/open/gm/dirtgrassborder2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"hU" = ( +/obj/structure/machinery/space_heater/radiator/red{ + dir = 2; + pixel_y = 20 + }, +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/darkgreen2/north, +/area/adminlevel/ert_station/fax_response_station) +"hW" = ( +/obj/structure/machinery/door/airlock/almayer/secure{ + name = "\improper TWE Office Entrance"; + req_access = null; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/corsat/marked, +/area/adminlevel/ert_station/fax_response_station) +"ip" = ( +/turf/open/gm/grass/grass2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"iq" = ( +/obj/structure/flora/bush/ausbushes/reedbush, +/turf/open/gm/river/no_overlay, +/area/adminlevel/ert_station/fax_response_station/exterior) +"iC" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"iL" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/light, +/turf/open/floor/darkgreen2, +/area/adminlevel/ert_station/fax_response_station) +"iN" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 18; + pixel_x = 9 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"jf" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0; + name = "\improper Food Vendor"; + desc = "Contains replica military prepared meals."; + pixel_x = 10 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"ji" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_PRO"; + name = "\improper Hangar Access"; + dir = 4; + emp_proof = 1; + explo_proof = 1 + }, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"jj" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = 18 + }, +/obj/structure/prop/vehicles{ + dir = 1; + pixel_y = -23; + density = 1; + desc = "An old van." + }, +/obj/structure/blocker/invisible_wall, +/turf/open/asphalt, +/area/adminlevel/ert_station/fax_response_station/exterior) +"jm" = ( +/obj/structure/window/reinforced/toughened{ + layer = 2.99 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = -14; + pixel_y = 5; + layer = 2.98 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"jB" = ( +/obj/structure/coatrack{ + pixel_y = 22; + pixel_x = -10; + layer = 5 + }, +/turf/open/floor/darkgreen2/north, +/area/adminlevel/ert_station/fax_response_station) +"jD" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_x = 13; + pixel_y = 16; + density = 0; + wires = 12 + }, +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"jI" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"jJ" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_18"; + pixel_y = 13; + pixel_x = 9 + }, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"jM" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/darkgreen2/east, +/area/adminlevel/ert_station/fax_response_station) +"jT" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/upp/highcom{ + pixel_y = 0 + }, +/obj/structure/machinery/light, +/turf/open/floor/darkgreen2, +/area/adminlevel/ert_station/fax_response_station) +"jX" = ( +/obj/structure/platform/stone/strata{ + dir = 4; + climbable = 0 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"kf" = ( +/obj/structure/ladder{ + id = "Faxes_PRO_Ladder"; + height = 1 + }, +/obj/structure/machinery/light/small{ + dir = 1; + pixel_y = 13 + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"kg" = ( +/obj/structure/blocker/invisible_wall, +/turf/open/floor/corsat/marked, +/area/adminlevel/ert_station/fax_response_station) +"kh" = ( +/obj/structure/surface/table/woodentable/fancy, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"kv" = ( +/obj/structure/machinery/door_control/brbutton/alt{ + pixel_x = -22; + id = "Faxes_CLF"; + name = "Door Controls" + }, +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = -7 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/gm/dirt2, +/area/adminlevel/ert_station/fax_response_station) +"kw" = ( +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"kC" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom" + }, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"kV" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/corsat/white, +/area/adminlevel/ert_station/fax_response_station) +"kY" = ( +/obj/structure/flora/bush/snow{ + icon_state = "snowgrassall_1"; + pixel_x = -6 + }, +/obj/structure/platform/stone/strata{ + dir = 4; + climbable = 0 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"kZ" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_x = 4; + wires = 12 + }, +/turf/open/floor/darkgreen2/southeast, +/area/adminlevel/ert_station/fax_response_station) +"ls" = ( +/turf/closed/wall/almayer/outer, +/area/adminlevel/ert_station/fax_response_station) +"lx" = ( +/obj/structure/flora/bush/ausbushes/ausbush, +/turf/open/gm/grass/grass1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"lC" = ( +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"lK" = ( +/obj/item/tool/warning_cone, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached9, +/area/adminlevel/ert_station/fax_response_station/exterior) +"lL" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/corsat/white, +/area/adminlevel/ert_station/fax_response_station) +"lU" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/enchiladas{ + pixel_y = 13; + pixel_x = -2 + }, +/obj/item/reagent_container/food/snacks/taco{ + pixel_y = -2; + pixel_x = -7 + }, +/obj/item/reagent_container/food/snacks/cheesyfries{ + pixel_x = 6 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"lZ" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1; + pixel_y = 2; + pixel_x = 3; + layer = 2.97 + }, +/turf/open/floor/almayer/blue/southwest, +/area/adminlevel/ert_station/fax_response_station) +"me" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 0; + faction = "UPP"; + name = "UPP monitoring computer"; + dir = 8; + pixel_x = 3 + }, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = -14; + name = "USCM monitoring computer"; + dir = 8; + layer = 2.99; + pixel_x = 3 + }, +/turf/open/floor/darkgreen2/east, +/area/adminlevel/ert_station/fax_response_station) +"mi" = ( +/turf/closed/wall/prison{ + hull = 1; + unacidable = 1; + name = "colony wall" + }, +/area/adminlevel/ert_station/fax_response_station) +"mq" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + admin_console = 1; + network = list("Overwatch"); + pixel_y = 4; + name = "Overwatch Cameras"; + colony_camera_mapload = 0; + layer = 3; + pixel_x = 3 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + layer = 3.01; + name = "USS Almayer Cameras"; + pixel_y = -10; + colony_camera_mapload = 0; + pixel_x = 3 + }, +/turf/open/floor/corsat/white/east, +/area/adminlevel/ert_station/fax_response_station) +"mw" = ( +/obj/structure/flora/bush/ausbushes/lavendergrass{ + pixel_y = 4 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"mx" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/corsat/white/west, +/area/adminlevel/ert_station/fax_response_station) +"mB" = ( +/obj/structure/blocker/invisible_wall, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"mC" = ( +/obj/item/tool/warning_cone, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"mD" = ( +/obj/structure/window/reinforced/toughened{ + dir = 8 + }, +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin/uscm{ + pixel_x = 15; + pixel_y = 5 + }, +/obj/item/tool/pen/green/clicky{ + pixel_x = 13 + }, +/turf/open/floor/almayer/uscm/directional/northeast, +/area/adminlevel/ert_station/fax_response_station) +"mE" = ( +/obj/structure/flora/bush/snow{ + icon_state = "snowgrassall_1" + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"mF" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_y = -20; + pixel_x = 6; + anchored = 1 + }, +/obj/item/tool/candle{ + pixel_x = -12; + pixel_y = 6 + }, +/obj/item/storage/fancy/cigar/matchbook/brown{ + pixel_x = -7; + pixel_y = 2; + layer = 2.9 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"mL" = ( +/obj/structure/mirror{ + pixel_y = 32; + pixel_x = -1 + }, +/obj/structure/sink{ + pixel_y = 21 + }, +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = -10 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"mQ" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = -14 + }, +/turf/open/asphalt, +/area/adminlevel/ert_station/fax_response_station/exterior) +"mV" = ( +/obj/structure/flora/pottedplant/random{ + pixel_x = 9 + }, +/turf/open/floor/almayer/blue, +/area/adminlevel/ert_station/fax_response_station) +"mX" = ( +/obj/structure/flora/jungle/thickbush, +/turf/open/gm/grass/grass1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"nd" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/almayer{ + name = "\improper CLF Communications Office"; + locked = 1; + unacidable = 1; + unslashable = 1; + damage_cap = 999999; + health = 999999; + explo_proof = 1; + emp_proof = 2; + no_panel = 1; + masterkey_resist = 1 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/floor/shiva/multi_tiles/north, +/area/adminlevel/ert_station/fax_response_station) +"ni" = ( +/obj/structure/sign/prop1{ + pixel_y = 32 + }, +/obj/structure/surface/rack{ + pixel_y = 12; + layer = 3.51; + density = 0 + }, +/obj/item/storage/box/cups{ + pixel_y = 12; + layer = 3.52 + }, +/turf/open/floor/almayer/red/north, +/area/adminlevel/ert_station/fax_response_station) +"nl" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = -7; + pixel_x = -3; + faction = "Colonial Marshal"; + name = "CMB monitoring computer"; + dir = 4; + layer = 2.99 + }, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 7; + pixel_x = -3; + name = "USCM monitoring computer"; + dir = 4 + }, +/turf/open/floor/shiva/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"nn" = ( +/obj/structure/closet/secure_closet/personal/cabinet{ + pixel_x = 1; + pixel_y = 17; + req_access = null + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"np" = ( +/turf/open/floor/whitered/southwest, +/area/adminlevel/ert_station/fax_response_station) +"nr" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"nI" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = -14 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/asphalt, +/area/adminlevel/ert_station/fax_response_station/exterior) +"nP" = ( +/turf/open/asphalt/cement, +/area/adminlevel/ert_station/fax_response_station/exterior) +"oc" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_CLF"; + name = "\improper Tunnel Access"; + dir = 1; + emp_proof = 1; + explo_proof = 1 + }, +/turf/open/floor/shiva/multi_tiles/north, +/area/adminlevel/ert_station/fax_response_station) +"of" = ( +/obj/structure/machinery/vending/cola{ + pixel_y = 16; + pixel_x = 3; + prices = list(); + density = 0; + wrenchable = 0; + wires = 12 + }, +/turf/open/floor/shiva/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"ok" = ( +/obj/structure/sign/prop3{ + pixel_x = -28 + }, +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"oo" = ( +/obj/item/device/flashlight/lamp/tripod/grey{ + anchored = 1; + pixel_y = 19 + }, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/adminlevel/ert_station/fax_response_station/exterior) +"ou" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/sliceable/lemoncake{ + layer = 3 + }, +/obj/item/reagent_container/food/snacks/sliceable/cheesecake{ + pixel_y = 6; + layer = 3.01 + }, +/obj/item/reagent_container/food/snacks/sliceable/chocolatecake{ + pixel_y = 12 + }, +/obj/item/tool/kitchen/utensil/pknife{ + pixel_x = -12; + pixel_y = 2 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"ow" = ( +/obj/structure/surface/table/woodentable/fancy, +/turf/open/floor/almayer/blue, +/area/adminlevel/ert_station/fax_response_station) +"oO" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"oP" = ( +/turf/closed/wall/prison{ + hull = 1; + unacidable = 1; + name = "colony wall" + }, +/area/adminlevel/ert_station/fax_response_station/exterior) +"oT" = ( +/turf/closed/void, +/area/adminlevel/ert_station/fax_response_station) +"oU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/darkgreen2/west, +/area/adminlevel/ert_station/fax_response_station) +"oY" = ( +/turf/open/floor/almayer/uscm/directional/west, +/area/adminlevel/ert_station/fax_response_station) +"pb" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0 + }, +/turf/open/floor/almayer/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"pc" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/whitered/southeast, +/area/adminlevel/ert_station/fax_response_station) +"pf" = ( +/obj/structure/window/reinforced/tinted/frosted, +/obj/structure/machinery/shower{ + dir = 4; + pixel_y = 3 + }, +/obj/item/tool/soap{ + pixel_y = 6 + }, +/obj/structure/machinery/door/window/tinted, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"pj" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/machinery/shower{ + dir = 1 + }, +/obj/structure/machinery/door/window/tinted{ + dir = 1 + }, +/obj/item/tool/soap/deluxe{ + pixel_y = -8; + pixel_x = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"pk" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/paper_bin/wy{ + pixel_y = 6; + pixel_x = 19 + }, +/obj/structure/machinery/faxmachine/press/highcom{ + pixel_y = 6 + }, +/obj/item/ashtray/plastic{ + pixel_y = -5; + pixel_x = 7 + }, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"pl" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_x = 4; + wires = 12 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"pn" = ( +/turf/open/floor/shiva/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"px" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 6 + }, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"pA" = ( +/obj/structure/prop/invuln/lattice_prop, +/turf/open/space/basic, +/area/space) +"pC" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 5 + }, +/turf/open/floor/corsat/white, +/area/adminlevel/ert_station/fax_response_station) +"pG" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = -10; + pixel_y = 21 + }, +/obj/structure/machinery/space_heater{ + pixel_x = 5; + pixel_y = 15; + layer = 2.99; + anchored = 1 + }, +/turf/open/floor/darkgreen2/northwest, +/area/adminlevel/ert_station/fax_response_station) +"pO" = ( +/turf/open/floor/almayer/w_y1, +/area/adminlevel/ert_station/fax_response_station) +"pU" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 6 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"pV" = ( +/turf/open/space/basic, +/area/space) +"pZ" = ( +/obj/structure/pipes/vents/pump/no_boom{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"qo" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"qu" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + layer = 3.33; + pixel_y = 1 + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"qv" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/white{ + pixel_x = -7; + pixel_y = -6; + layer = 3 + }, +/obj/item/folder/red{ + pixel_x = -7; + pixel_y = -1; + layer = 2.99 + }, +/obj/item/folder/blue{ + pixel_x = -7; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = -7; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = 6 + }, +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = 6 + }, +/obj/structure/machinery/light, +/turf/open/floor/shiva/blue, +/area/adminlevel/ert_station/fax_response_station) +"qx" = ( +/turf/open/gm/grass/grass1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"qD" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/obj/structure/ladder{ + height = 2; + id = "Faxes_WY_Ladder"; + pixel_y = -1; + name = "WY Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"qJ" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"qS" = ( +/obj/structure/window/framed/colony, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"qX" = ( +/turf/open/floor/almayer/uscm/directional/east, +/area/adminlevel/ert_station/fax_response_station) +"qY" = ( +/obj/structure/surface/table/woodentable/fancy, +/turf/open/floor/shiva/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"rc" = ( +/obj/structure/machinery/vending/cola{ + pixel_y = 16; + pixel_x = 5; + prices = list(); + density = 0; + wrenchable = 0; + wires = 12 + }, +/turf/open/floor/almayer/red/northwest, +/area/adminlevel/ert_station/fax_response_station) +"rm" = ( +/obj/structure/bed/chair/office/dark, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"rs" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = -14 + }, +/obj/item/tool/warning_cone, +/turf/open/asphalt, +/area/adminlevel/ert_station/fax_response_station/exterior) +"rx" = ( +/obj/effect/landmark/late_join/responder/clf, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"rF" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/darkgreen2/east, +/area/adminlevel/ert_station/fax_response_station) +"rJ" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"rM" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/milosoup{ + pixel_y = 3; + pixel_x = 7 + }, +/obj/item/reagent_container/food/condiment/hotsauce/sriracha{ + pixel_y = 19; + pixel_x = -9 + }, +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"rX" = ( +/obj/structure/pipes/standard/manifold/hidden/supply/no_boom{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"rZ" = ( +/obj/effect/landmark/late_join/responder/upp, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/darkgreen2/west, +/area/adminlevel/ert_station/fax_response_station) +"sa" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_PRESS"; + name = "\improper Fire Escape Access"; + dir = 1; + explo_proof = 1; + emp_proof = 1 + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"sf" = ( +/turf/open/gm/river/no_overlay, +/area/adminlevel/ert_station/fax_response_station/exterior) +"sg" = ( +/obj/structure/pipes/vents/pump/no_boom, +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"sh" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/corporate/highcom{ + pixel_y = 0 + }, +/obj/structure/machinery/light, +/turf/open/floor/corsat/white, +/area/adminlevel/ert_station/fax_response_station) +"sj" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0 + }, +/turf/open/floor/almayer/red/north, +/area/adminlevel/ert_station/fax_response_station) +"sm" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/almayer/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"so" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 4; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + pixel_x = -3; + layer = 2.99; + name = "USS Almayer Cameras"; + pixel_y = -6; + colony_camera_mapload = 0 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 4; + admin_console = 1; + network = list("Overwatch"); + pixel_x = -3; + pixel_y = 8; + name = "Overwatch Cameras"; + colony_camera_mapload = 0 + }, +/turf/open/floor/shiva/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"sv" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/decal/siding, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"sA" = ( +/obj/structure/closet/secure_closet/personal/cabinet{ + pixel_x = 1; + pixel_y = 17; + req_access = null + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"sC" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"sI" = ( +/obj/structure/machinery/shower{ + dir = 8 + }, +/obj/structure/machinery/door/window/tinted{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"sK" = ( +/obj/structure/flora/grass/tallgrass/ice/corner{ + dir = 9 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"sP" = ( +/turf/open/floor/corsat/white/west, +/area/adminlevel/ert_station/fax_response_station) +"sR" = ( +/obj/structure/platform_decoration/metal/kutjevo_smooth/east{ + dir = 8 + }, +/obj/item/reagent_container/food/snacks/cheesewedge/verymature{ + pixel_y = -4; + pixel_x = 17 + }, +/mob/living/simple_animal/mouse/brown{ + name = "rat" + }, +/obj/effect/decal/strata_decals/catwalk/prison, +/turf/open/gm/river/no_overlay/sewage, +/area/adminlevel/ert_station/fax_response_station) +"sV" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 0; + name = "USCM monitoring computer"; + dir = 8; + pixel_x = 3 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + admin_console = 1; + network = list("WY","Containment Hidden","Colony"); + pixel_x = 3; + name = "WY Cameras"; + colony_camera_mapload = 0; + pixel_y = -14; + layer = 2.99 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/corsat/white/northeast, +/area/adminlevel/ert_station/fax_response_station) +"tb" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/cups, +/turf/open/floor/corsat/white/east, +/area/adminlevel/ert_station/fax_response_station) +"te" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 9 + }, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/adminlevel/ert_station/fax_response_station/exterior) +"tk" = ( +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 17; + pixel_x = -9; + faction = "Wey-Yu"; + name = "WY monitoring computer" + }, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 17; + faction = "PMC"; + name = "PMC monitoring computer"; + pixel_x = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"tu" = ( +/obj/item/trash/crushed_cup, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/adminlevel/ert_station/fax_response_station/exterior) +"tJ" = ( +/obj/structure/window/reinforced/toughened{ + dir = 4 + }, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin{ + pixel_x = -14; + pixel_y = 5 + }, +/obj/item/tool/pen/green/clicky{ + pixel_x = -15 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"tN" = ( +/obj/structure/bed/chair/comfy/teal{ + dir = 8 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"tO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/shiva/bluecorners/east, +/area/adminlevel/ert_station/fax_response_station) +"tR" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_UPP"; + name = "\improper Maintenance Access"; + emp_proof = 1; + explo_proof = 1 + }, +/turf/open/floor/shiva/radiator_tile2, +/area/adminlevel/ert_station/fax_response_station) +"tV" = ( +/obj/structure/machinery/vending/walkman{ + pixel_x = 10; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/adminlevel/ert_station/fax_response_station/exterior) +"tY" = ( +/turf/open/floor/shiva/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"ua" = ( +/obj/structure/ladder{ + id = "Faxes_WY_Ladder"; + height = 1 + }, +/turf/open/floor/corsat/cargo, +/area/adminlevel/ert_station/fax_response_station) +"uc" = ( +/obj/structure/pipes/vents/scrubber/no_boom{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"ue" = ( +/obj/structure/mirror{ + pixel_y = 32; + pixel_x = -1 + }, +/obj/structure/sink{ + pixel_y = 21 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"uu" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{ + dir = 1; + name = "\improper Sector Relay Power Storage"; + locked = 1; + damage_cap = 999999; + health = 999999; + no_panel = 1; + explo_proof = 1; + emp_proof = 1; + masterkey_resist = 1; + unacidable = 1; + unslashable = 1 + }, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"uI" = ( +/obj/structure/window/framed/strata/hull, +/obj/structure/curtain/red, +/turf/open/floor/shiva/floor3, +/area/adminlevel/ert_station/fax_response_station) +"uK" = ( +/obj/structure/bed/chair/comfy/ares{ + dir = 4; + name = "comfy chair"; + desc = "A chair with leather padding and adjustable headrest. You could probably sit in one of these for ages." + }, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"uL" = ( +/obj/structure/machinery/computer/arcade, +/obj/item/reagent_container/spray/cleaner{ + pixel_y = 20; + pixel_x = -3 + }, +/turf/open/floor/corsat/white/southwest, +/area/adminlevel/ert_station/fax_response_station) +"uP" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/obj/structure/ladder{ + height = 2; + id = "Faxes_UPP_Ladder"; + pixel_y = -1; + name = "UPP Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"uV" = ( +/obj/structure/flora/grass/tallgrass/ice/corner{ + dir = 5 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"va" = ( +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"ve" = ( +/obj/structure/pipes/vents/pump/no_boom{ + dir = 8 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"vm" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = -9; + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"vy" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/machinery/vending/snack{ + pixel_x = -6; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"vA" = ( +/obj/structure/toilet{ + dir = 8 + }, +/obj/item/paper_bin{ + pixel_y = 29; + pixel_x = -6 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"vD" = ( +/obj/item/tool/warning_cone, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached15, +/area/adminlevel/ert_station/fax_response_station/exterior) +"vE" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station/exterior) +"vL" = ( +/obj/structure/pipes/vents/pump/no_boom{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"vM" = ( +/obj/structure/prop/invuln/lattice_prop{ + dir = 1; + icon_state = "lattice-simple"; + pixel_y = 0 + }, +/turf/open/space/basic, +/area/space) +"vS" = ( +/obj/structure/machinery/vending/cola{ + pixel_y = 17; + pixel_x = 3; + prices = list(); + density = 0; + wrenchable = 0; + wires = 12 + }, +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"vZ" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 10 + }, +/obj/structure/mirror{ + pixel_y = -1; + pixel_x = 25 + }, +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = 12 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"wg" = ( +/obj/structure/window/reinforced/toughened{ + dir = 1; + layer = 2.9 + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"wi" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = -11; + pixel_y = 14 + }, +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"wl" = ( +/turf/closed/wall/r_wall/unmeltable, +/area/adminlevel/ert_station/fax_response_station) +"wp" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"wu" = ( +/obj/structure/flora/jungle/vines/light_3, +/turf/open/gm/grass/grass1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"wv" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = 10; + pixel_y = 0 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"wx" = ( +/obj/structure/bedsheetbin{ + pixel_y = 15; + pixel_x = -6 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"wy" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/shiva/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"wD" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"wE" = ( +/obj/structure/machinery/light, +/turf/open/floor/corsat/white/southwest, +/area/adminlevel/ert_station/fax_response_station) +"wG" = ( +/turf/open/floor/darkgreen2/west, +/area/adminlevel/ert_station/fax_response_station) +"wJ" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ + dir = 1; + name = "\improper High Command Office"; + req_access = null + }, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"wQ" = ( +/obj/structure/machinery/door/airlock/almayer/generic/glass{ + dir = 1; + name = "\improper Tea Shop" + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"wX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/coatrack, +/turf/open/floor/almayer/red/southeast, +/area/adminlevel/ert_station/fax_response_station) +"wZ" = ( +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"xc" = ( +/obj/structure/flora/bush/ausbushes/lavendergrass, +/turf/open/gm/grass/grass1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"xf" = ( +/obj/structure/blocker/invisible_wall, +/turf/open/floor/shiva/radiator_tile2, +/area/adminlevel/ert_station/fax_response_station) +"xj" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/window/reinforced/toughened{ + dir = 8 + }, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"xm" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/uscm/command/highcom{ + pixel_y = 0 + }, +/obj/structure/machinery/light, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue, +/area/adminlevel/ert_station/fax_response_station) +"xn" = ( +/obj/structure/machinery/computer/arcade{ + pixel_y = 17; + density = 0 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"xu" = ( +/obj/structure/flora/bush/ausbushes/reedbush{ + pixel_x = 9; + pixel_y = -4 + }, +/obj/structure/flora/bush/ausbushes/reedbush{ + pixel_x = 15; + pixel_y = 3 + }, +/turf/open/gm/river/no_overlay, +/area/adminlevel/ert_station/fax_response_station/exterior) +"xK" = ( +/turf/closed/wall/kutjevo/colony/reinforced/hull, +/area/adminlevel/ert_station/fax_response_station) +"xL" = ( +/turf/open/floor/whitered/northwest, +/area/adminlevel/ert_station/fax_response_station) +"xP" = ( +/obj/structure/platform_decoration/stone/strata, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"xQ" = ( +/obj/item/toy/inflatable_duck, +/turf/open/gm/river/no_overlay, +/area/adminlevel/ert_station/fax_response_station/exterior) +"yf" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"yh" = ( +/obj/structure/blocker/invisible_wall, +/turf/open/floor/shiva/multi_tiles/north, +/area/adminlevel/ert_station/fax_response_station) +"yp" = ( +/turf/open/floor/almayer/red/southwest, +/area/adminlevel/ert_station/fax_response_station) +"yt" = ( +/obj/structure/bedsheetbin{ + pixel_y = 15; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"yu" = ( +/obj/structure/closet/secure_closet/brig{ + pixel_y = 14; + density = 0; + req_one_access = null; + req_access = list(104) + }, +/turf/open/floor/shiva/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"yz" = ( +/obj/structure/mirror{ + pixel_y = 32; + pixel_x = -1 + }, +/obj/structure/sink{ + pixel_y = 21 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"yB" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = 11; + pixel_y = 18 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"yI" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = -14; + name = "USCM monitoring computer"; + dir = 8; + layer = 2.99; + pixel_x = 3 + }, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = 0; + pixel_x = 3; + faction = "TWE"; + name = "TWE monitoring computer"; + dir = 8 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"yK" = ( +/obj/structure/flora/tree/pine{ + pixel_x = -7 + }, +/obj/structure/platform/metal/strata{ + climbable = 0 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"yM" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + admin_console = 1; + network = list("Overwatch"); + pixel_y = 4; + name = "Overwatch Cameras"; + colony_camera_mapload = 0; + layer = 3; + pixel_x = 3 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + layer = 3.01; + name = "USS Almayer Cameras"; + pixel_y = -10; + colony_camera_mapload = 0; + pixel_x = 3 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"yR" = ( +/obj/structure/machinery/vending/snack{ + pixel_x = -7; + wrenchable = 0; + prices = list(); + pixel_y = 0; + wires = 12 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"zg" = ( +/obj/structure/blocker/invisible_wall, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/adminlevel/ert_station/fax_response_station/exterior) +"zh" = ( +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"zj" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/corsat/white, +/area/adminlevel/ert_station/fax_response_station) +"zs" = ( +/obj/structure/platform/metal/strata{ + climbable = 0; + dir = 8 + }, +/obj/structure/platform/metal/strata{ + climbable = 0 + }, +/obj/structure/platform/metal/strata/north{ + climbable = 0; + layer = 2.97 + }, +/obj/structure/barricade/handrail/strata{ + autoclimb = 0; + climbable = 0; + layer = 3; + pixel_y = 11; + dir = 1 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"zt" = ( +/obj/structure/machinery/cryopod/no_store{ + pixel_y = 13 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/red/northwest, +/area/adminlevel/ert_station/fax_response_station) +"zw" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/window/reinforced/toughened{ + dir = 4 + }, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin{ + pixel_x = -14; + pixel_y = 5 + }, +/obj/item/tool/pen/red/clicky{ + pixel_x = -15; + pixel_y = 2 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"zy" = ( +/obj/structure/bed/chair/comfy{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"zJ" = ( +/obj/structure/machinery/vending/coffee{ + pixel_x = -5; + wrenchable = 0; + prices = list(); + pixel_y = 16; + density = 0; + wires = 12 + }, +/turf/open/floor/shiva/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"zS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + layer = 3.33; + pixel_y = 1 + }, +/obj/structure/machinery/light/spot{ + dir = 1 + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"zT" = ( +/obj/structure/coatrack{ + pixel_x = -6 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/corsat/white/west, +/area/adminlevel/ert_station/fax_response_station) +"zV" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"Ai" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/white{ + pixel_x = 6; + pixel_y = -6; + layer = 3 + }, +/obj/item/folder/red{ + pixel_x = 6; + pixel_y = -1; + layer = 2.99 + }, +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = 6; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = -5 + }, +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = -5 + }, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"Aq" = ( +/obj/structure/platform/metal/strata{ + climbable = 0 + }, +/turf/open/auto_turf/snow/layer1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"At" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom"; + dir = 1 + }, +/turf/open/floor/shiva/radiator_tile2, +/area/adminlevel/ert_station/fax_response_station) +"Aw" = ( +/obj/effect/decal/cleanable/generic, +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"Ax" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/almayer{ + name = "\improper UPP Communications Office"; + locked = 1; + unacidable = 1; + unslashable = 1; + damage_cap = 999999; + health = 999999; + explo_proof = 1; + emp_proof = 2; + no_panel = 1; + masterkey_resist = 1 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/floor/shiva/radiator_tile2, +/area/adminlevel/ert_station/fax_response_station) +"Ay" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0; + name = "\improper Food Vendor"; + desc = "Contains replica military prepared meals." + }, +/turf/open/floor/darkgreen2/northeast, +/area/adminlevel/ert_station/fax_response_station) +"AC" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 2; + admin_console = 1; + network = list("Overwatch"); + pixel_x = 12; + pixel_y = 3; + name = "Overwatch Cameras"; + colony_camera_mapload = 0 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 2; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + layer = 2.99; + name = "USS Almayer Cameras"; + pixel_y = 3; + colony_camera_mapload = 0; + pixel_x = -5 + }, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"AF" = ( +/obj/structure/bed/chair/comfy/lime, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"AK" = ( +/obj/structure/pipes/vents/pump/no_boom, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"AQ" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"AT" = ( +/obj/structure/flora/pottedplant/random{ + pixel_y = 14 + }, +/obj/item/device/radio/intercom/fax/wy{ + pixel_y = 24 + }, +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"AV" = ( +/obj/structure/machinery/light/small{ + dir = 8; + pixel_y = 1 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"Ba" = ( +/obj/structure/window/reinforced/toughened{ + dir = 8 + }, +/obj/structure/window/reinforced/toughened{ + dir = 1; + layer = 2.9 + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/obj/structure/surface/rack{ + layer = 3 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Bb" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 1; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + layer = 2.99; + name = "USS Almayer Cameras"; + pixel_y = -6; + colony_camera_mapload = 0; + pixel_x = -9 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 1; + admin_console = 1; + network = list("Overwatch"); + pixel_y = -6; + name = "Overwatch Cameras"; + colony_camera_mapload = 0; + pixel_x = 8 + }, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = -6; + name = "USCM monitoring computer"; + dir = 1; + pixel_x = 25 + }, +/obj/structure/machinery/light, +/turf/open/floor/almayer/blue, +/area/adminlevel/ert_station/fax_response_station) +"Bi" = ( +/obj/structure/surface/table/almayer, +/obj/structure/sign/poster/io{ + pixel_y = 29 + }, +/obj/item/ashtray/plastic, +/turf/open/floor/corsat/white/northeast, +/area/adminlevel/ert_station/fax_response_station) +"Bk" = ( +/obj/structure/flora/bush/ausbushes/lavendergrass{ + pixel_y = -10 + }, +/obj/structure/platform_decoration/stone/strata{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Bt" = ( +/obj/structure/bed/chair/office/dark, +/turf/open/floor/almayer/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"BF" = ( +/obj/structure/stairs{ + dir = 8 + }, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/item/device/flashlight/lamp/on{ + anchored = 1; + light_power = 3; + alpha = 0; + pixel_y = 10; + name = "eerie glow"; + desc = null + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"BP" = ( +/obj/structure/flora/pottedplant/random, +/turf/open/floor/almayer/blue/northwest, +/area/adminlevel/ert_station/fax_response_station) +"BW" = ( +/obj/effect/landmark/late_join/responder/uscm/provost, +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"Cc" = ( +/turf/closed/wall/strata_outpost/reinforced/hull, +/area/adminlevel/ert_station/fax_response_station) +"Cf" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/structure/toilet{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = 8; + pixel_x = -22; + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"Cq" = ( +/obj/structure/platform/metal/strata{ + climbable = 0; + dir = 8 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Cr" = ( +/obj/structure/machinery/vending/cola{ + pixel_y = 16; + pixel_x = -7; + prices = list(); + density = 0; + wrenchable = 0; + wires = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue/northeast, +/area/adminlevel/ert_station/fax_response_station) +"Cv" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/almayer/red/east, +/area/adminlevel/ert_station/fax_response_station) +"Cx" = ( +/obj/structure/machinery/light, +/turf/open/floor/whitered, +/area/adminlevel/ert_station/fax_response_station) +"CN" = ( +/obj/structure/machinery/vending/snack{ + pixel_x = -6; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/turf/open/floor/darkgreen2/west, +/area/adminlevel/ert_station/fax_response_station) +"CO" = ( +/obj/structure/machinery/door_control/brbutton{ + pixel_y = 19; + name = "Door Controls"; + id = "Faxes_HC" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"CP" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = 18 + }, +/obj/item/tool/warning_cone, +/turf/open/asphalt, +/area/adminlevel/ert_station/fax_response_station/exterior) +"CS" = ( +/obj/structure/machinery/shower{ + dir = 8; + pixel_y = -6; + layer = 3.2 + }, +/obj/item/tool/soap/deluxe{ + layer = 3.2 + }, +/obj/structure/machinery/door/window/tinted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 1; + layer = 3.1 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"CW" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + layer = 3.33; + pixel_y = 1 + }, +/obj/structure/ladder{ + height = 2; + id = "Faxes_PRO_Ladder"; + pixel_y = 21; + name = "Provost Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"CZ" = ( +/turf/open/asphalt/cement_sunbleached/cement_sunbleached6, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Di" = ( +/obj/structure/pipes/vents/pump/no_boom{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Dn" = ( +/obj/structure/prop/invuln/lattice_prop{ + icon_state = "lattice12"; + pixel_y = 0 + }, +/obj/structure/prop/holidays/string_lights{ + desc = "A set of last years christmas lights, a coworker refused to take them down and as punishement they got strung up outside, how merry."; + name = "festive bulb strings"; + pixel_y = -16 + }, +/turf/open/space/basic, +/area/space) +"Do" = ( +/obj/structure/bed/alien, +/obj/item/bedsheet/brown, +/turf/open/floor/whitered/northeast, +/area/adminlevel/ert_station/fax_response_station) +"Dq" = ( +/turf/open/floor/almayer/red/east, +/area/adminlevel/ert_station/fax_response_station) +"Dw" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom"; + dir = 1 + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"DA" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 1; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + layer = 2.99; + name = "USS Almayer Cameras"; + pixel_y = -6; + colony_camera_mapload = 0; + pixel_x = 9 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 1; + admin_console = 1; + network = list("Overwatch"); + pixel_y = -6; + name = "Overwatch Cameras"; + colony_camera_mapload = 0; + pixel_x = -8 + }, +/obj/structure/machinery/computer/crew/alt{ + pixel_y = -6; + name = "USCM monitoring computer"; + dir = 1; + pixel_x = -25 + }, +/obj/structure/machinery/light, +/turf/open/floor/almayer/red, +/area/adminlevel/ert_station/fax_response_station) +"DL" = ( +/obj/structure/machinery/vending/coffee{ + pixel_x = 4; + wrenchable = 0; + prices = list(); + pixel_y = 16; + density = 0; + wires = 12 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"DP" = ( +/obj/structure/flora/jungle/vines/light_3, +/turf/open/gm/grass/grass2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"DQ" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/white{ + pixel_x = 6; + pixel_y = -6; + layer = 3 + }, +/obj/item/folder/red{ + pixel_x = 6; + pixel_y = -1; + layer = 2.99 + }, +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = 6; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = -5 + }, +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = -5 + }, +/turf/open/floor/darkgreen2/southeast, +/area/adminlevel/ert_station/fax_response_station) +"DZ" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -10; + pixel_y = 2 + }, +/obj/structure/mirror{ + pixel_y = -1; + pixel_x = -26 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"Ec" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"Ef" = ( +/obj/structure/window/reinforced/toughened{ + dir = 4 + }, +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin/uscm{ + pixel_x = -12; + pixel_y = 5 + }, +/obj/item/tool/pen/clicky{ + pixel_x = -13 + }, +/turf/open/floor/almayer/uscm/directional/northwest, +/area/adminlevel/ert_station/fax_response_station) +"Eg" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = -11; + pixel_y = 0 + }, +/turf/open/floor/corsat/white/west, +/area/adminlevel/ert_station/fax_response_station) +"Er" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1; + pixel_y = 2; + pixel_x = 3; + layer = 2.97 + }, +/turf/open/floor/almayer/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"Es" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/almayer/glass{ + name = "\improper CMB Office" + }, +/turf/open/floor/shiva/floor3, +/area/adminlevel/ert_station/fax_response_station) +"EH" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/uscm/directional/northeast, +/area/adminlevel/ert_station/fax_response_station) +"ER" = ( +/obj/effect/landmark/late_join/responder/twe, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"ET" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_x = 4; + wires = 12 + }, +/turf/open/floor/almayer/blue/southeast, +/area/adminlevel/ert_station/fax_response_station) +"EV" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + pixel_x = -3 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Fc" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_x = -6; + wires = 12 + }, +/turf/open/floor/almayer/red/southwest, +/area/adminlevel/ert_station/fax_response_station) +"Fn" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/white{ + pixel_x = 6; + pixel_y = -6; + layer = 3 + }, +/obj/item/folder/red{ + pixel_x = 6; + pixel_y = -1; + layer = 2.99 + }, +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = 6; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = -5 + }, +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = -5 + }, +/obj/structure/machinery/light, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"Fr" = ( +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"FB" = ( +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"FD" = ( +/obj/structure/machinery/vending/coffee{ + pixel_x = -5; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/darkgreen2/west, +/area/adminlevel/ert_station/fax_response_station) +"FF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/cryopod/no_store, +/turf/open/floor/shiva/blue, +/area/adminlevel/ert_station/fax_response_station) +"FQ" = ( +/obj/structure/bed/chair/comfy/delta{ + desc = "A chair with leather padding and adjustable headrest. You could probably sit in one of these for ages."; + name = "comfy chair" + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Gi" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_18"; + pixel_y = 0; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/darkgreen2/southwest, +/area/adminlevel/ert_station/fax_response_station) +"Gw" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/almayer{ + name = "\improper WY Communications Office"; + locked = 1; + unacidable = 1; + unslashable = 1; + damage_cap = 999999; + health = 999999; + explo_proof = 1; + emp_proof = 2; + no_panel = 1; + masterkey_resist = 1 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/floor/corsat/marked, +/area/adminlevel/ert_station/fax_response_station) +"Gx" = ( +/turf/open/floor/darkgreen2/north, +/area/adminlevel/ert_station/fax_response_station) +"GC" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "w_almayer_pdoor1"; + id = "Faxes_WY"; + name = "\improper Hangar Access"; + dir = 4; + explo_proof = 1; + emp_proof = 1; + base_icon_state = "w_almayer_pdoor" + }, +/turf/open/floor/corsat/marked, +/area/adminlevel/ert_station/fax_response_station) +"GD" = ( +/obj/structure/machinery/door_control/brbutton{ + pixel_y = 19; + name = "Door Controls"; + id = "Faxes_TWE" + }, +/obj/effect/decal/strata_decals/catwalk/prison, +/turf/open/gm/river/no_overlay/sewage, +/area/adminlevel/ert_station/fax_response_station) +"GL" = ( +/obj/structure/bedsheetbin{ + pixel_y = -1; + pixel_x = -6 + }, +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"GP" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/sign/poster/clf{ + pixel_y = 10; + pixel_x = -24 + }, +/obj/structure/machinery/computer/spy_camera/clf{ + dir = 4; + pixel_x = -4; + pixel_y = -10; + layer = 2.97 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"GQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/coatrack, +/turf/open/floor/almayer/blue/southwest, +/area/adminlevel/ert_station/fax_response_station) +"GX" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 4; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + pixel_x = -4; + layer = 2.99; + name = "USS Almayer Cameras"; + pixel_y = -6; + colony_camera_mapload = 0 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 4; + admin_console = 1; + network = list("Overwatch"); + pixel_x = -4; + pixel_y = 8; + name = "Overwatch Cameras"; + colony_camera_mapload = 0 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"GY" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/gm/grass/grass1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Hh" = ( +/obj/structure/machinery/vending/cigarette/free{ + wrenchable = 0; + pixel_x = 4; + wires = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"Hk" = ( +/obj/structure/stairs{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer0, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Hq" = ( +/obj/structure/prop/vehicles{ + dir = 1; + pixel_y = -5; + density = 1; + desc = "An old van." + }, +/obj/structure/blocker/invisible_wall, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Hr" = ( +/obj/structure/window/reinforced/toughened{ + dir = 8 + }, +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp/on, +/obj/item/paper_bin/uscm{ + pixel_x = 15; + pixel_y = 5 + }, +/obj/item/tool/pen/blue/clicky{ + pixel_x = 13 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"Hu" = ( +/obj/structure/machinery/power/apc/almayer/hardened/north{ + needs_power = 0 + }, +/turf/open/floor/almayer/orange/northwest, +/area/adminlevel/ert_station/fax_response_station) +"HA" = ( +/obj/structure/machinery/vending/coffee{ + wrenchable = 0; + prices = list(); + wires = 12 + }, +/turf/open/floor/corsat/cargo, +/area/adminlevel/ert_station/fax_response_station) +"HC" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + admin_console = 1; + network = list("Overwatch"); + pixel_y = 4; + name = "Overwatch Cameras"; + colony_camera_mapload = 0; + layer = 3; + pixel_x = 3 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + admin_console = 1; + network = list("ARES","Almayer","Research","Containment","Containment Hidden"); + layer = 3.01; + name = "USS Almayer Cameras"; + pixel_y = -10; + colony_camera_mapload = 0; + pixel_x = 3 + }, +/turf/open/floor/darkgreen2/east, +/area/adminlevel/ert_station/fax_response_station) +"HE" = ( +/turf/open/floor/corsat/white/northwest, +/area/adminlevel/ert_station/fax_response_station) +"HN" = ( +/obj/structure/flora/tree/pine, +/obj/structure/platform/metal/strata{ + climbable = 0; + dir = 8 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"HQ" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/reinforced{ + health = 999999; + emp_proof = 1; + explo_proof = 1; + locked = 1; + damage_cap = 999999; + unacidable = 1; + unslashable = 1; + no_panel = 1; + name = "\improper Provost Communications Office" + }, +/obj/structure/blocker/invisible_wall, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"HU" = ( +/obj/structure/prop/brazier/campfire, +/turf/open/gm/grass/grass2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Ib" = ( +/turf/open/floor/shiva/blue/northeast, +/area/adminlevel/ert_station/fax_response_station) +"If" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass{ + dir = 1; + req_access = null; + name = "\improper Provost Office" + }, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"Il" = ( +/obj/structure/machinery/light/small, +/obj/structure/machinery/door_control/brbutton{ + pixel_y = 19; + name = "Door Controls"; + id = "Faxes_WY" + }, +/turf/open/floor/corsat/plate, +/area/adminlevel/ert_station/fax_response_station) +"Iq" = ( +/obj/item/tool/warning_cone, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Ir" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/transmitter/rotary/fax_responder{ + networks_transmit = list("USCM","Colonist","Press","Fax Responders"); + phone_id = "Free Press Relay"; + pixel_y = 15; + pixel_x = -5 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/machinery/computer/spy_camera/uscm{ + pixel_x = 3; + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Iu" = ( +/turf/open/floor/prison/kitchen, +/area/adminlevel/ert_station/fax_response_station) +"Iv" = ( +/obj/structure/pipes/vents/scrubber/no_boom{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"Ix" = ( +/obj/structure/prop/vehicles{ + pixel_y = 7; + dir = 2; + desc = "An old van." + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Iy" = ( +/turf/open/auto_turf/snow/layer0, +/area/adminlevel/ert_station/fax_response_station/exterior) +"ID" = ( +/obj/structure/window/reinforced/toughened{ + dir = 4 + }, +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/obj/structure/machinery/light, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"IG" = ( +/turf/closed/wall/r_wall/biodome/biodome_unmeltable, +/area/adminlevel/ert_station/fax_response_station) +"IK" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + dir = 1; + req_access = list(104) + }, +/turf/open/floor/shiva/floor3, +/area/adminlevel/ert_station/fax_response_station) +"IM" = ( +/obj/structure/sign/prop1{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/red/north, +/area/adminlevel/ert_station/fax_response_station) +"IQ" = ( +/turf/open/floor/almayer/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"IY" = ( +/obj/structure/window/reinforced/toughened{ + dir = 4 + }, +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin/uscm{ + pixel_x = -12; + pixel_y = 5 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"Jg" = ( +/obj/structure/machinery/power/apc/almayer/hardened/south{ + needs_power = 0 + }, +/turf/open/floor/almayer/orange/southwest, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Jm" = ( +/turf/open/floor/darkgreen2/east, +/area/adminlevel/ert_station/fax_response_station) +"Jr" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1; + pixel_y = 2; + pixel_x = 3; + layer = 2.97 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer/red/east, +/area/adminlevel/ert_station/fax_response_station) +"Ju" = ( +/obj/structure/machinery/door/airlock/almayer/secure{ + name = "\improper Outpost Entrance"; + req_access = null + }, +/turf/open/floor/shiva/radiator_tile2, +/area/adminlevel/ert_station/fax_response_station) +"JB" = ( +/turf/open/floor/almayer/redcorner/west, +/area/adminlevel/ert_station/fax_response_station) +"JF" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/white{ + pixel_x = 6; + pixel_y = -6; + layer = 3 + }, +/obj/item/folder/red{ + pixel_x = 6; + pixel_y = -1; + layer = 2.99 + }, +/obj/item/folder/blue{ + pixel_x = 6; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = 6; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = -5 + }, +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = -5 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"JO" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom"; + dir = 1 + }, +/turf/open/floor/corsat/marked, +/area/adminlevel/ert_station/fax_response_station) +"JT" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor/solid/reinforced{ + name = "\improper HC Communications Office"; + req_access = null; + locked = 1; + health = 999999; + explo_proof = 1; + emp_proof = 1; + unacidable = 1; + unslashable = 1; + damage_cap = 999999; + no_panel = 1 + }, +/obj/structure/blocker/invisible_wall, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"JV" = ( +/turf/open/floor/corsat/white/southeast, +/area/adminlevel/ert_station/fax_response_station) +"JW" = ( +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp{ + pixel_x = 2 + }, +/obj/item/paper_bin{ + pixel_x = -13; + pixel_y = 5 + }, +/obj/item/tool/pen/clicky{ + pixel_x = -14 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"JX" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/uscm/brig/provost{ + pixel_y = 0 + }, +/obj/structure/machinery/light, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/red, +/area/adminlevel/ert_station/fax_response_station) +"JY" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/computer/spy_camera/cmb, +/turf/open/floor/shiva/blue/northeast, +/area/adminlevel/ert_station/fax_response_station) +"Kc" = ( +/obj/structure/window/reinforced/toughened{ + dir = 8 + }, +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/item/device/flashlight/lamp, +/obj/item/paper_bin/uscm{ + pixel_x = 15; + pixel_y = 5 + }, +/turf/open/floor/almayer/uscm/directional/southeast, +/area/adminlevel/ert_station/fax_response_station) +"Kd" = ( +/obj/structure/machinery/space_heater/radiator/red{ + dir = 8; + pixel_y = 0; + pixel_x = 1 + }, +/turf/open/floor/darkgreen2/east, +/area/adminlevel/ert_station/fax_response_station) +"Kn" = ( +/obj/structure/machinery/vending/walkman{ + pixel_x = 5; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_container/spray/cleaner{ + pixel_y = 20; + pixel_x = 8 + }, +/turf/open/floor/almayer/red/east, +/area/adminlevel/ert_station/fax_response_station) +"Kr" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + layer = 3.33; + pixel_y = 1 + }, +/obj/structure/ladder{ + height = 2; + id = "Faxes_CMB_Ladder"; + pixel_y = 21; + name = "CMB Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"Kx" = ( +/obj/structure/barricade/handrail/strata, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"KD" = ( +/turf/open/gm/grass/grassbeach/east, +/area/adminlevel/ert_station/fax_response_station/exterior) +"KI" = ( +/turf/open/floor/darkgreen2, +/area/adminlevel/ert_station/fax_response_station) +"KM" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/uscm/directional/southeast, +/area/adminlevel/ert_station/fax_response_station) +"KQ" = ( +/obj/structure/machinery/door_control/brbutton/alt{ + pixel_x = -22; + id = "Faxes_PRESS"; + name = "Door Controls" + }, +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = 9 + }, +/turf/open/floor/almayer/cargo_arrow, +/area/adminlevel/ert_station/fax_response_station) +"KR" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/computer/spy_camera/wy, +/turf/open/floor/corsat/white/northwest, +/area/adminlevel/ert_station/fax_response_station) +"KT" = ( +/obj/structure/machinery/door_control/brbutton/alt{ + pixel_x = -22; + id = "Faxes_UPP"; + name = "Door Controls" + }, +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = 7 + }, +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"KZ" = ( +/turf/open/floor/almayer/uscm/directional/logo_c/west, +/area/adminlevel/ert_station/fax_response_station) +"Ld" = ( +/obj/structure/desertdam/decals/road_edge{ + icon_state = "road_edge_decal3"; + pixel_y = 18 + }, +/turf/open/asphalt, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Lj" = ( +/obj/structure/machinery/cryopod/no_store, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"Lq" = ( +/obj/structure/machinery/shower{ + pixel_y = 16 + }, +/obj/structure/machinery/door/window/tinted{ + dir = 2 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"LA" = ( +/obj/structure/flora/tree/dead/tree_6, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"LO" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/twe/highcom{ + pixel_y = 0 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"LX" = ( +/obj/structure/flora/pottedplant/random{ + pixel_y = 6; + pixel_x = -5; + layer = 4 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Mx" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/device/radio/intercom/fax/uscm_pvst{ + pixel_y = 24 + }, +/obj/structure/machinery/computer/spy_camera/uscm, +/turf/open/floor/almayer/red/north, +/area/adminlevel/ert_station/fax_response_station) +"MA" = ( +/obj/structure/machinery/vending/coffee{ + pixel_x = -5; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue/northwest, +/area/adminlevel/ert_station/fax_response_station) +"MM" = ( +/obj/structure/machinery/vending/walkman{ + pixel_x = -4; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_container/spray/cleaner{ + pixel_y = 20; + pixel_x = -9 + }, +/turf/open/floor/almayer/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"MU" = ( +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"MX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/flora/pottedplant/random{ + pixel_x = -12 + }, +/turf/open/floor/almayer/red, +/area/adminlevel/ert_station/fax_response_station) +"MZ" = ( +/obj/structure/flora/pottedplant/random, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/shiva/blue/northwest, +/area/adminlevel/ert_station/fax_response_station) +"Nd" = ( +/obj/structure/machinery/vending/walkman{ + wrenchable = 0; + prices = list(); + wires = 12 + }, +/turf/open/floor/corsat/cargo, +/area/adminlevel/ert_station/fax_response_station) +"Ne" = ( +/obj/structure/ladder{ + id = "Faxes_HC_Ladder"; + height = 1 + }, +/obj/structure/machinery/light/small{ + dir = 1; + pixel_y = 13 + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"Ng" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/uscm/directional/northwest, +/area/adminlevel/ert_station/fax_response_station) +"Ni" = ( +/obj/structure/surface/table/woodentable, +/obj/structure/prop/cash_register{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/spacecash/c10{ + pixel_x = -5; + pixel_y = -3; + name = "10 yen note"; + desc = "A single TWE Government minted ten-yen note. Could probably pay for a meal at a cheap restaurant, before tax and tip." + }, +/turf/open/floor/prison/kitchen, +/area/adminlevel/ert_station/fax_response_station) +"No" = ( +/obj/structure/ladder{ + id = "Faxes_CMB_Ladder"; + height = 1; + pixel_y = 9 + }, +/turf/open/floor/shiva/floor3, +/area/adminlevel/ert_station/fax_response_station) +"Np" = ( +/obj/structure/machinery/vending/coffee{ + pixel_x = -5; + wrenchable = 0; + prices = list(); + pixel_y = 16; + density = 0; + wires = 12 + }, +/turf/open/floor/prison/kitchen, +/area/adminlevel/ert_station/fax_response_station) +"Nt" = ( +/obj/structure/machinery/computer/arcade{ + pixel_y = 17; + density = 0 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Nx" = ( +/obj/structure/machinery/door/airlock/almayer/secure{ + name = "\improper Editor's Office"; + req_access = null; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"NA" = ( +/turf/open/floor/almayer/uscm/directional, +/area/adminlevel/ert_station/fax_response_station) +"NK" = ( +/obj/structure/ladder{ + id = "Faxes_TWE_Ladder"; + height = 1 + }, +/obj/effect/decal/strata_decals/catwalk/prison, +/turf/open/gm/river/no_overlay/sewage, +/area/adminlevel/ert_station/fax_response_station) +"NT" = ( +/obj/structure/machinery/light, +/obj/structure/surface/table/woodentable/fancy, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/computer/spy_camera/twe{ + dir = 1 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"NU" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"NV" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_y = 29; + pixel_x = 10 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"NX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/obj/structure/ladder{ + height = 2; + id = "Faxes_TWE_Ladder"; + pixel_y = -1; + name = "TWE Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"Oa" = ( +/turf/open/floor/shiva/radiator_tile2, +/area/adminlevel/ert_station/fax_response_station) +"Oc" = ( +/obj/structure/flora/bush/snow{ + icon_state = "snowgrassall_1"; + pixel_y = 4 + }, +/obj/structure/platform/metal/strata{ + climbable = 0 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Of" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/almayer/glass{ + dir = 1; + name = "\improper Office" + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/shiva/radiator_tile2, +/area/adminlevel/ert_station/fax_response_station) +"Oj" = ( +/turf/open/floor/almayer/blue/southeast, +/area/adminlevel/ert_station/fax_response_station) +"Os" = ( +/turf/open/floor/darkgreen2/northeast, +/area/adminlevel/ert_station/fax_response_station) +"OA" = ( +/turf/closed/wall/kutjevo{ + name = "cement wall"; + desc = "A huge chunk of reinforced cement used to separate rooms."; + hull = 1; + unacidable = 1 + }, +/area/adminlevel/ert_station/fax_response_station) +"OX" = ( +/obj/item/device/flashlight/lamp/tripod/grey{ + anchored = 1 + }, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Pf" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"Ph" = ( +/turf/open/floor/almayer/dark_sterile, +/area/adminlevel/ert_station/fax_response_station) +"Pi" = ( +/obj/effect/landmark/late_join/responder/wey_yu, +/turf/open/floor/corsat/white/west, +/area/adminlevel/ert_station/fax_response_station) +"Pp" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"Pr" = ( +/obj/structure/bed, +/obj/item/bedsheet/green, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"Pv" = ( +/obj/structure/platform/stone/strata{ + dir = 1; + climbable = 0 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Pw" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/structure/machinery/faxmachine/cmb{ + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/shiva/blue/west, +/area/adminlevel/ert_station/fax_response_station) +"PM" = ( +/turf/open/gm/grass/grassbeach/south, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Qf" = ( +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Qg" = ( +/obj/structure/surface/table/reinforced/almayer_B{ + climbable = 0; + health = 999999; + explo_proof = 1; + unacidable = 1; + unslashable = 1 + }, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"Qi" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 5 + }, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Qt" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Qw" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/toilet{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = 8; + pixel_x = 22; + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"Qz" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/blue, +/area/adminlevel/ert_station/fax_response_station) +"QB" = ( +/turf/closed/wall/strata_ice/jungle{ + unacidable = 1 + }, +/area/adminlevel/ert_station/fax_response_station/exterior) +"QD" = ( +/obj/structure/window/framed/corsat/indestructible/research, +/turf/open/floor/corsat, +/area/adminlevel/ert_station/fax_response_station) +"QN" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 5 + }, +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"QS" = ( +/obj/structure/window/reinforced/toughened{ + dir = 1; + layer = 2.9 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"QU" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/red, +/area/adminlevel/ert_station/fax_response_station) +"QV" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = 11; + pixel_x = 21; + anchored = 1 + }, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"QY" = ( +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"Ra" = ( +/obj/structure/flora/jungle/alienplant1, +/obj/item/device/flashlight/lamp/on{ + anchored = 1; + light_power = 3; + light_range = 7; + alpha = 0; + pixel_y = -8; + name = "eerie glow"; + desc = null + }, +/turf/open/gm/river/no_overlay, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Rb" = ( +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/structure/machinery/shower{ + dir = 1 + }, +/obj/structure/machinery/door/window/tinted{ + dir = 1 + }, +/obj/item/tool/soap/deluxe{ + pixel_y = -8; + pixel_x = -10 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"Rf" = ( +/turf/closed/wall/shiva/ice, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Rk" = ( +/turf/open/floor/almayer/w_y0, +/area/adminlevel/ert_station/fax_response_station) +"Rl" = ( +/obj/structure/ladder{ + id = "Faxes_UPP_Ladder"; + height = 1 + }, +/turf/open/floor/shiva/multi_tiles/southeast, +/area/adminlevel/ert_station/fax_response_station) +"Rp" = ( +/turf/closed/wall/wood{ + hull = 1; + unacidable = 1 + }, +/area/adminlevel/ert_station/fax_response_station) +"Rq" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/darkgreen2/northeast, +/area/adminlevel/ert_station/fax_response_station) +"Rv" = ( +/obj/structure/platform/metal/strata{ + climbable = 0 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Ry" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"RA" = ( +/obj/structure/machinery/light, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station/exterior) +"RD" = ( +/turf/open/floor/almayer/bluecorner, +/area/adminlevel/ert_station/fax_response_station) +"RE" = ( +/obj/structure/machinery/cryopod/no_store, +/turf/open/floor/corsat/white/southwest, +/area/adminlevel/ert_station/fax_response_station) +"RJ" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/device/radio/intercom/fax/uscm_hc{ + pixel_y = 24 + }, +/obj/structure/machinery/computer/spy_camera/uscm, +/turf/open/floor/almayer/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"RK" = ( +/obj/structure/pipes/vents/pump/no_boom{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"RQ" = ( +/obj/structure/machinery/door_control/brbutton{ + pixel_y = 19; + name = "Door Controls"; + id = "Faxes_PRO" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"RR" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/obj/structure/machinery/light, +/turf/open/floor/corsat/white, +/area/adminlevel/ert_station/fax_response_station) +"RT" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + dir = 1; + pixel_x = 1 + }, +/obj/structure/ladder{ + height = 2; + id = "Faxes_PRESS_Ladder"; + pixel_y = -1; + name = "Press Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"Sc" = ( +/obj/structure/pipes/vents/pump/no_boom, +/turf/open/floor/carpet, +/area/adminlevel/ert_station/fax_response_station) +"Si" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/obj/structure/machinery/light/spot, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"Sj" = ( +/obj/structure/window/framed/kutjevo/reinforced{ + not_damageable = 1; + not_deconstructable = 1; + health = 999999; + unacidable = 1; + unslashable = 1 + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"Sy" = ( +/obj/structure/barricade/handrail/kutjevo{ + dir = 1; + pixel_y = 10 + }, +/obj/structure/barricade/handrail/kutjevo{ + dir = 8; + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Sz" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1; + pixel_y = 2; + pixel_x = 3; + layer = 2.97 + }, +/turf/open/floor/almayer/red/east, +/area/adminlevel/ert_station/fax_response_station) +"SC" = ( +/obj/structure/machinery/cryopod/no_store, +/turf/open/floor/darkgreen2/southwest, +/area/adminlevel/ert_station/fax_response_station) +"SG" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/corsat/white/north, +/area/adminlevel/ert_station/fax_response_station) +"SO" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/machinery/vending/snack{ + pixel_x = 5; + wrenchable = 0; + prices = list(); + wires = 12 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer/red/east, +/area/adminlevel/ert_station/fax_response_station) +"SS" = ( +/obj/structure/surface/table/woodentable/fancy, +/turf/open/floor/corsat/white/east, +/area/adminlevel/ert_station/fax_response_station) +"ST" = ( +/turf/open/floor/darkgreencorners2/east, +/area/adminlevel/ert_station/fax_response_station) +"SZ" = ( +/obj/structure/flora/grass/tallgrass/ice/corner{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Tb" = ( +/obj/structure/flora/tree/pine, +/obj/structure/platform/metal/strata{ + climbable = 0 + }, +/turf/open/auto_turf/snow/layer3, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Tc" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = 11; + pixel_x = 21; + anchored = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk/strata, +/area/adminlevel/ert_station/fax_response_station) +"Tg" = ( +/obj/structure/window/reinforced/toughened{ + dir = 8 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 4 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Tk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/clf{ + pixel_y = -23 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"Tp" = ( +/obj/structure/surface/table/woodentable/fancy, +/turf/open/floor/almayer/red/southwest, +/area/adminlevel/ert_station/fax_response_station) +"Tq" = ( +/obj/structure/pipes/vents/scrubber/no_boom{ + dir = 8 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"Tr" = ( +/obj/structure/machinery/vending/cola{ + pixel_y = 16; + pixel_x = 3; + prices = list(); + density = 0; + wrenchable = 0; + wires = 12 + }, +/turf/open/floor/prison/kitchen, +/area/adminlevel/ert_station/fax_response_station) +"TB" = ( +/obj/effect/overlay/palmtree_r, +/turf/open/gm/grass/grass2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"TC" = ( +/obj/structure/machinery/door/airlock/almayer/secure{ + name = "\improper Apartment"; + req_access = null; + dir = 1; + locked = 1 + }, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station) +"TI" = ( +/mob/living/simple_animal/hostile/carp{ + destroy_surroundings = 0; + faction = "Fax Responder"; + name = "Gary" + }, +/turf/open/space/basic, +/area/space) +"TJ" = ( +/obj/item/device/flashlight/lamp/tripod/grey{ + anchored = 1 + }, +/turf/open/asphalt/cement, +/area/adminlevel/ert_station/fax_response_station/exterior) +"TM" = ( +/obj/structure/pipes/vents/pump/no_boom, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"TW" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"TY" = ( +/obj/item/lightstick/red/planted{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/structure/platform/metal/strata{ + climbable = 0; + dir = 8 + }, +/obj/structure/platform/metal/strata{ + climbable = 0; + layer = 2.97 + }, +/obj/structure/barricade/handrail/strata{ + autoclimb = 0; + climbable = 0; + layer = 3; + pixel_y = -1 + }, +/turf/open/auto_turf/snow/layer2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"TZ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + layer = 3.33; + pixel_y = 1 + }, +/obj/structure/ladder{ + height = 2; + id = "Faxes_HC_Ladder"; + pixel_y = 21; + name = "HC Responder Outpost" + }, +/turf/open/floor/almayer/plating, +/area/adminlevel/ert_station/fax_response_station) +"Ud" = ( +/obj/structure/machinery/vending/snack{ + wrenchable = 0; + prices = list(); + wires = 12 + }, +/turf/open/floor/corsat/cargo, +/area/adminlevel/ert_station/fax_response_station) +"Ul" = ( +/obj/structure/surface/table/woodentable/fancy, +/obj/item/folder/white{ + pixel_x = -7; + pixel_y = -6; + layer = 3 + }, +/obj/item/folder/red{ + pixel_x = -7; + pixel_y = -1; + layer = 2.99 + }, +/obj/item/folder/blue{ + pixel_x = -7; + pixel_y = 4; + layer = 2.98 + }, +/obj/item/folder/black{ + pixel_x = -7; + pixel_y = 9; + layer = 2.97 + }, +/obj/item/tool/stamp/hos{ + name = "red stamp"; + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/tool/stamp/hop{ + name = "blue stamp"; + pixel_x = 6 + }, +/obj/item/tool/stamp/ce{ + name = "yellow stamp"; + pixel_y = -8; + pixel_x = 6 + }, +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"Ut" = ( +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0; + name = "\improper Food Vendor"; + desc = "Contains replica military prepared meals." + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"UD" = ( +/obj/structure/pipes/vents/pump/no_boom{ + dir = 1 + }, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"UL" = ( +/obj/structure/machinery/light, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"UR" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/uscm/directional/southwest, +/area/adminlevel/ert_station/fax_response_station) +"Vh" = ( +/obj/structure/bed/chair/office/dark, +/turf/open/floor/almayer/red/east, +/area/adminlevel/ert_station/fax_response_station) +"Vn" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer/blue/east, +/area/adminlevel/ert_station/fax_response_station) +"Vq" = ( +/obj/structure/machinery/vending/snack{ + pixel_x = -16; + wrenchable = 0; + prices = list(); + pixel_y = 16; + density = 0; + wires = 12 + }, +/obj/structure/machinery/cm_vending/sorted/marine_food{ + pixel_y = 16; + wrenchable = 0; + density = 0; + name = "\improper Food Vendor"; + desc = "Contains replica military prepared meals."; + pixel_x = 10 + }, +/turf/open/floor/shiva/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"VE" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/darkgreen2/west, +/area/adminlevel/ert_station/fax_response_station) +"VK" = ( +/obj/structure/machinery/space_heater{ + pixel_x = -5; + pixel_y = 15; + layer = 2.99; + anchored = 1 + }, +/turf/open/floor/almayer/red/north, +/area/adminlevel/ert_station/fax_response_station) +"VU" = ( +/obj/effect/landmark/late_join/responder/press, +/turf/open/floor/wood/ship, +/area/adminlevel/ert_station/fax_response_station) +"VZ" = ( +/obj/structure/bed/chair/comfy/beige, +/turf/open/floor/prison/kitchen, +/area/adminlevel/ert_station/fax_response_station) +"Wm" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_HC"; + name = "\improper Hangar Access"; + dir = 4; + emp_proof = 1; + explo_proof = 1 + }, +/turf/open/floor/almayer/test_floor4, +/area/adminlevel/ert_station/fax_response_station) +"Wt" = ( +/obj/structure/platform/metal/kutjevo_smooth/north, +/mob/living/simple_animal/mouse/brown{ + name = "rat" + }, +/obj/effect/decal/strata_decals/catwalk/prison, +/turf/open/gm/river/no_overlay/sewage, /area/adminlevel/ert_station/fax_response_station) -"Ml" = ( -/turf/closed/wall/shiva/prefabricated/reinforced/hull, +"WF" = ( +/obj/structure/barricade/handrail/kutjevo{ + dir = 1; + pixel_y = 10 + }, +/obj/structure/barricade/handrail/kutjevo{ + dir = 4; + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station/exterior) +"WG" = ( +/obj/item/tool/warning_cone, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached14, +/area/adminlevel/ert_station/fax_response_station/exterior) +"WT" = ( +/turf/open/floor/almayer/blue, /area/adminlevel/ert_station/fax_response_station) -"Nb" = ( +"WY" = ( /obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ - pixel_x = 6 - }, -/obj/item/folder/black{ - pixel_x = 12 +/turf/open/floor/almayer/blue/southeast, +/area/adminlevel/ert_station/fax_response_station) +"Xb" = ( +/obj/structure/window/framed/wood/reinforced{ + unacidable = 1; + unslashable = 1; + health = 999999; + not_damageable = 1; + not_deconstructable = 1 }, -/obj/structure/transmitter/rotary/fax_responder{ - networks_transmit = list("USCM","Colonist","Colonial Marshal","Fax Responders"); - phone_id = "CMB Deputy Operations Officer"; - phone_color = "green" +/obj/structure/tent_curtain{ + name = "curtain"; + desc = "A gray curtain often mounted on windows for a little more privacy."; + layer = 3 }, -/turf/open/floor/wood/ship, +/turf/open/floor/shiva/floor3, /area/adminlevel/ert_station/fax_response_station) -"NP" = ( +"Xi" = ( +/obj/structure/pipes/standard/manifold/hidden/supply/no_boom, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/fax_response_station) +"Xo" = ( /obj/structure/machinery/light, -/obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ - pixel_x = 6 +/obj/structure/machinery/vending/walkman{ + wrenchable = 0; + prices = list(); + pixel_y = 0; + pixel_x = 15; + wires = 12 }, -/obj/item/folder/black{ - pixel_x = 12 +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = -2; + pixel_y = 0 }, -/obj/structure/transmitter/rotary/fax_responder{ - networks_transmit = list("USCM","Colonist","Fax Responders"); - phone_id = "Provost Communications Officer"; - phone_color = "red" +/turf/open/floor/shiva/blue, +/area/adminlevel/ert_station/fax_response_station) +"Xz" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 10 }, -/turf/open/floor/wood/ship, +/obj/structure/mirror{ + pixel_y = -1; + pixel_x = 25 + }, +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/dark_sterile, /area/adminlevel/ert_station/fax_response_station) -"OA" = ( +"XB" = ( +/obj/structure/machinery/vending/sovietsoda{ + pixel_x = -5; + wrenchable = 0; + wires = 12 + }, +/obj/item/reagent_container/spray/cleaner{ + pixel_y = 20; + pixel_x = -9 + }, +/turf/open/floor/darkgreen2/west, +/area/adminlevel/ert_station/fax_response_station) +"XF" = ( +/obj/structure/window/reinforced/toughened, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1; + pixel_y = 2; + pixel_x = 3; + layer = 2.97 + }, /obj/structure/machinery/light{ dir = 8 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"Pn" = ( -/obj/structure/window/framed/almayer/hull, -/turf/open/floor/wood/ship, +/turf/open/floor/almayer/blue/west, /area/adminlevel/ert_station/fax_response_station) -"Rh" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = -12; - faction = "CLF"; - name = "CLF monitoring computer" +"XN" = ( +/obj/item/tool/warning_cone, +/turf/open/asphalt/cement, +/area/adminlevel/ert_station/fax_response_station/exterior) +"XO" = ( +/obj/structure/machinery/door_control/brbutton/alt{ + pixel_x = -22; + id = "Faxes_CMB"; + name = "Door Controls" }, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/blue/clicky{ - pixel_y = 8 +/obj/structure/stairs{ + dir = 1 }, -/obj/item/tool/pen/green/clicky{ - pixel_y = 8; - pixel_x = -8 +/obj/structure/machinery/light/small{ + dir = 4; + pixel_y = 12 }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -8 +/turf/open/floor/shiva/floor3, +/area/adminlevel/ert_station/fax_response_station) +"XR" = ( +/obj/structure/flora/bush/ausbushes/palebush, +/turf/open/gm/grass/grass1, +/area/adminlevel/ert_station/fax_response_station/exterior) +"XS" = ( +/obj/structure/surface/table/woodentable, +/obj/item/tool/candle{ + pixel_x = -11; + pixel_y = 4 }, -/obj/item/paper_bin/wy{ - pixel_y = 6; - pixel_x = 8 +/obj/item/reagent_container/food/drinks/coffee{ + pixel_y = 10; + pixel_x = 6 }, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - pixel_x = 8; - name = "USCM monitoring computer" +/obj/item/reagent_container/food/drinks/tea{ + pixel_y = -4; + pixel_x = -5 }, -/turf/open/floor/wood/ship, -/area/adminlevel/ert_station/fax_response_station) -"ST" = ( -/obj/structure/bed/chair/comfy/teal{ - dir = 4 +/obj/structure/machinery/light{ + dir = 8 }, -/turf/open/floor/wood/ship, +/obj/effect/decal/siding, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"UB" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/uscm/brig/provost{ - pixel_y = 8 +"XU" = ( +/obj/structure/machinery/computer/arcade{ + pixel_y = 17; + density = 0 }, -/turf/open/floor/wood/ship, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"VV" = ( -/obj/effect/landmark/late_join/responder/upp, -/turf/open/floor/wood/ship, +"XY" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 5 + }, +/turf/open/floor/carpet, /area/adminlevel/ert_station/fax_response_station) -"Wp" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/faxmachine/upp/highcom{ - pixel_y = 8 +"Yb" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10"; + pixel_x = -2; + pixel_y = 19 }, -/turf/open/floor/wood/ship, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"XW" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/blue/clicky{ - pixel_y = 8 +"Yn" = ( +/turf/open/gm/grass/gbcorner/south_east, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Yx" = ( +/obj/effect/landmark/late_join/responder/cmb, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 5 }, -/obj/item/tool/pen/green/clicky{ - pixel_y = 8; - pixel_x = -8 +/turf/open/floor/wood, +/area/adminlevel/ert_station/fax_response_station) +"YC" = ( +/obj/structure/sign/prop1{ + pixel_y = 32 }, -/obj/item/tool/pen/red/clicky{ - pixel_x = -8 +/turf/open/floor/almayer/blue/north, +/area/adminlevel/ert_station/fax_response_station) +"YH" = ( +/obj/structure/flora/pottedplant/random, +/turf/open/floor/almayer/red/northeast, +/area/adminlevel/ert_station/fax_response_station) +"YI" = ( +/obj/structure/flora/bush/ausbushes/palebush, +/turf/open/gm/river/no_overlay, +/area/adminlevel/ert_station/fax_response_station/exterior) +"YL" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 }, -/obj/item/paper_bin/wy{ - pixel_y = 6; - pixel_x = 8 +/turf/open/floor/corsat/whitecorner/west, +/area/adminlevel/ert_station/fax_response_station) +"YX" = ( +/obj/structure/flora/bush/ausbushes/ausbush, +/turf/open/gm/grass/grass2, +/area/adminlevel/ert_station/fax_response_station/exterior) +"Zd" = ( +/turf/open/floor/almayer/red/north, +/area/adminlevel/ert_station/fax_response_station) +"Zg" = ( +/obj/structure/machinery/light{ + dir = 8 }, -/obj/structure/machinery/computer/crew/alt{ - pixel_y = 24; - name = "USCM monitoring computer" +/turf/open/floor/almayer/red/west, +/area/adminlevel/ert_station/fax_response_station) +"Zm" = ( +/obj/structure/machinery/vending/walkman{ + wrenchable = 0; + prices = list(); + pixel_y = 15; + density = 0; + wires = 12; + pixel_x = 5 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"XZ" = ( -/obj/effect/landmark/late_join/responder/twe, +"Zu" = ( +/obj/structure/machinery/cryopod/no_store{ + pixel_y = 13 + }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"Yv" = ( -/obj/structure/surface/table/woodentable/fancy, -/obj/item/folder/red{ - pixel_x = 6 - }, -/obj/item/folder/black{ - pixel_x = 12 +"ZD" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "Faxes_TWE_Road"; + name = "\improper Road Blockade"; + dir = 4 }, -/obj/structure/transmitter/rotary/fax_responder{ - networks_transmit = list("USCM","Colonist","CLF","Fax Responders"); - phone_id = "CLF Information Correspondant"; - phone_color = "orange" +/obj/structure/blocker/invisible_wall, +/turf/open/floor/almayer/plate, +/area/adminlevel/ert_station/fax_response_station/exterior) +"ZL" = ( +/obj/structure/machinery/light{ + dir = 1 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) -"Yy" = ( -/turf/open/space/basic, -/area/space) -"YO" = ( -/obj/effect/landmark/late_join/responder/uscm, -/turf/open/floor/wood/ship, +"ZP" = ( +/obj/structure/machinery/light, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, /area/adminlevel/ert_station/fax_response_station) -"YR" = ( -/obj/structure/machinery/cm_vending/sorted/marine_food{ - pixel_y = 16; - density = 0 +"ZR" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 1 }, -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_x = -24 +/obj/item/paper_bin{ + pixel_x = -20; + pixel_y = 5 + }, +/obj/item/tool/pen/clicky{ + pixel_x = -21 }, /turf/open/floor/wood/ship, /area/adminlevel/ert_station/fax_response_station) (1,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV "} (2,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV "} (3,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +pV +pV "} (4,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +gX +wl +wl +wl +wl +gX +Cc +Cc +Cc +Cc +Cc +Cc +Cc +Cc +Cc +Cc +Cc +Cc +Cc +gX +pV +pV "} (5,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +MA +MM +vy +Bt +Er +Bt +Er +rm +XF +Bt +lZ +ls +gX +wl +Hu +Jg +wl +gX +Cc +pf +mF +Cc +pG +oU +FD +XB +CN +aF +VE +Gi +Cc +gX +pV +pV "} (6,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +YC +QY +dL +QY +Ef +oY +do +QY +IY +QY +fJ +ls +gX +wl +zh +uu +wl +gX +Cc +mL +Ph +At +Gx +lC +lC +sg +wD +wD +QN +ef +Cc +gX +pV +pV "} (7,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Ei -YR -OA -rV -fr -Ei -nB -OA -YO -fr -Ei -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +IQ +QY +vL +QY +hy +KZ +NA +QY +Iv +QY +Qz +ls +gX +wl +qu +Ry +wl +gX +Cc +Cc +Cc +Cc +eS +lC +Aw +lC +lC +lC +Pf +KI +Ax +gX +pV +pV "} (8,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -xX -Ei -EI -gu -gu -gu -Pn -EI -gu -gu -gu -Ei -xX -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +JT +IQ +QY +dk +dW +EH +hK +KM +dW +Xi +QY +mV +ls +gX +wl +qu +Ry +wl +gX +Cc +Rl +KT +tR +Os +Jm +Kd +rF +ST +lC +Pf +KI +xf +gX +pV +pV "} (9,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -vc -pH -gu -gu -gu -gu -Pn -gu -gu -gu -gu -pH -vc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mB +IQ +QY +dE +QY +RD +ou +aT +jI +zV +fj +ET +ls +gX +wl +qu +Ry +wl +gX +Cc +Cc +Cc +Cc +Cc +Ju +Cc +Cc +Ay +Jm +jM +kZ +Cc +gX +pV +pV "} (10,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -vc -Ei -UB -ST -gu -NP -Pn -ov -ST -gu -tq -Ei -vc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +pb +QY +qo +QY +WT +ls +ls +ls +gz +wJ +ls +ls +gX +wl +zS +Si +wl +gX +fW +Cq +HN +Cq +TY +Hk +zs +Cc +Cc +Oa +Of +Cc +Cc +gX +pV +pV "} (11,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -vc -Ei -Du -sZ -Bp -sx -Ei -Du -sZ -Bp -sx -Ei -vc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +hk +QY +dE +QY +WT +ls +BP +cA +sm +cA +GQ +ls +gX +wl +qu +Ry +wl +gX +Rf +kw +an +mE +an +Iy +yK +Cc +fv +wG +rZ +SC +Cc +gX +pV +pV "} (12,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -vc -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -Ei -vc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +Cr +jI +Vn +jJ +Oj +ls +RJ +Qt +fo +wZ +xm +ls +gX +wl +qu +Ry +wl +gX +fW +SZ +uV +an +Iy +Iy +Aq +Cc +hU +Fr +ba +jT +Cc +gX +pV +pV "} (13,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -vc -vc -vc -vc -vc -vc -vc -vc -vc -vc -vc -vc -vc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ls +kC +ls +ls +Wm +ls +as +wZ +AK +wZ +al +ls +gX +wl +qu +Ry +wl +gX +fW +ch +sK +fO +Iy +Iy +Oc +uI +jB +Fr +ve +aa +Cc +gX +pV +pV "} (14,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -xX -xX -xX -xX -xX -xX -vc -xX -xX -xX -xX -xX -xX -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ue +Ph +Cf +ls +CO +ls +hn +wZ +wZ +FQ +ow +ls +gX +wl +qu +Ry +wl +gX +Rf +Pv +kw +LA +fO +mw +Rv +Cc +ac +Fr +AF +iL +Cc +gX +pV +pV "} (15,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -BC -BC -BC -BC -BC -BC -vc -wz -wz -wz -wz -wz -wz -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +yt +qJ +pj +ls +Ne +ls +bU +wZ +wZ +wZ +Bb +ls +gX +wl +qu +Ry +wl +gX +fW +Bk +xP +jX +kY +kw +Tb +Cc +Rq +me +HC +DQ +Cc +gX +pV +pV "} (16,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -BC -YR -OA -xb -fr -BC -vc -wz -YR -OA -VV -fr -wz -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ls +ls +ls +ls +ls +ls +ed +cz +fj +Ai +WY +ls +gX +wl +TZ +uP +wl +gX +fW +fW +Rf +fW +fW +fW +Rf +Cc +Cc +Cc +Cc +Cc +Cc +gX +pV +pV "} (17,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -BC -EI -gu -gu -gu -BC -vc -wz -Ba -gu -gu -gu -wz -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +gX +gX +gX +gX +gX +gX +ls +gv +gv +Qg +gv +gv +ls +gX +wl +qu +Ry +wl +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +pV +pV "} (18,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -BC -gu -gu -gu -gu -pH -vc -pH -gu -gu -gu -gu -wz -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ls +ls +ls +ls +ls +ls +zt +BW +MU +Ul +Tp +ls +gX +wl +qu +Ry +wl +gX +OA +OA +OA +OA +OA +OA +ZD +ZD +ZD +OA +OA +OA +OA +gX +pV +pV "} (19,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -BC -FD -ST -gu -FB -BC -vc -wz -Wp -ST -gu -am -wz -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +wx +wp +Rb +ls +kf +ls +IM +wZ +wZ +wZ +DA +ls +gX +wl +qu +Ry +wl +gX +OA +Np +VZ +XS +gx +qS +ag +Iq +WG +OA +GD +NK +OA +gX +pV +pV "} (20,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -BC -EK -IO -Bp -sx -BC -vc -wz -id -kT -Bp -sx -wz -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +yz +Ph +Qw +ls +RQ +ls +VK +wZ +wZ +dS +af +ls +gX +wl +qu +Ry +wl +gX +OA +fk +Iu +cp +Pp +wQ +Qi +CZ +tu +OA +BF +sR +OA +gX +pV +pV "} (21,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -BC -BC -BC -BC -BC -BC -vc -wz -wz -wz -wz -wz -wz -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ls +kC +ls +ls +ji +ls +at +wZ +Di +wZ +ao +ls +gX +wl +qu +Ry +wl +gX +OA +Tr +Ni +sv +cW +qS +fQ +CZ +am +bT +Kx +Wt +OA +gX +pV +pV "} (22,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -xX -xX -xX -xX -xX -xX -pu -xX -xX -xX -xX -xX -xX -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +rc +MU +Zg +wi +yp +ls +Mx +Qt +fo +wZ +JX +ls +gX +wl +qu +Ry +wl +gX +OA +OA +OA +OA +OA +OA +Ix +CZ +OX +OA +OA +OA +OA +gX +pV +pV "} (23,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -xX -xX -xX -xX -xX -xX -vc -xX -xX -xX -xX -xX -xX -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ni +QY +dE +QY +QU +ls +YH +Dq +Cv +Dq +wX +ls +gX +wl +qu +Ry +wl +gX +OA +bw +AV +DZ +QV +OA +fQ +CZ +am +OA +sA +QY +OA +gX +pV +pV "} (24,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -jh -jh -jh -jh -jh -jh -vc -xc -xc -xc -xc -xc -xc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +sj +QY +dE +QY +QU +ls +ls +ls +gz +If +ls +ls +gX +wl +zS +Si +wl +gX +OA +OA +gG +OA +OA +OA +fQ +CZ +am +TC +Fr +ZP +OA +gX +pV +pV "} (25,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -jh -YR -OA -tM -fr -jh -vc -xc -YR +pV +pV +gX +HQ +Zd +QY +dE +QY +JB +lU +ok +MU +sC +MU +Fc +ls +gX +wl +qu +Ry +wl +gX OA -XZ -fr -xc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +az +ER +aM +NT +OA +fQ +CZ +tV +OA +yB +yf +OA +gX +pV +pV "} (26,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -jh -Ba -gu -gu -gu -jh -vc -xc -Ba -gu -gu -gu -xc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mB +Zd +QY +pU +dW +Ng +be +UR +dW +Xi +QY +MX +ls +gX +wl +qu +Ry +wl +gX +OA +xn +va +px +Pp +gk +te +CZ +Hq +OA +OA +OA +OA +gX +pV +pV "} (27,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -jh -gu -gu -gu -gu -pH -vc -pH -gu -gu -gu -gu -xc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +Zd +QY +vL +QY +hy +KZ +NA +bo +uc +QY +QU +ls +gX +wl +qu +Ry +wl +gX +OA +aj +va +pZ +LO +OA +oo +CZ +zg +OA +nn +QY +OA +gX +pV +pV "} (28,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -jh -uX -ST -gu -Yv -jh -vc -xc -oA -ST -gu -jV -xc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +IM +QY +dL +QY +mD +qX +Kc +QY +Hr +QY +ex +ls +gX +wl +qu +Ry +wl +gX +OA +Yb +va +uK +ae +qS +eV +CZ +am +TC +Ec +UL +OA +gX +pV +pV "} (29,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -jh -Rh -kT -Bp -sx -jh -vc -xc -yv -kT -Bp -sx -xc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +bx +Kn +SO +Vh +Sz +Vh +Sz +Vh +Jr +Vh +cr +ls +gX +wl +qu +Ry +wl +gX +OA +yI +yM +kh +Fn +OA +lK +mC +vD +OA +iN +Pr +OA +gX +pV +pV "} (30,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -jh -jh -jh -jh -jh -jh -vc -xc -xc -xc -xc -xc -xc -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +ls +gX +wl +CW +NX +wl +gX +OA +OA +OA +OA +OA +OA +ZD +ZD +ZD +OA +OA +OA +OA +gX +pV +pV "} (31,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -xX -xX -xX -xX -xX -xX -vc -xX -xX -xX -xX -xX -xX -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +wl +qu +Ry +wl +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +pV +pV "} (32,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -xX -xX -xX -xX -xX -xX -pu -xX -xX -xX -xX -xX -xX -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +mi +mi +mi +mi +mi +mi +mi +cV +cV +cV +cV +oP +gX +wl +qu +Ry +wl +gX +IG +IG +IG +IG +IG +IG +IG +IG +IG +IG +IG +IG +IG +gX +pV +pV "} (33,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -Dy -Dy -Dy -Dy -Dy -Dy -vc -Ml -Ml -Ml -Ml -Ml -Ml -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +MZ +Pw +nl +qY +so +av +mi +XN +CP +rs +XN +oP +gX +wl +qu +Ry +wl +gX +IG +KR +mx +zT +Pi +RE +QD +HE +uL +IG +ue +GL +IG +gX +pV +pV "} (34,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -Dy -nB -OA -wv -fr -Dy -vc -Ml -YR -OA -Bz -fr -Ml -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +zJ +Fr +Fr +tN +Fr +qv +mi +nP +Ld +mQ +nP +oP +gX +wl +qu +Ry +wl +gX +IG +ak +wZ +Rk +wZ +lL +IG +FB +cI +JO +Ph +oO +IG +gX +pV +pV "} (35,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -Dy -EI -gu -gu -gu -Dy -vc -Ml -Ba -gu -gu -gu -Ml -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +Vq +Fr +TM +Pp +Yx +FF +mi +ai +Ld +mQ +TJ +oP +gX +wl +qu +Ry +wl +gX +IG +AT +wZ +pO +AK +zj +hW +SG +pC +IG +vA +CS +IG +gX +pV +pV "} (36,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -Dy -gu -gu -gu -gu -pH -vc -pH -gu -gu -gu -gu -Ml -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +of +Fr +Fr +Fr +ba +gC +mi +nP +Ld +mQ +nP +oP +gX +wl +qu +Ry +wl +gX +IG +tk +wZ +fs +wZ +sh +IG +FB +RR +IG +IG +IG +IG +gX +pV +pV "} (37,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -Dy -ny -ST -gu -Nb -Dy -vc -Ml -qw -ST -gu -rS -Ml -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +JY +hs +wy +tO +ba +cc +Es +nP +Ld +mQ +nP +oP +gX +wl +qu +Ry +wl +gX +IG +sV +mq +SS +ah +hC +QD +FB +kV +Nd +IG +ua +IG +gX +pV +pV "} (38,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -Dy -wx -kT -Bp -sx -Dy -vc -Ml -XW -kT -Bp -sx -Ml -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +mi +mi +mi +aw +ba +cc +go +nP +Ld +mQ +nP +oP +gX +wl +zS +Si +wl +gX +IG +IG +QD +QD +IG +IG +IG +jD +kV +Ud +IG +Il +IG +gX +pV +pV "} (39,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -Dy -Dy -Dy -Dy -Dy -Dy -vc -Ml -Ml -Ml -Ml -Ml -Ml -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +No +XO +db +tY +ba +cc +mi +nP +jj +nI +nP +oP +gX +wl +qu +Ry +wl +gX +oT +pA +pV +pV +pV +IG +IG +ck +kV +HA +IG +GC +IG +gX +pV +pV "} (40,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -xX -xX -xX -xX -xX -xX -xX -xX -xX -xX -xX -xX -xX -xX -xX -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +mi +mi +mi +yu +ve +Xo +mi +nP +bI +nI +nP +oP +gX +wl +qu +Ry +wl +gX +oT +Dn +pV +pV +pV +pV +IG +vS +YL +sP +Eg +wE +IG +gX +pV +pV "} (41,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +xL +np +IK +Ib +pn +hJ +mi +ai +Ld +mQ +TJ +oP +gX +wl +qu +Ry +wl +gX +oT +pV +pV +TI +pV +pV +QD +FB +aJ +UD +wZ +cI +Gw +gX +pV +pV "} (42,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +hh +Cx +mi +mi +cJ +mi +mi +nP +Ld +mQ +nP +oP +gX +wl +qu +Ry +wl +gX +oT +pV +pV +pV +pV +pV +QD +rM +Qt +wZ +wZ +cI +kg +gX +pV +pV "} (43,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +Do +pc +mi +Lq +vZ +Tc +mi +XN +CP +rs +XN +oP +gX +wl +qu +Ry +wl +gX +oT +pV +pV +pV +vM +pA +IG +Bi +eQ +tb +ci +JV +IG +gX +pV +pV "} (44,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +mi +mi +mi +mi +mi +mi +mi +mi +cV +cV +cV +cV +oP +gX +wl +Kr +qD +wl +gX +oT +oT +oT +oT +oT +oT +IG +IG +IG +IG +IG +IG +IG +gX +pV +pV "} (45,1,1) = {" -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy -Yy +pV +pV +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +wl +qu +Ry +wl +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +pV +pV +"} +(46,1,1) = {" +pV +pV +gX +QB +QB +QB +QB +QB +QB +Rp +Rp +Rp +Rp +Rp +Rp +Rp +gX +wl +qu +Ry +wl +gX +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +gX +pV +pV +"} +(47,1,1) = {" +pV +pV +gX +QB +iq +sf +sf +sf +PM +Rp +JF +GP +GX +cE +Lj +Rp +gX +wl +qu +Ry +wl +gX +xK +bH +NU +LX +TW +nr +wZ +bp +QS +nr +bc +rJ +xK +gX +pV +pV +"} +(48,1,1) = {" +pV +pV +gX +QB +sf +xQ +sf +xu +Yn +Xb +au +iC +va +va +rx +Rp +gX +wl +qu +Ry +wl +gX +xK +TW +zw +wZ +wZ +Di +wZ +wZ +wZ +wZ +wZ +JW +xK +gX +pV +pV +"} +(49,1,1) = {" +pV +pV +gX +QB +sf +Ra +sf +PM +DP +Rp +cn +va +Sc +XY +ZP +Rp +gX +wl +qu +Ry +wl +gX +xK +ZL +wZ +wZ +wZ +Ba +Tg +xK +Sj +Sj +Sj +xK +xK +gX +pV +pV +"} +(50,1,1) = {" +pV +pV +gX +QB +sf +sf +sf +PM +dC +Rp +XU +Fr +Fr +ba +Tk +Rp +gX +wl +qu +Ry +wl +gX +xK +wZ +xj +wZ +wZ +wg +ID +xK +Zu +VU +TW +vm +xK +gX +pV +pV +"} +(51,1,1) = {" +pV +pV +gX +QB +YI +xu +hH +Yn +wu +Rp +Xb +ar +Rp +ap +Fr +nd +gX +wl +qu +Ry +wl +gX +xK +bH +jm +wZ +wZ +fo +yR +xK +gw +va +pk +wZ +xK +gX +pV +pV +"} +(52,1,1) = {" +pV +pV +gX +QB +KD +Yn +xc +DP +ip +WF +vE +Qf +Rp +Ut +Fr +yh +gX +wl +zS +Si +wl +gX +xK +xK +xK +jf +TW +rX +AQ +Nx +AQ +RK +ab +zy +xK +gX +pV +pV +"} +(53,1,1) = {" +pV +pV +gX +QB +ip +TB +ip +qx +YX +hO +Qf +RA +Rp +eo +Fr +Rp +gX +wl +qu +Ry +wl +gX +xK +NV +xK +DL +TW +fo +pl +xK +ad +va +AC +wZ +xK +gX +pV +pV +"} +(54,1,1) = {" +pV +pV +gX +QB +wu +mX +wu +qx +ip +hO +Qf +vE +Xb +ve +UL +Rp +gX +wl +qu +Ry +wl +gX +xK +bf +Dw +wZ +wZ +cX +bX +xK +ax +TW +aK +Ir +xK +gX +pV +pV +"} +(55,1,1) = {" +pV +pV +gX +QB +ip +qx +HU +DP +qx +Sy +vE +es +Rp +Ec +Hh +Rp +gX +wl +qu +Ry +wl +gX +xK +sI +xK +Nt +wZ +fo +tJ +xK +Sj +Sj +Sj +xK +xK +gX +pV +pV +"} +(56,1,1) = {" +pV +pV +gX +QB +lx +qx +ip +XR +Rp +Rp +Rp +Rp +Rp +aq +Rp +Rp +gX +wl +qu +Ry +wl +gX +xK +xK +xK +xK +Zm +Tq +wZ +wZ +TW +TW +wZ +EV +xK +gX +pV +pV +"} +(57,1,1) = {" +pV +pV +gX +QB +ip +ip +GY +wu +oc +kv +dM +Rp +Lq +Xz +QV +Rp +gX +wl +hd +RT +wl +gX +xK +gD +KQ +sa +wZ +bJ +wZ +wv +QS +bJ +bH +ZR +xK +gX +pV +pV +"} +(58,1,1) = {" +pV +pV +gX +QB +QB +QB +QB +QB +Rp +Rp +Rp +Rp +Rp +Rp +Rp +Rp +gX +wl +wl +wl +wl +gX +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +xK +gX +pV +pV +"} +(59,1,1) = {" +pV +pV +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +gX +pV +pV +"} +(60,1,1) = {" +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +"} +(61,1,1) = {" +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV +pV "} diff --git a/html/images/ColonialSpaceGruntsEZ.png b/paper_reference_files/ColonialSpaceGruntsEZ.png similarity index 100% rename from html/images/ColonialSpaceGruntsEZ.png rename to paper_reference_files/ColonialSpaceGruntsEZ.png diff --git a/paper_reference_files/background_dark.jpg b/paper_reference_files/background_dark.jpg new file mode 100644 index 000000000000..7e6318e55dd1 Binary files /dev/null and b/paper_reference_files/background_dark.jpg differ diff --git a/paper_reference_files/background_dark2.jpg b/paper_reference_files/background_dark2.jpg new file mode 100644 index 000000000000..3f8bcbadecee Binary files /dev/null and b/paper_reference_files/background_dark2.jpg differ diff --git a/paper_reference_files/background_dark_fractal.png b/paper_reference_files/background_dark_fractal.png new file mode 100644 index 000000000000..772f316f8c62 Binary files /dev/null and b/paper_reference_files/background_dark_fractal.png differ diff --git a/html/images/faxbackground.jpg b/paper_reference_files/background_white.jpg similarity index 100% rename from html/images/faxbackground.jpg rename to paper_reference_files/background_white.jpg diff --git a/html/images/cmblogo.png b/paper_reference_files/logo_cmb.png similarity index 100% rename from html/images/cmblogo.png rename to paper_reference_files/logo_cmb.png diff --git a/paper_reference_files/logo_provost.png b/paper_reference_files/logo_provost.png new file mode 100644 index 000000000000..39f3c124e2c5 Binary files /dev/null and b/paper_reference_files/logo_provost.png differ diff --git a/html/images/upplogo.png b/paper_reference_files/logo_upp.png similarity index 100% rename from html/images/upplogo.png rename to paper_reference_files/logo_upp.png diff --git a/paper_reference_files/logo_uscm.png b/paper_reference_files/logo_uscm.png new file mode 100644 index 000000000000..81f15fff2d5c Binary files /dev/null and b/paper_reference_files/logo_uscm.png differ diff --git a/paper_reference_files/logo_wy.png b/paper_reference_files/logo_wy.png new file mode 100644 index 000000000000..59f38efb090c Binary files /dev/null and b/paper_reference_files/logo_wy.png differ diff --git a/paper_reference_files/logo_wy_inv.png b/paper_reference_files/logo_wy_inv.png new file mode 100644 index 000000000000..1359b64763c4 Binary files /dev/null and b/paper_reference_files/logo_wy_inv.png differ diff --git a/paper_reference_files/pmc_dispatch.png b/paper_reference_files/pmc_dispatch.png new file mode 100644 index 000000000000..f5c3e1c7c77c Binary files /dev/null and b/paper_reference_files/pmc_dispatch.png differ diff --git a/tgui/packages/tgui/interfaces/FaxMachine.jsx b/tgui/packages/tgui/interfaces/FaxMachine.jsx index 8cb881a5da00..41dfac18a90d 100644 --- a/tgui/packages/tgui/interfaces/FaxMachine.jsx +++ b/tgui/packages/tgui/interfaces/FaxMachine.jsx @@ -93,6 +93,8 @@ const FaxSelect = (props) => { worldtime, nextfaxtime, faxcooldown, + can_send_priority, + is_priority_fax, } = data; const timeLeft = nextfaxtime - worldtime; @@ -143,6 +145,18 @@ const FaxSelect = (props) => { )} + {!!can_send_priority && ( + +