diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm index 2f276160fe7..809cc987ebb 100644 --- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm @@ -176,7 +176,7 @@ return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 191e6291ea6..1c501e87f0f 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -151,7 +151,7 @@ return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index e2483fdbef5..0df02174976 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -128,7 +128,7 @@ Thus, the two variables affect pump operation are set in New(): return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( diff --git a/code/ATMOSPHERICS/components/unary/outlet_injector.dm b/code/ATMOSPHERICS/components/unary/outlet_injector.dm index 3c342c3cdbe..5eeab2c8e48 100644 --- a/code/ATMOSPHERICS/components/unary/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary/outlet_injector.dm @@ -107,7 +107,7 @@ return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm index 38ae494023b..194a28ddc93 100644 --- a/code/ATMOSPHERICS/components/unary/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm @@ -263,7 +263,7 @@ return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index ff97f259a54..1c1c696b989 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -93,7 +93,7 @@ return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( "area" = area_uid, diff --git a/code/__defines/machinery.dm b/code/__defines/machinery.dm index ed07f11c1e4..3c561cc291d 100644 --- a/code/__defines/machinery.dm +++ b/code/__defines/machinery.dm @@ -70,10 +70,27 @@ var/global/defer_powernet_rebuild = 0 // True if net rebuild will be called #define NETWORK_ALARM_ATMOS "Atmosphere Alarms" #define NETWORK_ALARM_POWER "Power Alarms" #define NETWORK_ALARM_FIRE "Fire Alarms" +#define NETWORK_TALON_HELMETS "TalonHelmets" //VOREStation Add +#define NETWORK_TALON_SHIP "TalonShip" //VOREStation Add // Those networks can only be accessed by pre-existing terminals. AIs and new terminals can't use them. var/list/restricted_camera_networks = list(NETWORK_ERT,NETWORK_MERCENARY,"Secret", NETWORK_COMMUNICATORS) +#define TRANSMISSION_WIRE 0 //Is this ever used? I don't think it is. +#define TRANSMISSION_RADIO 1 //Radio transmissions (like airlock controller to pump) +#define TRANSMISSION_SUBSPACE 2 //Like headsets +#define TRANSMISSION_BLUESPACE 3 //Point-to-point links + +#define SIGNAL_NORMAL 0 //Normal subspace signals +#define SIGNAL_SIMPLE 1 //Normal inter-machinery(?) signals +#define SIGNAL_FAKE 2 //Untrackable signals +#define SIGNAL_TEST 4 //Unlogged signals + +#define DATA_NORMAL 0 //Normal data +#define DATA_INTERCOM 1 //Intercoms only +#define DATA_LOCAL 2 //Intercoms and SBRs +#define DATA_ANTAG 3 //Antag interception +#define DATA_FAKE 4 //Not from a real mob //singularity defines #define STAGE_ONE 1 diff --git a/code/__defines/misc_vr.dm b/code/__defines/misc_vr.dm index e6a71a36144..bf6cb4d150a 100644 --- a/code/__defines/misc_vr.dm +++ b/code/__defines/misc_vr.dm @@ -55,4 +55,6 @@ #define PTO_SCIENCE "Science" #define PTO_EXPLORATION "Exploration" #define PTO_CARGO "Cargo" -#define PTO_CIVILIAN "Civilian" \ No newline at end of file +#define PTO_CIVILIAN "Civilian" + +#define DEPARTMENT_TALON "ITV Talon" diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm index 6b924ef082b..17a25448500 100644 --- a/code/_helpers/game.dm +++ b/code/_helpers/game.dm @@ -246,7 +246,7 @@ var/turf/speaker = get_turf(R) if(speaker) for(var/turf/T in hear(R.canhear_range,speaker)) - speaker_coverage[T] = T + speaker_coverage[T] = R // Try to find all the players who can hear the message diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm index 0b53ed169d6..3b3512bbf92 100644 --- a/code/controllers/communications.dm +++ b/code/controllers/communications.dm @@ -125,6 +125,8 @@ var/const/EXP_FREQ = 1361 var/const/MED_I_FREQ = 1485 var/const/SEC_I_FREQ = 1475 +var/const/TALON_FREQ = 1481 //VOREStation Add + var/list/radiochannels = list( "Common" = PUB_FREQ, "Science" = SCI_FREQ, @@ -142,7 +144,8 @@ var/list/radiochannels = list( "AI Private" = AI_FREQ, "Entertainment" = ENT_FREQ, "Medical(I)" = MED_I_FREQ, - "Security(I)" = SEC_I_FREQ + "Security(I)" = SEC_I_FREQ, + "Talon" = TALON_FREQ //VOREStation Add ) // central command channels, i.e deathsquid & response teams @@ -154,6 +157,8 @@ var/list/ANTAG_FREQS = list(SYND_FREQ, RAID_FREQ) //Department channels, arranged lexically var/list/DEPT_FREQS = list(AI_FREQ, COMM_FREQ, ENG_FREQ, ENT_FREQ, MED_FREQ, SEC_FREQ, SCI_FREQ, SRV_FREQ, SUP_FREQ) +var/list/OFFMAP_FREQS = list(TALON_FREQ) //VOREStation Add + #define TRANSMISSION_WIRE 0 #define TRANSMISSION_RADIO 1 @@ -189,7 +194,10 @@ var/list/DEPT_FREQS = list(AI_FREQ, COMM_FREQ, ENG_FREQ, ENT_FREQ, MED_FREQ, SEC return "entradio" if(frequency in DEPT_FREQS) return "deptradio" - + //VOREStation Add + if(frequency in OFFMAP_FREQS) + return "expradio" + //VOREStation Add End return "radio" /* filters */ diff --git a/code/controllers/subsystems/shuttles.dm b/code/controllers/subsystems/shuttles.dm index 27bbbae0275..38ef8910196 100644 --- a/code/controllers/subsystems/shuttles.dm +++ b/code/controllers/subsystems/shuttles.dm @@ -103,7 +103,7 @@ SUBSYSTEM_DEF(shuttles) try_add_landmark_tag(shuttle_landmark_tag, O) landmarks_still_needed -= shuttle_landmark_tag else if(istype(shuttle_landmark, /obj/effect/shuttle_landmark/automatic)) //These find their sector automatically - O = map_sectors["[shuttle_landmark.z]"] + O = get_overmap_sector(get_z(shuttle_landmark)) O ? O.add_landmark(shuttle_landmark, shuttle_landmark.shuttle_restricted) : (landmarks_awaiting_sector += shuttle_landmark) /datum/controller/subsystem/shuttles/proc/get_landmark(var/shuttle_landmark_tag) diff --git a/code/controllers/subsystems/skybox.dm b/code/controllers/subsystems/skybox.dm index 404525b4396..356458517d7 100644 --- a/code/controllers/subsystems/skybox.dm +++ b/code/controllers/subsystems/skybox.dm @@ -87,7 +87,7 @@ SUBSYSTEM_DEF(skybox) res.overlays += base if(global.using_map.use_overmap && settings.use_overmap_details) - var/obj/effect/overmap/visitable/O = map_sectors["[z]"] + var/obj/effect/overmap/visitable/O = get_overmap_sector(z) if(istype(O)) var/image/overmap = image(settings.icon) overmap.overlays += O.generate_skybox() diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 414a2d092a7..be5f6b33db3 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -5,11 +5,16 @@ /datum/datacore var/name = "datacore" - var/medical[] = list() - var/general[] = list() - var/security[] = list() + //For general station crew + var/static/list/medical = list() + var/static/list/general = list() + var/static/list/security = list() + //For offmap spawns so they can have records accessible by certain things + var/static/list/hidden_medical = list() + var/static/list/hidden_general = list() + var/static/list/hidden_security = list() //This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character(). - var/locked[] = list() + var/static/list/locked = list() /datum/datacore/proc/get_manifest(monochrome, OOC) @@ -22,6 +27,7 @@ var/list/pla = new() //VOREStation Edit var/list/civ = new() var/list/bot = new() + var/list/off = new() var/list/misc = new() var/list/isactive = new() var/dat = {" @@ -46,7 +52,7 @@ if(OOC) var/active = 0 for(var/mob/M in player_list) - if(M.real_name == name && M.client && M.client.inactivity <= 10 * 60 * 10) + if(M.real_name == name && M.client && M.client.inactivity <= 10 MINUTES) active = 1 break isactive[name] = active ? "Active" : "Inactive" @@ -84,6 +90,24 @@ if(!department && !(name in heads)) misc[name] = rank + //For the offmap spawns + if(OOC) + for(var/datum/data/record/t in hidden_general) + var/name = t.fields["name"] + var/rank = t.fields["rank"] + var/real_rank = make_list_rank(t.fields["real_rank"]) + + var/active = 0 + for(var/mob/M in player_list) + if(M.real_name == name && M.client && M.client.inactivity <= 10 MINUTES) + active = 1 + break + isactive[name] = active ? "Active" : "Inactive" + + var/datum/job/J = SSjob.get_job(real_rank) + if(J?.offmap_spawn) + off[name] = rank + // Synthetics don't have actual records, so we will pull them from here. for(var/mob/living/silicon/ai/ai in mob_list) bot[ai.name] = "Artificial Intelligence" @@ -142,6 +166,12 @@ for(name in bot) dat += "[name][bot[name]][isactive[name]]" even = !even + // offmap spawners + if(off.len > 0) + dat += "Offmap Spawns" + for(name in off) + dat += "[name][off[name]][isactive[name]]" + even = !even // misc guys if(misc.len > 0) dat += "Miscellaneous" @@ -154,6 +184,117 @@ dat = replacetext(dat, "\t", "") return dat +/* +We can't just insert in HTML into the nanoUI so we need the raw data to play with. +Instead of creating this list over and over when someone leaves their PDA open to the page +we'll only update it when it changes. The PDA_Manifest global list is zeroed out upon any change +using /datum/datacore/proc/manifest_inject( ), or manifest_insert( ) +*/ + +var/global/list/PDA_Manifest = list() + +/datum/datacore/proc/get_manifest_list() + if(PDA_Manifest.len) + return + var/list/heads = list() + var/list/sec = list() + var/list/eng = list() + var/list/med = list() + var/list/sci = list() + var/list/car = list() + var/list/pla = list() // Planetside crew: Explorers, Pilots, S&S + var/list/civ = list() + var/list/bot = list() + var/list/misc = list() + for(var/datum/data/record/t in data_core.general) + var/name = sanitize(t.fields["name"]) + var/rank = sanitize(t.fields["rank"]) + var/real_rank = make_list_rank(t.fields["real_rank"]) + + var/isactive = t.fields["p_stat"] + var/department = 0 + var/depthead = 0 // Department Heads will be placed at the top of their lists. + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_COMMAND)) + heads[++heads.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + depthead = 1 + if(rank=="Colony Director" && heads.len != 1) + heads.Swap(1,heads.len) + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SECURITY)) + sec[++sec.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + if(depthead && sec.len != 1) + sec.Swap(1,sec.len) + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_ENGINEERING)) + eng[++eng.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + if(depthead && eng.len != 1) + eng.Swap(1,eng.len) + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_MEDICAL)) + med[++med.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + if(depthead && med.len != 1) + med.Swap(1,med.len) + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_RESEARCH)) + sci[++sci.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + if(depthead && sci.len != 1) + sci.Swap(1,sci.len) + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_PLANET)) + pla[++pla.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CARGO)) + car[++car.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + if(depthead && car.len != 1) + car.Swap(1,car.len) + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CIVILIAN)) + civ[++civ.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + if(depthead && civ.len != 1) + civ.Swap(1,civ.len) + + if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SYNTHETIC)) + bot[++bot.len] = list("name" = name, "rank" = rank, "active" = isactive) + department = 1 + + if(!department && !(name in heads)) + misc[++misc.len] = list("name" = name, "rank" = rank, "active" = isactive) + + // Synthetics don't have actual records, so we will pull them from here. + // Synths don't have records, which is the means by which isactive is retrieved, so I'm hardcoding it to active, don't really have any better means + for(var/mob/living/silicon/ai/ai in mob_list) + bot[++bot.len] = list("name" = ai.real_name, "rank" = "Artificial Intelligence", "active" = "Active") + + for(var/mob/living/silicon/robot/robot in mob_list) + // No combat/syndicate cyborgs, no drones, and no AI shells. + if(robot.scrambledcodes || robot.shell || (robot.module && robot.module.hide_on_manifest)) + continue + + bot[++bot.len] = list("name" = robot.real_name, "rank" = "[robot.modtype] [robot.braintype]", "active" = "Active") + + + PDA_Manifest = list( + list("cat" = "Command", "elems" = heads), + list("cat" = "Security", "elems" = sec), + list("cat" = "Engineering", "elems" = eng), + list("cat" = "Medical", "elems" = med), + list("cat" = "Science", "elems" = sci), + list("cat" = "Cargo", "elems" = car), + list("cat" = "Exploration", "elems" = pla), // VOREStation Edit + list("cat" = "Civilian", "elems" = civ), + list("cat" = "Silicon", "elems" = bot), + list("cat" = "Miscellaneous", "elems" = misc) + ) + return + /datum/datacore/proc/manifest() spawn() for(var/mob/living/carbon/human/H in player_list) @@ -187,10 +328,13 @@ /datum/datacore/proc/manifest_inject(var/mob/living/carbon/human/H) if(H.mind && !player_is_antag(H.mind, only_offstation_roles = 1)) var/assignment = GetAssignment(H) + var/hidden + var/datum/job/J = SSjob.get_job(assignment) + hidden = J?.offmap_spawn var/id = generate_record_id() //General Record - var/datum/data/record/G = CreateGeneralRecord(H, id) + var/datum/data/record/G = CreateGeneralRecord(H, id, hidden) G.fields["name"] = H.real_name G.fields["real_rank"] = H.mind.assigned_role G.fields["rank"] = assignment @@ -212,7 +356,7 @@ G.fields["notes"] = H.gen_record //Medical Record - var/datum/data/record/M = CreateMedicalRecord(H.real_name, id) + var/datum/data/record/M = CreateMedicalRecord(H.real_name, id, hidden) M.fields["b_type"] = H.b_type M.fields["b_dna"] = H.dna.unique_enzymes M.fields["id_gender"] = gender2text(H.identifying_gender) @@ -224,7 +368,7 @@ M.fields["notes"] = H.med_record //Security Record - var/datum/data/record/S = CreateSecurityRecord(H.real_name, id) + var/datum/data/record/S = CreateSecurityRecord(H.real_name, id, hidden) if(H.get_FBP_type()) S.fields["brain_type"] = H.get_FBP_type() else @@ -257,6 +401,7 @@ L.fields["image"] = icon(cached_character_icon(H), dir = SOUTH) L.fields["antagfac"] = H.antag_faction L.fields["antagvis"] = H.antag_vis + L.fields["offmap"] = hidden if(H.exploit_record && !jobban_isbanned(H, "Records")) L.fields["exploit_record"] = H.exploit_record else @@ -267,7 +412,7 @@ /proc/generate_record_id() return add_zero(num2hex(rand(1, 65535)), 4) //no point generating higher numbers because of the limitations of num2hex -/datum/datacore/proc/CreateGeneralRecord(var/mob/living/carbon/human/H, var/id) +/datum/datacore/proc/CreateGeneralRecord(var/mob/living/carbon/human/H, var/id, var/hidden) ResetPDAManifest() var/icon/front var/icon/side @@ -301,11 +446,14 @@ G.fields["photo_front"] = front G.fields["photo_side"] = side G.fields["notes"] = "No notes found." - general += G + if(hidden) + hidden_general += G + else + general += G return G -/datum/datacore/proc/CreateSecurityRecord(var/name, var/id) +/datum/datacore/proc/CreateSecurityRecord(var/name, var/id, var/hidden) ResetPDAManifest() var/datum/data/record/R = new /datum/data/record() R.name = "Security Record #[id]" @@ -319,11 +467,14 @@ R.fields["ma_crim_d"] = "No major crime convictions." R.fields["notes"] = "No notes." R.fields["notes"] = "No notes." - data_core.security += R + if(hidden) + hidden_security += R + else + security += R return R -/datum/datacore/proc/CreateMedicalRecord(var/name, var/id) +/datum/datacore/proc/CreateMedicalRecord(var/name, var/id, var/hidden) ResetPDAManifest() var/datum/data/record/M = new() M.name = "Medical Record #[id]" @@ -342,7 +493,10 @@ M.fields["cdi"] = "None" M.fields["cdi_d"] = "No diseases have been diagnosed at the moment." M.fields["notes"] = "No notes found." - data_core.medical += M + if(hidden) + hidden_medical += M + else + medical += M return M diff --git a/code/datums/repositories/cameras.dm b/code/datums/repositories/cameras.dm index 7bac2a4634d..d5161133948 100644 --- a/code/datums/repositories/cameras.dm +++ b/code/datums/repositories/cameras.dm @@ -14,10 +14,25 @@ var/global/datum/repository/cameras/camera_repository = new() networks = list() ..() -/datum/repository/cameras/proc/cameras_in_network(var/network) +/datum/repository/cameras/proc/cameras_in_network(var/network, var/list/zlevels) setup_cache() var/list/network_list = networks[network] - return network_list + if(LAZYLEN(zlevels)) + var/list/filtered_cameras = list() + for(var/list/C in network_list) + //Camera is marked as always-visible + if(C["omni"]) + filtered_cameras[++filtered_cameras.len] = C + continue + //Camera might be in an adjacent zlevel + var/camz = C["z"] + if(!camz) //It's inside something (helmet, communicator, etc) or nullspace or who knows + camz = get_z(locate(C["camera"]) in cameranet.cameras) + if(camz in zlevels) + filtered_cameras[++filtered_cameras.len] = C //Can't add lists to lists with += + return filtered_cameras + else + return network_list /datum/repository/cameras/proc/setup_cache() if(!invalidated) diff --git a/code/defines/obj.dm b/code/defines/obj.dm index 293ea99e7f8..187b69e0216 100644 --- a/code/defines/obj.dm +++ b/code/defines/obj.dm @@ -52,120 +52,6 @@ return copytext(rank, 2+length(prefix)) return rank - -/* -We can't just insert in HTML into the nanoUI so we need the raw data to play with. -Instead of creating this list over and over when someone leaves their PDA open to the page -we'll only update it when it changes. The PDA_Manifest global list is zeroed out upon any change -using /datum/datacore/proc/manifest_inject( ), or manifest_insert( ) -*/ - -var/global/list/PDA_Manifest = list() - -/datum/datacore/proc/get_manifest_list() - if(PDA_Manifest.len) - return - var/list/heads = list() - var/list/sec = list() - var/list/eng = list() - var/list/med = list() - var/list/sci = list() - var/list/car = list() - var/list/pla = list() // Planetside crew: Explorers, Pilots, S&S - var/list/civ = list() - var/list/bot = list() - var/list/misc = list() - for(var/datum/data/record/t in data_core.general) - var/name = sanitize(t.fields["name"]) - var/rank = sanitize(t.fields["rank"]) - var/real_rank = make_list_rank(t.fields["real_rank"]) - - var/isactive = t.fields["p_stat"] - var/department = 0 - var/depthead = 0 // Department Heads will be placed at the top of their lists. - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_COMMAND)) - heads[++heads.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - depthead = 1 - if(rank=="Colony Director" && heads.len != 1) - heads.Swap(1,heads.len) - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SECURITY)) - sec[++sec.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - if(depthead && sec.len != 1) - sec.Swap(1,sec.len) - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_ENGINEERING)) - eng[++eng.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - if(depthead && eng.len != 1) - eng.Swap(1,eng.len) - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_MEDICAL)) - med[++med.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - if(depthead && med.len != 1) - med.Swap(1,med.len) - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_RESEARCH)) - sci[++sci.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - if(depthead && sci.len != 1) - sci.Swap(1,sci.len) - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_PLANET)) - pla[++pla.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CARGO)) - car[++car.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - if(depthead && car.len != 1) - car.Swap(1,car.len) - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_CIVILIAN)) - civ[++civ.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - if(depthead && civ.len != 1) - civ.Swap(1,civ.len) - - if(SSjob.is_job_in_department(real_rank, DEPARTMENT_SYNTHETIC)) - bot[++bot.len] = list("name" = name, "rank" = rank, "active" = isactive) - department = 1 - - if(!department && !(name in heads)) - misc[++misc.len] = list("name" = name, "rank" = rank, "active" = isactive) - - // Synthetics don't have actual records, so we will pull them from here. - // Synths don't have records, which is the means by which isactive is retrieved, so I'm hardcoding it to active, don't really have any better means - for(var/mob/living/silicon/ai/ai in mob_list) - bot[++bot.len] = list("name" = ai.real_name, "rank" = "Artificial Intelligence", "active" = "Active") - - for(var/mob/living/silicon/robot/robot in mob_list) - // No combat/syndicate cyborgs, no drones, and no AI shells. - if(robot.scrambledcodes || robot.shell || (robot.module && robot.module.hide_on_manifest)) - continue - - bot[++bot.len] = list("name" = robot.real_name, "rank" = "[robot.modtype] [robot.braintype]", "active" = "Active") - - - PDA_Manifest = list( - list("cat" = "Command", "elems" = heads), - list("cat" = "Security", "elems" = sec), - list("cat" = "Engineering", "elems" = eng), - list("cat" = "Medical", "elems" = med), - list("cat" = "Science", "elems" = sci), - list("cat" = "Cargo", "elems" = car), - list("cat" = "Exploration", "elems" = pla), // VOREStation Edit - list("cat" = "Civilian", "elems" = civ), - list("cat" = "Silicon", "elems" = bot), - list("cat" = "Miscellaneous", "elems" = misc) - ) - return - - - /obj/effect/laser name = "laser" desc = "IT BURNS!!!" diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index c68acc43a46..c739ffbf852 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -32,7 +32,7 @@ title = "Security Announcement" announcement_type = "Security Announcement" -/datum/announcement/proc/Announce(var/message as text, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0) +/datum/announcement/proc/Announce(var/message as text, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0, zlevel) if(!message) return var/message_title = new_title ? new_title : title @@ -42,28 +42,32 @@ message = sanitize(message, extra = 0) message_title = sanitizeSafe(message_title) - Message(message, message_title) + var/list/zlevels + if(zlevel) + zlevels = using_map.get_map_levels(zlevel, TRUE) + + Message(message, message_title, zlevels) if(do_newscast) NewsCast(message, message_title) - Sound(message_sound) + Sound(message_sound, zlevels) Log(message, message_title) -datum/announcement/proc/Message(message as text, message_title as text) - global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME) +datum/announcement/proc/Message(var/message as text, var/message_title as text, var/list/zlevels) + global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME, zlevels) -datum/announcement/minor/Message(message as text, message_title as text) - global_announcer.autosay(message, announcer ? announcer : ANNOUNCER_NAME) +datum/announcement/minor/Message(var/message as text, var/message_title as text, var/list/zlevels) + global_announcer.autosay(message, announcer ? announcer : ANNOUNCER_NAME, zlevels) -datum/announcement/priority/Message(message as text, message_title as text) - global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME) +datum/announcement/priority/Message(var/message as text, var/message_title as text, var/list/zlevels) + global_announcer.autosay("[message_title]: [message]", announcer ? announcer : ANNOUNCER_NAME, zlevels) -datum/announcement/priority/command/Message(message as text, message_title as text) - global_announcer.autosay("[command_name()] - [message_title]: [message]", ANNOUNCER_NAME) +datum/announcement/priority/command/Message(var/message as text, var/message_title as text, var/list/zlevels) + global_announcer.autosay("[command_name()] - [message_title]: [message]", ANNOUNCER_NAME, zlevels) -datum/announcement/priority/security/Message(message as text, message_title as text) - global_announcer.autosay("[message_title]: [message]", ANNOUNCER_NAME) +datum/announcement/priority/security/Message(var/message as text, var/message_title as text, var/list/zlevels) + global_announcer.autosay("[message_title]: [message]", ANNOUNCER_NAME, zlevels) -datum/announcement/proc/NewsCast(message as text, message_title as text) +datum/announcement/proc/NewsCast(var/message as text, var/message_title as text) if(!newscast) return @@ -75,15 +79,18 @@ datum/announcement/proc/NewsCast(message as text, message_title as text) news.can_be_redacted = 0 announce_newscaster_news(news) -datum/announcement/proc/PlaySound(var/message_sound) +datum/announcement/proc/PlaySound(var/message_sound, var/list/zlevels) if(!message_sound) return + for(var/mob/M in player_list) + if(zlevels && !(M.z in zlevels)) + continue if(!istype(M,/mob/new_player) && !isdeaf(M)) M << message_sound -datum/announcement/proc/Sound(var/message_sound) - PlaySound(message_sound) +datum/announcement/proc/Sound(var/message_sound, var/list/zlevels) + PlaySound(message_sound, zlevels) datum/announcement/priority/Sound(var/message_sound) if(message_sound) @@ -107,11 +114,12 @@ datum/announcement/proc/Log(message as text, message_title as text) /proc/ion_storm_announcement() command_announcement.Announce("It has come to our attention that \the [station_name()] passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert") -/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message) +/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank, var/join_message, var/channel = "Common", var/zlevel) if (ticker.current_state == GAME_STATE_PLAYING) + var/list/zlevels = zlevel ? using_map.get_map_levels(zlevel, TRUE) : null if(character.mind.role_alt_title) rank = character.mind.role_alt_title - AnnounceArrivalSimple(character.real_name, rank, join_message) + AnnounceArrivalSimple(character.real_name, rank, join_message, channel, zlevels) -/proc/AnnounceArrivalSimple(var/name, var/rank = "visitor", var/join_message = "will arrive at the station shortly", new_sound = 'sound/misc/notice3.ogg') //VOREStation Edit - Remove shuttle reference - global_announcer.autosay("[name], [rank], [join_message].", "Arrivals Announcement Computer") +/proc/AnnounceArrivalSimple(var/name, var/rank = "visitor", var/join_message = "will arrive at the station shortly", var/channel = "Common", var/list/zlevels) + global_announcer.autosay("[name], [rank], [join_message].", "Arrivals Announcement Computer", channel, zlevels) diff --git a/code/game/jobs/access_datum_vr.dm b/code/game/jobs/access_datum_vr.dm index 872db2ae73f..506666fdfd8 100644 --- a/code/game/jobs/access_datum_vr.dm +++ b/code/game/jobs/access_datum_vr.dm @@ -10,3 +10,10 @@ var/const/access_pilot = 67 id = access_pilot desc = "Pilot" region = ACCESS_REGION_SUPPLY + +/var/const/access_talon = 301 +/datum/access/talon + id = access_talon + desc = "Talon" + access_type = ACCESS_TYPE_PRIVATE + \ No newline at end of file diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 6bc533370a6..082753d0fca 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -30,6 +30,8 @@ var/outfit_type // What outfit datum does this job use in its default title? + var/offmap_spawn = FALSE // Do we require weird and special spawning and datacore handling? + // Description of the job's role and minimum responsibilities. var/job_description = "This Job doesn't have a description! Please report it!" @@ -67,7 +69,7 @@ //give them an account in the station database var/money_amount = (rand(15,40) + rand(15,40)) * income * economic_modifier * ECO_MODIFIER //VOREStation Edit - Smoothed peaks, ECO_MODIFIER rather than per-species ones. - var/datum/money_account/M = create_account(H.real_name, money_amount, null) + var/datum/money_account/M = create_account(H.real_name, money_amount, null, offmap_spawn) if(H.mind) var/remembered_info = "" remembered_info += "Your account number is: #[M.account_number]
" diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 3d6fa2045cf..34e75f43205 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -357,7 +357,11 @@ var/global/datum/controller/occupations/job_master else var/list/spawn_props = LateSpawn(H.client, rank) var/turf/T = spawn_props["turf"] - H.forceMove(T) + if(!T) + to_chat(H, "You were unable to be spawned at your chosen late-join spawnpoint. Please verify your job/spawn point combination makes sense, and try another one.") + return + else + H.forceMove(T) // Moving wheelchair if they have one if(H.buckled && istype(H.buckled, /obj/structure/bed/chair/wheelchair)) @@ -458,8 +462,8 @@ var/global/datum/controller/occupations/job_master if("AI") return H if("Colony Director") - var/sound/announce_sound = (ticker.current_state <= GAME_STATE_SETTING_UP)? null : sound('sound/misc/boatswain.ogg', volume=20) - captain_announcement.Announce("All hands, [alt_title ? alt_title : "Colony Director"] [H.real_name] on deck!", new_sound=announce_sound) + var/sound/announce_sound = (ticker.current_state <= GAME_STATE_SETTING_UP) ? null : sound('sound/misc/boatswain.ogg', volume=20) + captain_announcement.Announce("All hands, [alt_title ? alt_title : "Colony Director"] [H.real_name] on deck!", new_sound = announce_sound, zlevel = H.z) //Deferred item spawning. if(spawn_in_storage && spawn_in_storage.len) @@ -608,12 +612,20 @@ var/global/datum/controller/occupations/job_master /datum/controller/occupations/proc/LateSpawn(var/client/C, var/rank) var/datum/spawnpoint/spawnpos + var/fail_deadly = FALSE + + var/datum/job/J = SSjob.get_job(rank) + fail_deadly = J?.offmap_spawn //Spawn them at their preferred one if(C && C.prefs.spawnpoint) if(!(C.prefs.spawnpoint in using_map.allowed_spawns)) - to_chat(C, "Your chosen spawnpoint ([C.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.") - spawnpos = null + if(fail_deadly) + to_chat(C, "Your chosen spawnpoint is unavailable for this map and your job requires a specific spawnpoint. Please correct your spawn point choice.") + return + else + to_chat(C, "Your chosen spawnpoint ([C.prefs.spawnpoint]) is unavailable for the current map. Spawning you at one of the enabled spawn points instead.") + spawnpos = null else spawnpos = spawntypes[C.prefs.spawnpoint] @@ -623,12 +635,16 @@ var/global/datum/controller/occupations/job_master if(spawnpos.check_job_spawning(rank)) .["turf"] = spawnpos.get_spawn_position() .["msg"] = spawnpos.msg + .["channel"] = spawnpos.announce_channel else + if(fail_deadly) + to_chat(C, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Please correct your spawn point choice.") + return to_chat(C, "Your chosen spawnpoint ([spawnpos.display_name]) is unavailable for your chosen job. Spawning you at the Arrivals shuttle instead.") var/spawning = pick(latejoin) .["turf"] = get_turf(spawning) .["msg"] = "will arrive at the station shortly" //VOREStation Edit - Grammar but mostly 'shuttle' reference removal, and this also applies to notified spawn-character verb use - else + else if(!fail_deadly) var/spawning = pick(latejoin) .["turf"] = get_turf(spawning) .["msg"] = "has arrived on the station" diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm index 5dea368943f..65b536c0bab 100644 --- a/code/game/machinery/air_alarm.dm +++ b/code/game/machinery/air_alarm.dm @@ -387,7 +387,7 @@ return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = command @@ -449,7 +449,7 @@ var/datum/signal/alert_signal = new alert_signal.source = src - alert_signal.transmission_method = 1 + alert_signal.transmission_method = TRANSMISSION_RADIO alert_signal.data["zone"] = alarm_area.name alert_signal.data["type"] = "Atmospheric" diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index ccab21e8896..5ebcfeef430 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -29,7 +29,7 @@ /obj/machinery/air_sensor/process() if(on) var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.data["tag"] = id_tag signal.data["timestamp"] = world.time @@ -212,7 +212,7 @@ obj/machinery/computer/general_air_control/Destroy() if(!radio_connection) return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src if(href_list["in_refresh_status"]) input_info = null @@ -322,7 +322,7 @@ obj/machinery/computer/general_air_control/Destroy() if(!radio_connection) return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src if(href_list["in_refresh_status"]) input_info = null @@ -383,7 +383,7 @@ obj/machinery/computer/general_air_control/Destroy() injecting = 1 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( @@ -445,7 +445,7 @@ obj/machinery/computer/general_air_control/Destroy() return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( "tag" = device_tag, @@ -463,7 +463,7 @@ obj/machinery/computer/general_air_control/Destroy() return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( "tag" = device_tag, @@ -478,7 +478,7 @@ obj/machinery/computer/general_air_control/Destroy() return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.source = src signal.data = list( "tag" = device_tag, diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm index 13d782f18f5..3e2cf0deb44 100644 --- a/code/game/machinery/atmoalter/meter.dm +++ b/code/game/machinery/atmoalter/meter.dm @@ -67,7 +67,7 @@ var/datum/signal/signal = new signal.source = src - signal.transmission_method = 1 + signal.transmission_method = TRANSMISSION_RADIO signal.data = list( "tag" = id, "device" = "AM", diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index f20c05d6279..15f9d65bc37 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -33,6 +33,7 @@ var/busy = 0 var/on_open_network = 0 + var/always_visible = FALSE //Visable from any map, good for entertainment network cameras var/affected_by_emp_until = 0 @@ -472,6 +473,7 @@ cam["name"] = sanitize(c_tag) cam["deact"] = !can_use() cam["camera"] = "\ref[src]" + cam["omni"] = always_visible cam["x"] = x cam["y"] = y cam["z"] = z diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index 911e1289844..d7070146d11 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -102,6 +102,7 @@ var/global/list/engineering_networks = list( /obj/machinery/camera/network/thunder network = list(NETWORK_THUNDER) invuln = 1 + always_visible = TRUE // EMP diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 57d6d01c6e2..9adf2a0a431 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -43,11 +43,14 @@ data["current_camera"] = current_camera ? current_camera.nano_structure() : null data["current_network"] = current_network data["networks"] = network ? network : list() + + var/map_levels = using_map.get_map_levels(src.z, TRUE) + data["map_levels"] = map_levels + if(current_network) - data["cameras"] = camera_repository.cameras_in_network(current_network) + data["cameras"] = camera_repository.cameras_in_network(current_network, map_levels) if(current_camera) switch_to_camera(user, current_camera) - data["map_levels"] = using_map.get_map_levels(src.z) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) @@ -91,9 +94,6 @@ . = ..() /obj/machinery/computer/security/attack_hand(var/mob/user as mob) - if (using_map && !(src.z in using_map.contact_levels)) - to_chat(user, "Unable to establish a connection: You're too far away from the station!") - return if(stat & (NOPOWER|BROKEN)) return if(!isAI(user)) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 21c795f08d9..9333e32556f 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -546,7 +546,7 @@ var/datum/signal/status_signal = new status_signal.source = src - status_signal.transmission_method = 1 + status_signal.transmission_method = TRANSMISSION_RADIO status_signal.data["command"] = command switch(command) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 9342e0b5e91..077c12c451f 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -8,7 +8,7 @@ idle_power_usage = 250 active_power_usage = 500 circuit = /obj/item/weapon/circuitboard/crew - var/datum/nano_module/crew_monitor/crew_monitor + var/datum/nano_module/program/crew_monitor/crew_monitor /obj/machinery/computer/crew/New() crew_monitor = new(src) diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm index 04f0c61c526..1d58a61df19 100644 --- a/code/game/machinery/computer/prisonshuttle.dm +++ b/code/game/machinery/computer/prisonshuttle.dm @@ -121,7 +121,7 @@ var/prison_shuttle_timeleft = 0 if(!frequency) return var/datum/signal/status_signal = new status_signal.source = src - status_signal.transmission_method = 1 + status_signal.transmission_method = TRANSMISSION_RADIO status_signal.data["command"] = command frequency.post_signal(src, status_signal) return diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index 05b4e65292f..a310b33f785 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -421,7 +421,7 @@ var/datum/signal/status_signal = new status_signal.source = src - status_signal.transmission_method = 1 + status_signal.transmission_method = TRANSMISSION_RADIO status_signal.data["command"] = command frequency.post_signal(src, status_signal) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index d62d53a5513..bdd2b05fc6b 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -219,6 +219,7 @@ var/on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward." var/on_store_visible_message_1 = "hums and hisses as it moves" //We need two variables because byond doesn't let us have variables inside strings at compile-time. var/on_store_visible_message_2 = "into storage." + var/announce_channel = "Common" var/allow_occupant_types = list(/mob/living/carbon/human) var/disallow_occupant_types = list() @@ -519,7 +520,7 @@ control_computer._admin_logs += "[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) at [stationtime2text()]" log_and_message_admins("[key_name(to_despawn)] ([to_despawn.mind.role_alt_title]) entered cryostorage.") - announce.autosay("[to_despawn.real_name], [to_despawn.mind.role_alt_title], [on_store_message]", "[on_store_name]") + announce.autosay("[to_despawn.real_name], [to_despawn.mind.role_alt_title], [on_store_message]", "[on_store_name]", announce_channel, using_map.get_map_levels(z, TRUE)) //visible_message("\The [initial(name)] hums and hisses as it moves [to_despawn.real_name] into storage.", 3) visible_message("\The [initial(name)] [on_store_visible_message_1] [to_despawn.real_name] [on_store_visible_message_2].", 3) diff --git a/code/game/machinery/doors/airlock_control.dm b/code/game/machinery/doors/airlock_control.dm index e5ff8bab16a..ca7092708d3 100644 --- a/code/game/machinery/doors/airlock_control.dm +++ b/code/game/machinery/doors/airlock_control.dm @@ -91,7 +91,7 @@ obj/machinery/door/airlock/proc/command_completed(var/command) obj/machinery/door/airlock/proc/send_status(var/bumped = 0) if(radio_connection) var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.data["tag"] = id_tag signal.data["timestamp"] = world.time @@ -172,7 +172,7 @@ obj/machinery/airlock_sensor/update_icon() obj/machinery/airlock_sensor/attack_hand(mob/user) var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.data["tag"] = master_tag signal.data["command"] = command @@ -186,7 +186,7 @@ obj/machinery/airlock_sensor/process() if(abs(pressure - previousPressure) > 0.001 || previousPressure == null) var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.data["tag"] = id_tag signal.data["timestamp"] = world.time signal.data["pressure"] = num2text(pressure) @@ -263,7 +263,7 @@ obj/machinery/access_button/attack_hand(mob/user) else if(radio_connection) var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.data["tag"] = master_tag signal.data["command"] = command diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm index 9d36b082021..ebbda06d6d0 100644 --- a/code/game/machinery/magnet.dm +++ b/code/game/machinery/magnet.dm @@ -275,7 +275,7 @@ // Prepare signal beforehand, because this is a radio operation var/datum/signal/signal = new - signal.transmission_method = 1 // radio transmission + signal.transmission_method = TRANSMISSION_RADIO // radio transmission signal.source = src signal.frequency = frequency signal.data["code"] = code @@ -341,7 +341,7 @@ // Prepare the radio signal var/datum/signal/signal = new - signal.transmission_method = 1 // radio transmission + signal.transmission_method = TRANSMISSION_RADIO // radio transmission signal.source = src signal.frequency = frequency signal.data["code"] = code diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm index 057a8fd5c16..f392eb52184 100644 --- a/code/game/machinery/telecomms/broadcaster.dm +++ b/code/game/machinery/telecomms/broadcaster.dm @@ -23,6 +23,12 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept produces_heat = 0 delay = 7 circuit = /obj/item/weapon/circuitboard/telecomms/broadcaster + //Vars only used if you're using the overmap + var/overmap_range = 0 + var/overmap_range_min = 0 + var/overmap_range_max = 5 + //Linked bluespace radios + var/list/linked_radios_weakrefs = list() /obj/machinery/telecomms/processor/Initialize() . = ..() @@ -34,6 +40,11 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept component_parts += new /obj/item/weapon/stock_parts/micro_laser/high(src) component_parts += new /obj/item/stack/cable_coil(src, 1) +/obj/machinery/telecomms/broadcaster/proc/link_radio(var/obj/item/device/radio/R) + if(!istype(R)) + return + linked_radios_weakrefs |= weakref(R) + /obj/machinery/telecomms/broadcaster/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from) // Don't broadcast rejected signals if(signal.data["reject"]) @@ -58,46 +69,51 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept if(signal.data["slow"] > 0) sleep(signal.data["slow"]) // simulate the network lag if necessary - signal.data["level"] |= listening_level + signal.data["level"] |= using_map.get_map_levels(listening_level, TRUE, overmap_range) + + var/list/forced_radios + for(var/weakref/wr in linked_radios_weakrefs) + var/obj/item/device/radio/R = wr.resolve() + if(istype(R)) + LAZYDISTINCTADD(forced_radios, R) /** #### - Normal Broadcast - #### **/ - - if(signal.data["type"] == 0) - + if(signal.data["type"] == SIGNAL_NORMAL) /* ###### Broadcast a message using signal.data ###### */ Broadcast_Message(signal.data["connection"], signal.data["mob"], signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], - signal.data["realname"], signal.data["vname"],, + signal.data["realname"], signal.data["vname"], DATA_NORMAL, signal.data["compression"], signal.data["level"], signal.frequency, - signal.data["verb"], signal.data["language"] ) + signal.data["verb"], signal.data["language"], forced_radios) /** #### - Simple Broadcast - #### **/ - if(signal.data["type"] == 1) + if(signal.data["type"] == SIGNAL_SIMPLE) /* ###### Broadcast a message using signal.data ###### */ Broadcast_SimpleMessage(signal.data["name"], signal.frequency, - signal.data["message"],null, null, - signal.data["compression"], listening_level) + signal.data["message"], DATA_NORMAL, null, + signal.data["compression"], listening_level, forced_radios) /** #### - Artificial Broadcast - #### **/ // (Imitates a mob) - if(signal.data["type"] == 2) + if(signal.data["type"] == SIGNAL_FAKE) /* ###### Broadcast a message using signal.data ###### */ - // Parameter "data" as 4: AI can't track this person/mob + // Parameter "data" as DATA_FAKE: AI can't track this person/mob Broadcast_Message(signal.data["connection"], signal.data["mob"], signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], - signal.data["realname"], signal.data["vname"], 4, signal.data["compression"], signal.data["level"], signal.frequency, - signal.data["verb"], signal.data["language"]) + signal.data["realname"], signal.data["vname"], DATA_FAKE, + signal.data["compression"], signal.data["level"], signal.frequency, + signal.data["verb"], signal.data["language"], forced_radios) if(!message_delay) message_delay = 1 @@ -118,6 +134,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept /* Basically just an empty shell for receiving and broadcasting radio messages. Not very flexible, but it gets the job done. + NOTE: This AIO device listens on *every* zlevel (it does not even check) */ /obj/machinery/telecomms/allinone @@ -126,15 +143,98 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept icon_state = "comm_server" desc = "A compact machine used for portable subspace telecommuniations processing." density = 1 + use_power = USE_POWER_IDLE + idle_power_usage = 20 anchored = 1 - use_power = USE_POWER_OFF - idle_power_usage = 0 machinetype = 6 produces_heat = 0 var/intercept = 0 // if nonzero, broadcasts all messages to syndicate channel + var/overmap_range = 0 //Same turf + + var/list/linked_radios_weakrefs = list() + +/obj/machinery/telecomms/allinone/proc/link_radio(var/obj/item/device/radio/R) + if(!istype(R)) + return + linked_radios_weakrefs |= weakref(R) /obj/machinery/telecomms/allinone/receive_signal(datum/signal/signal) + // Has to be on to receive messages + if(!on) + return + + // Why did you use this subtype? + if(!using_map.use_overmap) + return + + // Someone else handling it? + if(signal.data["done"]) + return + + // Where are we able to hear from (and talk to, since we're AIO) anyway? + var/map_levels = using_map.get_map_levels(z, TRUE, overmap_range) + + //Bluespace can skip this check + if(signal.transmission_method != TRANSMISSION_BLUESPACE) + var/list/signal_levels = list() + signal_levels += signal.data["level"] //If it's text/number, it'll be the only entry, if it's a list, it'll get combined + var/list/overlap = map_levels & signal_levels //Returns a list of similar levels + if(!overlap.len) + return + + if(is_freq_listening(signal)) // detect subspace signals + + signal.data["done"] = 1 // mark the signal as being broadcasted since we're a broadcaster + signal.data["compression"] = 0 // decompress since we're a processor + + // Search for the original signal and mark it as done as well + var/datum/signal/original = signal.data["original"] + if(original) + original.data["done"] = 1 + + // For some reason level is both used as a list and not a list, and now it needs to be a list. + signal.data["level"] = map_levels + + if(signal.data["slow"] > 0) + sleep(signal.data["slow"]) // simulate the network lag if necessary + + /* ###### Broadcast a message using signal.data ###### */ + + var/datum/radio_frequency/connection = signal.data["connection"] + + var/list/forced_radios + for(var/weakref/wr in linked_radios_weakrefs) + var/obj/item/device/radio/R = wr.resolve() + if(istype(R)) + LAZYDISTINCTADD(forced_radios, R) + + Broadcast_Message( + signal.data["connection"], + signal.data["mob"], + signal.data["vmask"], + signal.data["vmessage"], + signal.data["radio"], + signal.data["message"], + signal.data["name"], + signal.data["job"], + signal.data["realname"], + signal.data["vname"], + DATA_NORMAL, + signal.data["compression"], + signal.data["level"], + connection.frequency, + signal.data["verb"], + signal.data["language"], + forced_radios + ) + +//Antag version with unlimited range (doesn't even check) and uses no power, to enable antag comms to work anywhere. +/obj/machinery/telecomms/allinone/antag + use_power = USE_POWER_OFF + idle_power_usage = 0 + +/obj/machinery/telecomms/allinone/antag/receive_signal(datum/signal/signal) if(!on) // has to be on to receive messages return @@ -159,23 +259,29 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/datum/radio_frequency/connection = signal.data["connection"] + var/list/forced_radios + for(var/weakref/wr in linked_radios_weakrefs) + var/obj/item/device/radio/R = wr.resolve() + if(istype(R)) + LAZYDISTINCTADD(forced_radios, R) + if(connection.frequency in ANTAG_FREQS) // if antag broadcast, just Broadcast_Message(signal.data["connection"], signal.data["mob"], signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], - signal.data["realname"], signal.data["vname"],, signal.data["compression"], list(0), connection.frequency, - signal.data["verb"], signal.data["language"]) + signal.data["realname"], signal.data["vname"], DATA_NORMAL, + signal.data["compression"], list(0), connection.frequency, + signal.data["verb"], signal.data["language"], forced_radios) else if(intercept) Broadcast_Message(signal.data["connection"], signal.data["mob"], signal.data["vmask"], signal.data["vmessage"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], - signal.data["realname"], signal.data["vname"], 3, signal.data["compression"], list(0), connection.frequency, - signal.data["verb"], signal.data["language"]) - - + signal.data["realname"], signal.data["vname"], DATA_ANTAG, + signal.data["compression"], list(0), connection.frequency, + signal.data["verb"], signal.data["language"], forced_radios) /** @@ -237,7 +343,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept /proc/Broadcast_Message(var/datum/radio_frequency/connection, var/mob/M, var/vmask, var/vmessage, var/obj/item/device/radio/radio, var/message, var/name, var/job, var/realname, var/vname, - var/data, var/compression, var/list/level, var/freq, var/verbage = "says", var/datum/language/speaking = null) + var/data, var/compression, var/list/level, var/freq, var/verbage = "says", + var/datum/language/speaking = null, var/list/forced_radios) /* ###### Prepare the radio connection ###### */ @@ -246,17 +353,22 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/list/obj/item/device/radio/radios = list() + for(var/obj/item/device/radio/R in forced_radios) + //Cursory check to ensure they are 'on' and stuff + if(R.receive_range(display_freq, list(0))) + radios |= R + // --- Broadcast only to intercom devices --- - if(data == 1) + if(data == DATA_INTERCOM) for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"]) if(R.receive_range(display_freq, level) > -1) - radios += R + radios |= R // --- Broadcast only to intercoms and station-bounced radios --- - else if(data == 2) + else if(data == DATA_LOCAL) for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) @@ -264,16 +376,16 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept continue if(R.receive_range(display_freq, level) > -1) - radios += R + radios |= R // --- Broadcast to antag radios! --- - else if(data == 3) + else if(data == DATA_ANTAG) for(var/antag_freq in ANTAG_FREQS) var/datum/radio_frequency/antag_connection = radio_controller.return_frequency(antag_freq) for (var/obj/item/device/radio/R in antag_connection.devices["[RADIO_CHAT]"]) if(R.receive_range(antag_freq, level) > -1) - radios += R + radios |= R // --- Broadcast to ALL radio devices --- @@ -281,7 +393,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) if(R.receive_range(display_freq, level) > -1) - radios += R + radios |= R // Get a list of mobs who can hear from the radios we collected. var/list/receive = get_mobs_in_radio_ranges(radios) @@ -307,7 +419,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept continue // Ghosts hearing all radio chat don't want to hear syndicate intercepts, they're duplicates - if(data == 3 && istype(R, /mob/observer/dead) && R.is_preference_enabled(/datum/client_preference/ghost_radio)) + if(data == DATA_ANTAG && istype(R, /mob/observer/dead) && R.is_preference_enabled(/datum/client_preference/ghost_radio)) continue // --- Check for compression --- @@ -346,7 +458,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/freq_text = get_frequency_name(display_freq) var/part_b_extra = "" - if(data == 3) // intercepted radio message + if(data == DATA_ANTAG) // intercepted radio message part_b_extra = " (Intercepted)" var/part_a = "[bicon(radio)]\[[freq_text]\][part_b_extra] " // goes in the actual output @@ -438,7 +550,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept return 1 -/proc/Broadcast_SimpleMessage(var/source, var/frequency, var/text, var/data, var/mob/M, var/compression, var/level) +/proc/Broadcast_SimpleMessage(var/source, var/frequency, var/text, var/data, var/mob/M, var/compression, var/level, var/list/forced_radios) /* ###### Prepare the radio connection ###### */ @@ -452,10 +564,12 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept var/list/receive = list() + for(var/obj/item/device/radio/R in forced_radios) + receive |= R.send_hear(display_freq) // --- Broadcast only to intercom devices --- - if(data == 1) + if(data == DATA_INTERCOM) for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"]) var/turf/position = get_turf(R) if(position && position.z == level) @@ -464,7 +578,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept // --- Broadcast only to intercoms and station-bounced radios --- - else if(data == 2) + else if(data == DATA_LOCAL) for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) if(istype(R, /obj/item/device/radio/headset)) @@ -476,7 +590,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept // --- Broadcast to antag radios! --- - else if(data == 3) + else if(data == DATA_ANTAG) for(var/freq in ANTAG_FREQS) var/datum/radio_frequency/antag_connection = radio_controller.return_frequency(freq) for (var/obj/item/device/radio/R in antag_connection.devices["[RADIO_CHAT]"]) @@ -541,7 +655,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept // --- Some more pre-message formatting --- var/part_b_extra = "" - if(data == 3) // intercepted radio message + if(data == DATA_ANTAG) // intercepted radio message part_b_extra = " (Intercepted)" // Create a radio headset for the sole purpose of using its icon @@ -617,15 +731,15 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept /atom/proc/test_telecomms() var/datum/signal/signal = src.telecomms_process() - var/turf/position = get_turf(src) - return (position.z in signal.data["level"] && signal.data["done"]) + var/pos_z = get_z(src) + return (pos_z in signal.data["level"] && signal.data["done"]) /atom/proc/telecomms_process(var/do_sleep = 1) // First, we want to generate a new radio signal var/datum/signal/signal = new - signal.transmission_method = 2 // 2 would be a subspace transmission. - var/turf/pos = get_turf(src) + signal.transmission_method = TRANSMISSION_SUBSPACE + var/pos_z = get_z(src) // --- Finally, tag the actual signal with the appropriate values --- signal.data = list( @@ -633,10 +747,10 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept "message" = "TEST", "compression" = rand(45, 50), // If the signal is compressed, compress our message too. "traffic" = 0, // dictates the total traffic sum that the signal went through - "type" = 4, // determines what type of radio input it is: test broadcast + "type" = SIGNAL_TEST, // determines what type of radio input it is: test broadcast "reject" = 0, "done" = 0, - "level" = pos.z // The level it is being broadcasted at. + "level" = pos_z // The level it is being broadcasted at. ) signal.frequency = PUB_FREQ// Common channel diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 3e3d89643a1..802c75bb42b 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -219,6 +219,38 @@ temp = "-% Frequency changing deactivated %-" +// BROADCASTER +/obj/machinery/telecomms/broadcaster/Options_Menu() + // Note the machine 'displays' 1 higher than overmap_range to save users from the abstraction that range '0' is valid and everything on the same turf. + var/dat = "
Broadcast Range (affects power usage)
- [overmap_range+1] gigameter\s +" + return dat + +/obj/machinery/telecomms/broadcaster/Options_Topic(href, href_list) + if(href_list["range_down"]) + if(overmap_range > overmap_range_min) + overmap_range-- + idle_power_usage = initial(idle_power_usage)**(overmap_range+1) + if(href_list["range_up"]) + if(overmap_range < overmap_range_max) + overmap_range++ + idle_power_usage = initial(idle_power_usage)**(overmap_range+1) + +// RECEIVER +/obj/machinery/telecomms/receiver/Options_Menu() + // Note the machine 'displays' 1 higher than overmap_range to save users from the abstraction that range '0' is valid and everything on the same turf. + var/dat = "
Receive Range (affects power usage)
- [overmap_range+1] gigameter\s +" + return dat + +/obj/machinery/telecomms/receiver/Options_Topic(href, href_list) + if(href_list["range_down"]) + if(overmap_range > overmap_range_min) + overmap_range-- + idle_power_usage = initial(idle_power_usage)**(overmap_range+1) + if(href_list["range_up"]) + if(overmap_range < overmap_range_max) + overmap_range++ + idle_power_usage = initial(idle_power_usage)**(overmap_range+1) + /obj/machinery/telecomms/Topic(href, href_list) if(!issilicon(usr)) diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index c2e9126fc15..38f1adbdfc0 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -68,7 +68,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() var/datum/signal/copy if(copysig) copy = new - copy.transmission_method = 2 + copy.transmission_method = TRANSMISSION_SUBSPACE copy.frequency = signal.frequency copy.data = signal.data.Copy() @@ -141,9 +141,9 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() // Used in auto linking /obj/machinery/telecomms/proc/add_link(var/obj/machinery/telecomms/T) - var/turf/position = get_turf(src) - var/turf/T_position = get_turf(T) - if((position.z == T_position.z) || (src.long_range_link && T.long_range_link)) + var/pos_z = get_z(src) + var/tpos_z = get_z(T) + if((pos_z == tpos_z) || (src.long_range_link && T.long_range_link)) for(var/x in autolinkers) if(T.autolinkers.Find(x)) if(src != T) @@ -256,6 +256,12 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() machinetype = 1 produces_heat = 0 circuit = /obj/item/weapon/circuitboard/telecomms/receiver + //Vars only used if you're using the overmap + var/overmap_range = 0 + var/overmap_range_min = 0 + var/overmap_range_max = 5 + + var/list/linked_radios_weakrefs = list() /obj/machinery/telecomms/receiver/Initialize() . = ..() @@ -267,8 +273,12 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() component_parts += new /obj/item/weapon/stock_parts/micro_laser(src) RefreshParts() -/obj/machinery/telecomms/receiver/receive_signal(datum/signal/signal) +/obj/machinery/telecomms/receiver/proc/link_radio(var/obj/item/device/radio/R) + if(!istype(R)) + return + linked_radios_weakrefs |= weakref(R) +/obj/machinery/telecomms/receiver/receive_signal(datum/signal/signal) if(!on) // has to be on to receive messages return if(!signal) @@ -276,7 +286,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() if(!check_receive_level(signal)) return - if(signal.transmission_method == 2) + if(signal.transmission_method == TRANSMISSION_SUBSPACE) if(is_freq_listening(signal)) // detect subspace signals @@ -288,14 +298,31 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() relay_information(signal, "/obj/machinery/telecomms/bus") // Send it to a bus instead, if it's linked to one /obj/machinery/telecomms/receiver/proc/check_receive_level(datum/signal/signal) + // If it's a direct message from a bluespace radio, we eat it and convert it into a subspace signal locally + if(signal.transmission_method == TRANSMISSION_BLUESPACE) + var/obj/item/device/radio/R = signal.data["radio"] - if(signal.data["level"] != listening_level) + //Who're you? + if(!(weakref(R) in linked_radios_weakrefs)) + signal.data["reject"] = 1 + return 0 + + //We'll resend this for you + signal.data["level"] = z + signal.transmission_method = TRANSMISSION_SUBSPACE + return 1 + + //Where can we hear? + var/list/listening_levels = using_map.get_map_levels(listening_level, TRUE, overmap_range) + + // We couldn't 'hear' it, maybe a relay linked to our hub can 'hear' it + if(!(signal.data["level"] in listening_levels)) for(var/obj/machinery/telecomms/hub/H in links) - var/list/connected_levels = list() + var/list/relayed_levels = list() for(var/obj/machinery/telecomms/relay/R in H.links) if(R.can_receive(signal)) - connected_levels |= R.listening_level - if(signal.data["level"] in connected_levels) + relayed_levels |= R.listening_level + if(signal.data["level"] in relayed_levels) return 1 return 0 return 1 @@ -405,7 +432,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() // Add our level and send it back if(can_send(signal)) - signal.data["level"] |= listening_level + signal.data["level"] |= using_map.get_map_levels(listening_level) // Checks to see if it can send/receive. @@ -602,7 +629,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() totaltraffic += traffic // add current traffic to total traffic //Is this a test signal? Bypass logging - if(signal.data["type"] != 4) + if(signal.data["type"] != SIGNAL_TEST) // If signal has a message and appropriate frequency diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 2a662ea5ff2..1ca1ae65065 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -256,7 +256,7 @@ var/list/civilian_cartridges = list( var/datum/signal/status_signal = new status_signal.source = src - status_signal.transmission_method = 1 + status_signal.transmission_method = TRANSMISSION_RADIO status_signal.data["command"] = command switch(command) diff --git a/code/game/objects/items/devices/PDA/radio.dm b/code/game/objects/items/devices/PDA/radio.dm index 56ec64d8a75..133798e4b18 100644 --- a/code/game/objects/items/devices/PDA/radio.dm +++ b/code/game/objects/items/devices/PDA/radio.dm @@ -22,7 +22,7 @@ var/datum/signal/signal = new() signal.source = src - signal.transmission_method = 1 + signal.transmission_method = TRANSMISSION_RADIO signal.data[key] = value if(key2) signal.data[key2] = value2 diff --git a/code/game/objects/items/devices/communicator/cartridge.dm b/code/game/objects/items/devices/communicator/cartridge.dm index b1c3bd41f2c..120df593e92 100644 --- a/code/game/objects/items/devices/communicator/cartridge.dm +++ b/code/game/objects/items/devices/communicator/cartridge.dm @@ -329,7 +329,7 @@ var/datum/signal/status_signal = new status_signal.source = src - status_signal.transmission_method = 1 + status_signal.transmission_method = TRANSMISSION_RADIO status_signal.data["command"] = command switch(command) diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 0cac9027966..562ed569902 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -83,7 +83,7 @@ var/list/GPS_list = list() dat["curr_z_name"] = using_map.get_zlevel_name(curr.z) dat["gps_list"] = list() dat["z_level_detection"] = using_map.get_map_levels(curr.z, long_range) - + for(var/obj/item/device/gps/G in GPS_list - src) if(!G.tracking || G.emped || G.hide_signal) continue diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 278d911f0ef..69b5192abbd 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -52,6 +52,13 @@ var/global/list/default_medbay_channels = list( w_class = ITEMSIZE_SMALL show_messages = 1 + // Bluespace radios talk directly to telecomms equipment + var/bluespace_radio = FALSE + var/weakref/bs_tx_weakref //Maybe misleading, this is the device to TRANSMIT TO + // For mappers or subtypes, to start them prelinked to these devices + var/bs_tx_preload_id + var/bs_rx_preload_id + matter = list("glass" = 25,DEFAULT_WALL_MATERIAL = 75) var/const/FREQ_LISTENING = 1 var/list/internal_channels @@ -90,6 +97,43 @@ var/global/list/default_medbay_channels = list( for (var/ch_name in channels) secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT) + if(bluespace_radio) + if(bs_tx_preload_id) + //Try to find a receiver + for(var/obj/machinery/telecomms/receiver/RX in telecomms_list) + if(RX.id == bs_tx_preload_id) //Again, bs_tx is the thing to TRANSMIT TO, so a receiver. + bs_tx_weakref = weakref(RX) + RX.link_radio(src) + break + //Hmm, howabout an AIO machine + if(!bs_tx_weakref) + for(var/obj/machinery/telecomms/allinone/AIO in telecomms_list) + if(AIO.id == bs_tx_preload_id) + bs_tx_weakref = weakref(AIO) + AIO.link_radio(src) + break + if(!bs_tx_weakref) + testing("A radio [src] at [x],[y],[z] specified bluespace prelink IDs, but the machines with corresponding IDs ([bs_tx_preload_id], [bs_rx_preload_id]) couldn't be found.") + + if(bs_rx_preload_id) + var/found = 0 + //Try to find a transmitter + for(var/obj/machinery/telecomms/broadcaster/TX in telecomms_list) + if(TX.id == bs_rx_preload_id) //Again, bs_rx is the thing to RECEIVE FROM, so a transmitter. + TX.link_radio(src) + found = 1 + break + //Hmm, howabout an AIO machine + if(!found) + for(var/obj/machinery/telecomms/allinone/AIO in telecomms_list) + if(AIO.id == bs_rx_preload_id) + AIO.link_radio(src) + found = 1 + break + if(!found) + testing("A radio [src] at [x],[y],[z] specified bluespace prelink IDs, but the machines with corresponding IDs ([bs_tx_preload_id], [bs_rx_preload_id]) couldn't be found.") + + /obj/item/device/radio/attack_self(mob/user as mob) user.set_machine(src) interact(user) @@ -240,11 +284,10 @@ var/global/list/default_medbay_channels = list( if(.) SSnanoui.update_uis(src) -/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel) //BS12 EDIT +/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel, var/list/zlevels) //BS12 EDIT var/datum/radio_frequency/connection = null if(channel && channels && channels.len > 0) if (channel == "department") - //to_world("DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\"") channel = channels[1] connection = secure_radio_connections[channel] else @@ -253,12 +296,15 @@ var/global/list/default_medbay_channels = list( if (!istype(connection)) return + if(!LAZYLEN(zlevels)) + zlevels = list(0) + var/static/mob/living/silicon/ai/announcer/A = new /mob/living/silicon/ai/announcer(src, null, null, 1) A.SetName(from) Broadcast_Message(connection, A, 0, "*garbled automated announcement*", src, message, from, "Automated Announcement", from, "synthesized voice", - 4, 0, list(0), connection.frequency, "states") + 4, 0, zlevels, connection.frequency, "states") // Interprets the message mode when talking into a radio, possibly returning a connection datum /obj/item/device/radio/proc/handle_message_mode(mob/living/M as mob, message, message_mode) @@ -310,7 +356,7 @@ var/global/list/default_medbay_channels = list( if (!istype(connection)) return FALSE - var/turf/position = get_turf(src) + var/pos_z = get_z(src) //#### Tagging the signal with all appropriate identity values ####// @@ -359,10 +405,63 @@ var/global/list/default_medbay_channels = list( jobname = "Unknown" voicemask = 1 + // First, we want to generate a new radio signal + var/datum/signal/signal = new + // --- Finally, tag the actual signal with the appropriate values --- + signal.data = list( + // Identity-associated tags: + "mob" = M, // store a reference to the mob + "mobtype" = M.type, // the mob's type + "realname" = real_name, // the mob's real name + "name" = displayname, // the mob's display name + "job" = jobname, // the mob's job + "key" = mobkey, // the mob's key + "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood + "vname" = M.voice_name, // the name to display if the voice wasn't understood + "vmask" = voicemask, // 1 if the mob is using a voice gas mask - /* ###### Radio headsets can only broadcast through subspace ###### */ - if(subspace_transmission) + // We store things that would otherwise be kept in the actual mob + // so that they can be logged even AFTER the mob is deleted or something + + // Other tags: + "compression" = rand(45,50), // compressed radio signal + "message" = message, // the actual sent message + "connection" = connection, // the radio connection to use + "radio" = src, // stores the radio used for transmission + "slow" = 0, // how much to sleep() before broadcasting - simulates net lag + "traffic" = 0, // dictates the total traffic sum that the signal went through + "type" = SIGNAL_NORMAL, // determines what type of radio input it is: normal broadcast + "server" = null, // the last server to log this signal + "reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery + "level" = pos_z, // The source's z level + "language" = speaking, + "verb" = verb + ) + signal.frequency = connection.frequency // Quick frequency set + + var/filter_type = DATA_LOCAL //If we end up having to send it the old fashioned way, it's with this data var. + + /* ###### Bluespace radios talk directly to receivers (and only directly to receivers) ###### */ + if(bluespace_radio) + //Nothing to transmit to + if(!bs_tx_weakref) + to_chat(loc, "\The [src] buzzes to inform you of the lack of a functioning connection.") + return FALSE + + var/obj/machinery/telecomms/tx_to = bs_tx_weakref.resolve() + //Was linked, now destroyed or something + if(!tx_to) + bs_tx_weakref = null + to_chat(loc, "\The [src] buzzes to inform you of the lack of a functioning connection.") + return FALSE + + //Transmitted in the blind. If we get a message back, cool. If not, oh well. + signal.transmission_method = TRANSMISSION_BLUESPACE + return tx_to.receive_signal(signal) + + /* ###### Radios with subspace_transmission can only broadcast through subspace (unless they have adhoc_fallback) ###### */ + else if(subspace_transmission) var/list/jamming = is_jammed(src) if(jamming) var/distance = jamming["distance"] @@ -370,43 +469,9 @@ var/global/list/default_medbay_channels = list( return FALSE // First, we want to generate a new radio signal - var/datum/signal/signal = new - signal.transmission_method = 2 // 2 would be a subspace transmission. - // transmission_method could probably be enumerated through #define. Would be neater. + signal.transmission_method = TRANSMISSION_SUBSPACE - // --- Finally, tag the actual signal with the appropriate values --- - signal.data = list( - // Identity-associated tags: - "mob" = M, // store a reference to the mob - "mobtype" = M.type, // the mob's type - "realname" = real_name, // the mob's real name - "name" = displayname, // the mob's display name - "job" = jobname, // the mob's job - "key" = mobkey, // the mob's key - "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood - "vname" = M.voice_name, // the name to display if the voice wasn't understood - "vmask" = voicemask, // 1 if the mob is using a voice gas mask - - // We store things that would otherwise be kept in the actual mob - // so that they can be logged even AFTER the mob is deleted or something - - // Other tags: - "compression" = rand(45,50), // compressed radio signal - "message" = message, // the actual sent message - "connection" = connection, // the radio connection to use - "radio" = src, // stores the radio used for transmission - "slow" = 0, // how much to sleep() before broadcasting - simulates net lag - "traffic" = 0, // dictates the total traffic sum that the signal went through - "type" = 0, // determines what type of radio input it is: normal broadcast - "server" = null, // the last server to log this signal - "reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery - "level" = position.z, // The source's z level - "language" = speaking, - "verb" = verb - ) - signal.frequency = connection.frequency // Quick frequency set - - //#### Sending the signal to all subspace receivers ####// + //#### Sending the signal to all subspace receivers ####// for(var/obj/machinery/telecomms/receiver/R in telecomms_list) R.receive_signal(signal) @@ -416,84 +481,47 @@ var/global/list/default_medbay_channels = list( R.receive_signal(signal) // Receiving code can be located in Telecommunications.dm - if(signal.data["done"] && position.z in signal.data["level"]) + if(signal.data["done"] && (pos_z in signal.data["level"])) return TRUE //Huzzah, sent via subspace else if(adhoc_fallback) //Less huzzah, we have to fallback to_chat(loc, "\The [src] pings as it falls back to local radio transmission.") subspace_transmission = FALSE - return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), - src, message, displayname, jobname, real_name, M.voice_name, - signal.transmission_method, signal.data["compression"], GetConnectedZlevels(position.z), connection.frequency,verb,speaking) - /* ###### Intercoms and station-bounced radios ###### */ + else //Oh well + return FALSE - var/filter_type = 2 + /* ###### Intercoms and station-bounced radios ###### */ + else + /* --- Intercoms can only broadcast to other intercoms, but bounced radios can broadcast to bounced radios and intercoms --- */ + if(istype(src, /obj/item/device/radio/intercom)) + filter_type = DATA_INTERCOM - /* --- Intercoms can only broadcast to other intercoms, but bounced radios can broadcast to bounced radios and intercoms --- */ - if(istype(src, /obj/item/device/radio/intercom)) - filter_type = 1 + /* --- Try to send a normal subspace broadcast first */ + signal.transmission_method = TRANSMISSION_SUBSPACE + signal.data["compression"] = 0 + for(var/obj/machinery/telecomms/receiver/R in telecomms_list) + R.receive_signal(signal) - var/datum/signal/signal = new - signal.transmission_method = 2 - - - /* --- Try to send a normal subspace broadcast first */ - - signal.data = list( - - "mob" = M, // store a reference to the mob - "mobtype" = M.type, // the mob's type - "realname" = real_name, // the mob's real name - "name" = displayname, // the mob's display name - "job" = jobname, // the mob's job - "key" = mobkey, // the mob's key - "vmessage" = pick(M.speak_emote), // the message to display if the voice wasn't understood - "vname" = M.voice_name, // the name to display if the voice wasn't understood - "vmask" = voicemask, // 1 if the mob is using a voice gas mas - - "compression" = 0, // uncompressed radio signal - "message" = message, // the actual sent message - "connection" = connection, // the radio connection to use - "radio" = src, // stores the radio used for transmission - "slow" = 0, - "traffic" = 0, - "type" = 0, - "server" = null, - "reject" = 0, - "level" = position.z, - "language" = speaking, - "verb" = verb - ) - signal.frequency = connection.frequency // Quick frequency set + // Allinone can act as receivers. + for(var/obj/machinery/telecomms/allinone/R in telecomms_list) + R.receive_signal(signal) for(var/obj/machinery/telecomms/receiver/R in telecomms_list) R.receive_signal(signal) - if(signal.data["done"] && position.z in signal.data["level"]) - if(adhoc_fallback) - to_chat(loc, "\The [src] pings as it reestablishes subspace communications.") - subspace_transmission = TRUE - // we're done here. - return TRUE - - // Oh my god; the comms are down or something because the signal hasn't been broadcasted yet in our level. - // Send a mundane broadcast with limited targets: - - //THIS IS TEMPORARY. YEAH RIGHT - if(!connection) return FALSE //~Carn - -//VOREStation Add Start - if(bluespace_radio) - return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), - src, message, displayname, jobname, real_name, M.voice_name, - 0, signal.data["compression"], list(0), connection.frequency,verb,speaking) -//VOREStation Add End + if(signal.data["done"] && pos_z in signal.data["level"]) + if(adhoc_fallback) + to_chat(loc, "\The [src] pings as it reestablishes subspace communications.") + subspace_transmission = TRUE + // we're done here. + return TRUE + //Nothing handled any sort of remote radio-ing and returned before now, just squawk on this zlevel. return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote), - src, message, displayname, jobname, real_name, M.voice_name, - filter_type, signal.data["compression"], GetConnectedZlevels(position.z), connection.frequency,verb,speaking) + src, message, displayname, jobname, real_name, M.voice_name, + filter_type, signal.data["compression"], using_map.get_map_levels(pos_z), connection.frequency, verb, speaking) /obj/item/device/radio/hear_talk(mob/M as mob, msg, var/verb = "says", var/datum/language/speaking = null) @@ -502,33 +530,20 @@ var/global/list/default_medbay_channels = list( talk_into(M, msg,null,verb,speaking) -/* -/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message) - - if ((R.frequency == frequency && message)) - return TRUE - else if - - else - return null - return -*/ - /obj/item/device/radio/proc/receive_range(freq, level) // check if this radio can receive on the given frequency, and if so, // what the range is in which mobs will hear the radio // returns: -1 if can't receive, range otherwise - - if (wires.IsIndexCut(WIRE_RECEIVE)) + if(wires.IsIndexCut(WIRE_RECEIVE)) return -1 if(!listening) return -1 if(is_jammed(src)) return -1 if(!(0 in level)) - var/turf/position = get_turf(src) - if((!position || !(position.z in level)) && !bluespace_radio) //VOREStation Edit + var/pos_z = get_z(src) + if(!(pos_z in level)) return -1 if(freq in ANTAG_FREQS) if(!(src.syndie))//Checks to see if it's allowed on that frequency, based on the encryption keys diff --git a/code/game/objects/items/devices/radio/radio_vr.dm b/code/game/objects/items/devices/radio/radio_vr.dm index 86a16280fc9..aa12444576e 100644 --- a/code/game/objects/items/devices/radio/radio_vr.dm +++ b/code/game/objects/items/devices/radio/radio_vr.dm @@ -1,6 +1,3 @@ -/obj/item/device/radio - var/bluespace_radio = FALSE - /obj/item/device/radio/phone subspace_transmission = 1 canhear_range = 0 @@ -17,132 +14,20 @@ ..() internal_channels = default_medbay_channels.Copy() -//Pathfinder's Subspace Radio -/obj/item/device/subspaceradio - name = "subspace radio" - desc = "A powerful new radio recently gifted to Nanotrasen from KHI, this communications device has the ability to send and recieve transmissions from anywhere." - catalogue_data = list(/datum/category_item/catalogue/information/organization/khi) - icon = 'icons/vore/custom_items_vr.dmi' - icon_override = 'icons/mob/back_vr.dmi' - icon_state = "radiopack" - item_state = "radiopack" - slot_flags = SLOT_BACK - force = 5 - throwforce = 6 - preserve_item = 1 - w_class = ITEMSIZE_LARGE - action_button_name = "Remove/Replace Handset" - var/obj/item/device/radio/subspacehandset/linked/handset -/obj/item/device/subspaceradio/New() //starts without a cell for rnd - ..() - if(ispath(handset)) - handset = new handset(src, src) - else - handset = new(src, src) +/obj/item/device/bluespaceradio/tether_prelinked + name = "bluespace radio (tether)" + handset = /obj/item/device/radio/bluespacehandset/linked/tether_prelinked -/obj/item/device/subspaceradio/Destroy() - . = ..() - QDEL_NULL(handset) +/obj/item/device/radio/bluespacehandset/linked/tether_prelinked + bs_tx_preload_id = "tether_rx" //Transmit to a receiver + bs_rx_preload_id = "tether_tx" //Recveive from a transmitter -/obj/item/device/subspaceradio/ui_action_click() - toggle_handset() +/obj/item/device/bluespaceradio/talon_prelinked + name = "bluespace radio (talon)" + handset = /obj/item/device/radio/bluespacehandset/linked/talon_prelinked -/obj/item/device/subspaceradio/attack_hand(mob/user) - if(loc == user) - toggle_handset() - else - ..() - -/obj/item/device/subspaceradio/MouseDrop() - if(ismob(loc)) - if(!CanMouseDrop(src)) - return - var/mob/M = loc - if(!M.unEquip(src)) - return - add_fingerprint(usr) - M.put_in_any_hand_if_possible(src) - -/obj/item/device/subspaceradio/attackby(obj/item/weapon/W, mob/user, params) - if(W == handset) - reattach_handset(user) - else - return ..() - -/obj/item/device/subspaceradio/verb/toggle_handset() - set name = "Toggle Handset" - set category = "Object" - - var/mob/living/carbon/human/user = usr - if(!handset) - to_chat(user, "The handset is missing!") - return - - if(handset.loc != src) - reattach_handset(user) //Remove from their hands and back onto the defib unit - return - - if(!slot_check()) - to_chat(user, "You need to equip [src] before taking out [handset].") - else - if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands - to_chat(user, "You need a free hand to hold the handset!") - update_icon() //success - -//checks that the base unit is in the correct slot to be used -/obj/item/device/subspaceradio/proc/slot_check() - var/mob/M = loc - if(!istype(M)) - return 0 //not equipped - - if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_back) == src) - return 1 - if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_s_store) == src) - return 1 - - return 0 - -/obj/item/device/subspaceradio/dropped(mob/user) - ..() - reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit - -/obj/item/device/subspaceradio/proc/reattach_handset(mob/user) - if(!handset) return - - if(ismob(handset.loc)) - var/mob/M = handset.loc - if(M.drop_from_inventory(handset, src)) - to_chat(user, "\The [handset] snaps back into the main unit.") - else - handset.forceMove(src) - -//Subspace Radio Handset -/obj/item/device/radio/subspacehandset - name = "subspace radio handset" - desc = "A large walkie talkie attached to the subspace radio by a retractable cord. It sits comfortably on a slot in the radio when not in use." - bluespace_radio = TRUE - icon_state = "signaller" - slot_flags = null - w_class = ITEMSIZE_LARGE - -/obj/item/device/radio/subspacehandset/linked - var/obj/item/device/subspaceradio/base_unit - -/obj/item/device/radio/subspacehandset/linked/New(newloc, obj/item/device/subspaceradio/radio) - base_unit = radio - ..(newloc) - -/obj/item/device/radio/subspacehandset/linked/Destroy() - if(base_unit) - //ensure the base unit's icon updates - if(base_unit.handset == src) - base_unit.handset = null - base_unit = null - return ..() - -/obj/item/device/radio/subspacehandset/linked/dropped(mob/user) - ..() //update twohanding - if(base_unit) - base_unit.reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit +/obj/item/device/radio/bluespacehandset/linked/talon_prelinked + bs_tx_preload_id = "talon_aio" //Transmit to a receiver + bs_rx_preload_id = "talon_aio" //Recveive from a transmitter \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/radiopack.dm b/code/game/objects/items/devices/radio/radiopack.dm new file mode 100644 index 00000000000..c2ba25ecc2f --- /dev/null +++ b/code/game/objects/items/devices/radio/radiopack.dm @@ -0,0 +1,153 @@ +/obj/item/device/bluespaceradio + name = "bluespace radio" + desc = "A powerful radio that uses a tiny bluespace wormhole to send signals directly to subspace receivers and transmitters, bypassing the limitations of subspace." + icon = 'icons/obj/radio.dmi' + icon_state = "radiopack" + item_state = "radiopack" + slot_flags = SLOT_BACK + force = 5 + throwforce = 6 + preserve_item = 1 + w_class = ITEMSIZE_LARGE + action_button_name = "Remove/Replace Handset" + + var/obj/item/device/radio/bluespacehandset/linked/handset = /obj/item/device/radio/bluespacehandset/linked + +/obj/item/device/bluespaceradio/Initialize() + . = ..() + if(ispath(handset)) + handset = new handset(src, src) + +/obj/item/device/bluespaceradio/Destroy() + . = ..() + QDEL_NULL(handset) + +/obj/item/device/bluespaceradio/ui_action_click() + toggle_handset() + +/obj/item/device/bluespaceradio/attack_hand(var/mob/user) + if(loc == user) + toggle_handset() + else + ..() + +/obj/item/device/bluespaceradio/MouseDrop() + if(ismob(loc)) + if(!CanMouseDrop(src)) + return + var/mob/M = loc + if(!M.unEquip(src)) + return + add_fingerprint(usr) + M.put_in_any_hand_if_possible(src) + +/obj/item/device/bluespaceradio/attackby(var/obj/item/weapon/W, var/mob/user, var/params) + if(W == handset) + reattach_handset(user) + else + return ..() + +/obj/item/device/bluespaceradio/verb/toggle_handset() + set name = "Toggle Handset" + set category = "Object" + + var/mob/living/carbon/human/user = usr + if(!handset) + to_chat(user, "The handset is missing!") + return + + if(handset.loc != src) + reattach_handset(user) //Remove from their hands and back onto the defib unit + return + + if(!slot_check()) + to_chat(user, "You need to equip [src] before taking out [handset].") + else + if(!usr.put_in_hands(handset)) //Detach the handset into the user's hands + to_chat(user, "You need a free hand to hold the handset!") + update_icon() //success + +//checks that the base unit is in the correct slot to be used +/obj/item/device/bluespaceradio/proc/slot_check() + var/mob/M = loc + if(!istype(M)) + return 0 //not equipped + + if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_back) == src) + return 1 + if((slot_flags & SLOT_BACK) && M.get_equipped_item(slot_s_store) == src) + return 1 + + return 0 + +/obj/item/device/bluespaceradio/dropped(var/mob/user) + ..() + reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit + +/obj/item/device/bluespaceradio/proc/reattach_handset(var/mob/user) + if(!handset) return + + if(ismob(handset.loc)) + var/mob/M = handset.loc + if(M.drop_from_inventory(handset, src)) + to_chat(user, "\The [handset] snaps back into the main unit.") + else + handset.forceMove(src) + +//Subspace Radio Handset +/obj/item/device/radio/bluespacehandset + name = "bluespace radio handset" + desc = "A large walkie talkie attached to the bluespace radio by a retractable cord. It sits comfortably on a slot in the radio when not in use." + bluespace_radio = TRUE + icon_state = "signaller" + slot_flags = null + w_class = ITEMSIZE_LARGE + canhear_range = 1 + +/obj/item/device/radio/bluespacehandset/linked + var/obj/item/device/bluespaceradio/base_unit + +/obj/item/device/radio/bluespacehandset/linked/Initialize(mapload, var/obj/item/device/bluespaceradio/radio) + base_unit = radio + . = ..() + +/obj/item/device/radio/bluespacehandset/linked/Destroy() + if(base_unit) + //ensure the base unit's icon updates + if(base_unit.handset == src) + base_unit.handset = null + base_unit = null + return ..() + +/obj/item/device/radio/bluespacehandset/linked/dropped(var/mob/user) + ..() //update twohanding + if(base_unit) + base_unit.reattach_handset(user) //handset attached to a base unit should never exist outside of their base unit or the mob equipping the base unit + +/obj/item/device/radio/bluespacehandset/linked/receive_range(var/freq, var/list/level) + //Only care about megabroadcasts or things that are targeted at us + if(!(0 in level)) + return -1 + if(wires.IsIndexCut(WIRE_RECEIVE)) + return -1 + if(!listening) + return -1 + if(is_jammed(src)) + return -1 + if (!on) + return -1 + if (!freq) //recieved on main frequency + if (!listening) + return -1 + else + var/accept = (freq==frequency && listening) + if (!accept) + for (var/ch_name in channels) + var/datum/radio_frequency/RF = secure_radio_connections[ch_name] + if (RF && RF.frequency==freq && (channels[ch_name]&FREQ_LISTENING)) + accept = 1 + break + if (!accept) + return -1 + + return canhear_range diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index 96979c8452f..34503af8feb 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -3,20 +3,36 @@ /turf/simulated/wall/r_wall/Initialize(mapload) . = ..(mapload, "plasteel","plasteel") //3strong +/turf/simulated/wall/shull + icon_state = "hull-steel" /turf/simulated/wall/shull/Initialize(mapload) //Spaaaace ship. . = ..(mapload, MAT_STEELHULL, null, MAT_STEELHULL) +/turf/simulated/wall/rshull + icon_state = "hull-r_steel" /turf/simulated/wall/rshull/Initialize(mapload) . = ..(mapload, MAT_STEELHULL, MAT_STEELHULL, MAT_STEELHULL) +/turf/simulated/wall/pshull + icon_state = "hull-plasteel" /turf/simulated/wall/pshull/Initialize(mapload) //Spaaaace-er ship. . = ..(mapload, MAT_PLASTEELHULL, null, MAT_PLASTEELHULL) +/turf/simulated/wall/rpshull + icon_state = "hull-r_plasteel" /turf/simulated/wall/rpshull/Initialize(mapload) . = ..(mapload, MAT_PLASTEELHULL, MAT_PLASTEELHULL, MAT_PLASTEELHULL) +/turf/simulated/wall/dshull + icon_state = "hull-durasteel" /turf/simulated/wall/dshull/Initialize(mapload) //Spaaaace-est ship. . = ..(mapload, MAT_DURASTEELHULL, null, MAT_DURASTEELHULL) +/turf/simulated/wall/rdshull + icon_state = "hull-r_durasteel" /turf/simulated/wall/rdshull/Initialize(mapload) . = ..(mapload, MAT_DURASTEELHULL, MAT_DURASTEELHULL, MAT_DURASTEELHULL) +/turf/simulated/wall/thull + icon_state = "hull-titanium" /turf/simulated/wall/thull/Initialize(mapload) . = ..(mapload, MAT_TITANIUMHULL, null, MAT_TITANIUMHULL) +/turf/simulated/wall/rthull + icon_state = "hull-r_titanium" /turf/simulated/wall/rthull/Initialize(mapload) . = ..(mapload, MAT_TITANIUMHULL, MAT_TITANIUMHULL, MAT_TITANIUMHULL) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index ca177403acd..187f3a2775f 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -251,7 +251,7 @@ var/const/enterloopsanity = 100 /turf/proc/inertial_drift(atom/movable/A as mob|obj) if(!(A.last_move)) return - if((istype(A, /mob/) && src.x > 2 && src.x < (world.maxx - 1) && src.y > 2 && src.y < (world.maxy-1))) + if((istype(A, /mob/) && src.x > 1 && src.x < (world.maxx) && src.y > 1 && src.y < (world.maxy))) var/mob/M = A if(M.Process_Spacemove(1)) M.inertia_dir = 0 diff --git a/code/game/world.dm b/code/game/world.dm index 9039b551056..504ad691671 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -181,6 +181,17 @@ var/world_topic_spam_protect_time = world.timeofday if(!positions["misc"]) positions["misc"] = list() positions["misc"][name] = rank + + for(var/datum/data/record/t in data_core.hidden_general) + var/name = t.fields["name"] + var/rank = t.fields["rank"] + var/real_rank = make_list_rank(t.fields["real_rank"]) + + var/datum/job/J = SSjob.get_job(real_rank) + if(J?.offmap_spawn) + if(!positions["off"]) + positions["off"] = list() + positions["off"][name] = rank // Synthetics don't have actual records, so we will pull them from here. for(var/mob/living/silicon/ai/ai in mob_list) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 73a8e7bc5b8..ace7d48e91f 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -525,7 +525,7 @@ Traitors and the like can also be revived with the previous role mostly intact. //If we're announcing their arrival if(announce) - AnnounceArrival(new_character, new_character.mind.assigned_role) + AnnounceArrival(new_character, new_character.mind.assigned_role, "Common", new_character.z) log_admin("[admin] has spawned [player_key]'s character [new_character.real_name].") message_admins("[admin] has spawned [player_key]'s character [new_character.real_name].", 1) diff --git a/code/modules/alarm/alarm_handler.dm b/code/modules/alarm/alarm_handler.dm index 22b069093ad..cbec4c25b68 100644 --- a/code/modules/alarm/alarm_handler.dm +++ b/code/modules/alarm/alarm_handler.dm @@ -47,16 +47,17 @@ existing.clear(source) return check_alarm_cleared(existing) -/datum/alarm_handler/proc/major_alarms() - return visible_alarms() +/datum/alarm_handler/proc/major_alarms(var/z) + return visible_alarms(z) -/datum/alarm_handler/proc/has_major_alarms() - if(alarms && alarms.len) - return 1 - return 0 +/datum/alarm_handler/proc/has_major_alarms(var/z) + if(!LAZYLEN(alarms)) + return 0 -/datum/alarm_handler/proc/minor_alarms() - return visible_alarms() + return LAZYLEN(major_alarms(z)) + +/datum/alarm_handler/proc/minor_alarms(var/z) + return visible_alarms(z) /datum/alarm_handler/proc/check_alarm_cleared(var/datum/alarm/alarm) if ((alarm.end_time && world.time > alarm.end_time) || !alarm.sources.len) @@ -101,9 +102,15 @@ for(var/listener in listeners) call(listener, listeners[listener])(src, alarm, was_raised) -/datum/alarm_handler/proc/visible_alarms() +/datum/alarm_handler/proc/visible_alarms(var/z) + if(!LAZYLEN(alarms)) + return list() + + var/list/map_levels = using_map.get_map_levels(z) + var/list/visible_alarms = new() for(var/datum/alarm/A in alarms) - if(!A.hidden) - visible_alarms.Add(A) + if(A.hidden || (z && !(A.origin?.z in map_levels))) + continue + visible_alarms.Add(A) return visible_alarms \ No newline at end of file diff --git a/code/modules/alarm/atmosphere_alarm.dm b/code/modules/alarm/atmosphere_alarm.dm index fc0fe92ee45..f19044a6b75 100644 --- a/code/modules/alarm/atmosphere_alarm.dm +++ b/code/modules/alarm/atmosphere_alarm.dm @@ -1,16 +1,22 @@ /datum/alarm_handler/atmosphere category = "Atmosphere Alarms" -/datum/alarm_handler/atmosphere/major_alarms() +/datum/alarm_handler/atmosphere/major_alarms(var/z) var/list/major_alarms = new() + var/list/map_levels = using_map.get_map_levels(z) for(var/datum/alarm/A in visible_alarms()) + if(z && (z && !(A.origin?.z in map_levels))) + continue if(A.max_severity() > 1) major_alarms.Add(A) return major_alarms -/datum/alarm_handler/atmosphere/minor_alarms() +/datum/alarm_handler/atmosphere/minor_alarms(var/z) var/list/minor_alarms = new() + var/list/map_levels = using_map.get_map_levels(z) for(var/datum/alarm/A in visible_alarms()) + if(z && (z && !(A.origin?.z in map_levels))) + continue if(A.max_severity() == 1) minor_alarms.Add(A) return minor_alarms diff --git a/code/modules/client/preferences_spawnpoints.dm b/code/modules/client/preferences_spawnpoints.dm index c0c54169b25..acf1c771a73 100644 --- a/code/modules/client/preferences_spawnpoints.dm +++ b/code/modules/client/preferences_spawnpoints.dm @@ -12,6 +12,7 @@ var/list/spawntypes = list() var/display_name //Name used in preference setup. var/list/restrict_job = null var/list/disallow_job = null + var/announce_channel = "Common" proc/check_job_spawning(job) if(restrict_job && !(job in restrict_job)) @@ -20,6 +21,10 @@ var/list/spawntypes = list() if(disallow_job && (job in disallow_job)) return 0 + var/datum/job/J = SSjob.get_job(job) + if(J?.offmap_spawn && !(job in restrict_job)) + return 0 + return 1 /datum/spawnpoint/proc/get_spawn_position() diff --git a/code/modules/clothing/glasses/hud_vr.dm b/code/modules/clothing/glasses/hud_vr.dm index 3dd1f0fbafe..44082e86062 100644 --- a/code/modules/clothing/glasses/hud_vr.dm +++ b/code/modules/clothing/glasses/hud_vr.dm @@ -71,7 +71,7 @@ These have been upgraded with medical records access and virus database integration." mode = "med" action_button_name = "AR Console (Crew Monitor)" - arscreen_path = /datum/nano_module/crew_monitor + arscreen_path = /datum/nano_module/program/crew_monitor enables_planes = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_CH_STATUS_R,VIS_CH_BACKUP,VIS_AUGMENTED) ar_interact(var/mob/living/carbon/human/user) diff --git a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm index a76b752b1b1..f543b95431b 100644 --- a/code/modules/clothing/spacesuits/rig/suits/station_vr.dm +++ b/code/modules/clothing/spacesuits/rig/suits/station_vr.dm @@ -17,39 +17,39 @@ //Area allowing backpacks to be placed on rigsuits. /obj/item/weapon/rig/vox - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/backpack, /obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/combat - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/ert allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \ /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \ /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/light/ninja - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/cell, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/merc - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/ce - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/medical - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/firstaid,/obj/item/device/healthanalyzer,/obj/item/stack/medical,/obj/item/roller,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/hazmat - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/stack/flag,/obj/item/weapon/storage/excavation,/obj/item/weapon/pickaxe,/obj/item/device/healthanalyzer,/obj/item/device/measuring_tape,/obj/item/device/ano_scanner,/obj/item/device/depth_scanner,/obj/item/device/core_sampler,/obj/item/device/gps,/obj/item/device/beacon_locator,/obj/item/device/radio/beacon,/obj/item/weapon/pickaxe/hand,/obj/item/weapon/storage/bag/fossils,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/hazard - allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/industrial - allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd,/obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/military allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/handcuffs, \ /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/weldingtool, /obj/item/weapon/tool, /obj/item/device/multitool, \ /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/device/suit_cooling_unit, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/pmc allowed = list(/obj/item/device/flashlight, /obj/item/weapon/tank, /obj/item/device/t_scanner, /obj/item/weapon/rcd, /obj/item/weapon/tool/crowbar, \ /obj/item/weapon/tool/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/tool/wirecutters, /obj/item/weapon/tool/wrench, /obj/item/device/multitool, \ /obj/item/device/radio, /obj/item/device/analyzer,/obj/item/weapon/storage/briefcase/inflatable, /obj/item/weapon/melee/baton, /obj/item/weapon/gun, \ - /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/subspaceradio, /obj/item/device/defib_kit) + /obj/item/weapon/storage/firstaid, /obj/item/weapon/reagent_containers/hypospray, /obj/item/roller, /obj/item/weapon/storage/backpack,/obj/item/device/bluespaceradio, /obj/item/device/defib_kit) /obj/item/weapon/rig/robotics allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact) diff --git a/code/modules/economy/Accounts.dm b/code/modules/economy/Accounts.dm index cfd720d4dc8..37979f96c53 100644 --- a/code/modules/economy/Accounts.dm +++ b/code/modules/economy/Accounts.dm @@ -9,6 +9,7 @@ var/security_level = 0 //0 - auto-identify from worn ID, require only account number //1 - require manual login / account number and pin //2 - require card and manual login + var/offmap = FALSE //Should this account be hidden from station consoles? /datum/transaction var/target_name = "" @@ -18,10 +19,11 @@ var/time = "" var/source_terminal = "" -/proc/create_account(var/new_owner_name = "Default user", var/starting_funds = 0, var/obj/machinery/account_database/source_db) +/proc/create_account(var/new_owner_name = "Default user", var/starting_funds = 0, var/obj/machinery/account_database/source_db, var/offmap = FALSE) //create a new account var/datum/money_account/M = new() + M.offmap = offmap M.owner_name = new_owner_name M.remote_access_pin = rand(1111, 111111) M.money = starting_funds diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index 251ba09e368..9e116ecf60d 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -14,31 +14,31 @@ var/creating_new_account = 0 var/const/fund_cap = 1000000 - proc/get_access_level() - if (!held_card) - return 0 - if(access_cent_captain in held_card.access) - return 2 - else if(access_hop in held_card.access || access_captain in held_card.access) - return 1 +/obj/machinery/account_database/proc/get_access_level() + if (!held_card) + return 0 + if(access_cent_captain in held_card.access) + return 2 + else if(access_hop in held_card.access || access_captain in held_card.access) + return 1 - proc/create_transation(target, reason, amount) - var/datum/transaction/T = new() - T.target_name = target - T.purpose = reason - T.amount = amount - T.date = current_date_string - T.time = stationtime2text() - T.source_terminal = machine_id - return T +/obj/machinery/account_database/proc/create_transation(target, reason, amount) + var/datum/transaction/T = new() + T.target_name = target + T.purpose = reason + T.amount = amount + T.date = current_date_string + T.time = stationtime2text() + T.source_terminal = machine_id + return T - proc/accounting_letterhead(report_name) - return {" -

[report_name]

-
[station_name()] Accounting Report
-
- Generated By: [held_card.registered_name], [held_card.assignment]
- "} +/obj/machinery/account_database/proc/accounting_letterhead(report_name) + return {" +

[report_name]

+
[station_name()] Accounting Report
+
+ Generated By: [held_card.registered_name], [held_card.assignment]
+ "} /obj/machinery/account_database/New() machine_id = "[station_name()] Acc. DB #[num_financial_terminals++]" @@ -98,6 +98,8 @@ var/list/accounts[0] for(var/i=1, i<=all_money_accounts.len, i++) var/datum/money_account/D = all_money_accounts[i] + if(D.offmap) + continue accounts.Add(list(list(\ "account_number"=D.account_number,\ "owner_name"=D.owner_name,\ diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index ff5c89e289e..c0b28cc1e2b 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -17,6 +17,7 @@ var/list/department_radio_keys = list( ":v" = "Service", ".v" = "Service", ":p" = "AI Private", ".p" = "AI Private", ":y" = "Explorer", ".y" = "Explorer", + ":t" = "Talon", ".t" = "Talon", //VOREStation Add, ":R" = "right ear", ".R" = "right ear", ":L" = "left ear", ".L" = "left ear", @@ -35,6 +36,7 @@ var/list/department_radio_keys = list( ":V" = "Service", ".V" = "Service", ":P" = "AI Private", ".P" = "AI Private", ":Y" = "Explorer", ".Y" = "Explorer", + ":T" = "Talon", ".T" = "Talon", //VOREStation Add, //kinda localization -- rastaf0 //same keys as above, but on russian keyboard layout. This file uses cp1251 as encoding. diff --git a/code/modules/mob/living/silicon/subystems.dm b/code/modules/mob/living/silicon/subystems.dm index ac10167c2dd..b03ab5eeb21 100644 --- a/code/modules/mob/living/silicon/subystems.dm +++ b/code/modules/mob/living/silicon/subystems.dm @@ -2,7 +2,7 @@ var/register_alarms = 1 var/datum/nano_module/alarm_monitor/all/alarm_monitor var/datum/nano_module/atmos_control/atmos_control - var/datum/nano_module/crew_monitor/crew_monitor + var/datum/nano_module/program/crew_monitor/crew_monitor var/datum/nano_module/law_manager/law_manager var/datum/nano_module/power_monitor/power_monitor var/datum/nano_module/rcon/rcon diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index cbef27dfa32..f266fa20fdd 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -370,8 +370,13 @@ //Find our spawning point. var/list/join_props = job_master.LateSpawn(client, rank) + + if(!join_props) + return + var/turf/T = join_props["turf"] var/join_message = join_props["msg"] + var/announce_channel = join_props["channel"] || "Common" if(!T || !join_message) return 0 @@ -421,18 +426,19 @@ //Grab some data from the character prefs for use in random news procs. - AnnounceArrival(character, rank, join_message) + AnnounceArrival(character, rank, join_message, announce_channel, character.z) else - AnnounceCyborg(character, rank, join_message) + AnnounceCyborg(character, rank, join_message, announce_channel, character.z) qdel(src) -/mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message) +/mob/new_player/proc/AnnounceCyborg(var/mob/living/character, var/rank, var/join_message, var/channel, var/zlevel) if (ticker.current_state == GAME_STATE_PLAYING) + var/list/zlevels = zlevel ? using_map.get_map_levels(zlevel, TRUE) : null if(character.mind.role_alt_title) rank = character.mind.role_alt_title // can't use their name here, since cyborg namepicking is done post-spawn, so we'll just say "A new Cyborg has arrived"/"A new Android has arrived"/etc. - global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer") + global_announcer.autosay("A new[rank ? " [rank]" : " visitor" ] [join_message ? join_message : "has arrived on the station"].", "Arrivals Announcement Computer", channel, zlevels) /mob/new_player/proc/LateChoices() var/name = client.prefs.be_random_name ? "friend" : client.prefs.real_name @@ -452,6 +458,8 @@ dat += "Choose from the following open/valid positions:
" dat += "[show_hidden_jobs ? "Hide":"Show"] Hidden Jobs.
" + + var/deferred = "" for(var/datum/job/job in job_master.occupations) if(job && IsJobAvailable(job.title)) // Checks for jobs with minimum age requirements @@ -465,9 +473,17 @@ continue var/active = 0 // Only players with the job assigned and AFK for less than 10 minutes count as active - for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 * 60 * 10) + for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 MINUTES) active++ - dat += "[job.title] ([job.current_positions]) (Active: [active])
" + + var/string = "[job.title] ([job.current_positions]) (Active: [active])
" + + if(job.offmap_spawn) //At the bottom + deferred += string + else + dat += string + + dat += deferred dat += "" src << browse(dat, "window=latechoices;size=300x640;can_close=1") diff --git a/code/modules/modular_computers/computers/subtypes/dev_console.dm b/code/modules/modular_computers/computers/subtypes/dev_console.dm index 32f24b6001d..d7dbeed75d3 100644 --- a/code/modules/modular_computers/computers/subtypes/dev_console.dm +++ b/code/modules/modular_computers/computers/subtypes/dev_console.dm @@ -1,7 +1,7 @@ /obj/item/modular_computer/console name = "console" desc = "A stationary computer." - icon = 'icons/obj/modular_console_vr.dmi' //VOREStation Edit + icon = 'icons/obj/modular_console.dmi' icon_state = "console" icon_state_unpowered = "console" icon_state_screensaver = "standby" diff --git a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm index 846759c8ad7..156d67525b5 100644 --- a/code/modules/modular_computers/computers/subtypes/dev_laptop.dm +++ b/code/modules/modular_computers/computers/subtypes/dev_laptop.dm @@ -4,7 +4,7 @@ desc = "A portable computer." hardware_flag = PROGRAM_LAPTOP icon_state_unpowered = "laptop-open" - icon = 'icons/obj/modular_laptop_vr.dmi' //VOREStation Edit + icon = 'icons/obj/modular_laptop.dmi' icon_state = "laptop-open" icon_state_screensaver = "standby" base_idle_power_usage = 25 diff --git a/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm b/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm index 3bbc7a396ba..9a879286189 100644 --- a/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm +++ b/code/modules/modular_computers/computers/subtypes/preset_tablet_vr.dm @@ -1,7 +1,7 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/rugged name = "rugged tablet computer" desc = "A rugged tablet computer." - icon = 'icons/obj/modular_tablet_vr.dmi' + icon = 'icons/obj/modular_tablet.dmi' icon_state = "rugged" icon_state_unpowered = "rugged" max_damage = 300 @@ -19,7 +19,7 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/elite name = "elite tablet computer" desc = "A more expensive tablet computer." - icon = 'icons/obj/modular_tablet_vr.dmi' + icon = 'icons/obj/modular_tablet.dmi' icon_state = "elite" icon_state_unpowered = "elite" @@ -37,7 +37,7 @@ /obj/item/modular_computer/tablet/preset/custom_loadout/hybrid name = "hybrid tablet computer" desc = "A human/alien hybrid tech tablet computer." - icon = 'icons/obj/modular_tablet_vr.dmi' + icon = 'icons/obj/modular_tablet.dmi' icon_state = "hybrid" icon_state_unpowered = "hybrid" diff --git a/code/modules/modular_computers/file_system/programs/command/comm.dm b/code/modules/modular_computers/file_system/programs/command/comm.dm index 71e7179566b..fc2efa88202 100644 --- a/code/modules/modular_computers/file_system/programs/command/comm.dm +++ b/code/modules/modular_computers/file_system/programs/command/comm.dm @@ -268,7 +268,7 @@ var/datum/signal/status_signal = new status_signal.source = src - status_signal.transmission_method = 1 + status_signal.transmission_method = TRANSMISSION_RADIO status_signal.data["command"] = command switch(command) diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm index c8870347543..bb45191f2fd 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm_monitor.dm @@ -61,31 +61,35 @@ AH.unregister_alarm(object) /datum/nano_module/alarm_monitor/proc/all_alarms() + var/z = get_z(nano_host()) var/list/all_alarms = new() for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.visible_alarms() + all_alarms += AH.visible_alarms(z) return all_alarms /datum/nano_module/alarm_monitor/proc/major_alarms() + var/z = get_z(nano_host()) var/list/all_alarms = new() for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.major_alarms() + all_alarms += AH.major_alarms(z) return all_alarms // Modified version of above proc that uses slightly less resources, returns 1 if there is a major alarm, 0 otherwise. /datum/nano_module/alarm_monitor/proc/has_major_alarms() + var/z = get_z(nano_host()) for(var/datum/alarm_handler/AH in alarm_handlers) - if(AH.has_major_alarms()) + if(AH.has_major_alarms(z)) return 1 return 0 /datum/nano_module/alarm_monitor/proc/minor_alarms() + var/z = get_z(nano_host()) var/list/all_alarms = new() for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.minor_alarms() + all_alarms += AH.minor_alarms(z) return all_alarms @@ -104,9 +108,10 @@ var/list/data = host.initial_data() var/categories[0] + var/z = get_z(nano_host()) for(var/datum/alarm_handler/AH in alarm_handlers) categories[++categories.len] = list("category" = AH.category, "alarms" = list()) - for(var/datum/alarm/A in AH.major_alarms()) + for(var/datum/alarm/A in AH.major_alarms(z)) var/cameras[0] var/lost_sources[0] diff --git a/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm b/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm index 776e73ec7a5..bfcaadee3e9 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm @@ -47,12 +47,17 @@ /datum/nano_module/atmos_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/master_ui = null, var/datum/topic_state/state = default_state) var/list/data = host.initial_data() var/alarms[0] - var/turf/T = get_turf(nano_host()) + + var/z = get_z(nano_host()) + var/list/map_levels = using_map.get_map_levels(z) + data["map_levels"] = map_levels // TODO: Move these to a cache, similar to cameras for(var/obj/machinery/alarm/alarm in (monitored_alarms.len ? monitored_alarms : machines)) if(!monitored_alarms.len && alarm.alarms_hidden) continue + if(!(alarm.z in map_levels)) + continue alarms[++alarms.len] = list( "name" = sanitize(alarm.name), "ref"= "\ref[alarm]", @@ -61,7 +66,6 @@ "y" = alarm.y, "z" = alarm.z) data["alarms"] = alarms - data["map_levels"] = using_map.get_map_levels(T.z) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) diff --git a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm index 32117e845cb..b5c086dc260 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm @@ -53,10 +53,15 @@ var/list/sensors = list() // Focus: If it remains null if no sensor is selected and UI will display sensor list, otherwise it will display sensor reading. var/obj/machinery/power/sensor/focus = null - var/turf/T = get_turf(nano_host()) + + var/z = get_z(nano_host()) + var/list/map_levels = using_map.get_map_levels(z) + data["map_levels"] = map_levels // Build list of data from sensor readings. for(var/obj/machinery/power/sensor/S in grid_sensors) + if(!(S.z in map_levels)) + continue sensors.Add(list(list( "name" = S.name_tag, "alarm" = S.check_grid_warning() @@ -67,7 +72,6 @@ data["all_sensors"] = sensors if(focus) data["focus"] = focus.return_reading_data() - data["map_levels"] = using_map.get_map_levels(T.z) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) diff --git a/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm b/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm index d5ee88b6700..7603b1115e3 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm @@ -122,11 +122,19 @@ // Description: Refreshes local list of known devices. /datum/nano_module/rcon/proc/FindDevices() known_SMESs = new /list() + + var/z = get_z(nano_host()) + var/list/map_levels = using_map.get_map_levels(z) + for(var/obj/machinery/power/smes/buildable/SMES in machines) + if(!(SMES.z in map_levels)) + continue if(SMES.RCon_tag && (SMES.RCon_tag != "NO_TAG") && SMES.RCon) known_SMESs.Add(SMES) known_breakers = new /list() for(var/obj/machinery/power/breakerbox/breaker in machines) + if(!(breaker.z in map_levels)) + continue if(breaker.RCon_tag != "NO_TAG") known_breakers.Add(breaker) diff --git a/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm index af0489a953c..6939a44dffe 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm @@ -41,10 +41,10 @@ // Refreshes list of active supermatter crystals /datum/nano_module/supermatter_monitor/proc/refresh() supermatters = list() - var/turf/T = get_turf(nano_host()) - if(!T) + var/z = get_z(nano_host()) + if(!z) return - var/valid_z_levels = (GetConnectedZlevels(T.z) & using_map.station_levels) + var/valid_z_levels = using_map.get_map_levels(z) for(var/obj/machinery/power/supermatter/S in machines) // Delaminating, not within coverage, not on a tile. if(S.grav_pulling || S.exploded || !(S.z in valid_z_levels) || !istype(S.loc, /turf/)) diff --git a/code/modules/modular_computers/file_system/programs/generic/camera.dm b/code/modules/modular_computers/file_system/programs/generic/camera.dm index a722dea6b6b..e07d9ec293f 100644 --- a/code/modules/modular_computers/file_system/programs/generic/camera.dm +++ b/code/modules/modular_computers/file_system/programs/generic/camera.dm @@ -15,6 +15,12 @@ return access_research if(NETWORK_ERT) return access_cent_specops + //VOREStation Add Start + if(NETWORK_TALON_SHIP) + return access_talon + if(NETWORK_TALON_HELMETS) + return access_talon + //VOREStation Add End if(network in using_map.station_networks) return access_security // Default for all other station networks @@ -62,8 +68,10 @@ data["networks"] = all_networks + var/list/map_levels = using_map.get_map_levels(get_z(nano_host()), TRUE) + if(current_network) - data["cameras"] = camera_repository.cameras_in_network(current_network) + data["cameras"] = camera_repository.cameras_in_network(current_network, map_levels) ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) diff --git a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm index 11050519973..2b259519265 100644 --- a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm +++ b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm @@ -1,7 +1,7 @@ /datum/computer_file/program/suit_sensors filename = "sensormonitor" filedesc = "Suit Sensors Monitoring" - nanomodule_path = /datum/nano_module/crew_monitor + nanomodule_path = /datum/nano_module/program/crew_monitor program_icon_state = "crew" program_key_state = "med_key" program_menu_icon = "heart" @@ -12,13 +12,10 @@ size = 11 - - - -/datum/nano_module/crew_monitor +/datum/nano_module/program/crew_monitor name = "Crew monitor" -/datum/nano_module/crew_monitor/Topic(href, href_list) +/datum/nano_module/program/crew_monitor/Topic(href, href_list) if(..()) return 1 var/turf/T = get_turf(nano_host()) // TODO: Allow setting any using_map.contact_levels from the interface. if (!T || !(T.z in using_map.player_levels)) @@ -32,20 +29,25 @@ AI.ai_actual_track(H) return 1 -/datum/nano_module/crew_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state) +/datum/nano_module/program/crew_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state) var/list/data = host.initial_data() - var/turf/T = get_turf(nano_host()) data["isAI"] = isAI(user) - data["map_levels"] = using_map.get_map_levels(T.z, FALSE) + + var/z = get_z(nano_host()) + var/list/map_levels = using_map.get_map_levels(z, TRUE) + data["map_levels"] = map_levels + data["crewmembers"] = list() - for(var/z in data["map_levels"]) // VOREStation Edit - data["crewmembers"] += crew_repository.health_data(z) + for(var/zlevel in map_levels) + data["crewmembers"] += crew_repository.health_data(zlevel) if(!data["map_levels"].len) to_chat(user, "The crew monitor doesn't seem like it'll work here.") - if(ui) // VOREStation Addition - ui.close() // VOREStation Addition + if(program) + program.kill_program() + else if(ui) + ui.close() return ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) @@ -65,7 +67,7 @@ // should make the UI auto-update; doesn't seem to? ui.set_auto_update(1) -/*/datum/nano_module/crew_monitor/proc/scan() +/*/datum/nano_module/program/crew_monitor/proc/scan() for(var/mob/living/carbon/human/H in mob_list) if(istype(H.w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/C = H.w_uniform diff --git a/code/modules/modular_computers/file_system/programs/ships/navigation.dm b/code/modules/modular_computers/file_system/programs/ships/navigation.dm new file mode 100644 index 00000000000..dbe7aed5def --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/ships/navigation.dm @@ -0,0 +1,63 @@ +/datum/computer_file/program/ship_nav + filename = "navviewer" + filedesc = "Ship Navigational Screen" + nanomodule_path = /datum/nano_module/program/ship/nav + program_icon_state = "helm" + program_key_state = "generic_key" + program_menu_icon = "search" + extended_desc = "Displays a ship's location in the sector." + required_access = null + requires_ntnet = 1 + network_destination = "ship position sensors" + size = 4 + +/datum/nano_module/program/ship/nav + name = "Navigation Display" + +/datum/nano_module/program/ship/nav/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = default_state) + if(!linked) + to_chat(user, "You don't appear to be on a spaceship...") + if(program) + program.kill_program() + else if(ui) + ui.close() + return + + var/list/data = list() + if(program) + data = program.get_header_data() + + var/turf/T = get_turf(linked) + var/obj/effect/overmap/visitable/sector/current_sector = locate() in T + + data["sector"] = current_sector ? current_sector.name : "Deep Space" + data["sector_info"] = current_sector ? current_sector.desc : "Not Available" + data["s_x"] = linked.x + data["s_y"] = linked.y + data["speed"] = round(linked.get_speed()*1000, 0.01) + data["accel"] = round(linked.get_acceleration()*1000, 0.01) + data["heading"] = linked.get_heading_degrees() + data["viewing"] = viewing_overmap(user) + + if(linked.get_speed()) + data["ETAnext"] = "[round(linked.ETA()/10)] seconds" + else + data["ETAnext"] = "N/A" + + ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "nav.tmpl", "[linked.name] Navigation Screen", 380, 530, state = state) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/datum/nano_module/program/ship/nav/OnTopic(var/mob/user, var/list/href_list) + if(..()) + return TOPIC_HANDLED + + if (!linked) + return TOPIC_NOACTION + + if (href_list["viewing"]) + viewing_overmap(user) ? unlook(user) : look(user) + return TOPIC_REFRESH diff --git a/code/modules/modular_computers/file_system/programs/ships/ship.dm b/code/modules/modular_computers/file_system/programs/ships/ship.dm new file mode 100644 index 00000000000..1db653153be --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/ships/ship.dm @@ -0,0 +1,87 @@ +/datum/nano_module/program/ship + var/obj/effect/overmap/visitable/ship/linked + var/list/viewers + var/extra_view = 0 + +/datum/nano_module/program/ship/New() + ..() + sync_linked() + if(linked) + name = "[linked.name] [name]" + +/datum/nano_module/program/ship/Destroy() + if(LAZYLEN(viewers)) + for(var/weakref/W in viewers) + var/M = W.resolve() + if(M) + unlook(M) + . = ..() + +/datum/nano_module/program/ship/proc/sync_linked() + var/obj/effect/overmap/visitable/ship/sector = get_overmap_sector(get_z(nano_host())) + if(!sector) + return + return attempt_hook_up_recursive(sector) + +/datum/nano_module/program/ship/proc/attempt_hook_up_recursive(obj/effect/overmap/visitable/ship/sector) + if(attempt_hook_up(sector)) + return sector + for(var/obj/effect/overmap/visitable/ship/candidate in sector) + if((. = .(candidate))) + return + +/datum/nano_module/program/ship/proc/attempt_hook_up(obj/effect/overmap/visitable/ship/sector) + if(!istype(sector)) + return + if(sector.check_ownership(nano_host())) + linked = sector + return 1 + +/datum/nano_module/program/ship/proc/look(var/mob/user) + if(linked) + user.machine = nano_host() + user.reset_view(linked) + user.set_viewsize(world.view + extra_view) + GLOB.moved_event.register(user, src, /datum/nano_module/program/ship/proc/unlook) + LAZYDISTINCTADD(viewers, weakref(user)) + +/datum/nano_module/program/ship/proc/unlook(var/mob/user) + user.reset_view() + user.set_viewsize() // reset to default + GLOB.moved_event.unregister(user, src, /datum/nano_module/program/ship/proc/unlook) + LAZYREMOVE(viewers, weakref(user)) + +/datum/nano_module/program/ship/proc/viewing_overmap(mob/user) + return (weakref(user) in viewers) + +/datum/nano_module/program/ship/proc/DefaultTopicState() + return global.default_state + +/datum/nano_module/program/ship/Topic(var/href, var/href_list = list(), var/datum/topic_state/state) + if((. = ..())) + return + state = state || DefaultTopicState() || global.default_state + if(CanUseTopic(usr, state, href_list) == STATUS_INTERACTIVE) + CouldUseTopic(usr) + return OnTopic(usr, href_list, state) + CouldNotUseTopic(usr) + return TRUE + +/datum/nano_module/program/ship/proc/OnTopic(var/mob/user, var/href_list, var/datum/topic_state/state) + return TOPIC_NOACTION + +/datum/nano_module/program/ship/proc/CouldNotUseTopic(mob/user) + . = ..() + unlook(user) + +/datum/nano_module/program/ship/proc/CouldUseTopic(mob/user) + . = ..() + if(viewing_overmap(user)) + look(user) + +/datum/nano_module/program/ship/check_eye(var/mob/user) + if (!get_dist(user, nano_host()) > 1 || user.blinded || !linked ) + unlook(user) + return -1 + else + return 0 \ No newline at end of file diff --git a/code/modules/modular_computers/hardware/network_card.dm b/code/modules/modular_computers/hardware/network_card.dm index 69f4a8bb642..2f382e0f4d8 100644 --- a/code/modules/modular_computers/hardware/network_card.dm +++ b/code/modules/modular_computers/hardware/network_card.dm @@ -79,20 +79,25 @@ var/global/ntnet_card_uid = 1 return 0 if(holder2) - var/turf/T = get_turf(holder2) - if(!istype(T)) //no reception in nullspace + var/holderz = get_z(holder2) + if(!holderz) //no reception in nullspace return 0 - if(T.z in using_map.station_levels) - // Computer is on station. Low/High signal depending on what type of network card you have - if(long_range) - return 2 - else - return 1 - if(T.z in using_map.contact_levels) //not on station, but close enough for radio signal to travel - if(long_range) // Computer is not on station, but it has upgraded network card. Low signal. - return 1 - - return 0 // Computer is not on station and does not have upgraded network card. No signal. + var/list/zlevels_in_range = using_map.get_map_levels(holderz, long_range) + var/best = 0 + for(var/relay in ntnet_global.relays) + var/obj/machinery/ntnet_relay/R = relay + //Relay is down + if(!R.operable()) + continue + //We're on the same z + if(R.z == holderz) + best = 2 + break // No point in going further + //Not on the same z but within range anyway + if(R.z in zlevels_in_range) + best = 1 + return best + return 0 // No computer! /obj/item/weapon/computer_hardware/network_card/Destroy() if(holder2 && (holder2.network_card == src)) diff --git a/code/modules/multiz/turf.dm b/code/modules/multiz/turf.dm index c5913d00dea..2b280eaac17 100644 --- a/code/modules/multiz/turf.dm +++ b/code/modules/multiz/turf.dm @@ -30,6 +30,11 @@ var/turf/below +/turf/simulated/open/vacuum + oxygen = 0 + nitrogen = 0 + temperature = TCMB + /turf/simulated/open/post_change() ..() update() diff --git a/code/modules/nifsoft/software/06_screens.dm b/code/modules/nifsoft/software/06_screens.dm index 7c911623402..97f4c272a9b 100644 --- a/code/modules/nifsoft/software/06_screens.dm +++ b/code/modules/nifsoft/software/06_screens.dm @@ -5,7 +5,7 @@ access = access_medical cost = 625 p_drain = 0.025 - var/datum/nano_module/crew_monitor/arscreen + var/datum/nano_module/program/crew_monitor/arscreen New() ..() diff --git a/code/modules/overmap/_defines.dm b/code/modules/overmap/_defines.dm deleted file mode 100644 index 6cfde467938..00000000000 --- a/code/modules/overmap/_defines.dm +++ /dev/null @@ -1,145 +0,0 @@ -//How far from the edge of overmap zlevel could randomly placed objects spawn -#define OVERMAP_EDGE 2 - -#define SHIP_SIZE_TINY 1 -#define SHIP_SIZE_SMALL 2 -#define SHIP_SIZE_LARGE 3 - -//multipliers for max_speed to find 'slow' and 'fast' speeds for the ship -#define SHIP_SPEED_SLOW 1/(40 SECONDS) -#define SHIP_SPEED_FAST 3/(20 SECONDS)// 15 speed - -#define OVERMAP_WEAKNESS_NONE 0 -#define OVERMAP_WEAKNESS_FIRE 1 -#define OVERMAP_WEAKNESS_EMP 2 -#define OVERMAP_WEAKNESS_MINING 4 -#define OVERMAP_WEAKNESS_EXPLOSIVE 8 - -//Dimension of overmap (squares 4 lyfe) -var/global/list/map_sectors = list() - -/area/overmap/ - name = "System Map" - icon_state = "start" - requires_power = 0 - base_turf = /turf/unsimulated/map - -/turf/unsimulated/map - icon = 'icons/turf/space.dmi' - icon_state = "map" - initialized = FALSE // TODO - Fix unsimulated turf initialization so this override is not necessary! - -/turf/unsimulated/map/edge - opacity = 1 - density = 1 - -/turf/unsimulated/map/Initialize() - . = ..() - name = "[x]-[y]" - var/list/numbers = list() - - if(x == 1 || x == global.using_map.overmap_size) - numbers += list("[round(y/10)]","[round(y%10)]") - if(y == 1 || y == global.using_map.overmap_size) - numbers += "-" - if(y == 1 || y == global.using_map.overmap_size) - numbers += list("[round(x/10)]","[round(x%10)]") - - for(var/i = 1 to numbers.len) - var/image/I = image('icons/effects/numbers.dmi',numbers[i]) - I.pixel_x = 5*i - 2 - I.pixel_y = world.icon_size/2 - 3 - if(y == 1) - I.pixel_y = 3 - I.pixel_x = 5*i + 4 - if(y == global.using_map.overmap_size) - I.pixel_y = world.icon_size - 9 - I.pixel_x = 5*i + 4 - if(x == 1) - I.pixel_x = 5*i - 2 - if(x == global.using_map.overmap_size) - I.pixel_x = 5*i + 2 - add_overlay(I) - -//list used to track which zlevels are being 'moved' by the proc below -var/list/moving_levels = list() -//Proc to 'move' stars in spess -//yes it looks ugly, but it should only fire when state actually change. -//null direction stops movement -proc/toggle_move_stars(zlevel, direction) - if(!zlevel) - return - - if (moving_levels["[zlevel]"] != direction) - moving_levels["[zlevel]"] = direction - - var/list/spaceturfs = block(locate(1, 1, zlevel), locate(world.maxx, world.maxy, zlevel)) - for(var/turf/space/T in spaceturfs) - T.toggle_transit(direction) - CHECK_TICK -/* -//list used to cache empty zlevels to avoid nedless map bloat -var/list/cached_space = list() - -proc/overmap_spacetravel(var/turf/space/T, var/atom/movable/A) - var/obj/effect/map/M = map_sectors["[T.z]"] - if (!M) - return - var/mapx = M.x - var/mapy = M.y - var/nx = 1 - var/ny = 1 - var/nz = M.map_z - - if(T.x <= TRANSITIONEDGE) - nx = world.maxx - TRANSITIONEDGE - 2 - ny = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) - mapx = max(1, mapx-1) - - else if (A.x >= (world.maxx - TRANSITIONEDGE - 1)) - nx = TRANSITIONEDGE + 2 - ny = rand(TRANSITIONEDGE + 2, world.maxy - TRANSITIONEDGE - 2) - mapx = min(world.maxx, mapx+1) - - else if (T.y <= TRANSITIONEDGE) - ny = world.maxy - TRANSITIONEDGE -2 - nx = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) - mapy = max(1, mapy-1) - - else if (A.y >= (world.maxy - TRANSITIONEDGE - 1)) - ny = TRANSITIONEDGE + 2 - nx = rand(TRANSITIONEDGE + 2, world.maxx - TRANSITIONEDGE - 2) - mapy = min(world.maxy, mapy+1) - - testing("[A] moving from [M] ([M.x], [M.y]) to ([mapx],[mapy]).") - - var/turf/map = locate(mapx,mapy,OVERMAP_ZLEVEL) - var/obj/effect/map/TM = locate() in map - if(TM) - nz = TM.map_z - testing("Destination: [TM]") - else - if(cached_space.len) - var/obj/effect/map/sector/temporary/cache = cached_space[cached_space.len] - cached_space -= cache - nz = cache.map_z - cache.x = mapx - cache.y = mapy - testing("Destination: *cached* [TM]") - else - world.maxz++ - nz = world.maxz - TM = new /obj/effect/map/sector/temporary(mapx, mapy, nz) - testing("Destination: *new* [TM]") - - var/turf/dest = locate(nx,ny,nz) - if(dest) - A.loc = dest - - if(istype(M, /obj/effect/map/sector/temporary)) - var/obj/effect/map/sector/temporary/source = M - if (source.can_die()) - testing("Catching [M] for future use") - source.loc = null - cached_space += source -*/ \ No newline at end of file diff --git a/code/modules/overmap/helpers.dm b/code/modules/overmap/helpers.dm new file mode 100644 index 00000000000..e07be07ac02 --- /dev/null +++ b/code/modules/overmap/helpers.dm @@ -0,0 +1,5 @@ +/proc/get_overmap_sector(var/z) + if(using_map.use_overmap) + return map_sectors["[z]"] + else + return null diff --git a/code/modules/overmap/overmap_shuttle.dm b/code/modules/overmap/overmap_shuttle.dm index c3195c99de1..b614137db4f 100644 --- a/code/modules/overmap/overmap_shuttle.dm +++ b/code/modules/overmap/overmap_shuttle.dm @@ -1,4 +1,4 @@ -#define waypoint_sector(waypoint) map_sectors["[waypoint.z]"] +#define waypoint_sector(waypoint) get_overmap_sector(get_z(waypoint)) /datum/shuttle/autodock/overmap warmup_time = 10 diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm index f4378746090..9c3408eabfd 100644 --- a/code/modules/overmap/sectors.dm +++ b/code/modules/overmap/sectors.dm @@ -82,7 +82,7 @@ //Helper for init. /obj/effect/overmap/visitable/proc/check_ownership(obj/object) - if((object.z in map_z) && !(get_area(object) in SSshuttles.shuttle_areas)) + if((get_z(object) in map_z) && !(get_area(object) in SSshuttles.shuttle_areas)) return 1 //If shuttle_name is false, will add to generic waypoints; otherwise will add to restricted. Does not do checks. diff --git a/code/modules/overmap/ships/computers/ship.dm b/code/modules/overmap/ships/computers/ship.dm index 4ab9d241df4..f7441287ac7 100644 --- a/code/modules/overmap/ships/computers/ship.dm +++ b/code/modules/overmap/ships/computers/ship.dm @@ -17,7 +17,7 @@ somewhere on that shuttle. Subtypes of these can be then used to perform ship ov return 1 /obj/machinery/computer/ship/proc/sync_linked() - var/obj/effect/overmap/visitable/ship/sector = map_sectors["[z]"] + var/obj/effect/overmap/visitable/ship/sector = get_overmap_sector(z) if(!sector) return return attempt_hook_up_recursive(sector) diff --git a/code/modules/overmap/ships/landable.dm b/code/modules/overmap/ships/landable.dm index 967fdeb5710..0a28eefd8d2 100644 --- a/code/modules/overmap/ships/landable.dm +++ b/code/modules/overmap/ships/landable.dm @@ -80,7 +80,7 @@ . = ..() /obj/effect/shuttle_landmark/ship/Destroy() - var/obj/effect/overmap/visitable/ship/landable/ship = map_sectors["[z]"] + var/obj/effect/overmap/visitable/ship/landable/ship = get_overmap_sector(z) if(istype(ship) && ship.landmark == src) ship.landmark = null . = ..() @@ -141,7 +141,7 @@ on_landing(from, into) /obj/effect/overmap/visitable/ship/landable/proc/on_landing(obj/effect/shuttle_landmark/from, obj/effect/shuttle_landmark/into) - var/obj/effect/overmap/visitable/target = map_sectors["[into.z]"] + var/obj/effect/overmap/visitable/target = get_overmap_sector(get_z(into)) var/datum/shuttle/shuttle_datum = SSshuttles.shuttles[shuttle] if(into.landmark_tag == shuttle_datum.motherdock) // If our motherdock is a landable ship, it won't be found properly here so we need to find it manually. for(var/obj/effect/overmap/visitable/ship/landable/landable in SSshuttles.ships) diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm index adb7e802697..aec5c06f75c 100644 --- a/code/modules/overmap/spacetravel.dm +++ b/code/modules/overmap/spacetravel.dm @@ -57,7 +57,7 @@ proc/overmap_spacetravel(var/turf/space/T, var/atom/movable/A) if (!T || !A) return - var/obj/effect/overmap/visitable/M = map_sectors["[T.z]"] + var/obj/effect/overmap/visitable/M = get_overmap_sector(T.z) if (!M) return diff --git a/code/modules/overmap/turfs.dm b/code/modules/overmap/turfs.dm index 3508203a6e6..fc9f0b16eb9 100644 --- a/code/modules/overmap/turfs.dm +++ b/code/modules/overmap/turfs.dm @@ -1,7 +1,7 @@ //Dimension of overmap (squares 4 lyfe) var/global/list/map_sectors = list() -/area/overmap/ +/area/overmap name = "System Map" icon_state = "start" requires_power = 0 diff --git a/code/modules/shuttles/landmarks.dm b/code/modules/shuttles/landmarks.dm index 99761dfe258..38f2d41f25c 100644 --- a/code/modules/shuttles/landmarks.dm +++ b/code/modules/shuttles/landmarks.dm @@ -55,14 +55,14 @@ if(!istype(docking_controller)) log_error("Could not find docking controller for shuttle waypoint '[name]', docking tag was '[docking_tag]'.") if(using_map.use_overmap) - var/obj/effect/overmap/visitable/location = map_sectors["[z]"] + var/obj/effect/overmap/visitable/location = get_overmap_sector(z) if(location && location.docking_codes) docking_controller.docking_codes = location.docking_codes /obj/effect/shuttle_landmark/forceMove() - var/obj/effect/overmap/visitable/map_origin = map_sectors["[z]"] + var/obj/effect/overmap/visitable/map_origin = get_overmap_sector(z) . = ..() - var/obj/effect/overmap/visitable/map_destination = map_sectors["[z]"] + var/obj/effect/overmap/visitable/map_destination = get_overmap_sector(z) if(map_origin != map_destination) if(map_origin) map_origin.remove_landmark(src, shuttle_restricted) diff --git a/code/modules/shuttles/shuttle_autodock.dm b/code/modules/shuttles/shuttle_autodock.dm index b9b1801205b..4181af5b15d 100644 --- a/code/modules/shuttles/shuttle_autodock.dm +++ b/code/modules/shuttles/shuttle_autodock.dm @@ -30,7 +30,7 @@ if(active_docking_controller) set_docking_codes(active_docking_controller.docking_codes) else if(global.using_map.use_overmap) - var/obj/effect/overmap/visitable/location = map_sectors["[current_location.z]"] + var/obj/effect/overmap/visitable/location = get_overmap_sector(get_z(current_location)) if(location && location.docking_codes) set_docking_codes(location.docking_codes) dock() diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index f8c2a8210d1..a3485496d29 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -159,7 +159,7 @@ GLOBAL_LIST_BOILERPLATE(papers_dockingcode, /obj/item/weapon/paper/dockingcodes) var/dockingcodes = null var/z_to_check = codes_from_z ? codes_from_z : z if(using_map.use_overmap) - var/obj/effect/overmap/visitable/location = map_sectors["[z_to_check]"] + var/obj/effect/overmap/visitable/location = get_overmap_sector(z_to_check) if(location && location.docking_codes) dockingcodes = location.docking_codes diff --git a/code/modules/telesci/telesci_computer.dm b/code/modules/telesci/telesci_computer.dm index 11fae65b5bc..db5459404d2 100644 --- a/code/modules/telesci/telesci_computer.dm +++ b/code/modules/telesci/telesci_computer.dm @@ -106,18 +106,8 @@ if(telepad.panel_open) data["tempMsg"] = "Telepad undergoing physical maintenance operations." - data["sectorOptions"] = list() - //We'll base our options on overmap range - if(using_map.use_overmap) - data["sectorOptions"] += z //Definitely at least our own even if we're not in an overmap sector. - var/obj/effect/overmap/visitable/my_sector = map_sectors["[z]"] - if(my_sector) - for(var/obj/effect/overmap/visitable/S in range(get_turf(my_sector), overmap_range)) - data["sectorOptions"] |= S.map_z - //We'll base our options on player_levels - else - for(var/z in using_map.player_levels) - data["sectorOptions"] += z + //We'll base our options on connected z's or overmap + data["sectorOptions"] = using_map.get_map_levels(z, TRUE, overmap_range) if(last_tele_data) data["lastTeleData"] = list() diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index f3e7e10b85e..63958e93a40 100644 Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ diff --git a/icons/obj/modular_console.dmi b/icons/obj/modular_console.dmi index 125711410dc..544f7341d1a 100644 Binary files a/icons/obj/modular_console.dmi and b/icons/obj/modular_console.dmi differ diff --git a/icons/obj/modular_console_vr.dmi b/icons/obj/modular_console_vr.dmi deleted file mode 100644 index 125711410dc..00000000000 Binary files a/icons/obj/modular_console_vr.dmi and /dev/null differ diff --git a/icons/obj/modular_laptop.dmi b/icons/obj/modular_laptop.dmi index 4294fa43701..d4d750630df 100644 Binary files a/icons/obj/modular_laptop.dmi and b/icons/obj/modular_laptop.dmi differ diff --git a/icons/obj/modular_laptop_vr.dmi b/icons/obj/modular_laptop_vr.dmi deleted file mode 100644 index 4294fa43701..00000000000 Binary files a/icons/obj/modular_laptop_vr.dmi and /dev/null differ diff --git a/icons/obj/modular_tablet.dmi b/icons/obj/modular_tablet.dmi index 33ca98c9408..d15ebc0cdc3 100644 Binary files a/icons/obj/modular_tablet.dmi and b/icons/obj/modular_tablet.dmi differ diff --git a/icons/obj/modular_tablet_vr.dmi b/icons/obj/modular_tablet_vr.dmi deleted file mode 100644 index 33ca98c9408..00000000000 Binary files a/icons/obj/modular_tablet_vr.dmi and /dev/null differ diff --git a/icons/obj/radio.dmi b/icons/obj/radio.dmi index 98871c1a029..c5654835991 100644 Binary files a/icons/obj/radio.dmi and b/icons/obj/radio.dmi differ diff --git a/icons/turf/wall_masks.dmi b/icons/turf/wall_masks.dmi index c8564ac407f..03c7ca6b9bf 100644 Binary files a/icons/turf/wall_masks.dmi and b/icons/turf/wall_masks.dmi differ diff --git a/maps/southern_cross/items/encryptionkey_vr.dm b/maps/southern_cross/items/encryptionkey_vr.dm index 94b12bdd2c6..fe1032c09b6 100644 --- a/maps/southern_cross/items/encryptionkey_vr.dm +++ b/maps/southern_cross/items/encryptionkey_vr.dm @@ -4,3 +4,6 @@ /obj/item/device/encryptionkey/explorer channels = list("Science" = 1, "Explorer" = 1) + +/obj/item/device/encryptionkey/talon + channels = list("Talon" = 1) diff --git a/maps/southern_cross/items/headset_vr.dm b/maps/southern_cross/items/headset_vr.dm index ac737845b5a..8b6f7b1e97d 100644 --- a/maps/southern_cross/items/headset_vr.dm +++ b/maps/southern_cross/items/headset_vr.dm @@ -24,3 +24,10 @@ icon_state = "pilot_headset" adhoc_fallback = TRUE ks2type = /obj/item/device/encryptionkey/pilot + +/obj/item/device/radio/headset/talon + name = "talon headset" + desc = "A headset for communication between the crew of the ITV Talon." + adhoc_fallback = TRUE + icon_state = "pilot_headset" + ks2type = /obj/item/device/encryptionkey/talon diff --git a/maps/southern_cross/structures/closets/misc_vr.dm b/maps/southern_cross/structures/closets/misc_vr.dm index 033a5384ef1..e9876ee19f5 100644 --- a/maps/southern_cross/structures/closets/misc_vr.dm +++ b/maps/southern_cross/structures/closets/misc_vr.dm @@ -112,7 +112,7 @@ /obj/item/device/geiger, /obj/item/weapon/cell/device, /obj/item/device/radio, - /obj/item/device/subspaceradio, + /obj/item/device/bluespaceradio/tether_prelinked, /obj/item/stack/marker_beacon/thirty, /obj/item/weapon/material/knife/tacknife/survival, /obj/item/weapon/material/knife/machete/deluxe, diff --git a/maps/tether/submaps/_tether_submaps.dm b/maps/tether/submaps/_tether_submaps.dm index 1ebe5b6e28a..a8aea6605b2 100644 --- a/maps/tether/submaps/_tether_submaps.dm +++ b/maps/tether/submaps/_tether_submaps.dm @@ -499,3 +499,38 @@ #include "om_ships/cruiser.dm" #include "om_ships/vespa.dm" #include "om_ships/generic_shuttle.dm" + +////////////////////////////////////////////////////////////////////////////// +//Offmap Spawn Locations +#include "offmap/talon.dm" +#include "offmap/talon_areas.dm" + +#if MAP_TEST +#include "offmap/talon1.dmm" +#include "offmap/talon2.dmm" +#endif + +// Talon offmap spawn +/datum/map_template/tether_lateload/offmap/talon1 + name = "Offmap Ship - Talon Z1" + desc = "Offmap spawn ship, the Talon." + mappath = 'offmap/talon1.dmm' + associated_map_datum = /datum/map_z_level/tether_lateload/talon1 + +/datum/map_template/tether_lateload/offmap/talon2 + name = "Offmap Ship - Talon Z2" + desc = "Offmap spawn ship, the Talon." + mappath = 'offmap/talon2.dmm' + associated_map_datum = /datum/map_z_level/tether_lateload/talon2 + +/datum/map_z_level/tether_lateload/talon1 + name = "Talon Deck One" + flags = MAP_LEVEL_PLAYER + base_turf = /turf/space + z = Z_LEVEL_OFFMAP1 + +/datum/map_z_level/tether_lateload/talon2 + name = "Talon Deck Two" + flags = MAP_LEVEL_PLAYER + base_turf = /turf/simulated/open + z = Z_LEVEL_OFFMAP2 diff --git a/maps/tether/submaps/aerostat/_aerostat.dm b/maps/tether/submaps/aerostat/_aerostat.dm index 02898e6765f..1ceb13fa9f0 100644 --- a/maps/tether/submaps/aerostat/_aerostat.dm +++ b/maps/tether/submaps/aerostat/_aerostat.dm @@ -6,7 +6,8 @@ icon_state = "globe" color = "#dfff3f" //Bright yellow initial_generic_waypoints = list("aerostat_west","aerostat_east","aerostat_south","aerostat_northwest","aerostat_northeast") - + extra_z_levels = list(Z_LEVEL_AEROSTAT_SURFACE) + // -- Datums -- // /datum/shuttle/autodock/ferry/aerostat diff --git a/maps/tether/submaps/beach/_beach.dm b/maps/tether/submaps/beach/_beach.dm index 37dcf2966c9..36e04f92f14 100644 --- a/maps/tether/submaps/beach/_beach.dm +++ b/maps/tether/submaps/beach/_beach.dm @@ -6,6 +6,7 @@ icon_state = "globe" color = "#ffd300" //Sandy initial_generic_waypoints = list("beach_e", "beach_c", "beach_nw") + extra_z_levels = list(Z_LEVEL_BEACH_CAVE) //This is a special subtype of the thing that generates ores on a map //It will generate more rich ores because of the lower numbers than the normal one diff --git a/maps/tether/submaps/offmap/talon.dm b/maps/tether/submaps/offmap/talon.dm new file mode 100644 index 00000000000..f4f5c07f820 --- /dev/null +++ b/maps/tether/submaps/offmap/talon.dm @@ -0,0 +1,306 @@ +/////////////////////////// +//// Spawning and despawning +var/global/list/latejoin_talon = list() +/obj/effect/landmark/talon + name = "JoinLateTalon" + delete_me = 1 + +/obj/effect/landmark/talon/New() + latejoin_talon += loc // Register this turf as tram latejoin. + ..() + +/datum/spawnpoint/talon + display_name = "ITV Talon Cryo" + restrict_job = list("Talon Captain", "Talon Pilot", "Talon Engineer", "Talon Doctor", "Talon Guard") + msg = "has come out of cryostasis" + announce_channel = "Talon" + +/datum/spawnpoint/talon/New() + ..() + turfs = latejoin_talon + +/obj/machinery/cryopod/talon + announce_channel = "Talon" + on_store_message = "has entered cryogenic storage." + on_store_name = "ITV Talon Cryo" + on_enter_visible_message = "starts climbing into the" + on_enter_occupant_message = "You feel cool air surround you. You go numb as your senses turn inward." + on_store_visible_message_1 = "hums and hisses as it moves" + on_store_visible_message_2 = "into cryogenic storage." + +/obj/effect/landmark/map_data/talon + height = 2 + +/////////////////////////// +//// The Talon +/obj/effect/overmap/visitable/ship/talon + name = "ITV Talon" + desc = "A semi-modern make of ship from Haephestus, registered as the ITV Talon." + vessel_mass = 10000 + vessel_size = SHIP_SIZE_LARGE + initial_generic_waypoints = list("talon_fore", "talon_aft", "talon_port", "talon_starboard") + initial_restricted_waypoints = list("Talon's boat" = list("offmap_spawn_talonboat"), "Talon lifeboat" = list("offmap_spawn_talon_lifeboat")) + +/* +/obj/effect/overmap/visitable/ship/talon/get_skybox_representation() + var/image/I = image('aro.dmi', "skybox") + I.pixel_x = 200 + I.pixel_y = 200 + return I +*/ + +// The shuttle's 'shuttle' computer +/obj/machinery/computer/shuttle_control/explore/talonboat + name = "boat control console" + shuttle_tag = "Talon's boat" + req_one_access = list(access_talon) + +// A shuttle lateloader landmark +/obj/effect/shuttle_landmark/shuttle_initializer/talonboat + name = "Talon's boat bay" + base_area = /area/talon/deckone/central_hallway + base_turf = /turf/simulated/floor/tiled/monotile + landmark_tag = "offmap_spawn_talonboat" + docking_controller = "talon_boatbay" + shuttle_type = /datum/shuttle/autodock/overmap/talonboat + +// The talon's boat +/datum/shuttle/autodock/overmap/talonboat + name = "Talon's boat" + current_location = "offmap_spawn_talonboat" + docking_controller_tag = "talonboat_docker" + shuttle_area = /area/shuttle/talonboat + fuel_consumption = 2 + defer_initialisation = TRUE + +/area/shuttle/talonboat + name = "Talon's Boat" + +/////////////////////////// +//// The Lifeboat +/obj/effect/overmap/visitable/ship/landable/talon_lifeboat + name = "Talon lifeboat" + desc = "A tiny engineless lifeboat from the ITV Talon." + vessel_mass = 1000 + vessel_size = SHIP_SIZE_TINY + shuttle = "Talon lifeboat" + +/* +/obj/effect/overmap/visitable/ship/talon_lifeboat/landable/get_skybox_representation() + var/image/I = image('aro.dmi', "skybox") + I.pixel_x = 200 + I.pixel_y = 200 + return I +*/ + +// The shuttle's 'shuttle' computer +/obj/machinery/computer/shuttle_control/explore/talon_lifeboat + name = "lifeboat control console" + shuttle_tag = "Talon lifeboat" + req_one_access = list(access_talon) + +// A shuttle lateloader landmark +/obj/effect/shuttle_landmark/shuttle_initializer/talon_lifeboat + name = "Talon lifeboat dock" + base_area = /area/talon/maintenance/decktwo_aft + base_turf = /turf/simulated/floor/reinforced + landmark_tag = "offmap_spawn_talon_lifeboat" + docking_controller = "talon_lifeboatbay" + shuttle_type = /datum/shuttle/autodock/overmap/talon_lifeboat + +// The talon's boat +/datum/shuttle/autodock/overmap/talon_lifeboat + name = "Talon lifeboat" + current_location = "offmap_spawn_talon_lifeboat" + docking_controller_tag = "talonlifeboat_docker" + shuttle_area = /area/talon/decktwo/lifeboat + fuel_consumption = 0 + defer_initialisation = TRUE + +/////////////////////////// +//// The Various Machines +/obj/machinery/telecomms/allinone/talon + freq_listening = list(PUB_FREQ, TALON_FREQ) + +/obj/item/weapon/paper/talon_shields + name = "to whatever asshole" + info = {"to whatever asshole keeps resetting the shield generator,
\ +please stop fucking around before you get us all killed. thanks.
\ +
\ +to whoever has to fix this,
\ +humanoid lifeforms off so we can get outside unless someone is trying to kill us,
\ +atmospheric thing off unless all the air is leaving,
\ +hull shield on because it saves a lot of power,
\ +the last one on so it covers deck one,
\ +radius of 26 is pretty good,
\ +adjust input cap so it doesn't fuck the rest of the ship
\ +good luck
\ +
\ +Harry Townes"} + +/obj/item/weapon/paper/talon_lifeboat + name = "Survival Directions" + info = {"

Survival Directions


+Only jettison lifeboat into space if no other means of survival available.
+First attempt to protect lifeboat by means of shield generator in bubble mode until help arrives.
+Do not attempt to exit lifeboat without wearing proper protective equipment and setting up an in-situ airlock. This can be done using metalfoam and inflatable barriers.
+If lifeboat destruction is imminent, jettison lifeboat into space.
+Once in open space, consider disabling nonessential power-consuming electronics via the APC, or even disabling the APC entirely, and turning it on at invernals as necessary.
+((OOC: You can also pray/ahelp.)) +"} + +//Prevents remote control of drones +/obj/machinery/drone_fabricator/talon + name = "somewhat glitchy drone fabricator" + desc = "Obtained from a derelict, it seems to work sometimes, not work sometimes, and work TOO good sometimes. Didn't come with a control console either..." + +/obj/machinery/drone_fabricator/talon/create_drone(var/client/player) + var/mob/living/silicon/robot/drone/new_drone = ..() + if(!istype(new_drone)) + return + + new_drone.foreign_droid = TRUE + + return new_drone + +/obj/machinery/power/smes/buildable/offmap_spawn/New() + ..(1) + charge = 1e7 + RCon = TRUE + input_level = input_level_max + output_level = output_level_max + input_attempt = TRUE + +/obj/machinery/power/apc/talon + req_access = list() + req_one_access = list(access_talon) + +/obj/machinery/power/apc/talon/hyper + cell_type = /obj/item/weapon/cell/hyper + +/obj/machinery/alarm/talon + req_access = list() + req_one_access = list(access_talon) + +/obj/machinery/door/firedoor/glass/talon + req_access = list() + req_one_access = list(access_talon) + +/obj/machinery/door/firedoor/glass/talon/hidden + name = "\improper Emergency Shutter System" + desc = "Emergency air-tight shutter, capable of sealing off breached areas. This model fits flush with the walls, and has a panel in the floor for maintenance." + icon = 'icons/obj/doors/DoorHazardHidden.dmi' + +/obj/machinery/camera/network/talon + network = list(NETWORK_TALON_SHIP) + +/////////////////////////// +//// Computers +// Talon helmet cameras +/datum/computer_file/program/camera_monitor/talon_helmet + filename = "talhcammon" + filedesc = "Helmet Camera Monitoring (Talon)" + extended_desc = "This program allows remote access to Talon helmet camera systems." + size = 4 //Smaller because limited scope + nanomodule_path = /datum/nano_module/camera_monitor/talon_helmet + required_access = access_talon + +// Talon ship cameras +/datum/computer_file/program/camera_monitor/talon_ship + filename = "talscammon" + filedesc = "Ship Camera Monitoring (Talon)" + extended_desc = "This program allows remote access to the Talon's camera system." + size = 10 //Smaller because limited scope + nanomodule_path = /datum/nano_module/camera_monitor/talon_ship + required_access = access_talon + +/datum/nano_module/camera_monitor/talon_ship + name = "Talon Ship Camera Monitor" +/datum/nano_module/camera_monitor/talon_ship/modify_networks_list(var/list/networks) + networks.Cut() + networks.Add(list(list("tag" = NETWORK_TALON_SHIP, "has_access" = 1))) + networks.Add(list(list("tag" = NETWORK_THUNDER, "has_access" = 1))) //THUNDERRRRR + return networks + +/datum/nano_module/camera_monitor/talon_helmet + name = "Talon Helmet Camera Monitor" +/datum/nano_module/camera_monitor/talon_helmet/modify_networks_list(var/list/networks) + networks.Cut() + networks.Add(list(list("tag" = NETWORK_TALON_HELMETS, "has_access" = 1))) + return networks + +/datum/computer_file/program/power_monitor/talon + filename = "tpowermonitor" + filedesc = "Power Monitoring (Talon)" + required_access = access_talon +/datum/computer_file/program/alarm_monitor/talon + filename = "talarmmonitoreng" + filedesc = "Alarm Monitoring (Talon)" + required_access = access_talon +/datum/computer_file/program/rcon_console/talon + filename = "trconconsole" + filedesc = "RCON Remote Control (Talon)" + required_access = access_talon +/datum/computer_file/program/atmos_control/talon + filename = "tatmoscontrol" + filedesc = "Atmosphere Control (Talon)" + required_access = access_talon +/datum/computer_file/program/suit_sensors/talon + filename = "tsensormonitor" + filedesc = "Suit Sensors Monitoring (Talon)" + required_access = access_talon + +// Modular computer/console presets +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/pilot + name = "pilot's laptop" + +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/pilot/install_default_programs() + ..() + +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/engineer + name = "engineer's laptop" + +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/engineer/install_default_programs() + ..() + hard_drive.store_file(new/datum/computer_file/program/power_monitor/talon()) + hard_drive.store_file(new/datum/computer_file/program/alarm_monitor/talon()) + hard_drive.store_file(new/datum/computer_file/program/rcon_console/talon()) + hard_drive.store_file(new/datum/computer_file/program/atmos_control/talon()) + +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/security + name = "guard's laptop" + +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/security/install_default_programs() + ..() + hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_ship()) + +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/medical + name = "doctor's laptop" + +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/medical/install_default_programs() + ..() + hard_drive.store_file(new/datum/computer_file/program/suit_sensors/talon()) + hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_helmet()) + set_autorun("tsensormonitor") + +//Generic modular consoles scattered around +/obj/item/modular_computer/console/preset/talon + name = "talon modular computer" + +/obj/item/modular_computer/console/preset/talon/install_default_hardware() + ..() + processor_unit = new/obj/item/weapon/computer_hardware/processor_unit(src) + tesla_link = new/obj/item/weapon/computer_hardware/tesla_link(src) + hard_drive = new/obj/item/weapon/computer_hardware/hard_drive/super(src) + network_card = new/obj/item/weapon/computer_hardware/network_card/wired(src) + nano_printer = new/obj/item/weapon/computer_hardware/nano_printer(src) + +/obj/item/modular_computer/console/preset/talon/install_default_programs() + ..() + hard_drive.store_file(new/datum/computer_file/program/power_monitor/talon()) + hard_drive.store_file(new/datum/computer_file/program/alarm_monitor/talon()) + hard_drive.store_file(new/datum/computer_file/program/rcon_console/talon()) + hard_drive.store_file(new/datum/computer_file/program/atmos_control/talon()) + hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_ship()) + hard_drive.store_file(new/datum/computer_file/program/suit_sensors/talon()) + hard_drive.store_file(new/datum/computer_file/program/camera_monitor/talon_helmet()) \ No newline at end of file diff --git a/maps/tether/submaps/offmap/talon1.dmm b/maps/tether/submaps/offmap/talon1.dmm new file mode 100644 index 00000000000..9eef2135eb4 --- /dev/null +++ b/maps/tether/submaps/offmap/talon1.dmm @@ -0,0 +1,26288 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/turf/simulated/wall/rshull, +/area/talon/deckone/bridge) +"ac" = ( +/turf/simulated/wall, +/area/talon/deckone/bridge) +"ad" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/blast/regular/open{ + dir = 4; + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/deckone/bridge) +"ae" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"af" = ( +/obj/machinery/computer/ship/helm{ + req_one_access = list(301) + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"ag" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"ah" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 10 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"ai" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"aj" = ( +/obj/machinery/computer/ship/sensors, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"ak" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"al" = ( +/obj/machinery/computer/ship/navigation{ + icon_state = "computer"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"am" = ( +/obj/structure/bed/chair/bay/comfy/brown{ + icon_state = "bay_comfychair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"an" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"ao" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"ap" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"aq" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/machinery/computer/ship/engines{ + dir = 8; + icon_state = "computer"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"ar" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/obj/structure/table/steel, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"as" = ( +/obj/structure/table/steel, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"at" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/structure/table/steel, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "talon_windows"; + name = "window blast shields" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"au" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/obj/item/modular_computer/console/preset/talon{ + icon_state = "console"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"av" = ( +/obj/structure/bed/chair/bay/comfy/blue{ + dir = 8; + icon_state = "bay_comfychair_preview"; + name = "doctor's seat" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"aw" = ( +/obj/structure/bed/chair/bay/comfy/red{ + icon_state = "bay_comfychair_preview"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"ax" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/item/modular_computer/console/preset/talon{ + icon_state = "console"; + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"ay" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"az" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"aB" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"aC" = ( +/turf/simulated/wall/rshull, +/area/talon/maintenance/deckone_port) +"aD" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 8 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + dir = 4; + icon_state = "extinguisher_closed"; + pixel_x = -30 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"aE" = ( +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/apc/talon{ + dir = 2; + name = "south bump"; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"aF" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloorblack{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 8; + pixel_y = -26 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"aG" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"aH" = ( +/obj/effect/floor_decal/borderfloorblack{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"aI" = ( +/obj/machinery/alarm/talon{ + dir = 1; + pixel_y = -25 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"aJ" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"aK" = ( +/turf/simulated/wall/rshull, +/area/talon/maintenance/deckone_starboard) +"aL" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"aM" = ( +/turf/simulated/wall, +/area/talon/maintenance/deckone_port) +"aN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/command{ + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge) +"aO" = ( +/turf/simulated/wall, +/area/talon/maintenance/deckone_starboard) +"aP" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"aQ" = ( +/turf/simulated/floor/reinforced/airless, +/area/space) +"aR" = ( +/turf/simulated/wall, +/area/talon/deckone/secure_storage) +"aS" = ( +/obj/structure/table/rack/shelf/steel, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"aT" = ( +/obj/structure/table/rack/steel, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"aU" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/secure_storage) +"aV" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"aW" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/bridge_hallway) +"aX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"aY" = ( +/turf/simulated/wall, +/area/talon/deckone/armory) +"aZ" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/light_switch{ + dir = 4; + icon_state = "light1"; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"ba" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/armory) +"bb" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/suit/armor/combat, +/obj/item/clothing/head/helmet/combat, +/obj/item/clothing/under/syndicate/combat, +/obj/machinery/camera/network/talon, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"bc" = ( +/obj/structure/table/rack/steel, +/obj/item/clothing/suit/space/syndicate/black, +/obj/item/clothing/head/helmet/space/syndicate/black, +/obj/item/clothing/shoes/magboots, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"bd" = ( +/obj/structure/barricade, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"be" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/secure_storage) +"bf" = ( +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/secure_storage) +"bg" = ( +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/armory) +"bh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"bi" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/secure_storage) +"bj" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"bk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"bl" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"bm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/armory) +"bn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"bo" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/secure_storage) +"bp" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/armory) +"bq" = ( +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/secure_storage) +"br" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"bs" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 9 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"bt" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 6 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"bu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/window/brigdoor/eastleft{ + req_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/secure_storage) +"bv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"bw" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"bx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 4 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"by" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 8; + req_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/armory) +"bz" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 5 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"bA" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 1 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"bB" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"bC" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"bD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"bE" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/secure_storage) +"bF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"bG" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"bH" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/armory) +"bI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"bJ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"bK" = ( +/obj/machinery/alarm/talon{ + dir = 1; + pixel_y = -25 + }, +/obj/structure/table/rack/steel, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"bL" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"bM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"bN" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"bO" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"bP" = ( +/obj/machinery/alarm/talon{ + dir = 1; + pixel_y = -25 + }, +/obj/structure/table/rack/steel, +/obj/item/weapon/grenade/spawnergrenade/manhacks/mercenary{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/device/spaceflare, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"bQ" = ( +/turf/simulated/wall, +/area/talon/deckone/bridge_hallway) +"bR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/command{ + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/bridge_hallway) +"bS" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"bT" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/bridge_hallway) +"bU" = ( +/obj/structure/sink{ + pixel_y = 22 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/bridge_hallway) +"bV" = ( +/obj/machinery/door/airlock, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/bridge_hallway) +"bW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/obj/structure/sign/securearea{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/structure/sign/securearea{ + pixel_x = 32; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"bX" = ( +/obj/structure/sink{ + pixel_y = 22 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/bridge_hallway) +"bY" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/bridge_hallway) +"bZ" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"ca" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"cb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"cc" = ( +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"cd" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"ce" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"cf" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"cg" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/deckone/bridge_hallway) +"ch" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"ci" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"cj" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"ck" = ( +/obj/structure/barricade, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"cl" = ( +/turf/simulated/wall, +/area/talon/deckone/port_solar) +"cm" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/turf/simulated/floor/plating, +/area/talon/deckone/port_solar) +"cn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"co" = ( +/turf/simulated/wall, +/area/talon/deckone/starboard_solar) +"cp" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/turf/simulated/floor/plating, +/area/talon/deckone/starboard_solar) +"cq" = ( +/turf/simulated/wall/shull, +/area/talon/deckone/port_solar) +"cr" = ( +/obj/structure/cable/yellow{ + icon_state = "16-0" + }, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/sensor{ + name = "Talon Port Solar Panels"; + name_tag = "TLN-PRT-SLR" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/port_solar) +"cs" = ( +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"ct" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/smes/buildable/offmap_spawn{ + RCon_tag = "Talon Port SMES" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"cu" = ( +/obj/structure/cable/green{ + icon_state = "16-0" + }, +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/sensor{ + name = "Talon Port SMES Connection"; + name_tag = "TLN-PRT-SMES" + }, +/obj/machinery/camera/network/talon, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"cv" = ( +/obj/machinery/vending/coffee, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/central_hallway) +"cw" = ( +/obj/machinery/vending/sovietsoda, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/central_hallway) +"cx" = ( +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + dir = 1; + icon_state = "extinguisher_closed"; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cy" = ( +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cz" = ( +/obj/structure/stairs/east, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/bridge_hallway) +"cB" = ( +/obj/structure/stairs/west, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cC" = ( +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cD" = ( +/obj/machinery/vending/snack, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/central_hallway) +"cE" = ( +/obj/machinery/vending/fitness, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/central_hallway) +"cF" = ( +/obj/structure/cable/green{ + icon_state = "16-0" + }, +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/sensor{ + name = "Talon Starboard SMES Connection"; + name_tag = "TLN-SBD-SMES" + }, +/obj/machinery/camera/network/talon, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"cG" = ( +/obj/structure/cable/green{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/smes/buildable/offmap_spawn{ + RCon_tag = "Talon Starboard SMES" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"cH" = ( +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 8 + }, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"cI" = ( +/obj/structure/cable/yellow{ + icon_state = "16-0" + }, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/sensor{ + name = "Talon Starboard Solar Panels"; + name_tag = "TLN-SBD-SLR" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/starboard_solar) +"cJ" = ( +/obj/machinery/alarm/talon{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"cK" = ( +/obj/machinery/power/solar_control{ + icon_state = "solar"; + dir = 4 + }, +/obj/structure/cable/yellow, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/port_solar) +"cL" = ( +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"cM" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"cN" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"cO" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/port_solar) +"cP" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cQ" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cR" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cS" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cU" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cV" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"cW" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/starboard_solar) +"cX" = ( +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"cY" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"cZ" = ( +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"da" = ( +/obj/machinery/power/solar_control{ + icon_state = "solar"; + dir = 8 + }, +/obj/structure/cable/yellow, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/starboard_solar) +"db" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"dc" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/port_solar) +"dd" = ( +/obj/machinery/alarm/talon{ + dir = 1; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"de" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"df" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + dir = 2; + name = "south bump"; + pixel_y = -24 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_solar) +"dg" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dh" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"di" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dk" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dl" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + dir = 2; + name = "south bump"; + pixel_y = -24 + }, +/obj/machinery/light_switch{ + dir = 4; + icon_state = "light1"; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"dm" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"dn" = ( +/obj/machinery/alarm/talon{ + dir = 1; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_solar) +"do" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/starboard_solar) +"dp" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dr" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ds" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dt" = ( +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_fore_wing) +"du" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dy" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dA" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dE" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloor/corner2, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dF" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"dG" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"dH" = ( +/turf/simulated/wall, +/area/talon/deckone/brig) +"dI" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/glass_security{ + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/brig) +"dJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dK" = ( +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dL" = ( +/turf/simulated/wall, +/area/talon/deckone/central_hallway) +"dM" = ( +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"dO" = ( +/turf/simulated/wall, +/area/talon/deckone/medical) +"dP" = ( +/obj/effect/floor_decal/spline/plain, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/glass_medical{ + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/medical) +"dQ" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"dR" = ( +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_aft_wing) +"dS" = ( +/obj/structure/table/standard, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"dT" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"dU" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"dV" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/brig) +"dW" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 4; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"dX" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"dY" = ( +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"dZ" = ( +/obj/machinery/vending/security, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/brig) +"ea" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"eb" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ec" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ed" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ee" = ( +/obj/structure/table/standard, +/obj/machinery/recharger, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + icon_state = "light1"; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"ef" = ( +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eg" = ( +/obj/machinery/vending/medical{ + req_access = list(301); + req_log_access = 301 + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eh" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/chemical_dispenser/full, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"ei" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/gun/energy/gun/burst, +/obj/item/weapon/cell/device/weapon{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/weapon/cell/device/weapon, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"ej" = ( +/obj/structure/closet/crate/medical/blood, +/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, +/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"ek" = ( +/obj/structure/closet/crate/medical{ + name = "first-aid kits" + }, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/toxin, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/o2, +/obj/item/weapon/storage/firstaid/fire, +/obj/item/weapon/storage/firstaid/fire, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"el" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"em" = ( +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"en" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"eo" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 8; + req_access = list(301) + }, +/obj/machinery/door/window/brigdoor/eastleft{ + req_access = list(301) + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"ep" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"eq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"er" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"es" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"et" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/glass_security{ + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/brig) +"eu" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ev" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ew" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 1 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"ex" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ey" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ez" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/glass_medical{ + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/medical) +"eA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eD" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/medical{ + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eE" = ( +/obj/structure/bed, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"eF" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"eG" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/brig) +"eH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"eI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"eJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"eK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"eL" = ( +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"eM" = ( +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"eN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"eO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 8 + }, +/obj/structure/medical_stand/anesthetic, +/obj/structure/sign/warning/nosmoking_1{ + pixel_x = -26 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eP" = ( +/obj/machinery/optable, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/alarm/talon{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/item/clothing/mask/surgical, +/obj/item/clothing/suit/surgicalapron, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 6 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"eR" = ( +/obj/machinery/door/airlock/maintenance/medical{ + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/deckone/medical) +"eS" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/door/blast/regular{ + id = "talon_brigblast1" + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"eT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"eV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"eW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet{ + dir = 4; + icon_state = "extinguisher_closed"; + pixel_x = -30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"eX" = ( +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"eY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"eZ" = ( +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/structure/sign/department/medbay{ + pixel_x = 29 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/closet/medical_wall{ + pixel_x = -32 + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 8 + }, +/obj/structure/table/standard, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"fc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 4 + }, +/obj/item/weapon/storage/firstaid/surgery, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"fd" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/item/weapon/deck/cards, +/obj/structure/table/standard, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"fe" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/alarm/talon{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"ff" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fg" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fh" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fi" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fj" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/table/standard, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 9 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"fk" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite, +/obj/item/weapon/storage/firstaid/regular, +/obj/effect/floor_decal/borderfloorwhite/corner2, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"fl" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloorwhite{ + dir = 6 + }, +/obj/item/weapon/storage/firstaid/adv, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"fm" = ( +/obj/structure/table/standard, +/obj/item/device/sleevemate, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"fn" = ( +/obj/structure/table/standard, +/obj/item/device/defib_kit/loaded, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"fo" = ( +/obj/structure/catwalk, +/obj/structure/sign/warning/moving_parts{ + pixel_x = 30 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 8 + }, +/turf/space, +/area/talon/maintenance/deckone_port) +"fq" = ( +/obj/item/modular_computer/console/preset/talon{ + icon_state = "console"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"fr" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 8 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"fs" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ft" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fu" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fv" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fw" = ( +/obj/effect/floor_decal/spline/plain{ + icon_state = "spline_plain"; + dir = 1 + }, +/obj/machinery/door/airlock/multi_tile/glass{ + req_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/medical) +"fx" = ( +/obj/effect/floor_decal/spline/plain{ + icon_state = "spline_plain"; + dir = 1 + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/medical) +"fy" = ( +/obj/structure/catwalk, +/obj/structure/sign/warning/moving_parts{ + pixel_x = -30 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 4 + }, +/turf/space, +/area/talon/maintenance/deckone_starboard) +"fz" = ( +/obj/machinery/airlock_sensor{ + dir = 8; + pixel_x = 28; + pixel_y = 28 + }, +/obj/effect/map_helper/airlock/sensor/ext_sensor, +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_port) +"fA" = ( +/obj/effect/map_helper/airlock/door/ext_door, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"fB" = ( +/obj/machinery/airlock_sensor{ + pixel_y = 28 + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + dir = 1; + id_tag = "talon_port"; + pixel_y = -30 + }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ + icon_state = "map_vent_aux"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"fC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/effect/map_helper/airlock/door/int_door, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"fD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/machinery/airlock_sensor{ + dir = 4; + pixel_x = -28; + pixel_y = 28 + }, +/obj/effect/map_helper/airlock/sensor/int_sensor, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"fE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 10 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"fF" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"fG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fH" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals6, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"fI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"fJ" = ( +/turf/simulated/wall, +/area/talon/deckone/workroom) +"fK" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/structure/table/standard, +/obj/machinery/cell_charger, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"fL" = ( +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"fM" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/structure/fitness/weightlifter, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"fN" = ( +/obj/structure/extinguisher_cabinet{ + dir = 1; + icon_state = "extinguisher_closed"; + pixel_y = 32 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"fO" = ( +/obj/structure/table/standard, +/obj/fiftyspawner/steel, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"fP" = ( +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"fQ" = ( +/obj/machinery/autolathe, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"fR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 6 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"fS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/machinery/airlock_sensor{ + dir = 8; + pixel_x = 28; + pixel_y = 28 + }, +/obj/effect/map_helper/airlock/sensor/int_sensor, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"fT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/effect/map_helper/airlock/door/int_door, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"fU" = ( +/obj/machinery/airlock_sensor{ + pixel_y = 28 + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + dir = 1; + id_tag = "talon_starboard"; + pixel_y = -30 + }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/obj/machinery/atmospherics/unary/vent_pump/high_volume/aux{ + icon_state = "map_vent_aux"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"fV" = ( +/obj/effect/map_helper/airlock/door/ext_door, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"fW" = ( +/obj/machinery/airlock_sensor{ + dir = 4; + pixel_x = -28; + pixel_y = 28 + }, +/obj/effect/map_helper/airlock/sensor/ext_sensor, +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_starboard) +"fX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"fY" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"fZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"ga" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"gb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gc" = ( +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/workroom) +"gd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"ge" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/deckone/workroom) +"gf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"gg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"gh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"gi" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/item/weapon/storage/box/donut, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"gj" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"gk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2 + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/workroom) +"gl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"go" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/bed/chair/office/light, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gp" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gq" = ( +/obj/structure/table/standard, +/obj/fiftyspawner/glass, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"gr" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"gs" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"gt" = ( +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"gu" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloor, +/obj/structure/bedsheetbin, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"gv" = ( +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/item/weapon/storage/box/handcuffs, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"gw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gx" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/structure/table/standard, +/obj/machinery/recharger, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gy" = ( +/obj/effect/floor_decal/borderfloor, +/obj/structure/reagent_dispensers/watertank, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gz" = ( +/obj/machinery/alarm/talon{ + dir = 1; + pixel_y = -25 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gA" = ( +/obj/effect/floor_decal/borderfloor, +/obj/item/modular_computer/console/preset/talon{ + icon_state = "console"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gB" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + dir = 2; + name = "south bump"; + pixel_y = -24 + }, +/obj/structure/table/standard, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gC" = ( +/obj/effect/floor_decal/borderfloor, +/obj/machinery/light, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"gD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"gE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gF" = ( +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gG" = ( +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gI" = ( +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_aft_wing) +"gJ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/deckone/port_eng) +"gK" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"gL" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gM" = ( +/obj/machinery/vending/wallmed1{ + pixel_y = 32 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gN" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/machinery/camera/network/talon, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gP" = ( +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gQ" = ( +/obj/machinery/vending/cola, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/central_hallway) +"gR" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 0; + pixel_y = 26 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gS" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gT" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/deckone/starboard_eng) +"gU" = ( +/turf/simulated/wall, +/area/talon/deckone/port_eng_store) +"gV" = ( +/obj/structure/window/reinforced, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/structure/sign/deck1{ + pixel_x = -30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gW" = ( +/obj/structure/window/reinforced, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gX" = ( +/obj/structure/window/reinforced, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/structure/sign/deck1{ + pixel_x = 31 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"gY" = ( +/turf/simulated/wall, +/area/talon/deckone/starboard_eng_store) +"gZ" = ( +/obj/machinery/vending/tool{ + req_log_access = 301 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"ha" = ( +/obj/machinery/vending/engineering{ + req_log_access = 301 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"hb" = ( +/obj/machinery/vending/engivend{ + req_access = newlist(); + req_log_access = 301 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"hc" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"hd" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/toolbox/electrical, +/obj/item/stack/marker_beacon/thirty, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"he" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hf" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hg" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hi" = ( +/obj/structure/closet/crate/solar, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_eng_store) +"hj" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + alarms_hidden = 1; + dir = 1; + name = "north bump"; + pixel_x = 0; + pixel_y = 28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_eng_store) +"hk" = ( +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_eng_store) +"hl" = ( +/obj/machinery/drone_fabricator/talon, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/starboard_eng_store) +"hm" = ( +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/starboard_eng_store) +"hn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"ho" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"hp" = ( +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"hq" = ( +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"hr" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"hs" = ( +/obj/structure/table/standard, +/obj/item/weapon/storage/toolbox/mechanical, +/obj/machinery/light_switch{ + dir = 1; + on = 0; + pixel_x = -10; + pixel_y = -24 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/port_eng_store) +"ht" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hu" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hw" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hx" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hz" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hA" = ( +/obj/structure/closet/crate/engineering, +/obj/fiftyspawner/plastic, +/obj/fiftyspawner/floor, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_eng_store) +"hB" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_eng_store) +"hC" = ( +/obj/machinery/light/small, +/obj/machinery/light_switch{ + dir = 1; + on = 0; + pixel_x = -10; + pixel_y = -24 + }, +/obj/effect/floor_decal/techfloor{ + icon_state = "techfloororange_edges"; + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/deckone/starboard_eng_store) +"hD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"hE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/alarm/talon{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"hF" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/spline/plain{ + icon_state = "spline_plain"; + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/port_eng_store) +"hG" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloor/corner, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hJ" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hK" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hL" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hN" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hO" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/spline/plain{ + icon_state = "spline_plain"; + dir = 1 + }, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/starboard_eng_store) +"hP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"hQ" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/machinery/power/thermoregulator, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/machinery/atmospherics/unary/freezer{ + anchored = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hU" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/machinery/atmospherics/unary/heater{ + anchored = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass/talon/hidden, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + dir = 1; + icon_state = "extinguisher_closed"; + pixel_y = 32 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"hY" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/talon/deckone/central_hallway) +"hZ" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/machinery/alarm/talon{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ia" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ib" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ic" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"id" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ie" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"if" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ig" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ih" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ii" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 5 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"ij" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/deckone/central_hallway) +"ik" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"il" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"im" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"in" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"io" = ( +/obj/machinery/door/firedoor/glass/talon/hidden, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ip" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"iq" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 5 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"ir" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 8 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"is" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"it" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"iu" = ( +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"iv" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"iw" = ( +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ix" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"iy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"iz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 9 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"iA" = ( +/turf/simulated/wall, +/area/talon/deckone/port_eng) +"iB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/spline/plain, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/port_eng) +"iC" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 10 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"iD" = ( +/obj/effect/floor_decal/industrial/warning, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"iE" = ( +/obj/effect/floor_decal/industrial/warning{ + dir = 6 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"iF" = ( +/turf/simulated/wall, +/area/talon/deckone/starboard_eng) +"iG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/spline/plain, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/starboard_eng) +"iH" = ( +/obj/effect/floor_decal/industrial/outline/grey, +/obj/machinery/atmospherics/portables_connector/aux{ + icon_state = "map_connector-aux"; + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"iI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"iJ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/light_switch{ + dir = 2; + name = "light switch "; + pixel_x = 0; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/cap/hidden{ + icon_state = "cap"; + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"iK" = ( +/obj/machinery/oxygen_pump{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"iL" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 8 + }, +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"iM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/deckone/port_eng) +"iN" = ( +/obj/structure/ladder/up, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/deckone/central_hallway) +"iO" = ( +/obj/effect/floor_decal/steeldecal/steel_decals8, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"iP" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/deckone/starboard_eng) +"iQ" = ( +/obj/machinery/atmospherics/portables_connector{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister/empty, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"iR" = ( +/obj/machinery/oxygen_pump{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 1; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"iS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/light_switch{ + dir = 2; + name = "light switch "; + pixel_x = 0; + pixel_y = 26 + }, +/obj/machinery/atmospherics/pipe/cap/hidden{ + icon_state = "cap"; + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"iT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"iU" = ( +/obj/effect/floor_decal/industrial/outline/grey, +/obj/machinery/atmospherics/portables_connector/aux{ + icon_state = "map_connector-aux"; + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"iV" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/maintenance/engi, +/turf/simulated/floor/plating, +/area/talon/deckone/port_eng) +"iW" = ( +/obj/machinery/atmospherics/pipe/zpipe/up/supply{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/port_eng) +"iX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"iY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"iZ" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 8; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"ja" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"jb" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden{ + dir = 4; + icon_state = "map" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/universal, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"je" = ( +/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers{ + icon_state = "up-scrubbers"; + dir = 8 + }, +/turf/simulated/floor/plating, +/area/talon/deckone/starboard_eng) +"jf" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/maintenance/engi, +/turf/simulated/floor/plating, +/area/talon/deckone/starboard_eng) +"jg" = ( +/obj/machinery/airlock_sensor{ + dir = 4; + pixel_x = -28 + }, +/obj/machinery/atmospherics/unary/vent_pump/aux{ + icon_state = "map_vent_aux"; + dir = 1 + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + dir = 8; + id_tag = "talon_boat"; + pixel_x = 28 + }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/turf/simulated/floor/tiled/techmaint, +/area/shuttle/talonboat) +"jh" = ( +/obj/structure/catwalk, +/obj/structure/loot_pile/maint/junk, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"ji" = ( +/turf/simulated/wall/rshull, +/area/talon/deckone/port_eng) +"jj" = ( +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/talon{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jl" = ( +/obj/effect/floor_decal/industrial/outline/blue, +/obj/machinery/atmospherics/binary/pump{ + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jm" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/atmospherics/binary/pump, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jo" = ( +/obj/structure/cable/green{ + d2 = 8; + dir = 2; + icon_state = "0-8" + }, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jp" = ( +/obj/structure/catwalk, +/obj/structure/loot_pile/maint/trash, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"jq" = ( +/obj/structure/catwalk, +/obj/structure/loot_pile/maint/technical, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"jr" = ( +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"js" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"ju" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jv" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jy" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jz" = ( +/obj/structure/catwalk, +/obj/structure/loot_pile/maint/boxfort, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"jA" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jD" = ( +/obj/machinery/alarm/talon{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jE" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"jF" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jI" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jJ" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; + frequency = 1380; + id_tag = "talon_boatbay"; + pixel_x = 28 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"jL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 6 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jM" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + icon_state = "map-fuel"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 10 + }, +/obj/structure/extinguisher_cabinet{ + dir = 8; + icon_state = "extinguisher_closed"; + pixel_x = 30 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 6 + }, +/obj/structure/extinguisher_cabinet{ + dir = 4; + icon_state = "extinguisher_closed"; + pixel_x = -30 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jP" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + icon_state = "map-fuel"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 10 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jS" = ( +/obj/machinery/atmospherics/binary/pump/fuel, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 4 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jT" = ( +/obj/machinery/atmospherics/portables_connector/fuel{ + icon_state = "map_connector-fuel"; + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"jU" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"jV" = ( +/obj/machinery/alarm/talon{ + dir = 4; + pixel_x = -35; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"jW" = ( +/obj/machinery/atmospherics/portables_connector/fuel{ + icon_state = "map_connector-fuel"; + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jX" = ( +/obj/machinery/atmospherics/binary/pump/fuel, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"jY" = ( +/turf/simulated/wall/rshull, +/area/talon/deckone/starboard_eng) +"jZ" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + icon_state = "map-fuel"; + dir = 8 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/port_eng) +"ka" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + icon_state = "map-fuel"; + dir = 1 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/port_eng) +"kb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 4 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/port_eng) +"kc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 10 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/port_eng) +"kd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 6 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/starboard_eng) +"ke" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + icon_state = "map-fuel"; + dir = 1 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/starboard_eng) +"kf" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/fuel{ + icon_state = "intact-fuel"; + dir = 4 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/starboard_eng) +"kg" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/fuel{ + icon_state = "map-fuel"; + dir = 4 + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/starboard_eng) +"kh" = ( +/obj/machinery/atmospherics/unary/engine{ + dir = 1 + }, +/turf/space, +/area/talon/deckone/port_eng) +"ki" = ( +/obj/machinery/door/blast/regular{ + dir = 8; + id = "very_fake"; + name = "Shuttle Bay Doors" + }, +/turf/simulated/wall/rshull, +/area/talon/deckone/central_hallway) +"kj" = ( +/obj/machinery/atmospherics/unary/engine{ + dir = 1 + }, +/turf/space, +/area/talon/deckone/starboard_eng) +"kk" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"kl" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_port) +"km" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_starboard) +"kn" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"ko" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"kp" = ( +/obj/structure/bed/chair/office/light{ + dir = 8 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"kq" = ( +/obj/machinery/fitness/punching_bag, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"kr" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"ks" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"kt" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/workroom) +"kv" = ( +/obj/effect/floor_decal/steeldecal/steel_decals5, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/cable/green{ + d2 = 8; + dir = 2; + icon_state = "0-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"kw" = ( +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"kx" = ( +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ky" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central6{ + icon_state = "steel_decals_central6"; + dir = 4 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kz" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central6, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kA" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kB" = ( +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kC" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central5, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kE" = ( +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals9, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"kF" = ( +/obj/machinery/alarm/talon{ + dir = 1; + pixel_y = -25 + }, +/obj/effect/floor_decal/borderfloor, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kG" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kH" = ( +/obj/effect/floor_decal/borderfloor, +/obj/machinery/light, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"kI" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/bridge_hallway) +"kJ" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"kK" = ( +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/armory) +"kL" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/armory) +"kM" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/secure_storage) +"kN" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/armory) +"kO" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"kP" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8; + icon_state = "borderfloor"; + pixel_x = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"kQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"kR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8; + icon_state = "borderfloor"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"kS" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/gun/energy/netgun, +/obj/item/weapon/cell/device/weapon{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/weapon/cell/device/weapon{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/weapon/cell/device/weapon, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"kT" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/gun/energy/frontier/locked/holdout, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"kU" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/gun/energy/gun, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"kV" = ( +/obj/effect/floor_decal/borderfloorwhite{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloorwhite/corner2{ + dir = 5 + }, +/obj/structure/closet/crate/medical{ + name = "medicine cooler" + }, +/turf/simulated/floor/tiled/white, +/area/talon/deckone/medical) +"kW" = ( +/obj/structure/catwalk, +/obj/structure/loot_pile/maint, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"kX" = ( +/obj/machinery/door/airlock/maintenance/sec{ + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/deckone/brig) +"kY" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/maintenance/engi{ + req_one_access = list(301) + }, +/turf/simulated/floor/plating, +/area/talon/deckone/starboard_eng_store) +"kZ" = ( +/obj/structure/catwalk, +/obj/machinery/suit_storage_unit, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"la" = ( +/obj/structure/catwalk, +/obj/machinery/suit_storage_unit, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"lb" = ( +/turf/simulated/wall/shull, +/area/shuttle/talonboat) +"lc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/shuttle/talonboat) +"ld" = ( +/obj/machinery/computer/shuttle_control/explore/talonboat, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"le" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"lf" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/shuttle/talonboat) +"lg" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/shuttle/talonboat) +"lh" = ( +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 8; + frequency = 1380; + id_tag = "talonboat_docker"; + pixel_x = 28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"li" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"lj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 6 + }, +/obj/structure/fuel_port{ + dir = 4; + pixel_x = -30 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"lk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/obj/machinery/light/small, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"ll" = ( +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 5 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"ln" = ( +/obj/effect/map_helper/airlock/door/int_door, +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/tiled/techmaint, +/area/shuttle/talonboat) +"lo" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"lp" = ( +/obj/effect/shuttle_landmark/shuttle_initializer/talonboat, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"lr" = ( +/obj/machinery/atmospherics/portables_connector/aux{ + icon_state = "map_connector-aux"; + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"ls" = ( +/obj/effect/map_helper/airlock/door/ext_door, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/tiled/techmaint, +/area/shuttle/talonboat) +"lt" = ( +/obj/effect/map_helper/airlock/door/simple, +/obj/structure/cable/green{ + icon_state = "4-8"; + dir = 1 + }, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/tiled/techmaint, +/area/shuttle/talonboat) +"lu" = ( +/obj/effect/floor_decal/industrial/warning{ + icon_state = "warning"; + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "4-8"; + dir = 1 + }, +/turf/simulated/floor/tiled/monotile, +/area/talon/deckone/central_hallway) +"lw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux{ + icon_state = "intact-aux"; + dir = 10 + }, +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"lx" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/aux, +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"lz" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8; + icon_state = "borderfloor"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/machinery/computer/shuttle_control/explore/talonboat{ + icon_state = "computer"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"lA" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8; + icon_state = "borderfloor"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"lB" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/machinery/portable_atmospherics/canister/phoron, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"lC" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"np" = ( +/obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/tiled/techfloor, +/area/shuttle/talonboat) +"nv" = ( +/obj/machinery/door/blast/regular/open{ + dir = 4; + id = "talon_windows" + }, +/turf/space, +/area/talon/maintenance/deckone_port) +"nI" = ( +/obj/structure/catwalk, +/obj/structure/sign/warning/moving_parts{ + pixel_x = 30 + }, +/turf/space, +/area/talon/maintenance/deckone_port_fore_wing) +"nR" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ + icon_state = "intact"; + dir = 4 + }, +/turf/space, +/area/talon/maintenance/deckone_starboard_fore_wing) +"oh" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "talon_aft"; + name = "ITV Talon - Aft" + }, +/turf/space, +/area/space) +"oi" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/armory) +"oR" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"qN" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 4 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"sk" = ( +/obj/structure/catwalk, +/obj/structure/sign/warning/airlock{ + pixel_x = 32 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_starboard) +"su" = ( +/obj/structure/catwalk, +/obj/structure/sign/warning/airlock{ + pixel_x = -31 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"sK" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 6 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"vn" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 4 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_fore_wing) +"wk" = ( +/obj/structure/sign/warning/docking_area, +/turf/simulated/wall, +/area/talon/deckone/central_hallway) +"xo" = ( +/obj/machinery/alarm/talon{ + dir = 1; + icon_state = "alarm0"; + pixel_y = -22 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/starboard_eng_store) +"xV" = ( +/obj/structure/table/rack/shelf/steel, +/obj/item/weapon/gun/energy/netgun, +/obj/item/weapon/cell/device/weapon{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/weapon/cell/device/weapon, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/armory) +"ym" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/blast/regular/open{ + dir = 4; + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/deckone_port) +"yu" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 1 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_fore_wing) +"yN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/button/remote/blast_door{ + dir = 4; + id = "talon_brigblast1"; + name = "blast door control"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"zT" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 1 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"AM" = ( +/obj/structure/sign/warning/hot_exhaust{ + pixel_y = 29 + }, +/turf/space, +/area/space) +"Bz" = ( +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"Ct" = ( +/obj/structure/sign/poster, +/turf/simulated/wall, +/area/talon/deckone/central_hallway) +"CN" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/structure/sign/deck1{ + pixel_y = 27 + }, +/obj/structure/sign/directions/bridge{ + icon_state = "direction_bridge"; + dir = 1; + pixel_y = 41 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"Dw" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_fore_wing) +"DF" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/structure/sign/deck1{ + pixel_y = 27 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"DT" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_fore_wing) +"GF" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/secure_storage) +"Hb" = ( +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_starboard_fore_wing) +"Hp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/cap/hidden{ + icon_state = "cap"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"Im" = ( +/obj/machinery/atmospherics/portables_connector/fuel{ + icon_state = "map_connector-fuel"; + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"JW" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 8 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"JZ" = ( +/obj/structure/table/rack/steel, +/obj/machinery/camera/network/talon, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/secure_storage) +"KM" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "talon_starboard"; + name = "ITV Talon - Starboard" + }, +/turf/space, +/area/space) +"Le" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "talon_port"; + name = "ITV Talon - Port" + }, +/turf/space, +/area/space) +"Lt" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ + icon_state = "intact"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{ + icon_state = "intact"; + dir = 8 + }, +/turf/space, +/area/talon/maintenance/deckone_port_fore_wing) +"Ly" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 8; + req_access = list(301) + }, +/obj/machinery/door/window/brigdoor/eastleft{ + req_access = list(301) + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"Mm" = ( +/obj/machinery/shipsensors{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 9 + }, +/obj/effect/floor_decal/industrial/warning/dust{ + dir = 6 + }, +/turf/simulated/floor/greengrid/airless, +/area/talon/maintenance/deckone_port) +"ME" = ( +/obj/effect/shuttle_landmark{ + landmark_tag = "talon_fore"; + name = "ITV Talon - Fore" + }, +/turf/space, +/area/space) +"MW" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 6 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_fore_wing) +"Nu" = ( +/obj/structure/bed/chair/bay/comfy/yellow{ + icon_state = "bay_comfychair_preview"; + dir = 1 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/deckone/bridge) +"NR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/button/remote/blast_door{ + dir = 4; + id = "talon_brigblast2"; + name = "blast door control"; + pixel_x = -28 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/brig) +"OF" = ( +/obj/structure/sign/periodic{ + pixel_y = 32 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"Pi" = ( +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_port_fore_wing) +"PY" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_x = 0; + pixel_y = -25 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/workroom) +"RD" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 5 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"Ue" = ( +/obj/structure/catwalk, +/obj/structure/sign/warning/moving_parts{ + pixel_x = -30 + }, +/turf/space, +/area/talon/maintenance/deckone_starboard_fore_wing) +"UT" = ( +/obj/effect/floor_decal/industrial/hatch/yellow, +/obj/machinery/door/blast/regular{ + id = "talon_brigblast2" + }, +/turf/simulated/floor/tiled/dark, +/area/talon/deckone/brig) +"Wh" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8; + icon_state = "borderfloor"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/structure/vehiclecage/spacebike, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"WB" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8; + icon_state = "borderfloor"; + pixel_x = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/machinery/suit_cycler, +/turf/simulated/floor/tiled/steel, +/area/talon/deckone/central_hallway) +"Xi" = ( +/obj/machinery/atmospherics/portables_connector/fuel{ + icon_state = "map_connector-fuel"; + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/red, +/obj/machinery/portable_atmospherics/canister/phoron, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/port_eng) +"Xq" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 10 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_port_fore_wing) +"XT" = ( +/obj/machinery/atmospherics/pipe/simple/heat_exchanging{ + icon_state = "intact"; + dir = 9 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/deckone_starboard_fore_wing) +"YG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/cap/hidden{ + icon_state = "cap"; + dir = 1 + }, +/turf/simulated/floor/tiled/techmaint, +/area/talon/deckone/starboard_eng) +"YS" = ( +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_port_aft_wing) +"Za" = ( +/obj/structure/catwalk, +/turf/space, +/area/talon/maintenance/deckone_starboard_aft_wing) +"Zv" = ( +/obj/structure/closet/emcloset, +/obj/structure/sign/department/bridge{ + pixel_y = 31 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/deckone/bridge_hallway) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Le +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +gI +aQ +aQ +aQ +gI +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +cc +cc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +YS +kl +fz +fo +YS +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +cc +cc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +gI +gI +gI +gI +YS +aC +fA +aC +YS +gI +gI +gI +gI +gI +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +cc +cc +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +YS +YS +YS +YS +YS +YS +aC +fB +aC +YS +YS +YS +YS +YS +YS +YS +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +cc +cc +cc +aa +aa +aC +aC +aC +aC +aC +aC +aC +aC +aC +aC +aC +aC +br +br +aC +aC +fC +aC +aC +aC +br +br +aC +aC +aC +aC +aC +aC +aC +aC +aC +aC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +sK +RD +cc +sK +RD +aa +aC +aL +aL +aL +bS +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +aL +fD +su +kZ +aM +aL +aL +aL +aL +aL +aL +aL +jz +aL +aL +aL +bC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +qN +qN +cc +JW +qN +aa +aC +aL +aL +ck +aM +cJ +aL +aL +aL +aL +dQ +aL +aL +aL +aL +aL +fE +fX +fX +gr +fX +fX +fX +fX +hn +hE +fX +ii +aL +aL +aL +bC +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +qN +Xq +zT +oR +qN +aa +aC +aL +aL +cl +cq +cq +cq +cl +bS +dH +dH +dH +dH +dH +dH +dH +dH +dH +dH +dH +dH +bS +gU +gU +gU +gU +dL +ij +iA +iA +iV +ji +ji +gJ +gJ +ji +ji +ji +AM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Lt +nI +Pi +Pi +Lt +aa +aC +aL +aL +cl +cr +cK +dc +cl +aL +dH +dS +kn +eE +dH +dS +dS +dH +eE +kn +dS +dH +aL +gU +gZ +ho +gU +hQ +ik +iA +iH +iW +jj +jr +jA +jL +jS +jZ +kh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aC +aC +aC +aC +aC +aC +br +br +aC +aC +aC +aL +aL +cm +cs +cL +dd +cl +aL +dH +dT +em +em +eS +em +em +UT +em +em +dT +dH +aL +gU +ha +hp +gU +hR +il +iB +iI +iX +jk +js +jB +jM +jT +ka +kh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +nv +Mm +ym +aL +aL +aL +aL +aL +aL +aL +bS +aL +aL +cl +ct +cM +de +cl +dF +dH +dU +en +eF +dH +ko +em +dH +fY +gg +jU +dH +gK +gU +hb +hq +gU +hS +im +iA +iJ +iY +jl +iZ +Hp +jM +jT +kb +ji +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aC +aC +aC +aM +aR +aR +aR +aR +aR +aR +aM +aL +aL +cl +cu +cN +df +cl +aL +dH +dV +eo +eG +dH +Ly +eG +dH +dV +eo +eG +dH +aL +gU +hc +hr +hF +hT +in +iA +iK +iZ +iZ +ju +jC +jM +jT +ka +kh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +aS +be +aS +kM +aS +aR +aM +aL +aL +cl +cl +cO +cl +cl +bS +dH +dW +ep +eH +yN +eT +eT +NR +fZ +gh +gs +kX +aL +gU +hd +hs +gU +hU +in +iA +iL +iL +iL +iL +jD +jN +Xi +kc +kh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +aS +bq +aS +bq +aS +aR +aM +ca +ce +aM +cv +cP +dg +dp +du +dH +dX +eq +dY +dY +dY +dY +dY +dY +dY +gt +dH +bS +gU +gU +gU +gU +hV +io +iA +iM +iM +iA +iA +iA +iA +iA +ji +ji +AM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ac +JZ +bq +aT +bq +bK +aR +aM +jh +cf +aM +cw +cQ +dh +dq +dv +dI +es +er +eI +eI +fd +fq +dY +dY +dY +gu +dH +gL +gV +cB +ht +hG +hW +ip +lz +kP +WB +dL +wk +Wh +kP +kP +lA +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ac +ac +ac +ac +ac +ac +ac +aU +bf +bo +bq +GF +bQ +bQ +aM +cf +aM +cx +cQ +cy +cy +dw +dH +dZ +gd +eJ +eV +fe +fr +fF +ga +gi +gv +dH +gM +gW +cy +hu +hH +kQ +cy +kw +ja +ja +ja +jE +ja +kw +cy +cy +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ae +al +ar +au +ay +aD +ac +aV +bh +bt +bD +bL +bQ +bT +aM +cf +aM +cy +cR +cy +dr +dx +dH +dH +et +dH +dH +dH +dH +dH +dH +dH +dH +dH +gN +cy +cC +cy +hI +wk +bs +ir +ir +ir +ir +ir +ir +ir +ir +iC +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +af +am +as +av +az +aE +ac +aR +bi +bu +bE +aR +bQ +bU +aM +cf +aM +cz +cS +ew +di +dy +dJ +ea +eu +eK +eW +ff +fs +fG +fG +fG +fG +gE +gO +he +kA +hv +hJ +hY +bA +lb +lb +lf +lf +lb +lb +lb +lb +iD +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ag +an +an +an +an +aF +ac +aW +bj +bv +bG +bN +bQ +bV +bQ +cg +bQ +bQ +DF +kB +cy +dz +dK +eb +ev +eL +eX +fg +ft +ev +eL +eX +eb +gF +cy +hf +kB +hw +hM +dL +bA +lc +ld +lg +lg +lj +ln +jg +ls +iD +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ME +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ah +ao +ao +ao +ao +aG +aN +aX +bk +bw +bF +bM +bR +bW +cb +ch +cn +cA +cT +eY +dj +dA +dL +dL +gj +ky +kF +dL +Ct +kG +kz +kH +dL +dL +gP +cy +kC +cy +hK +hZ +bA +lc +le +lg +lg +lk +lb +lb +lb +iD +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +oh +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ai +ap +ap +ap +ap +aH +ac +Zv +bl +bx +kI +kv +bQ +bV +bQ +cg +bQ +bQ +CN +kB +cy +dz +dM +ec +ex +eM +eZ +fh +fu +ex +eM +eZ +ec +gG +cy +hg +kB +hx +hX +dL +bA +lc +np +lh +lp +lw +lx +lr +lb +iD +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +aj +Nu +as +aw +az +aI +ac +aY +bm +by +bH +aY +bQ +bX +aO +ci +aO +cB +cU +fH +di +dy +dN +ed +ey +eN +fa +fi +fv +fI +gb +ey +gw +gH +gO +hh +kD +hy +hL +hY +bA +lb +lb +lb +lt +lb +lb +lb +lb +iD +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ak +aq +at +ax +aB +aJ +ac +aZ +bn +bz +bI +bO +bQ +bY +aO +ci +aO +cy +cR +cy +dr +dB +dO +dO +ez +dO +dO +dO +dO +fJ +gc +gk +fJ +fJ +gQ +cy +cC +cy +hI +wk +iq +is +is +is +lu +is +is +is +is +iE +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ac +ac +ac +ac +ac +ac +ac +ba +bg +bp +kK +oi +bQ +bQ +aO +ci +aO +cC +cQ +cy +iO +dC +dO +ee +eA +eO +fb +fj +dO +fK +gl +ks +gx +fJ +gR +gW +cy +hu +ia +kR +li +ll +lo +lo +jJ +kO +kJ +kx +cy +cy +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +ac +bb +kK +bc +kK +bP +aY +aO +aP +ci +aO +cD +cQ +dh +dq +dD +dP +ef +eB +ef +ef +ef +fw +kt +fL +gm +gy +fJ +gS +gX +cz +hz +hN +ib +it +Bz +kE +iN +dL +wk +lB +ds +ds +lC +ki +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +kS +kK +xV +kK +ei +aY +aO +cd +cj +aO +cE +cV +dk +ds +dE +dO +eg +eB +eP +ef +ef +fx +kt +fL +gn +gz +fJ +bZ +gY +gY +gY +gY +ic +iu +iF +iP +iP +iF +iF +iF +iF +iF +jY +jY +AM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +kT +kL +kT +kN +kU +aY +aO +aP +aP +co +co +cW +co +co +bZ +dO +eh +eB +ef +ef +fk +dO +fM +fL +go +gA +fJ +aP +gY +hi +hA +gY +id +iv +iF +iQ +iQ +iQ +iQ +jF +jO +Im +kd +kj +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aK +aO +aY +aY +aY +aY +aY +aY +aO +aP +aP +co +cF +cX +dl +co +aP +dO +kV +eC +eQ +fc +fl +dO +fN +fP +gp +gB +fJ +aP +gY +hj +hB +hO +ie +iv +iF +iR +jb +jb +jv +jG +jP +jW +ke +kj +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aK +kW +bd +aP +aP +aP +aP +aP +bZ +aP +aP +co +cG +cY +dm +co +dG +dO +dO +eD +dO +dO +dO +dO +fO +gq +fL +gC +fJ +kk +kY +hk +hC +gY +if +iw +iF +iS +jc +jm +jb +YG +jP +jW +kf +jY +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aK +aK +aK +aK +bB +bB +aK +aK +aK +aP +aP +cp +cH +cZ +dn +co +aP +dO +ej +ef +ef +jV +fm +dO +fQ +kp +fP +PY +fJ +aP +gY +hl +xo +gY +ig +ix +iG +iT +jd +jn +jx +jH +jP +jW +ke +kj +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +nR +Ue +Hb +Hb +nR +aa +aK +aP +aP +co +cI +da +do +co +aP +dO +ek +kr +ef +ef +fn +dO +OF +fP +fP +kq +fJ +aP +gY +hm +hm +gY +ih +iy +iF +iU +je +jo +jy +jI +jQ +jX +kg +kj +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +vn +MW +yu +Dw +vn +aa +aK +aP +aP +co +co +co +co +co +bZ +dO +dO +dO +eR +dO +dO +dO +fJ +ge +fJ +fJ +fJ +bZ +gY +gY +gY +gY +dL +ij +iF +iF +jf +iF +iF +gT +gT +jY +jY +jY +AM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +vn +vn +dt +vn +vn +aa +aK +aP +aP +aP +aO +db +aP +aP +aP +aP +el +aP +aP +bd +jq +aP +fR +gf +gf +gD +gf +gf +gf +gf +hD +hP +gf +iz +aP +aP +aP +bJ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +DT +XT +dt +DT +XT +aa +aK +jp +aP +aP +bZ +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +aP +fS +sk +la +aO +aP +aP +aP +aP +aP +aP +bd +aP +aP +aP +aP +bJ +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +dt +dt +aa +aa +aK +aK +aK +aK +aK +aK +aK +aK +aK +aK +aK +aK +bB +bB +aK +aK +fT +aK +aK +aK +bB +bB +aK +aK +aK +aK +aK +aK +aK +aK +aK +aK +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +dt +dt +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +Za +Za +Za +Za +Za +Za +aK +fU +aK +Za +Za +Za +Za +Za +Za +Za +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +dt +dt +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +Za +aK +fV +aK +Za +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +dt +dt +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +Za +km +fW +fy +Za +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dt +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(101,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(102,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(103,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(104,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(105,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(106,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(107,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(108,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(109,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(110,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(111,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(112,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(113,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(114,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(115,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(116,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(117,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(118,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(119,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +dR +dR +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(120,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(121,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +KM +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(122,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(123,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(124,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(125,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(126,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(127,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(128,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(129,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(130,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(131,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(132,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(133,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(134,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(135,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(136,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(137,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(138,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(139,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/offmap/talon2.dmm b/maps/tether/submaps/offmap/talon2.dmm new file mode 100644 index 00000000000..5d5ea0087dc --- /dev/null +++ b/maps/tether/submaps/offmap/talon2.dmm @@ -0,0 +1,24796 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/turf/space, +/area/space) +"ab" = ( +/turf/simulated/wall/rshull, +/area/talon/decktwo/bridge_upper) +"ac" = ( +/turf/simulated/wall, +/area/talon/decktwo/bridge_upper) +"ad" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/decktwo/bridge_upper) +"ae" = ( +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"af" = ( +/obj/structure/railing, +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"ag" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/railing, +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"ah" = ( +/obj/machinery/computer/ship/navigation, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/bridge_upper) +"ai" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"aj" = ( +/obj/structure/railing, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"ak" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"al" = ( +/obj/structure/table/steel, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/bridge_upper) +"am" = ( +/obj/structure/bed/chair/bay/comfy/blue{ + icon_state = "bay_comfychair_preview"; + dir = 1; + pixel_y = 5 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/bridge_upper) +"an" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"ao" = ( +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"ap" = ( +/turf/simulated/wall/rshull, +/area/talon/decktwo/cap_room) +"aq" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/bridge_upper) +"ar" = ( +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/bridge_upper) +"as" = ( +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/bridge_upper) +"at" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 10 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/bridge_upper) +"au" = ( +/obj/structure/cable/green{ + d2 = 8; + dir = 2; + icon_state = "0-8" + }, +/obj/machinery/power/apc/talon{ + dir = 2; + name = "south bump"; + pixel_y = -28; + req_access = list(67) + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/bridge_upper) +"av" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/open, +/area/talon/decktwo/bridge_upper) +"aw" = ( +/turf/simulated/wall, +/area/talon/decktwo/bar) +"ax" = ( +/turf/simulated/wall/rshull, +/area/talon/decktwo/bar) +"ay" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/wall, +/area/talon/decktwo/bridge_upper) +"az" = ( +/obj/structure/bed/double/padded, +/obj/item/weapon/bedsheet/bluedouble, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"aA" = ( +/obj/structure/table/woodentable, +/obj/machinery/firealarm{ + dir = 2; + layer = 3.3; + pixel_x = 0; + pixel_y = 26 + }, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"aB" = ( +/obj/effect/floor_decal/spline/plain, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/command{ + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/cap_room) +"aC" = ( +/turf/simulated/wall, +/area/talon/decktwo/cap_room) +"aD" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/central_hallway) +"aE" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/vending/nifsoft_shop, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/central_hallway) +"aF" = ( +/obj/structure/bed/chair/bay/chair, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"aG" = ( +/obj/machinery/vending/wallmed1{ + emagged = 1; + pixel_y = 32; + shut_up = 0 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"aH" = ( +/obj/item/weapon/stool/baystool/padded, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 6 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"aI" = ( +/obj/structure/table/standard, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"aJ" = ( +/obj/machinery/vending/boozeomat{ + density = 0; + pixel_y = 32 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"aK" = ( +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"aL" = ( +/obj/machinery/light/small{ + icon_state = "bulb1"; + dir = 1 + }, +/obj/structure/closet/secure_closet/personal/cabinet{ + req_access = list(301) + }, +/obj/item/weapon/tank/oxygen, +/obj/item/device/suit_cooling_unit, +/obj/item/clothing/suit/space/void/captain{ + name = "\improper captain's armor" + }, +/obj/item/clothing/head/helmet/space/void/captain{ + camera_networks = list("TalonHelmets"); + name = "\improper captain's helmet" + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"aM" = ( +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"aN" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"aO" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"aP" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/structure/table/standard, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"aQ" = ( +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"aR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/item/weapon/stool/baystool/padded, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"aS" = ( +/obj/structure/table/standard, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/item/weapon/storage/dicecup, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"aT" = ( +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"aU" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"aV" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"aW" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/turf/simulated/floor/plating, +/area/talon/decktwo/bar) +"aX" = ( +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"aY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/item/weapon/stool/baystool/padded, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"aZ" = ( +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"ba" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/decktwo/cap_room) +"bb" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bd" = ( +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"be" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock/command{ + id_tag = "talon_capdoor"; + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/cap_room) +"bf" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bg" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/item/weapon/stool/baystool/padded, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bi" = ( +/obj/structure/table/standard, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bj" = ( +/obj/machinery/chemical_dispenser/bar_alc/full{ + icon_state = "booze_dispenser"; + dir = 8 + }, +/obj/structure/table/marble, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/decktwo/bar) +"bl" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"bm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bn" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bo" = ( +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bp" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/structure/sign/department/commander{ + pixel_x = -28 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bq" = ( +/obj/structure/table/standard, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"br" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/item/weapon/stool/baystool/padded, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bs" = ( +/obj/machinery/chemical_dispenser/bar_soft/full{ + dir = 8 + }, +/obj/structure/table/marble, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bt" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/full, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/blast/regular/open{ + id = "talon_windows" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"bu" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bv" = ( +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bw" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bx" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/bed/chair/bay/chair{ + icon_state = "bay_chair_preview"; + dir = 1 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"by" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/spline/plain{ + dir = 10 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bz" = ( +/obj/effect/floor_decal/spline/plain, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bA" = ( +/obj/effect/floor_decal/spline/plain, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/lino, +/area/talon/decktwo/bar) +"bB" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"bC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/bed/chair/wood, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"bD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/bed/chair/wood, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"bE" = ( +/obj/structure/bed/chair/wood, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"bF" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bG" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/structure/sign/department/bar{ + pixel_x = 29 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bH" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"bI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"bJ" = ( +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_x = 32 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"bK" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/woodentable, +/obj/item/modular_computer/tablet/preset/custom_loadout/advanced, +/obj/item/weapon/paper_bin, +/obj/item/weapon/pen, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"bL" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"bM" = ( +/obj/item/modular_computer/console/preset/talon, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"bN" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bO" = ( +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/bar) +"bP" = ( +/obj/structure/extinguisher_cabinet{ + dir = 8; + icon_state = "extinguisher_closed"; + pixel_x = 30 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"bQ" = ( +/turf/simulated/wall/rshull, +/area/talon/maintenance/decktwo_starboard) +"bR" = ( +/obj/structure/bed/chair/office/light{ + dir = 1 + }, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"bS" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bT" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"bU" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/door/airlock/multi_tile/glass{ + dir = 2 + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/bar) +"bV" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"bW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/oxygen_pump{ + icon_state = "oxygen_tank"; + dir = 1; + pixel_y = -30 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"bX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/media/jukebox, +/turf/simulated/floor/wood, +/area/talon/decktwo/bar) +"bY" = ( +/obj/machinery/vending/coffee{ + dir = 1 + }, +/obj/effect/floor_decal/spline/plain{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/decktwo/bar) +"bZ" = ( +/obj/machinery/vending/dinnerware{ + icon_state = "dinnerware"; + dir = 1 + }, +/obj/effect/floor_decal/spline/plain{ + icon_state = "spline_plain"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/decktwo/bar) +"ca" = ( +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"cb" = ( +/turf/simulated/wall/rshull, +/area/talon/maintenance/decktwo_port) +"cc" = ( +/turf/simulated/wall, +/area/talon/decktwo/central_hallway) +"cd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/central_hallway) +"ce" = ( +/obj/structure/cable/yellow{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/solar, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"cf" = ( +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/obj/machinery/power/solar, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"cg" = ( +/obj/structure/cable/heavyduty{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/wall/rshull, +/area/talon/maintenance/decktwo_port) +"ch" = ( +/obj/structure/lattice, +/obj/structure/cable/yellow{ + icon_state = "32-8" + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_port) +"ci" = ( +/obj/structure/lattice, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_port) +"cj" = ( +/obj/structure/lattice, +/obj/structure/cable/green{ + d1 = 32; + d2 = 8; + icon_state = "32-8" + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_port) +"ck" = ( +/obj/structure/lattice, +/turf/simulated/open, +/area/talon/decktwo/central_hallway) +"cl" = ( +/turf/simulated/open, +/area/talon/decktwo/central_hallway) +"cm" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/open, +/area/talon/decktwo/central_hallway) +"cn" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/structure/sign/deck2{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"co" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cp" = ( +/obj/structure/lattice, +/obj/structure/cable/green{ + d1 = 32; + d2 = 4; + icon_state = "32-4" + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_starboard) +"cq" = ( +/obj/structure/lattice, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_starboard) +"cr" = ( +/obj/structure/lattice, +/obj/structure/cable/yellow{ + icon_state = "32-4" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_starboard) +"cs" = ( +/obj/structure/cable/heavyduty{ + dir = 2; + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/wall/rshull, +/area/talon/maintenance/decktwo_starboard) +"ct" = ( +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/heavyduty{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"cu" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"cv" = ( +/obj/structure/cable/heavyduty{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"cw" = ( +/obj/structure/cable/heavyduty{ + dir = 2; + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"cx" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"cy" = ( +/obj/structure/railing, +/obj/structure/lattice, +/turf/simulated/open, +/area/talon/decktwo/central_hallway) +"cz" = ( +/obj/structure/railing, +/turf/simulated/open, +/area/talon/decktwo/central_hallway) +"cA" = ( +/obj/structure/railing, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/open, +/area/talon/decktwo/central_hallway) +"cB" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cD" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cE" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/open, +/area/talon/decktwo/central_hallway) +"cF" = ( +/turf/simulated/wall, +/area/talon/maintenance/decktwo_starboard) +"cG" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"cH" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"cI" = ( +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cJ" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/machinery/camera/network/talon, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cK" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass/talon/hidden, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cL" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cM" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cN" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cO" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cP" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cR" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cS" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cT" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cU" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cV" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1; + icon_state = "borderfloor"; + pixel_y = 0 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 4 + }, +/obj/machinery/camera/network/talon, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cW" = ( +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"cX" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"cY" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"cZ" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"da" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"db" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/door/firedoor/glass/talon/hidden, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/machinery/oxygen_pump{ + icon_state = "oxygen_tank"; + dir = 1; + pixel_y = -30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"de" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"df" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green, +/obj/machinery/power/apc/talon{ + dir = 2; + name = "south bump"; + pixel_y = -24 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/structure/sign/directions/evac{ + pixel_y = -38 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dh" = ( +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"di" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/structure/sign/department/shield{ + pixel_y = -31 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dj" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/machinery/oxygen_pump{ + icon_state = "oxygen_tank"; + dir = 1; + pixel_y = -30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dn" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"do" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"dp" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet{ + dir = 4; + icon_state = "extinguisher_closed"; + pixel_x = -30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dr" = ( +/turf/simulated/wall, +/area/talon/decktwo/eng_room) +"ds" = ( +/turf/simulated/wall, +/area/talon/decktwo/tech) +"dt" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/command{ + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/tech) +"du" = ( +/turf/simulated/wall, +/area/talon/decktwo/pilot_room) +"dv" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dw" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + dir = 8; + icon_state = "extinguisher_closed"; + pixel_x = 30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dx" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dy" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/engineer, +/turf/simulated/floor/carpet, +/area/talon/decktwo/eng_room) +"dz" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet, +/area/talon/decktwo/eng_room) +"dA" = ( +/obj/item/weapon/bedsheet, +/obj/structure/bed/padded, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/eng_room) +"dB" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/structure/table/standard, +/obj/item/weapon/paper/talon_shields, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + icon_state = "2-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/machinery/computer/ship/helm, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dD" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dE" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dF" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/structure/railing, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/structure/table/standard, +/obj/item/device/bluespaceradio/talon_prelinked, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dG" = ( +/obj/item/weapon/bedsheet, +/obj/structure/bed/padded, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/pilot_room) +"dH" = ( +/obj/structure/table/woodentable, +/obj/machinery/computer/ship/navigation/telescreen{ + pixel_y = 32 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/pilot_room) +"dI" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/pilot, +/turf/simulated/floor/carpet, +/area/talon/decktwo/pilot_room) +"dJ" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"dK" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dL" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/bed/chair/office/light{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/eng_room) +"dM" = ( +/turf/simulated/floor/carpet, +/area/talon/decktwo/eng_room) +"dN" = ( +/obj/machinery/alarm/talon{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/effect/landmark/start{ + name = "Talon Engineer" + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/eng_room) +"dO" = ( +/obj/machinery/power/apc/talon{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/cable/green{ + icon_state = "0-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/structure/table/standard, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/steeldecal/steel_decals6, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/railing, +/obj/effect/floor_decal/steeldecal/steel_decals9, +/obj/effect/floor_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dR" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals6{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dS" = ( +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"dT" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/effect/landmark/start{ + name = "Talon Pilot" + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/pilot_room) +"dU" = ( +/turf/simulated/floor/carpet, +/area/talon/decktwo/pilot_room) +"dV" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/bed/chair/office/light{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/pilot_room) +"dW" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dX" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/alarm/talon{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"dY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/structure/sign/directions/roomnum{ + icon_state = "roomnum"; + dir = 4; + pixel_x = 32; + pixel_y = -9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"dZ" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light/small{ + dir = 8; + pixel_y = 0 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"ea" = ( +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"eb" = ( +/obj/machinery/door/airlock/command{ + id_tag = "talon_engdoor"; + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/eng_room) +"ec" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"ed" = ( +/obj/structure/cable/green, +/obj/machinery/power/shield_generator/charged, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/tech) +"ee" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"ef" = ( +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/bluegrid, +/area/talon/decktwo/tech) +"eg" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"eh" = ( +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"ei" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"ej" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/structure/sign/directions/roomnum{ + pixel_x = -31; + pixel_y = -9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"ek" = ( +/obj/structure/cable/green{ + icon_state = "1-2" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"el" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + icon_state = "steel_decals_central4"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"em" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/door/airlock{ + id_tag = "talon_engdoor"; + name = "Engineer's Cabin"; + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/eng_room) +"en" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"eo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"ep" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"eq" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/machinery/computer/ship/engines{ + dir = 1; + icon_state = "computer" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"er" = ( +/obj/machinery/light/small, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"es" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 2; + pixel_y = -28 + }, +/obj/structure/sign/directions/evac{ + pixel_y = -38 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"et" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"eu" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/light/small, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/tech) +"ev" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"ew" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"ex" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"ey" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/obj/machinery/door/airlock{ + id_tag = "talon_pilotdoor"; + name = "Pilot's Cabin"; + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/pilot_room) +"ez" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"eA" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"eB" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"eC" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"eD" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/machinery/button/remote/airlock{ + dir = 8; + id = "talon_engdoor"; + name = "Door Bolts"; + pixel_x = -28; + specialfunctions = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"eE" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"eF" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_personal{ + req_access = newlist() + }, +/obj/item/clothing/suit/space/void/atmos, +/obj/item/clothing/head/helmet/space/void/atmos{ + camera_networks = list("TalonHelmets") + }, +/obj/item/weapon/tank/oxygen, +/obj/item/device/suit_cooling_unit, +/turf/simulated/floor/wood, +/area/talon/decktwo/eng_room) +"eH" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/obj/machinery/door/airlock/command{ + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/tech) +"eI" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/closet/secure_closet/pilot{ + req_access = newlist() + }, +/obj/item/clothing/suit/space/void/pilot, +/obj/item/clothing/head/helmet/space/void/pilot{ + camera_networks = list("TalonHelmets") + }, +/obj/item/weapon/tank/oxygen, +/obj/item/device/suit_cooling_unit, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"eJ" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"eK" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/machinery/button/remote/airlock{ + dir = 4; + id = "talon_pilotdoor"; + name = "Door Bolts"; + pixel_x = 28; + specialfunctions = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/pilot_room) +"eL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"eM" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"eN" = ( +/turf/simulated/wall/rshull, +/area/talon/decktwo/lifeboat) +"eO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/simple, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/lifeboat) +"eP" = ( +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"eQ" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"eR" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/decktwo/central_hallway) +"eS" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"eT" = ( +/turf/simulated/wall, +/area/talon/decktwo/med_room) +"eU" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/medical, +/turf/simulated/floor/carpet, +/area/talon/decktwo/med_room) +"eV" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet, +/area/talon/decktwo/med_room) +"eW" = ( +/obj/item/weapon/bedsheet, +/obj/structure/bed/padded, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/med_room) +"eX" = ( +/obj/machinery/computer/shuttle_control/explore/talon_lifeboat{ + icon_state = "computer"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"eY" = ( +/obj/machinery/vending/wallmed1{ + emagged = 1; + pixel_y = 32; + shut_up = 0 + }, +/obj/item/weapon/bedsheet, +/obj/structure/bed/padded, +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"eZ" = ( +/turf/simulated/wall, +/area/talon/decktwo/sec_room) +"fa" = ( +/obj/item/weapon/bedsheet, +/obj/structure/bed/padded, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/sec_room) +"fb" = ( +/obj/structure/table/woodentable, +/turf/simulated/floor/carpet, +/area/talon/decktwo/sec_room) +"fc" = ( +/obj/structure/table/woodentable, +/obj/item/modular_computer/laptop/preset/custom_loadout/standard/talon/security, +/turf/simulated/floor/carpet, +/area/talon/decktwo/sec_room) +"fd" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"fe" = ( +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"ff" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"fg" = ( +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable/heavyduty{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"fh" = ( +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/obj/machinery/power/solar, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"fi" = ( +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"fj" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"fk" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"fl" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + cell_type = /obj/item/weapon/cell/apc; + dir = 8; + name = "west bump"; + pixel_x = -28 + }, +/obj/structure/bed/chair/office/light{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/med_room) +"fm" = ( +/turf/simulated/floor/carpet, +/area/talon/decktwo/med_room) +"fn" = ( +/obj/machinery/alarm/talon{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/effect/landmark/start{ + name = "Talon Doctor" + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/med_room) +"fo" = ( +/obj/machinery/power/apc/talon/hyper{ + dir = 8; + pixel_x = -24 + }, +/obj/structure/cable/green{ + d2 = 4; + icon_state = "0-4" + }, +/obj/structure/closet/crate/plastic, +/obj/item/clothing/suit/space/emergency, +/obj/item/device/flashlight, +/obj/item/weapon/storage/briefcase/inflatable, +/obj/item/clothing/head/helmet/space/emergency, +/obj/item/device/flashlight/glowstick, +/obj/item/device/flashlight/glowstick, +/obj/item/device/flashlight/glowstick, +/obj/item/weapon/storage/box/metalfoam, +/obj/item/weapon/tank/oxygen, +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"fp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/lifeboat) +"fq" = ( +/obj/machinery/alarm/talon{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/powered/scrubber, +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"fr" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/effect/landmark/start{ + name = "Talon Guard" + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/sec_room) +"fs" = ( +/turf/simulated/floor/carpet, +/area/talon/decktwo/sec_room) +"ft" = ( +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/bed/chair/office/light{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/talon/decktwo/sec_room) +"fu" = ( +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"fv" = ( +/obj/machinery/power/solar, +/obj/structure/cable/yellow, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"fw" = ( +/obj/structure/cable/yellow, +/obj/machinery/power/solar, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"fx" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"fy" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"fz" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 4; + icon_state = "light1"; + pixel_x = -24 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"fA" = ( +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"fB" = ( +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"fC" = ( +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 4 + }, +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/item/weapon/paper/talon_lifeboat, +/obj/structure/table/steel, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"fD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/lifeboat) +"fE" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/obj/machinery/portable_atmospherics/powered/pump/filled, +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"fF" = ( +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"fG" = ( +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"fH" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 24 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"fI" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"fJ" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"fK" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"fL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/spline/plain{ + dir = 4 + }, +/obj/machinery/door/airlock{ + id_tag = "talon_meddoor"; + name = "Doctor's Cabin"; + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/med_room) +"fM" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"fN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"fO" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"fP" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 4 + }, +/obj/structure/table/steel, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"fQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + dir = 1; + frequency = 1380; + id_tag = "talonlifeboat_docker"; + pixel_x = -28; + pixel_y = -28 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/lifeboat) +"fR" = ( +/obj/effect/floor_decal/techfloor/orange{ + dir = 8 + }, +/obj/structure/bed/padded, +/obj/item/weapon/bedsheet, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/lifeboat) +"fS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"fT" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"fU" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"fV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/floor_decal/spline/plain{ + dir = 8 + }, +/obj/machinery/door/airlock{ + id_tag = "talon_secdoor"; + name = "Guard's Cabin"; + req_one_access = list(301) + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/sec_room) +"fW" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"fX" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"fY" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 6 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet{ + dir = 4; + icon_state = "extinguisher_closed"; + pixel_x = -30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"fZ" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/machinery/button/remote/airlock{ + dir = 8; + id = "talon_meddoor"; + name = "Door Bolts"; + pixel_x = -28; + specialfunctions = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"ga" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"gb" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/closet/secure_closet/medical3{ + req_access = newlist() + }, +/obj/item/clothing/suit/space/void/medical, +/obj/item/clothing/head/helmet/space/void/medical{ + camera_networks = list("TalonHelmets") + }, +/obj/item/weapon/tank/oxygen, +/obj/item/device/suit_cooling_unit, +/turf/simulated/floor/wood, +/area/talon/decktwo/med_room) +"gc" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/closet/secure_closet/security{ + req_access = newlist() + }, +/obj/item/clothing/suit/space/void/security, +/obj/item/clothing/head/helmet/space/void/security{ + camera_networks = list("TalonHelmets") + }, +/obj/item/weapon/tank/oxygen, +/obj/item/device/suit_cooling_unit, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"gd" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"ge" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/table/standard, +/obj/machinery/button/remote/airlock{ + dir = 4; + id = "talon_secdoor"; + name = "Door Bolts"; + pixel_x = 28; + specialfunctions = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/sec_room) +"gf" = ( +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gg" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gh" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/command{ + name = "Talon Secure Airlock"; + req_one_access = list(301) + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/maintenance/decktwo_aft) +"gi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gj" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 2 + }, +/obj/effect/floor_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gk" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 6 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gm" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 4; + icon_state = "borderfloorcorner2"; + pixel_y = 0 + }, +/obj/machinery/washing_machine, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gn" = ( +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"go" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gp" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 6 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"gq" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 4 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"gt" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + dir = 5 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"gu" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gv" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 9 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 1 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/machinery/washing_machine, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gx" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gz" = ( +/obj/machinery/door/firedoor/glass/talon/hidden, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gA" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"gB" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gC" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gD" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gE" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"gF" = ( +/obj/machinery/door/firedoor/glass/talon/hidden{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals5{ + icon_state = "steel_decals5"; + dir = 8 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gG" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/alarm/talon{ + alarm_id = "anomaly_testing"; + breach_detection = 0; + dir = 8; + frequency = 1439; + pixel_x = 22; + pixel_y = 0; + report_danger_level = 0 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gH" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8; + icon_state = "tube1"; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gI" = ( +/obj/structure/sign/deck2{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel_grid, +/area/talon/decktwo/central_hallway) +"gJ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/lattice, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gK" = ( +/obj/structure/lattice, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gL" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/structure/lattice, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gM" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/steeldecal/steel_decals3, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 6 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gN" = ( +/obj/structure/cable/green{ + icon_state = "1-8" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gO" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 10 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 9 + }, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gP" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor{ + dir = 6 + }, +/obj/effect/floor_decal/borderfloor/corner2, +/obj/structure/closet/emcloset, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gS" = ( +/obj/machinery/door/firedoor/glass/talon, +/obj/machinery/door/airlock, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gT" = ( +/obj/structure/railing, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gU" = ( +/obj/structure/railing, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gV" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 8 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"gW" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"gX" = ( +/obj/machinery/alarm/talon{ + dir = 4; + icon_state = "alarm0"; + pixel_x = -22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"gY" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d2 = 8; + dir = 2; + icon_state = "0-8" + }, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"gZ" = ( +/turf/simulated/wall, +/area/talon/maintenance/decktwo_port) +"ha" = ( +/turf/simulated/floor/tiled/white, +/area/talon/decktwo/central_hallway) +"hb" = ( +/obj/structure/sink{ + pixel_y = 22 + }, +/obj/structure/mirror{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/tiled/white, +/area/talon/decktwo/central_hallway) +"hc" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hd" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 9 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"he" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hf" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + dir = 5 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hg" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hh" = ( +/obj/machinery/cryopod/talon{ + dir = 4 + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/central_hallway) +"hi" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/effect/landmark/talon, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/decktwo/central_hallway) +"hj" = ( +/obj/structure/cable/green{ + icon_state = "2-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"hk" = ( +/obj/machinery/alarm/talon{ + dir = 8; + pixel_x = 22; + pixel_y = 0 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"hl" = ( +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"hm" = ( +/obj/structure/toilet{ + dir = 8 + }, +/turf/simulated/floor/tiled/white, +/area/talon/decktwo/central_hallway) +"hn" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/lattice, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"ho" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"hp" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 6 + }, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 8; + pixel_x = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hq" = ( +/obj/machinery/computer/cryopod{ + pixel_x = 32 + }, +/obj/machinery/light/small, +/obj/effect/landmark/talon, +/turf/simulated/floor/tiled/steel_ridged, +/area/talon/decktwo/central_hallway) +"hr" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"hs" = ( +/obj/structure/catwalk, +/obj/structure/cable/green{ + d2 = 8; + dir = 2; + icon_state = "0-8" + }, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"ht" = ( +/turf/simulated/wall/rshull, +/area/talon/maintenance/decktwo_aft) +"hu" = ( +/turf/simulated/wall, +/area/talon/maintenance/decktwo_aft) +"hw" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hx" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 4 + }, +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 6 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hy" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"hz" = ( +/obj/structure/railing{ + icon_state = "railing0"; + dir = 4 + }, +/obj/structure/railing, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"hB" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance/common, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hC" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/cable/green{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hD" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/cable/green{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hE" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/zpipe/down/supply{ + icon_state = "down-supply"; + dir = 4 + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"hF" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers{ + icon_state = "down-scrubbers"; + dir = 8 + }, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"hG" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"hH" = ( +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"hI" = ( +/obj/machinery/power/solar, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"hJ" = ( +/obj/structure/cable/heavyduty, +/obj/structure/cable/heavyduty{ + dir = 2; + icon_state = "0-4" + }, +/obj/structure/cable/heavyduty{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"hL" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 10 + }, +/obj/structure/catwalk, +/obj/machinery/light/small{ + dir = 4; + pixel_y = 0 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hM" = ( +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"hN" = ( +/obj/structure/cable/heavyduty{ + icon_state = "0-2" + }, +/obj/structure/cable/heavyduty{ + icon_state = "0-8" + }, +/obj/structure/cable/heavyduty, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"hO" = ( +/obj/effect/overmap/visitable/ship/talon, +/turf/space, +/area/space) +"hP" = ( +/obj/effect/landmark/map_data/talon, +/turf/space, +/area/space) +"hQ" = ( +/obj/structure/table/bench/wooden, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"hR" = ( +/obj/structure/ladder, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable/green{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals3{ + dir = 5 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"hT" = ( +/obj/effect/floor_decal/steeldecal/steel_decals10{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals10, +/obj/structure/sign/deck2{ + pixel_y = 28 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"hU" = ( +/obj/structure/catwalk, +/obj/structure/loot_pile/maint/trash, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_port) +"hV" = ( +/obj/structure/catwalk, +/obj/structure/loot_pile/maint/trash, +/turf/simulated/floor/lino, +/area/talon/maintenance/decktwo_aft) +"hW" = ( +/obj/structure/loot_pile/maint/trash, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_starboard) +"hX" = ( +/obj/structure/railing, +/obj/structure/railing{ + dir = 4 + }, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"hY" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"hZ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/heavyduty{ + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_aft) +"ia" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/structure/cable/green{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/talon{ + dir = 4; + name = "east bump"; + pixel_x = 24 + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"ib" = ( +/obj/structure/cable/heavyduty{ + icon_state = "2-4" + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 6 + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_aft) +"ic" = ( +/obj/structure/lattice, +/obj/structure/railing, +/turf/simulated/open, +/area/talon/maintenance/decktwo_aft) +"id" = ( +/obj/machinery/airlock_sensor{ + dir = 4; + pixel_x = -28 + }, +/obj/machinery/atmospherics/unary/vent_pump/aux{ + icon_state = "map_vent_aux"; + dir = 1 + }, +/obj/machinery/embedded_controller/radio/airlock/airlock_controller{ + dir = 8; + id_tag = "talon_aft_solar"; + pixel_x = 28 + }, +/obj/effect/map_helper/airlock/atmos/chamber_pump, +/obj/effect/map_helper/airlock/sensor/chamber_sensor, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"ie" = ( +/obj/effect/map_helper/airlock/door/ext_door, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"if" = ( +/obj/machinery/airlock_sensor{ + pixel_x = -28; + pixel_y = 28 + }, +/obj/effect/map_helper/airlock/sensor/ext_sensor, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_aft) +"ig" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers, +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/catwalk, +/obj/structure/sign/warning/falling{ + pixel_x = 31 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"ih" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 9 + }, +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 10 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"ii" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 6 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"ij" = ( +/obj/machinery/atmospherics/portables_connector/aux{ + icon_state = "map_connector-aux"; + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air/airlock, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"ik" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 4 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"il" = ( +/obj/structure/catwalk, +/obj/machinery/airlock_sensor{ + dir = 1; + pixel_x = -28; + pixel_y = -28 + }, +/obj/effect/map_helper/airlock/sensor/int_sensor, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 10 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"im" = ( +/obj/structure/catwalk, +/obj/machinery/light/small, +/obj/structure/sign/warning/airlock{ + pixel_y = -32 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"in" = ( +/obj/effect/map_helper/airlock/door/int_door, +/obj/machinery/atmospherics/pipe/simple/visible/aux, +/obj/machinery/door/airlock/external/glass, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"ip" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 8; + pixel_y = -26 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/bridge_upper) +"iq" = ( +/obj/machinery/telecomms/allinone/talon{ + id = "talon_aio"; + network = "Talon" + }, +/turf/simulated/floor/bluegrid, +/area/talon/decktwo/tech) +"ir" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + dir = 5 + }, +/obj/structure/cable/green{ + icon_state = "1-4" + }, +/obj/structure/catwalk, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"is" = ( +/turf/simulated/open/vacuum, +/area/space) +"it" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iu" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-2" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iv" = ( +/obj/machinery/power/tracker, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iw" = ( +/obj/structure/cable/yellow{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"ix" = ( +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/obj/structure/cable/heavyduty, +/obj/structure/cable/heavyduty{ + icon_state = "0-2" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iy" = ( +/obj/structure/cable/heavyduty{ + icon_state = "0-2" + }, +/obj/structure/cable/heavyduty, +/obj/structure/cable/yellow{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iz" = ( +/obj/machinery/power/tracker, +/obj/structure/cable/yellow{ + d2 = 8; + icon_state = "0-8" + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iA" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iB" = ( +/obj/structure/cable/heavyduty{ + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iC" = ( +/obj/structure/cable/heavyduty{ + icon_state = "2-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iD" = ( +/obj/structure/cable/heavyduty{ + icon_state = "1-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iE" = ( +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iF" = ( +/obj/structure/cable/heavyduty{ + dir = 2; + icon_state = "0-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iG" = ( +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iH" = ( +/obj/structure/cable/heavyduty{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iI" = ( +/obj/structure/cable/heavyduty{ + icon_state = "0-8" + }, +/turf/simulated/floor/reinforced/airless, +/area/talon/maintenance/decktwo_solars) +"iJ" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 5 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"iK" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/pipe/simple/visible/aux{ + icon_state = "intact-aux"; + dir = 9 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"iL" = ( +/turf/simulated/open/vacuum, +/area/talon/maintenance/decktwo_solars) +"iM" = ( +/obj/machinery/ntnet_relay, +/turf/simulated/floor/bluegrid, +/area/talon/decktwo/tech) +"jD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"mN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/machinery/oxygen_pump{ + icon_state = "oxygen_tank"; + dir = 4; + pixel_x = 30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"oo" = ( +/obj/structure/sign/poster, +/turf/simulated/wall, +/area/talon/decktwo/bar) +"rE" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 6 + }, +/obj/structure/catwalk, +/obj/machinery/embedded_controller/radio/simple_docking_controller{ + frequency = 1380; + id_tag = "talon_lifeboatbay"; + pixel_x = 8; + pixel_y = 28 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"rQ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/green{ + icon_state = "1-2"; + dir = 1 + }, +/obj/effect/overmap/visitable/ship/landable/talon_lifeboat, +/obj/effect/shuttle_landmark/shuttle_initializer/talon_lifeboat, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/lifeboat) +"sx" = ( +/obj/machinery/button/remote/airlock{ + dir = 4; + id = "talon_capdoor"; + name = "Door Bolts"; + pixel_x = 28; + specialfunctions = 4 + }, +/turf/simulated/floor/wood, +/area/talon/decktwo/cap_room) +"tC" = ( +/obj/machinery/atmospherics/pipe/simple/visible/supply{ + dir = 4 + }, +/obj/structure/catwalk, +/obj/structure/sign/directions/evac{ + dir = 1; + pixel_x = 1; + pixel_y = 32 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"uP" = ( +/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/structure/catwalk, +/obj/structure/sign/securearea{ + pixel_x = 0; + pixel_y = 30 + }, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"xm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + icon_state = "intact-scrubbers"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 8 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 1 + }, +/obj/structure/sign/department/telecoms{ + pixel_y = -31 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"yb" = ( +/obj/structure/table/steel, +/obj/machinery/button/remote/blast_door{ + dir = 8; + id = "talon_windows"; + name = "window blast shields" + }, +/turf/simulated/floor/tiled/techfloor/grid, +/area/talon/decktwo/bridge_upper) +"BC" = ( +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 8 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 4 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"FD" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/machinery/camera/network/talon{ + icon_state = "camera"; + dir = 9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"Gq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 10; + icon_state = "borderfloorcorner2"; + pixel_x = 0 + }, +/obj/structure/sign/directions/roomnum{ + icon_state = "roomnum"; + dir = 1; + pixel_x = -31; + pixel_y = -9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"Ib" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/glass_external, +/obj/effect/map_helper/airlock/door/simple, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/lifeboat) +"IL" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/oxygen_pump{ + icon_state = "oxygen_tank"; + dir = 8; + pixel_x = -30 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"JL" = ( +/obj/structure/cable/green{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + layer = 3.3; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"MS" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/borderfloor/corner2{ + dir = 5 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/structure/sign/directions/roomnum{ + icon_state = "roomnum"; + dir = 8; + pixel_x = 32; + pixel_y = -9 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) +"Qm" = ( +/obj/machinery/door/airlock/maintenance/common, +/obj/machinery/door/firedoor/glass/talon, +/turf/simulated/floor/plating, +/area/talon/maintenance/decktwo_aft) +"Se" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/turf/simulated/floor/tiled/techfloor, +/area/talon/decktwo/bridge_upper) +"SU" = ( +/obj/effect/landmark/start{ + name = "Talon Captain" + }, +/turf/simulated/floor/carpet/blucarpet, +/area/talon/decktwo/cap_room) +"Xp" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/floor_decal/borderfloor{ + dir = 4 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 10 + }, +/obj/effect/floor_decal/steeldecal/steel_decals7{ + dir = 9 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 26 + }, +/turf/simulated/floor/tiled/steel, +/area/talon/decktwo/central_hallway) + +(1,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +hP +"} +(2,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +hO +aa +"} +(3,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(4,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(5,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(6,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(7,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(8,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(9,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(10,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(11,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(12,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(13,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(14,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(15,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(16,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(17,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(18,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(19,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(20,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(21,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(22,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(23,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(24,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(26,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(27,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(28,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(29,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(30,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(31,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(32,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(33,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(34,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(35,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(36,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(37,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(38,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(39,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(40,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(41,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(42,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(43,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(44,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(45,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(46,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(47,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(48,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(49,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(50,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(51,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(52,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(53,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +ao +ao +ao +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(54,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +ao +iv +ao +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(55,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +ao +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +ao +iw +ao +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(56,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +ct +fi +hH +hJ +it +it +it +it +it +it +it +it +it +it +iu +ix +iu +it +it +it +it +it +it +it +it +it +it +it +it +it +iA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(57,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +cu +fv +fh +hM +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +ao +ao +ao +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +iB +iA +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(58,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +cu +fw +cb +cg +cb +cb +cb +cb +cb +cb +cb +cb +cb +cb +bl +bl +cb +cb +cb +cb +cb +cb +cb +cb +cb +cb +cb +ht +ht +ht +ht +iB +iA +ao +ao +ao +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(59,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +cv +fw +cb +ch +cx +cH +cY +cY +cY +dJ +cY +cY +eB +cY +eQ +fj +fx +fJ +fx +fx +fx +fx +fx +fx +fx +gX +hl +hu +hV +hE +ht +ao +hM +ao +iF +ao +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(60,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +cb +ci +cc +cc +cc +cc +cc +cc +cc +cc +cc +cc +eR +cc +cc +cc +cc +cc +cc +cc +cc +cc +cc +gY +hU +hu +gp +hd +ht +ce +iE +fw +iG +fw +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(61,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +ao +cb +ci +cc +cI +cZ +dp +dx +dK +dx +ek +dx +dx +eS +fk +fy +fK +fY +gf +BC +gx +gH +gO +cc +gZ +gZ +hu +gq +he +ht +ce +iE +fw +iG +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(62,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ao +ao +ap +ap +ap +ap +ap +ba +ba +ap +ap +ap +ap +cb +cj +cc +cJ +da +dq +dq +dq +dY +el +eC +mN +Xp +dq +MS +el +eC +gg +gl +gy +gM +gP +gS +ha +ha +Qm +gq +he +ht +ce +iE +fw +iG +fw +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(63,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ap +aC +aC +aC +aC +hQ +hQ +aC +aC +aC +aC +aC +cc +cc +cK +db +dr +dr +dr +dr +em +dr +dr +eT +eT +eT +fL +eT +eT +gm +gz +gz +gz +cc +hb +hm +hu +hx +ij +ht +ce +iE +fw +iG +fw +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(64,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ap +aC +az +SU +aM +aM +aM +bu +bB +aM +aM +aC +ck +cy +cL +dc +dr +dy +dL +dZ +en +eD +dr +eU +fl +fz +fM +fZ +eT +cc +cc +gI +cc +cc +cc +cc +hu +hY +hu +ht +ce +iE +fw +iG +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(65,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ab +aC +aA +aK +aM +bb +bm +bm +bC +bK +aK +aC +cl +cz +cM +dd +dr +dz +dM +ea +eo +eE +dr +eV +fm +fA +fN +ga +eT +gn +gn +gn +gn +gT +hp +hc +hc +ih +iJ +ht +ce +iE +fw +iG +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(66,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ac +ac +ac +ac +ac +ac +ac +aC +aL +aM +bc +bn +bn +bD +bL +bR +aC +cl +cz +cN +de +dr +dA +dN +ea +ep +eF +dr +eW +fn +fB +fO +gb +eT +gn +gn +gn +gn +gT +gq +gB +gu +hy +ik +ht +ce +iE +fw +iG +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(67,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ae +ae +ae +ae +aj +aq +Se +aB +aM +sx +bd +bo +bv +bE +bM +er +aC +cm +cz +cO +df +dr +dr +dr +eb +dr +dr +dr +eT +eT +eT +eT +eT +eT +go +go +go +go +gU +gq +gC +gn +hX +ik +ht +ce +iE +fw +iG +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(68,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ae +ae +ae +ae +ak +ip +ac +aC +aC +aC +be +aC +aC +aC +aC +aC +aC +cl +cA +cN +jD +ds +dB +dO +dS +eq +ds +eN +eN +eN +eN +eN +eN +hu +rE +hc +hc +hc +hc +hd +hn +ic +ii +iK +ht +ce +iE +fw +iG +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(69,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ae +ae +ae +ag +al +ar +ac +aD +aN +aU +bf +bp +bw +bF +bw +bS +cc +cn +cB +cP +dg +ds +dC +dP +ec +es +ds +eN +eX +fo +fC +fP +eN +hu +tC +gB +gJ +gu +gV +he +gC +gT +ik +ht +ht +ht +hZ +iu +iD +ao +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(70,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ae +ae +af +ah +am +as +ay +aE +aO +aV +bg +aV +FD +bG +bN +bT +cd +co +cC +cQ +dh +dt +dD +dQ +ed +et +eH +eO +rQ +fp +fD +fQ +Ib +gh +gt +gC +gK +gn +gT +he +gC +gT +il +in +id +ie +if +ao +ao +ao +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(71,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ad +ae +ae +ae +ai +yb +at +aw +aw +aw +aW +aW +aW +aw +aw +bO +bU +aw +hT +cD +cR +di +ds +dE +dR +ee +eu +ds +eN +eY +fq +fE +fR +eN +hu +uP +gD +gL +go +gU +he +gC +gT +im +ht +ht +ht +ib +iu +iA +ao +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(72,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ae +ae +ae +ae +ai +au +aw +aF +aP +aX +aF +bq +bx +bH +bH +bV +aw +cl +cE +cN +xm +ds +dF +iq +ef +iM +ds +eN +eN +eN +eN +eN +eN +hu +gE +hg +hg +hg +hg +hf +hn +ic +he +he +ht +ce +eP +fw +iH +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(73,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ae +ae +ae +ae +an +av +aw +aG +aQ +aQ +aQ +aQ +aQ +aQ +aQ +bW +aw +cm +cz +cN +de +du +du +du +du +du +du +du +eZ +eZ +eZ +eZ +eZ +eZ +gu +gu +gu +gu +gV +gA +gC +gn +gV +he +ht +ce +eP +fw +iH +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(74,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ac +ac +ac +ac +ac +ac +aw +aw +aH +aR +aY +bh +br +by +bI +bI +bX +aw +cl +cz +cN +de +du +dG +dT +eg +ev +eI +du +fa +fr +fF +fS +gc +eZ +gn +gn +gn +gn +gT +gA +ho +go +hz +he +ht +ce +eP +fw +iH +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(75,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ab +ab +ab +ab +ab +ab +ab +ax +oo +aI +aS +aI +bi +aI +bz +aQ +aQ +bY +aw +cl +cz +cS +dj +du +dH +dU +eh +ew +eJ +du +fb +fs +fG +fT +gd +eZ +gn +gn +gn +gn +gT +hL +ia +ig +ir +hR +ht +ce +eP +fw +iH +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(76,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ax +aw +aJ +aT +aZ +aZ +aZ +bA +bJ +bP +bZ +aw +ck +cy +cT +dk +du +dI +dV +ei +ex +eK +du +fc +ft +fH +fU +ge +eZ +cc +cc +gI +cc +cc +cc +cc +hu +hB +hu +ht +ce +eP +fw +iH +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(77,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ax +aw +aw +aw +aw +bj +bs +aw +aw +aw +aw +aw +cc +cc +cU +dl +du +du +du +du +ey +du +du +eZ +eZ +eZ +fV +eZ +eZ +gv +gF +gF +gF +cc +hh +hh +hu +hC +he +ht +ce +eP +fw +iH +fw +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(78,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ax +ax +ax +ax +ax +bk +bk +ax +ax +bQ +hW +ca +cp +cc +cV +dm +dv +dv +dv +ej +ez +eL +IL +dv +dv +Gq +ez +eL +gi +gw +gy +hS +gQ +gW +hi +hq +hu +hC +he +ht +ce +eP +fw +iH +fw +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(79,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ao +ao +ao +ao +ao +ao +ao +ao +ao +bQ +ca +ca +cq +cc +cW +dn +dw +dn +dW +dn +eA +JL +dn +fd +dW +dn +fW +dw +gj +gk +gG +gN +gR +cF +fe +cF +hu +hC +he +ht +ce +eP +fw +iH +fw +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(80,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +ao +ao +ao +ao +ao +ao +ao +ao +ao +bQ +bQ +bQ +cq +cF +cF +cF +cF +cF +cF +cF +cF +cF +cF +fe +cF +cF +cF +cF +cF +cF +cF +cF +cF +cF +hj +hr +hw +hD +hf +ht +ce +eP +fw +iH +fw +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(81,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +cw +fw +bQ +cr +cG +cX +do +do +do +dX +do +do +eM +do +ff +fu +fI +fX +fI +fI +fI +fI +fI +fI +fI +hk +hs +hu +he +hF +ht +ao +hM +ao +iI +ao +iL +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(82,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +eP +fw +bQ +cs +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bt +bt +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +bQ +ht +ht +ht +ht +iC +iD +ao +ao +ao +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(83,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +eP +fv +hI +hM +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +ao +ao +ao +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +cf +iC +iD +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(84,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +aa +ce +fg +hG +hG +hN +it +it +it +it +it +it +it +it +it +it +iu +iy +iu +it +it +it +it +it +it +it +it +it +it +it +it +it +iD +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(85,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +ao +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +ao +iw +ao +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +fh +ao +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(86,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +ao +iz +ao +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(87,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +ao +ao +ao +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(88,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(89,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(90,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(91,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(92,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(93,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(94,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(95,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(96,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(97,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(98,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(99,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(100,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(101,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(102,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(103,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(104,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(105,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(106,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(107,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(108,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(109,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(110,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(111,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(112,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(113,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(114,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(115,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(116,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(117,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(118,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(119,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +is +is +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(120,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(121,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(122,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(123,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(124,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(125,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(126,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(127,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(128,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(129,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(130,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(131,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(132,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(133,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(134,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(135,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(136,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(137,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(138,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(139,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} +(140,1,1) = {" +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +aa +"} diff --git a/maps/tether/submaps/offmap/talon_areas.dm b/maps/tether/submaps/offmap/talon_areas.dm new file mode 100644 index 00000000000..36aee1dd2ef --- /dev/null +++ b/maps/tether/submaps/offmap/talon_areas.dm @@ -0,0 +1,73 @@ +/area/talon/maintenance/deckone_port + name = "\improper Deck One - Port Maintenance" +/area/talon/maintenance/deckone_starboard + name = "\improper Deck One - Starboard Maintenance" + +/area/talon/maintenance/deckone_port_aft_wing + name = "\improper Deck One - Aft Port Wing" +/area/talon/maintenance/deckone_starboard_aft_wing + name = "\improper Deck One - Aft Starboard Wing" +/area/talon/maintenance/deckone_port_fore_wing + name = "\improper Deck One - Fore Port Wing" +/area/talon/maintenance/deckone_starboard_fore_wing + name = "\improper Deck One - Fore Starboard Wing" + +/area/talon/maintenance/decktwo_port + name = "\improper Deck Two - Port Maintenance" +/area/talon/maintenance/decktwo_starboard + name = "\improper Deck Two - Starboard Maintenance" +/area/talon/maintenance/decktwo_aft + name = "\improper Deck Two - Aft Maintenance" +/area/talon/maintenance/decktwo_solars + name = "\improper Deck Two - Ext Solars" + + +/area/talon/deckone/central_hallway + name = "\improper Deck One - Central Hallway" +/area/talon/deckone/bridge_hallway + name = "\improper Deck One - Bridge Hallway" +/area/talon/deckone/medical + name = "\improper Deck One - Medical" +/area/talon/deckone/workroom + name = "\improper Deck One - Workroom" +/area/talon/deckone/brig + name = "\improper Deck One - Brig" +/area/talon/deckone/port_eng + name = "\improper Deck One - Port Engineering" +/area/talon/deckone/port_eng_store + name = "\improper Deck One - Port Eng. Storage" +/area/talon/deckone/starboard_eng + name = "\improper Deck One - Starboard Engineering" +/area/talon/deckone/starboard_eng_store + name = "\improper Deck One - Starboard Eng. Storage" +/area/talon/deckone/armory + name = "\improper Deck One - Armory" +/area/talon/deckone/secure_storage + name = "\improper Deck One - Secure Storage" +/area/talon/deckone/bridge + name = "\improper Deck One - Bridge" +/area/talon/deckone/port_solar + name = "\improper Deck One - Port Solar Control" +/area/talon/deckone/starboard_solar + name = "\improper Deck One - Starboard Solar Control" + +/area/talon/decktwo/central_hallway + name = "\improper Deck Two - Central Hallway" +/area/talon/decktwo/pilot_room + name = "\improper Deck Two - Pilot Cabin" +/area/talon/decktwo/med_room + name = "\improper Deck Two - Doctor Cabin" +/area/talon/decktwo/eng_room + name = "\improper Deck Two - Engineer Cabin" +/area/talon/decktwo/sec_room + name = "\improper Deck Two - Guard Cabin" +/area/talon/decktwo/cap_room + name = "\improper Deck Two - Captain Cabin" +/area/talon/decktwo/bar + name = "\improper Deck Two - Bar" +/area/talon/decktwo/tech + name = "\improper Deck Two - Tech Room" +/area/talon/decktwo/lifeboat + name = "\improper Deck Two - Lifeboat" +/area/talon/decktwo/bridge_upper + name = "\improper Deck Two - Upper Bridge" \ No newline at end of file diff --git a/maps/tether/submaps/tether_misc.dmm b/maps/tether/submaps/tether_misc.dmm index 46b36efe270..93bd74a4c6c 100644 --- a/maps/tether/submaps/tether_misc.dmm +++ b/maps/tether/submaps/tether_misc.dmm @@ -1725,10 +1725,6 @@ }, /turf/simulated/floor/holofloor/grass, /area/holodeck/holodorm/source_garden) -"hn" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/base_high, -/turf/unsimulated/floor/steel, -/area/centcom/control) "hx" = ( /turf/simulated/floor/holofloor/wood, /area/holodeck/holodorm/source_seating) @@ -1876,7 +1872,7 @@ /turf/space/transit/west, /area/space) "kh" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/base_mid, +/obj/machinery/telecomms/relay/preset/centcom/tether, /turf/unsimulated/floor/steel, /area/centcom/control) "kn" = ( @@ -1889,10 +1885,6 @@ /obj/machinery/telecomms/server/presets/centcomm, /turf/unsimulated/floor/steel, /area/centcom/control) -"kF" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/midpoint, -/turf/unsimulated/floor/steel, -/area/centcom/control) "le" = ( /obj/effect/floor_decal/transit/orange{ dir = 4 @@ -2054,10 +2046,6 @@ icon = 'icons/turf/transit_vr.dmi' }, /area/space) -"vt" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/station_high, -/turf/unsimulated/floor/steel, -/area/centcom/control) "vG" = ( /obj/effect/step_trigger/lost_in_space/tram, /turf/simulated/floor/maglev{ @@ -2127,6 +2115,7 @@ /area/space) "xe" = ( /obj/machinery/account_database{ + dir = 1; name = "CentComm Accounts database" }, /turf/unsimulated/floor/steel, @@ -2243,7 +2232,7 @@ /turf/simulated/sky/virgo3b/south, /area/space) "Ct" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/station_low, +/obj/machinery/ntnet_relay, /turf/unsimulated/floor/steel, /area/centcom/control) "Cw" = ( @@ -2256,20 +2245,12 @@ }, /turf/simulated/floor/tiled/steel, /area/centcom/simulated/main_hall) -"Dc" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/station_mid, -/turf/unsimulated/floor/steel, -/area/centcom/control) "Dk" = ( /obj/effect/floor_decal/industrial/warning{ dir = 8 }, /turf/simulated/floor/tiled/steel, /area/space) -"Dn" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/sci_outpost, -/turf/unsimulated/floor/steel, -/area/centcom/control) "Dw" = ( /obj/structure/table/standard, /obj/item/weapon/reagent_containers/food/snacks/chips, @@ -2335,10 +2316,6 @@ icon_state = "techfloor_grid" }, /area/space) -"FW" = ( -/obj/machinery/telecomms/relay/preset/centcom/underdark, -/turf/unsimulated/floor/steel, -/area/centcom/control) "Ga" = ( /turf/unsimulated/floor/steel, /area/centcom/control) @@ -4851,10 +4828,6 @@ }, /turf/simulated/floor/tiled/white, /area/centcom/simulated/medical) -"ZA" = ( -/obj/machinery/telecomms/relay/preset/centcom/tether/base_low, -/turf/unsimulated/floor/steel, -/area/centcom/control) "ZC" = ( /obj/machinery/light{ icon_state = "tube1"; @@ -17130,7 +17103,7 @@ ae wy rE Ga -HQ +Iq wl Up Vj @@ -17270,9 +17243,9 @@ ae ae ae wy -kF +HQ +Ga Ga -Iq wl Up Vj @@ -17838,9 +17811,9 @@ ae ae ae wy -Dc -Ga -hn +wy +wy +wy wl Up Vj @@ -17979,10 +17952,10 @@ ae ae ae ae -wy -vt -Ga -FW +ae +ae +ae +ae wl Up Vj @@ -18121,10 +18094,10 @@ ae ae ae ae -wy -Dn -Ga -ZA +ae +ae +ae +ae wl Up Vj @@ -18263,10 +18236,10 @@ ae ae ae ae -wy -wy -wy -wy +ae +ae +ae +ae wl Up Vj diff --git a/maps/tether/tether-02-surface2.dmm b/maps/tether/tether-02-surface2.dmm index f98681f9b04..3df556ed484 100644 --- a/maps/tether/tether-02-surface2.dmm +++ b/maps/tether/tether-02-surface2.dmm @@ -20553,15 +20553,6 @@ temperature = 80 }, /area/tcommsat/chamber) -"aMA" = ( -/obj/machinery/telecomms/relay/preset/tether/midpoint, -/turf/simulated/floor/bluegrid{ - name = "Mainframe Base"; - nitrogen = 100; - oxygen = 0; - temperature = 80 - }, -/area/tcommsat/chamber) "aMB" = ( /obj/machinery/telecomms/server/presets/common, /turf/simulated/floor/tiled/dark{ @@ -20835,16 +20826,8 @@ temperature = 80 }, /area/tcommsat/chamber) -"aNc" = ( -/obj/machinery/telecomms/relay/preset/tether/base_high, -/turf/simulated/floor/tiled/dark{ - nitrogen = 100; - oxygen = 0; - temperature = 80 - }, -/area/tcommsat/chamber) "aNd" = ( -/obj/machinery/telecomms/broadcaster/preset_right, +/obj/machinery/telecomms/broadcaster/preset_right/tether, /turf/simulated/floor/bluegrid{ name = "Mainframe Base"; nitrogen = 100; @@ -20870,14 +20853,6 @@ temperature = 80 }, /area/tcommsat/chamber) -"aNg" = ( -/obj/machinery/telecomms/relay/preset/tether/base_low, -/turf/simulated/floor/tiled/dark{ - nitrogen = 100; - oxygen = 0; - temperature = 80 - }, -/area/tcommsat/chamber) "aNh" = ( /obj/machinery/telecomms/bus/preset_four, /turf/simulated/floor/tiled/dark{ @@ -21104,15 +21079,6 @@ temperature = 80 }, /area/tcommsat/chamber) -"aNC" = ( -/obj/machinery/telecomms/relay/preset/tether/base_mid, -/turf/simulated/floor/bluegrid{ - name = "Mainframe Base"; - nitrogen = 100; - oxygen = 0; - temperature = 80 - }, -/area/tcommsat/chamber) "aND" = ( /obj/machinery/door/blast/regular{ density = 0; @@ -43448,7 +43414,7 @@ aLE aLM aMz aLM -aNc +aLM aLM aLM aNL @@ -43872,11 +43838,11 @@ aXa aLo aLH aMe -aMA +aLD aMN aNe aNr -aNC +aLD aNN aOg aKh @@ -44300,7 +44266,7 @@ aLK aLM aLM aLM -aNg +aLM aLM aLM aNP diff --git a/maps/tether/tether-05-station1.dmm b/maps/tether/tether-05-station1.dmm index 987ab85a4ad..bc473fd7da8 100644 --- a/maps/tether/tether-05-station1.dmm +++ b/maps/tether/tether-05-station1.dmm @@ -10499,7 +10499,6 @@ icon_state = "alarm0"; pixel_y = -22 }, -/obj/machinery/telecomms/relay/preset/tether/station_mid, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/heads/chief) "asp" = ( @@ -22814,14 +22813,12 @@ /obj/effect/floor_decal/techfloor{ dir = 10 }, -/obj/machinery/telecomms/relay/preset/tether/station_high, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/heads/chief) "bYK" = ( /obj/effect/floor_decal/techfloor{ dir = 6 }, -/obj/machinery/telecomms/relay/preset/tether/station_low, /turf/simulated/floor/tiled/techfloor, /area/crew_quarters/heads/chief) "bYN" = ( diff --git a/maps/tether/tether-08-mining.dmm b/maps/tether/tether-08-mining.dmm index 342fc603025..7bf87c5ee58 100644 --- a/maps/tether/tether-08-mining.dmm +++ b/maps/tether/tether-08-mining.dmm @@ -773,10 +773,6 @@ /obj/structure/cable/green, /turf/simulated/floor/plating, /area/outpost/mining_main/maintenance) -"bG" = ( -/obj/machinery/telecomms/relay/preset/underdark, -/turf/simulated/floor/plating, -/area/outpost/mining_main/maintenance) "bH" = ( /obj/machinery/telecomms/relay/preset/mining, /turf/simulated/floor/plating, @@ -4104,7 +4100,7 @@ bd bl bq bz -bG +bp SF ab aF diff --git a/maps/tether/tether-09-solars.dmm b/maps/tether/tether-09-solars.dmm index 7fccc627e51..167568a6d10 100644 --- a/maps/tether/tether-09-solars.dmm +++ b/maps/tether/tether-09-solars.dmm @@ -1909,7 +1909,6 @@ /turf/simulated/floor/virgo3b, /area/mine/explored) "ed" = ( -/obj/machinery/telecomms/relay/preset/tether/sci_outpost, /turf/simulated/floor, /area/maintenance/substation/outpost) "ee" = ( diff --git a/maps/tether/tether.dm b/maps/tether/tether.dm index 4660e3d1aea..8c8790f0498 100644 --- a/maps/tether/tether.dm +++ b/maps/tether/tether.dm @@ -8,7 +8,8 @@ #include "tether_shuttle_defs.dm" #include "tether_shuttles.dm" #include "tether_telecomms.dm" - + #include "tether_jobs.dm" + #if !AWAY_MISSION_TEST //Don't include these for just testing away missions #include "tether-01-surface1.dmm" #include "tether-02-surface2.dmm" diff --git a/maps/tether/tether_defines.dm b/maps/tether/tether_defines.dm index 0418e334758..33ebcf7f504 100644 --- a/maps/tether/tether_defines.dm +++ b/maps/tether/tether_defines.dm @@ -11,17 +11,19 @@ #define Z_LEVEL_MISC 10 #define Z_LEVEL_UNDERDARK 11 #define Z_LEVEL_PLAINS 12 -#define Z_LEVEL_ROGUEMINE_1 13 -#define Z_LEVEL_ROGUEMINE_2 14 -#define Z_LEVEL_ROGUEMINE_3 15 -#define Z_LEVEL_ROGUEMINE_4 16 -#define Z_LEVEL_BEACH 17 -#define Z_LEVEL_BEACH_CAVE 18 -#define Z_LEVEL_AEROSTAT 19 -#define Z_LEVEL_AEROSTAT_SURFACE 20 -#define Z_LEVEL_DEBRISFIELD 21 -#define Z_LEVEL_FUELDEPOT 22 -#define Z_LEVEL_GATEWAY 23 +#define Z_LEVEL_OFFMAP1 13 +#define Z_LEVEL_OFFMAP2 14 +#define Z_LEVEL_ROGUEMINE_1 15 +#define Z_LEVEL_ROGUEMINE_2 16 +#define Z_LEVEL_ROGUEMINE_3 17 +#define Z_LEVEL_ROGUEMINE_4 18 +#define Z_LEVEL_BEACH 19 +#define Z_LEVEL_BEACH_CAVE 20 +#define Z_LEVEL_AEROSTAT 21 +#define Z_LEVEL_AEROSTAT_SURFACE 22 +#define Z_LEVEL_DEBRISFIELD 23 +#define Z_LEVEL_FUELDEPOT 24 +#define Z_LEVEL_GATEWAY 25 //Camera networks #define NETWORK_TETHER "Tether" @@ -99,12 +101,14 @@ NETWORK_COMMUNICATORS, NETWORK_ALARM_ATMOS, NETWORK_ALARM_POWER, - NETWORK_ALARM_FIRE + NETWORK_ALARM_FIRE, + NETWORK_TALON_HELMETS, + NETWORK_TALON_SHIP ) bot_patrolling = FALSE - allowed_spawns = list("Tram Station","Gateway","Cryogenic Storage","Cyborg Storage") + allowed_spawns = list("Tram Station","Gateway","Cryogenic Storage","Cyborg Storage","ITV Talon Cryo") spawnpoint_died = /datum/spawnpoint/tram spawnpoint_left = /datum/spawnpoint/tram spawnpoint_stayed = /datum/spawnpoint/cryo @@ -134,6 +138,7 @@ lateload_z_levels = list( list("Tether - Misc","Tether - Underdark","Tether - Plains"), //Stock Tether lateload maps + list("Offmap Ship - Talon Z1","Offmap Ship - Talon Z2"), list("Asteroid Belt 1","Asteroid Belt 2","Asteroid Belt 3","Asteroid Belt 4"), list("Desert Planet - Z1 Beach","Desert Planet - Z2 Cave"), list("Remmi Aerostat - Z1 Aerostat","Remmi Aerostat - Z2 Surface"), @@ -198,34 +203,6 @@ Z_LEVEL_PLAINS ) -// Short range computers see only the six main levels, others can see the surrounding surface levels. -/datum/map/tether/get_map_levels(var/srcz, var/long_range = TRUE) - if (long_range && (srcz in map_levels)) - return map_levels - else if (srcz == Z_LEVEL_MISC) //technical levels - return list() // Nothing on these z-levels- sensors won't show, and GPSes won't see each other. - else if (srcz >= Z_LEVEL_SURFACE_LOW && srcz <= Z_LEVEL_SOLARS) //Zs 1-3, 5-9, Z4 will return same list, but is not included into it - return list( - Z_LEVEL_SURFACE_LOW, - Z_LEVEL_SURFACE_MID, - Z_LEVEL_SURFACE_HIGH, - Z_LEVEL_SPACE_LOW, - Z_LEVEL_SPACE_MID, - Z_LEVEL_SPACE_HIGH, - Z_LEVEL_SURFACE_MINE, - Z_LEVEL_SOLARS, - Z_LEVEL_PLAINS) - else if(srcz >= Z_LEVEL_BEACH && srcz <= Z_LEVEL_BEACH_CAVE) - return list( - Z_LEVEL_BEACH, - Z_LEVEL_BEACH_CAVE) - else if(srcz >= Z_LEVEL_AEROSTAT && srcz <= Z_LEVEL_AEROSTAT_SURFACE) - return list( - Z_LEVEL_AEROSTAT, - Z_LEVEL_AEROSTAT_SURFACE) - else - return list(srcz) //prevents runtimes when using CMC. any Z-level not defined above will be 'isolated' and only show to GPSes/CMCs on that same Z (e.g. CentCom). - // Overmap represetation of tether /obj/effect/overmap/visitable/sector/virgo3b name = "Virgo 3B" diff --git a/maps/tether/tether_jobs.dm b/maps/tether/tether_jobs.dm new file mode 100644 index 00000000000..b4535cd1988 --- /dev/null +++ b/maps/tether/tether_jobs.dm @@ -0,0 +1,185 @@ +/////////////////////////////////// +//// Talon Jobs +/datum/department/talon + name = DEPARTMENT_TALON + short_name = "Talon" + color = "#888888" + sorting_order = -2 + assignable = FALSE + visible = FALSE + +/datum/job/talon/captain + title = "Talon Captain" + departments_managed = list(DEPARTMENT_TALON) + job_description = "The captain's job is to generate profit through trade or other means such as salvage or even privateering." + supervisors = "yourself" + outfit_type = /decl/hierarchy/outfit/job/talon_captain + + offmap_spawn = TRUE + faction = "Station" //Required for SSjob to allow people to join as it + departments = list(DEPARTMENT_TALON) + total_positions = 1 + spawn_positions = 1 + selection_color = "#999999" + economic_modifier = 7 + minimal_player_age = 14 + pto_type = null + access = list(access_talon) + minimal_access = list(access_talon) + +/datum/job/talon/doctor + title = "Talon Doctor" + job_description = "The doctor's job is to make sure the crew of the ITV Talon remain in good health and to monitor them when away from the ship." + supervisors = "the ITV Talon's captain" + outfit_type = /decl/hierarchy/outfit/job/talon_doctor + + offmap_spawn = TRUE + faction = "Station" //Required for SSjob to allow people to join as it + departments = list(DEPARTMENT_TALON) + total_positions = 1 + spawn_positions = 1 + selection_color = "#aaaaaa" + economic_modifier = 5 + minimal_player_age = 14 + pto_type = null + access = list(access_talon) + minimal_access = list(access_talon) + +/datum/job/talon/engineer + title = "Talon Engineer" + job_description = "The engineer's job is to ensure the ITV Talon remains in tip-top shape and to repair any damage as well as manage the shields." + supervisors = "the ITV Talon's captain" + outfit_type = /decl/hierarchy/outfit/job/talon_engineer + + offmap_spawn = TRUE + faction = "Station" //Required for SSjob to allow people to join as it + departments = list(DEPARTMENT_TALON) + total_positions = 1 + spawn_positions = 1 + selection_color = "#aaaaaa" + economic_modifier = 5 + minimal_player_age = 14 + pto_type = null + access = list(access_talon) + minimal_access = list(access_talon) + +/datum/job/talon/pilot + title = "Talon Pilot" + job_description = "The pilot's job is to fly the ITV Talon in the most efficient and profitable way possible." + supervisors = "the ITV Talon's captain" + outfit_type = /decl/hierarchy/outfit/job/talon_pilot + + offmap_spawn = TRUE + faction = "Station" //Required for SSjob to allow people to join as it + departments = list(DEPARTMENT_TALON) + total_positions = 1 + spawn_positions = 1 + selection_color = "#aaaaaa" + economic_modifier = 5 + minimal_player_age = 14 + pto_type = null + access = list(access_talon) + minimal_access = list(access_talon) + +/datum/job/talon/guard + title = "Talon Guard" + job_description = "The guard's job is to keep the crew of the ITV Talon safe and ensure the captain's wishes are carried out." + supervisors = "the ITV Talon's captain" + outfit_type = /decl/hierarchy/outfit/job/talon_security + + offmap_spawn = TRUE + faction = "Station" //Required for SSjob to allow people to join as it + departments = list(DEPARTMENT_TALON) + total_positions = 1 + spawn_positions = 1 + selection_color = "#aaaaaa" + economic_modifier = 5 + minimal_player_age = 14 + pto_type = null + access = list(access_talon) + minimal_access = list(access_talon) + +/decl/hierarchy/outfit/job/talon_captain + name = OUTFIT_JOB_NAME("Talon Captain") + + id_type = /obj/item/weapon/card/id/gold + id_slot = slot_wear_id + pda_type = null + + l_ear = /obj/item/device/radio/headset/talon + glasses = /obj/item/clothing/glasses/sunglasses + uniform = /obj/item/clothing/under/rank/captain + shoes = /obj/item/clothing/shoes/brown + backpack = /obj/item/weapon/storage/backpack/captain + satchel_one = /obj/item/weapon/storage/backpack/satchel/cap + messenger_bag = /obj/item/weapon/storage/backpack/messenger/com + +/decl/hierarchy/outfit/job/talon_pilot + name = OUTFIT_JOB_NAME("Talon Pilot") + id_pda_assignment = "Pilot" + + id_slot = slot_wear_id + pda_type = null + flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL + + l_ear = /obj/item/device/radio/headset/talon + shoes = /obj/item/clothing/shoes/black + uniform = /obj/item/clothing/under/rank/pilot1 + suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot + gloves = /obj/item/clothing/gloves/fingerless + glasses = /obj/item/clothing/glasses/fakesunglasses/aviator + +/decl/hierarchy/outfit/job/talon_doctor + name = OUTFIT_JOB_NAME("Talon Doctor") + hierarchy_type = /decl/hierarchy/outfit/job + + id_type = /obj/item/weapon/card/id/medical + id_slot = slot_wear_id + pda_type = null + + l_ear = /obj/item/device/radio/headset/talon + shoes = /obj/item/clothing/shoes/white + backpack = /obj/item/weapon/storage/backpack/medic + satchel_one = /obj/item/weapon/storage/backpack/satchel/med + messenger_bag = /obj/item/weapon/storage/backpack/messenger/med + uniform = /obj/item/clothing/under/rank/medical + suit = /obj/item/clothing/suit/storage/toggle/labcoat + l_hand = /obj/item/weapon/storage/firstaid/regular + r_pocket = /obj/item/device/flashlight/pen + +/decl/hierarchy/outfit/job/talon_security + name = OUTFIT_JOB_NAME("Talon Security") + hierarchy_type = /decl/hierarchy/outfit/job + + id_type = /obj/item/weapon/card/id/security + id_slot = slot_wear_id + pda_type = null + backpack_contents = list(/obj/item/weapon/handcuffs = 1) + + l_ear = /obj/item/device/radio/headset/talon + gloves = /obj/item/clothing/gloves/black + shoes = /obj/item/clothing/shoes/boots/jackboots + backpack = /obj/item/weapon/storage/backpack/security + satchel_one = /obj/item/weapon/storage/backpack/satchel/sec + messenger_bag = /obj/item/weapon/storage/backpack/messenger/sec + uniform = /obj/item/clothing/under/rank/security + l_pocket = /obj/item/device/flash + +/decl/hierarchy/outfit/job/talon_engineer + name = OUTFIT_JOB_NAME("Talon Engineer") + hierarchy_type = /decl/hierarchy/outfit/job + + id_type = /obj/item/weapon/card/id/engineering + id_slot = slot_wear_id + pda_type = null + flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL + + l_ear = /obj/item/device/radio/headset/talon + belt = /obj/item/weapon/storage/belt/utility/full + shoes = /obj/item/clothing/shoes/boots/workboots + r_pocket = /obj/item/device/t_scanner + backpack = /obj/item/weapon/storage/backpack/industrial + satchel_one = /obj/item/weapon/storage/backpack/satchel/eng + messenger_bag = /obj/item/weapon/storage/backpack/messenger/engi + uniform = /obj/item/clothing/under/rank/atmospheric_technician + belt = /obj/item/weapon/storage/belt/utility/atmostech diff --git a/maps/tether/tether_phoronlock.dm b/maps/tether/tether_phoronlock.dm index cddc6e256cb..4921680f15f 100644 --- a/maps/tether/tether_phoronlock.dm +++ b/maps/tether/tether_phoronlock.dm @@ -27,7 +27,7 @@ obj/machinery/airlock_sensor/phoron/process() if(abs(pressure - previousPressure) > 0.1 || previousPressure == null || abs(phoron - previousPhoron) > 0.1 || previousPhoron == null) var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO //radio signal signal.data["tag"] = id_tag signal.data["timestamp"] = world.time signal.data["pressure"] = num2text(pressure) @@ -81,7 +81,7 @@ obj/machinery/airlock_sensor/phoron/airlock_exterior if(!radio_connection) return 0 var/datum/signal/signal = new - signal.transmission_method = 1 //radio signal + signal.transmission_method = TRANSMISSION_RADIO signal.source = src signal.data = list( "tag" = scrub_id, diff --git a/maps/tether/tether_telecomms.dm b/maps/tether/tether_telecomms.dm index e64a33d40c2..5f7cd195994 100644 --- a/maps/tether/tether_telecomms.dm +++ b/maps/tether/tether_telecomms.dm @@ -3,94 +3,31 @@ // #### Relays #### // Telecomms doesn't know about connected z-levels, so we need relays even for the other surface levels. -/obj/machinery/telecomms/relay/preset/tether/base_low - id = "Base Relay 1" +/obj/machinery/telecomms/relay/preset/tether + id = "Tether Relay" listening_level = Z_LEVEL_SURFACE_LOW - autolinkers = list("tbl_relay") + autolinkers = list("tether_relay") -/obj/machinery/telecomms/relay/preset/centcom/tether/base_low +/obj/machinery/telecomms/relay/preset/centcom/tether listening_level = Z_LEVEL_SURFACE_LOW -/obj/machinery/telecomms/relay/preset/tether/base_mid - id = "Base Relay 2" - listening_level = Z_LEVEL_SURFACE_MID - autolinkers = list("tbm_relay") - -/obj/machinery/telecomms/relay/preset/centcom/tether/base_mid - listening_level = Z_LEVEL_SURFACE_MID - -/obj/machinery/telecomms/relay/preset/tether/base_high - id = "Base Relay 3" - listening_level = Z_LEVEL_SURFACE_HIGH - autolinkers = list("tbh_relay") - -/obj/machinery/telecomms/relay/preset/centcom/tether/base_high - listening_level = Z_LEVEL_SURFACE_HIGH - -//Some coverage for midpoint -/obj/machinery/telecomms/relay/preset/tether/midpoint - id = "Midpoint Relay" - listening_level = Z_LEVEL_TRANSIT - autolinkers = list("tmp_relay") - -/obj/machinery/telecomms/relay/preset/centcom/tether/midpoint - listening_level = Z_LEVEL_TRANSIT - -// The station of course needs relays fluff-wise to connect to ground station. But again, no multi-z so, we need one for each z level. -/obj/machinery/telecomms/relay/preset/tether/station_low - id = "Station Relay 1" - listening_level = Z_LEVEL_SPACE_LOW - autolinkers = list("tsl_relay") - -/obj/machinery/telecomms/relay/preset/centcom/tether/station_low - listening_level = Z_LEVEL_SPACE_LOW - -/obj/machinery/telecomms/relay/preset/tether/station_mid - id = "Station Relay 2" - listening_level = Z_LEVEL_SPACE_MID - autolinkers = list("tsm_relay") - -/obj/machinery/telecomms/relay/preset/centcom/tether/station_mid - listening_level = Z_LEVEL_SPACE_MID - -/obj/machinery/telecomms/relay/preset/tether/station_high - id = "Station Relay 3" - listening_level = Z_LEVEL_SPACE_HIGH - autolinkers = list("tsh_relay") - -/obj/machinery/telecomms/relay/preset/centcom/tether/station_high - listening_level = Z_LEVEL_SPACE_HIGH - -/obj/machinery/telecomms/relay/preset/tether/sci_outpost - id = "Science Outpost Relay" - listening_level = Z_LEVEL_SOLARS - autolinkers = list("sci_o_relay") - -/obj/machinery/telecomms/relay/preset/centcom/tether/sci_outpost - listening_level = Z_LEVEL_SOLARS - -/obj/machinery/telecomms/relay/preset/underdark - id = "Mining Underground Relay" - listening_level = Z_LEVEL_UNDERDARK - autolinkers = list("ud_relay") - -/obj/machinery/telecomms/relay/preset/centcom/underdark - listening_level = Z_LEVEL_UNDERDARK - // #### Hub #### /obj/machinery/telecomms/hub/preset/tether id = "Hub" network = "tcommsat" autolinkers = list("hub", - "tbl_relay", "tbm_relay", "tbh_relay", "tmp_relay", "tsl_relay", "tsm_relay", "tsh_relay", - "c_relay", "m_relay", "r_relay", "sci_o_relay", "ud_relay", + "tether_relay", "c_relay", "m_relay", "r_relay", "science", "medical", "supply", "service", "common", "command", "engineering", "security", "explorer", "unused", "hb_relay", "receiverA", "broadcasterA" ) /obj/machinery/telecomms/receiver/preset_right/tether + id = "tether_rx" freq_listening = list(AI_FREQ, SCI_FREQ, MED_FREQ, SUP_FREQ, SRV_FREQ, COMM_FREQ, ENG_FREQ, SEC_FREQ, ENT_FREQ, EXP_FREQ) +/obj/machinery/telecomms/broadcaster/preset_right/tether + id = "tether_tx" + /obj/machinery/telecomms/bus/preset_two/tether freq_listening = list(SUP_FREQ, SRV_FREQ, EXP_FREQ) diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index 524482d83fb..8a1f360c719 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -159,20 +159,44 @@ var/list/all_maps = list() empty_levels = list(world.maxz) return pick(empty_levels) -// Get the list of zlevels that a computer on srcz can see maps of (for power/crew monitor, cameras, etc) -// The long_range parameter expands the coverage. Default is to return map_levels for long range otherwise just srcz. -// zLevels outside station_levels will return an empty list. -/datum/map/proc/get_map_levels(var/srcz, var/long_range = TRUE) - if (long_range && (srcz in map_levels)) - return map_levels - else if (srcz in station_levels) - return list(srcz) +// Get a list of 'nearby' or 'connected' zlevels. +// You should at least return a list with the given z if nothing else. +/datum/map/proc/get_map_levels(var/srcz, var/long_range = FALSE, var/om_range = -1) + //Overmap behavior + if(use_overmap) + //Get what sector we're in + var/obj/effect/overmap/visitable/O = get_overmap_sector(srcz) + if(!istype(O)) + //Anything in multiz then (or just themselves) + return GetConnectedZlevels(srcz) + + //Just the sector we're in + if(om_range == -1) + return O.map_z.Copy() + + //Otherwise every sector we're on top of + var/list/connections = list() + var/turf/T = get_turf(O) + var/turfrange = long_range ? max(0, om_range) : om_range + for(var/obj/effect/overmap/visitable/V in range(turfrange, T)) + connections += V.map_z // Adding list to list adds contents + return connections + + //Traditional behavior else - return list() + //If long range, and they're at least in contact levels, return contact levels. + if (long_range && (srcz in contact_levels)) + return contact_levels.Copy() + //If in station levels, return station levels + else if (srcz in station_levels) + return station_levels.Copy() + //Anything in multiz then (or just themselves) + else + return GetConnectedZlevels(srcz) /datum/map/proc/get_zlevel_name(var/index) var/datum/map_z_level/Z = zlevels["[index]"] - return Z.name + return Z?.name // Access check is of the type requires one. These have been carefully selected to avoid allowing the janitor to see channels he shouldn't // This list needs to be purged but people insist on adding more cruft to the radio. diff --git a/nano/images/nanomap_z13.png b/nano/images/nanomap_z13.png new file mode 100644 index 00000000000..6f87d9911fd Binary files /dev/null and b/nano/images/nanomap_z13.png differ diff --git a/nano/images/nanomap_z14.png b/nano/images/nanomap_z14.png new file mode 100644 index 00000000000..84d106a5ac5 Binary files /dev/null and b/nano/images/nanomap_z14.png differ diff --git a/nano/templates/sec_camera.tmpl b/nano/templates/sec_camera.tmpl index 1d46f1868f8..21ecea71e78 100644 --- a/nano/templates/sec_camera.tmpl +++ b/nano/templates/sec_camera.tmpl @@ -8,7 +8,8 @@ Used In File(s): \code\game\machinery\computer\camera.dm {{:helper.link('Reset', 'refresh', {'reset' : 1})}}
-
Current Camera: 
+
Current Camera: 
+
{{if data.current_camera}}
{{:data.current_camera.name}}
{{else}} diff --git a/vorestation.dme b/vorestation.dme index ff2f2878308..a6e08e86927 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1128,6 +1128,7 @@ #include "code\game\objects\items\devices\radio\jammer_vr.dm" #include "code\game\objects\items\devices\radio\radio.dm" #include "code\game\objects\items\devices\radio\radio_vr.dm" +#include "code\game\objects\items\devices\radio\radiopack.dm" #include "code\game\objects\items\robot\robot_items.dm" #include "code\game\objects\items\robot\robot_parts.dm" #include "code\game\objects\items\robot\robot_upgrades.dm" @@ -2800,6 +2801,8 @@ #include "code\modules\modular_computers\file_system\programs\research\ntmonitor.dm" #include "code\modules\modular_computers\file_system\programs\security\alarm_monitor.dm" #include "code\modules\modular_computers\file_system\programs\security\digitalwarrant.dm" +#include "code\modules\modular_computers\file_system\programs\ships\navigation.dm" +#include "code\modules\modular_computers\file_system\programs\ships\ship.dm" #include "code\modules\modular_computers\hardware\_hardware.dm" #include "code\modules\modular_computers\hardware\battery_module.dm" #include "code\modules\modular_computers\hardware\card_slot.dm" @@ -2902,6 +2905,7 @@ #include "code\modules\organs\subtypes\vox_vr.dm" #include "code\modules\organs\subtypes\xenos.dm" #include "code\modules\overmap\bluespace_rift_vr.dm" +#include "code\modules\overmap\helpers.dm" #include "code\modules\overmap\overmap_object.dm" #include "code\modules\overmap\overmap_shuttle.dm" #include "code\modules\overmap\sectors.dm"